@hmcts/media-viewer 4.1.10-exui-3053-1 → 4.2.0-exui-3682
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.
- package/fesm2022/hmcts-media-viewer.mjs +369 -841
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
- package/index.d.ts +2316 -4
- package/index.d.ts.map +1 -0
- package/package.json +10 -12
- package/esm2022/hmcts-media-viewer.mjs +0 -5
- package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -122
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -120
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +0 -101
- package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
- package/esm2022/lib/annotations/annotation-set/annotation-set.model.mjs +0 -2
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -2
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -2
- package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -119
- package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
- package/esm2022/lib/annotations/annotations.module.mjs +0 -162
- package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +0 -178
- package/esm2022/lib/annotations/comment-set/comment/comment.model.mjs +0 -2
- package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
- package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
- package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +0 -31
- package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +0 -62
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -72
- package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +0 -55
- package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +0 -123
- package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
- package/esm2022/lib/annotations/models/api-persisted.model.mjs +0 -2
- package/esm2022/lib/annotations/models/event-select.model.mjs +0 -2
- package/esm2022/lib/annotations/models/tags.model.mjs +0 -2
- package/esm2022/lib/annotations/models/user.model.mjs +0 -2
- package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +0 -26
- package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
- package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +0 -16
- package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +0 -58
- package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +0 -45
- package/esm2022/lib/annotations/services/tags/tags.services.mjs +0 -41
- package/esm2022/lib/annotations/tags/tags.component.mjs +0 -53
- package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +0 -25
- package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +0 -30
- package/esm2022/lib/icp/icp-follower.service.mjs +0 -65
- package/esm2022/lib/icp/icp-presenter.service.mjs +0 -56
- package/esm2022/lib/icp/icp-session-api.service.mjs +0 -28
- package/esm2022/lib/icp/icp-update.service.mjs +0 -73
- package/esm2022/lib/icp/icp.events.mjs +0 -15
- package/esm2022/lib/icp/icp.interfaces.mjs +0 -2
- package/esm2022/lib/icp/icp.service.mjs +0 -98
- package/esm2022/lib/icp/participants-list/participants-list.component.mjs +0 -32
- package/esm2022/lib/icp/socket.service.mjs +0 -128
- package/esm2022/lib/media-viewer.component.mjs +0 -341
- package/esm2022/lib/media-viewer.module.mjs +0 -139
- package/esm2022/lib/print.service.mjs +0 -32
- package/esm2022/lib/redaction/components/redaction.component.mjs +0 -91
- package/esm2022/lib/redaction/services/redaction-api.service.mjs +0 -50
- package/esm2022/lib/redaction/services/redaction.model.mjs +0 -2
- package/esm2022/lib/shared/directives/keyboard-nav.directive.mjs +0 -243
- package/esm2022/lib/shared/directives/tooltip-dismiss.directive.mjs +0 -36
- package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +0 -28
- package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -34
- package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -63
- package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +0 -44
- package/esm2022/lib/shared/shared.module.mjs +0 -58
- package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +0 -29
- package/esm2022/lib/shared/util/services/number.helper.service.mjs +0 -23
- package/esm2022/lib/store/actions/annotation.actions.mjs +0 -119
- package/esm2022/lib/store/actions/bookmark.actions.mjs +0 -112
- package/esm2022/lib/store/actions/document.actions.mjs +0 -91
- package/esm2022/lib/store/actions/icp.actions.mjs +0 -56
- package/esm2022/lib/store/actions/redaction.actions.mjs +0 -132
- package/esm2022/lib/store/actions/tag.actions.mjs +0 -21
- package/esm2022/lib/store/bookmarks-store-utils.mjs +0 -49
- package/esm2022/lib/store/effects/annotation.effects.mjs +0 -51
- package/esm2022/lib/store/effects/bookmarks.effects.mjs +0 -44
- package/esm2022/lib/store/effects/document.effects.mjs +0 -44
- package/esm2022/lib/store/effects/icp.effects.mjs +0 -26
- package/esm2022/lib/store/effects/index.mjs +0 -7
- package/esm2022/lib/store/effects/redaction.effects.mjs +0 -67
- package/esm2022/lib/store/models/bookmarks.interface.mjs +0 -2
- package/esm2022/lib/store/models/filters.interface.mjs +0 -2
- package/esm2022/lib/store/reducers/annotations.reducer.mjs +0 -208
- package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +0 -125
- package/esm2022/lib/store/reducers/document.reducer.mjs +0 -158
- package/esm2022/lib/store/reducers/icp.reducer.mjs +0 -56
- package/esm2022/lib/store/reducers/redaction.reducer.mjs +0 -116
- package/esm2022/lib/store/reducers/reducers.mjs +0 -23
- package/esm2022/lib/store/reducers/tags.reducer.mjs +0 -93
- package/esm2022/lib/store/selectors/annotation.selectors.mjs +0 -81
- package/esm2022/lib/store/selectors/bookmark.selectors.mjs +0 -37
- package/esm2022/lib/store/selectors/document.selectors.mjs +0 -13
- package/esm2022/lib/store/selectors/icp.selectors.mjs +0 -13
- package/esm2022/lib/store/selectors/redaction.selectors.mjs +0 -26
- package/esm2022/lib/store/selectors/tag.selectors.mjs +0 -15
- package/esm2022/lib/store/store-utils.mjs +0 -131
- package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -74
- package/esm2022/lib/toolbar/icp-event.service.mjs +0 -44
- package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +0 -43
- package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -271
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -237
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -2
- package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -94
- package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
- package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
- package/esm2022/lib/toolbar/toolbar-event.service.mjs +0 -178
- package/esm2022/lib/toolbar/toolbar-focus.service.mjs +0 -33
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -81
- package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
- package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +0 -22
- package/esm2022/lib/viewers/grab-n-drag.directive.mjs +0 -57
- package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
- package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -266
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +0 -40
- package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -242
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -379
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -2
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -2
- package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +0 -99
- package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +0 -27
- package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
- package/esm2022/lib/viewers/rotation-persist/rotation.model.mjs +0 -2
- package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
- package/esm2022/lib/viewers/viewer-event.service.mjs +0 -34
- package/esm2022/lib/viewers/viewer-exception.model.mjs +0 -13
- package/esm2022/lib/viewers/viewer-util.service.mjs +0 -20
- package/esm2022/public_api.mjs +0 -33
- package/hmcts-media-viewer.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +0 -48
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +0 -32
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +0 -18
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +0 -27
- package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-set.model.d.ts +0 -7
- package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +0 -34
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +0 -16
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +0 -41
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +0 -9
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +0 -1
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +0 -37
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +0 -37
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +0 -1
- package/lib/annotations/annotations.module.d.ts +0 -36
- package/lib/annotations/annotations.module.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.component.d.ts +0 -69
- package/lib/annotations/comment-set/comment/comment.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.model.d.ts +0 -13
- package/lib/annotations/comment-set/comment/comment.model.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.service.d.ts +0 -22
- package/lib/annotations/comment-set/comment/comment.service.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +0 -14
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +0 -12
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +0 -28
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +0 -26
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +0 -21
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +0 -36
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-render.service.d.ts +0 -15
- package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set.component.d.ts +0 -56
- package/lib/annotations/comment-set/comment-set.component.d.ts.map +0 -1
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +0 -42
- package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +0 -1
- package/lib/annotations/models/api-persisted.model.d.ts +0 -11
- package/lib/annotations/models/api-persisted.model.d.ts.map +0 -1
- package/lib/annotations/models/event-select.model.d.ts +0 -6
- package/lib/annotations/models/event-select.model.d.ts.map +0 -1
- package/lib/annotations/models/tags.model.d.ts +0 -7
- package/lib/annotations/models/tags.model.d.ts.map +0 -1
- package/lib/annotations/models/user.model.d.ts +0 -6
- package/lib/annotations/models/user.model.d.ts.map +0 -1
- package/lib/annotations/pipes/date/date.pipe.d.ts +0 -16
- package/lib/annotations/pipes/date/date.pipe.d.ts.map +0 -1
- package/lib/annotations/pipes/filter/filter.pipe.d.ts +0 -8
- package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +0 -1
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +0 -8
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +0 -1
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +0 -28
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +0 -1
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +0 -21
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +0 -1
- package/lib/annotations/services/tags/tags.services.d.ts +0 -18
- package/lib/annotations/services/tags/tags.services.d.ts.map +0 -1
- package/lib/annotations/tags/tags.component.d.ts +0 -28
- package/lib/annotations/tags/tags.component.d.ts.map +0 -1
- package/lib/bookmark/components/bookmark-icons.component.d.ts +0 -19
- package/lib/bookmark/components/bookmark-icons.component.d.ts.map +0 -1
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +0 -14
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +0 -1
- package/lib/icp/icp-follower.service.d.ts +0 -26
- package/lib/icp/icp-follower.service.d.ts.map +0 -1
- package/lib/icp/icp-presenter.service.d.ts +0 -25
- package/lib/icp/icp-presenter.service.d.ts.map +0 -1
- package/lib/icp/icp-session-api.service.d.ts +0 -15
- package/lib/icp/icp-session-api.service.d.ts.map +0 -1
- package/lib/icp/icp-update.service.d.ts +0 -22
- package/lib/icp/icp-update.service.d.ts.map +0 -1
- package/lib/icp/icp.events.d.ts +0 -14
- package/lib/icp/icp.events.d.ts.map +0 -1
- package/lib/icp/icp.interfaces.d.ts +0 -23
- package/lib/icp/icp.interfaces.d.ts.map +0 -1
- package/lib/icp/icp.service.d.ts +0 -40
- package/lib/icp/icp.service.d.ts.map +0 -1
- package/lib/icp/participants-list/participants-list.component.d.ts +0 -23
- package/lib/icp/participants-list/participants-list.component.d.ts.map +0 -1
- package/lib/icp/socket.service.d.ts +0 -29
- package/lib/icp/socket.service.d.ts.map +0 -1
- package/lib/media-viewer.component.d.ts +0 -80
- package/lib/media-viewer.component.d.ts.map +0 -1
- package/lib/media-viewer.module.d.ts +0 -36
- package/lib/media-viewer.module.d.ts.map +0 -1
- package/lib/print.service.d.ts +0 -8
- package/lib/print.service.d.ts.map +0 -1
- package/lib/redaction/components/redaction.component.d.ts +0 -42
- package/lib/redaction/components/redaction.component.d.ts.map +0 -1
- package/lib/redaction/services/redaction-api.service.d.ts +0 -20
- package/lib/redaction/services/redaction-api.service.d.ts.map +0 -1
- package/lib/redaction/services/redaction.model.d.ts +0 -11
- package/lib/redaction/services/redaction.model.d.ts.map +0 -1
- package/lib/shared/directives/keyboard-nav.directive.d.ts +0 -30
- package/lib/shared/directives/keyboard-nav.directive.d.ts.map +0 -1
- package/lib/shared/directives/tooltip-dismiss.directive.d.ts +0 -11
- package/lib/shared/directives/tooltip-dismiss.directive.d.ts.map +0 -1
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +0 -15
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +0 -1
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +0 -11
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +0 -1
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +0 -16
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +0 -1
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +0 -14
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +0 -1
- package/lib/shared/shared.module.d.ts +0 -15
- package/lib/shared/shared.module.d.ts.map +0 -1
- package/lib/shared/util/helpers/html-templates.helper.d.ts +0 -9
- package/lib/shared/util/helpers/html-templates.helper.d.ts.map +0 -1
- package/lib/shared/util/services/number.helper.service.d.ts +0 -11
- package/lib/shared/util/services/number.helper.service.d.ts.map +0 -1
- package/lib/store/actions/annotation.actions.d.ts +0 -126
- package/lib/store/actions/annotation.actions.d.ts.map +0 -1
- package/lib/store/actions/bookmark.actions.d.ts +0 -117
- package/lib/store/actions/bookmark.actions.d.ts.map +0 -1
- package/lib/store/actions/document.actions.d.ts +0 -90
- package/lib/store/actions/document.actions.d.ts.map +0 -1
- package/lib/store/actions/icp.actions.d.ts +0 -75
- package/lib/store/actions/icp.actions.d.ts.map +0 -1
- package/lib/store/actions/redaction.actions.d.ts +0 -127
- package/lib/store/actions/redaction.actions.d.ts.map +0 -1
- package/lib/store/actions/tag.actions.d.ts +0 -30
- package/lib/store/actions/tag.actions.d.ts.map +0 -1
- package/lib/store/bookmarks-store-utils.d.ts +0 -9
- package/lib/store/bookmarks-store-utils.d.ts.map +0 -1
- package/lib/store/effects/annotation.effects.d.ts +0 -16
- package/lib/store/effects/annotation.effects.d.ts.map +0 -1
- package/lib/store/effects/bookmarks.effects.d.ts +0 -21
- package/lib/store/effects/bookmarks.effects.d.ts.map +0 -1
- package/lib/store/effects/document.effects.d.ts +0 -17
- package/lib/store/effects/document.effects.d.ts.map +0 -1
- package/lib/store/effects/icp.effects.d.ts +0 -16
- package/lib/store/effects/icp.effects.d.ts.map +0 -1
- package/lib/store/effects/index.d.ts +0 -2
- package/lib/store/effects/index.d.ts.map +0 -1
- package/lib/store/effects/redaction.effects.d.ts +0 -20
- package/lib/store/effects/redaction.effects.d.ts.map +0 -1
- package/lib/store/models/bookmarks.interface.d.ts +0 -31
- package/lib/store/models/bookmarks.interface.d.ts.map +0 -1
- package/lib/store/models/filters.interface.d.ts +0 -8
- package/lib/store/models/filters.interface.d.ts.map +0 -1
- package/lib/store/reducers/annotations.reducer.d.ts +0 -48
- package/lib/store/reducers/annotations.reducer.d.ts.map +0 -1
- package/lib/store/reducers/bookmarks.reducer.d.ts +0 -27
- package/lib/store/reducers/bookmarks.reducer.d.ts.map +0 -1
- package/lib/store/reducers/document.reducer.d.ts +0 -52
- package/lib/store/reducers/document.reducer.d.ts.map +0 -1
- package/lib/store/reducers/icp.reducer.d.ts +0 -9
- package/lib/store/reducers/icp.reducer.d.ts.map +0 -1
- package/lib/store/reducers/redaction.reducer.d.ts +0 -32
- package/lib/store/reducers/redaction.reducer.d.ts.map +0 -1
- package/lib/store/reducers/reducers.d.ts +0 -24
- package/lib/store/reducers/reducers.d.ts.map +0 -1
- package/lib/store/reducers/tags.reducer.d.ts +0 -32
- package/lib/store/reducers/tags.reducer.d.ts.map +0 -1
- package/lib/store/selectors/annotation.selectors.d.ts +0 -136
- package/lib/store/selectors/annotation.selectors.d.ts.map +0 -1
- package/lib/store/selectors/bookmark.selectors.d.ts +0 -38
- package/lib/store/selectors/bookmark.selectors.d.ts.map +0 -1
- package/lib/store/selectors/document.selectors.d.ts +0 -23
- package/lib/store/selectors/document.selectors.d.ts.map +0 -1
- package/lib/store/selectors/icp.selectors.d.ts +0 -10
- package/lib/store/selectors/icp.selectors.d.ts.map +0 -1
- package/lib/store/selectors/redaction.selectors.d.ts +0 -35
- package/lib/store/selectors/redaction.selectors.d.ts.map +0 -1
- package/lib/store/selectors/tag.selectors.d.ts +0 -28
- package/lib/store/selectors/tag.selectors.d.ts.map +0 -1
- package/lib/store/store-utils.d.ts +0 -25
- package/lib/store/store-utils.d.ts.map +0 -1
- package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts +0 -26
- package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/icp-event.service.d.ts +0 -21
- package/lib/toolbar/icp-event.service.d.ts.map +0 -1
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +0 -24
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +0 -80
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +0 -60
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +0 -1
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +0 -12
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +0 -1
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +0 -35
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/search-bar/search-bar.component.d.ts +0 -34
- package/lib/toolbar/search-bar/search-bar.component.d.ts.map +0 -1
- package/lib/toolbar/toolbar-button-visibility.service.d.ts +0 -67
- package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +0 -1
- package/lib/toolbar/toolbar-event.service.d.ts +0 -96
- package/lib/toolbar/toolbar-event.service.d.ts.map +0 -1
- package/lib/toolbar/toolbar-focus.service.d.ts +0 -7
- package/lib/toolbar/toolbar-focus.service.d.ts.map +0 -1
- package/lib/toolbar/toolbar.module.d.ts +0 -21
- package/lib/toolbar/toolbar.module.d.ts.map +0 -1
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +0 -31
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +0 -1
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +0 -12
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +0 -1
- package/lib/viewers/grab-n-drag.directive.d.ts +0 -19
- package/lib/viewers/grab-n-drag.directive.d.ts.map +0 -1
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +0 -57
- package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +0 -1
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +0 -25
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +0 -69
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +0 -17
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +0 -82
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +0 -82
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +0 -22
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +0 -20
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +0 -14
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +0 -42
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts +0 -14
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +0 -27
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation.model.d.ts +0 -5
- package/lib/viewers/rotation-persist/rotation.model.d.ts.map +0 -1
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +0 -23
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +0 -1
- package/lib/viewers/viewer-event.service.d.ts +0 -23
- package/lib/viewers/viewer-event.service.d.ts.map +0 -1
- package/lib/viewers/viewer-exception.model.d.ts +0 -15
- package/lib/viewers/viewer-exception.model.d.ts.map +0 -1
- package/lib/viewers/viewer-util.service.d.ts +0 -10
- package/lib/viewers/viewer-util.service.d.ts.map +0 -1
- package/public_api.d.ts +0 -30
- package/public_api.d.ts.map +0 -1
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { delay, filter, take } from 'rxjs';
|
|
3
|
-
import { defaultImageOptions, defaultMultimediaOptions, defaultPdfOptions, defaultUnsupportedOptions } from './toolbar/toolbar-button-visibility.service';
|
|
4
|
-
import { select } from '@ngrx/store';
|
|
5
|
-
import * as fromAnnoSelectors from './store/selectors/annotation.selectors';
|
|
6
|
-
import * as fromDocumentsSelector from './store/selectors/document.selectors';
|
|
7
|
-
import * as fromAnnoActions from './store/actions/annotation.actions';
|
|
8
|
-
import * as fromRedactActions from './store/actions/redaction.actions';
|
|
9
|
-
import * as fromDocumentActions from './store/actions/document.actions';
|
|
10
|
-
import { HtmlTemplatesHelper } from './shared/util/helpers/html-templates.helper';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@ngrx/store";
|
|
13
|
-
import * as i2 from "./toolbar/toolbar-button-visibility.service";
|
|
14
|
-
import * as i3 from "./toolbar/toolbar-event.service";
|
|
15
|
-
import * as i4 from "./annotations/services/annotation-api/annotation-api.service";
|
|
16
|
-
import * as i5 from "./annotations/comment-set/comment/comment.service";
|
|
17
|
-
import * as i6 from "./toolbar/icp-event.service";
|
|
18
|
-
import * as i7 from "@angular/common";
|
|
19
|
-
import * as i8 from "./toolbar/main-toolbar/main-toolbar.component";
|
|
20
|
-
import * as i9 from "./toolbar/redaction-toolbar/redaction-toolbar.component";
|
|
21
|
-
import * as i10 from "./toolbar/icp-toolbar/icp-toolbar.component";
|
|
22
|
-
import * as i11 from "./toolbar/highlight-toolbar/highlight-toolbar.component";
|
|
23
|
-
import * as i12 from "./annotations/comments-summary/comments-summary.component";
|
|
24
|
-
import * as i13 from "./viewers/pdf-viewer/pdf-viewer.component";
|
|
25
|
-
import * as i14 from "./viewers/image-viewer/image-viewer.component";
|
|
26
|
-
import * as i15 from "./viewers/unsupported-viewer/unsupported-viewer.component";
|
|
27
|
-
import * as i16 from "./viewers/multimedia-player/multimedia-player.component";
|
|
28
|
-
import * as i17 from "./viewers/convertible-content-viewer/convertible-content-viewer.component";
|
|
29
|
-
import * as i18 from "./viewers/rotation-persist/rotation-persist.directive";
|
|
30
|
-
import * as i19 from "./icp/confirm-exit/confirm-action-dialog.component";
|
|
31
|
-
var CoreContentTypes;
|
|
32
|
-
(function (CoreContentTypes) {
|
|
33
|
-
CoreContentTypes["PDF"] = "pdf";
|
|
34
|
-
CoreContentTypes["IMAGE"] = "image";
|
|
35
|
-
})(CoreContentTypes || (CoreContentTypes = {}));
|
|
36
|
-
var MultimediaContentTypes;
|
|
37
|
-
(function (MultimediaContentTypes) {
|
|
38
|
-
MultimediaContentTypes["MP4"] = "mp4";
|
|
39
|
-
MultimediaContentTypes["MP3"] = "mp3";
|
|
40
|
-
})(MultimediaContentTypes || (MultimediaContentTypes = {}));
|
|
41
|
-
var ConvertibleContentTypes;
|
|
42
|
-
(function (ConvertibleContentTypes) {
|
|
43
|
-
ConvertibleContentTypes["EXCEL"] = "excel";
|
|
44
|
-
ConvertibleContentTypes["WORD"] = "word";
|
|
45
|
-
ConvertibleContentTypes["POWERPOINT"] = "powerpoint";
|
|
46
|
-
ConvertibleContentTypes["TXT"] = "txt";
|
|
47
|
-
ConvertibleContentTypes["RTF"] = "rtf";
|
|
48
|
-
})(ConvertibleContentTypes || (ConvertibleContentTypes = {}));
|
|
49
|
-
export class MediaViewerComponent {
|
|
50
|
-
constructor(store, toolbarButtons, toolbarEvents, api, commentService, elRef, cdr, icpEventService) {
|
|
51
|
-
this.store = store;
|
|
52
|
-
this.toolbarButtons = toolbarButtons;
|
|
53
|
-
this.toolbarEvents = toolbarEvents;
|
|
54
|
-
this.api = api;
|
|
55
|
-
this.commentService = commentService;
|
|
56
|
-
this.elRef = elRef;
|
|
57
|
-
this.cdr = cdr;
|
|
58
|
-
this.icpEventService = icpEventService;
|
|
59
|
-
this.showToolbar = true;
|
|
60
|
-
this.toolbarButtonOverrides = {};
|
|
61
|
-
this.width = '100%';
|
|
62
|
-
this.mediaLoadStatus = new EventEmitter();
|
|
63
|
-
this.viewerException = new EventEmitter();
|
|
64
|
-
this.toolbarEventsOutput = new EventEmitter();
|
|
65
|
-
this.unsavedChanges = new EventEmitter();
|
|
66
|
-
this.enableAnnotations = false;
|
|
67
|
-
this.enableRedactions = false;
|
|
68
|
-
this.enableICP = false;
|
|
69
|
-
this.multimediaPlayerEnabled = false;
|
|
70
|
-
this.enableRedactSearch = false;
|
|
71
|
-
this.multimediaContent = false;
|
|
72
|
-
this.convertibleContent = false;
|
|
73
|
-
this.unsupportedContent = false;
|
|
74
|
-
this.typeException = false;
|
|
75
|
-
this.currentRegionIndex = -1;
|
|
76
|
-
if (this.annotationApiUrl) {
|
|
77
|
-
api.annotationApiUrl = this.annotationApiUrl;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
ngAfterContentInit() {
|
|
81
|
-
this.annotationSet$ = this.store.pipe(select(fromAnnoSelectors.getAnnotationSet));
|
|
82
|
-
this.hasDifferentPageSize$ = this.store.pipe(select(fromDocumentsSelector.getPageDifference));
|
|
83
|
-
this.setToolbarButtons();
|
|
84
|
-
this.toolbarEventsOutput.emit(this.toolbarEvents);
|
|
85
|
-
this.$subscriptions = this.commentService.getUnsavedChanges()
|
|
86
|
-
.subscribe(changes => this.onCommentChange(changes));
|
|
87
|
-
this.$subscriptions.add(this.toolbarEvents.getShowCommentSummary()
|
|
88
|
-
.subscribe(changes => this.showCommentSummary = changes));
|
|
89
|
-
}
|
|
90
|
-
ngAfterViewChecked() {
|
|
91
|
-
if (this.height && this.viewerHeight !== this.height) {
|
|
92
|
-
this.viewerHeight = this.height;
|
|
93
|
-
this.cdr.detectChanges();
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
if (!this.height) {
|
|
97
|
-
const compOffsetTop = HtmlTemplatesHelper.getAdjustedBoundingRect(this.elRef.nativeElement).top;
|
|
98
|
-
const viewerOffsetTop = this.viewerRef.nativeElement.offsetTop;
|
|
99
|
-
const offset = compOffsetTop + viewerOffsetTop;
|
|
100
|
-
if (this.prevOffset !== offset) {
|
|
101
|
-
this.viewerHeight = `calc(100vh - ${offset}px)`;
|
|
102
|
-
this.prevOffset = offset;
|
|
103
|
-
this.cdr.detectChanges();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
ngOnChanges(changes) {
|
|
108
|
-
if (changes.annotationApiUrl) {
|
|
109
|
-
this.api.annotationApiUrl = this.annotationApiUrl;
|
|
110
|
-
}
|
|
111
|
-
if (changes.contentType) {
|
|
112
|
-
this.convertibleContent = this.needsConverting();
|
|
113
|
-
this.multimediaContent = this.isMultimedia();
|
|
114
|
-
this.unsupportedContent = !this.isSupported();
|
|
115
|
-
}
|
|
116
|
-
if (changes.url) {
|
|
117
|
-
this.toolbarEvents.reset();
|
|
118
|
-
this.commentService.resetCommentSet();
|
|
119
|
-
this.documentId = this.extractDMStoreDocId(this.url);
|
|
120
|
-
this.store.dispatch(new fromDocumentActions.SetDocumentId(this.documentId));
|
|
121
|
-
if (this.enableAnnotations && !(this.multimediaContent || this.unsupportedContent)) {
|
|
122
|
-
this.store.dispatch(new fromAnnoActions.LoadAnnotationSet(this.documentId));
|
|
123
|
-
}
|
|
124
|
-
if (this.enableRedactions && !(this.multimediaContent || this.unsupportedContent) && this.documentId) {
|
|
125
|
-
this.store.dispatch(new fromRedactActions.LoadRedactions(this.documentId));
|
|
126
|
-
}
|
|
127
|
-
if (this.contentType === 'image') {
|
|
128
|
-
this.documentTitle = null;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
this.setToolbarButtons();
|
|
132
|
-
this.detectOs();
|
|
133
|
-
this.typeException = false;
|
|
134
|
-
}
|
|
135
|
-
ngOnDestroy() {
|
|
136
|
-
this.$subscriptions.unsubscribe();
|
|
137
|
-
}
|
|
138
|
-
needsConverting() {
|
|
139
|
-
return this.contentType !== null && Object.keys(ConvertibleContentTypes).includes(this.contentType.toUpperCase());
|
|
140
|
-
}
|
|
141
|
-
isMultimedia() {
|
|
142
|
-
return this.contentType !== null && Object.keys(MultimediaContentTypes).includes(this.contentType.toUpperCase());
|
|
143
|
-
}
|
|
144
|
-
isSupported() {
|
|
145
|
-
const supportedTypes = Object.assign({}, MultimediaContentTypes, ConvertibleContentTypes, CoreContentTypes);
|
|
146
|
-
return this.contentType !== null && Object.keys(supportedTypes).includes(this.contentType.toUpperCase());
|
|
147
|
-
}
|
|
148
|
-
onMediaLoad(status) {
|
|
149
|
-
this.mediaLoadStatus.emit(status);
|
|
150
|
-
}
|
|
151
|
-
setToolbarButtons() {
|
|
152
|
-
if (this.contentType === CoreContentTypes.PDF || this.needsConverting()) {
|
|
153
|
-
this.toolbarButtons.setup({
|
|
154
|
-
...defaultPdfOptions, showHighlightButton: this.enableAnnotations, showDrawButton: false,
|
|
155
|
-
...this.toolbarButtonOverrides
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
else if (this.contentType === CoreContentTypes.IMAGE) {
|
|
159
|
-
this.toolbarButtons.setup({
|
|
160
|
-
...defaultImageOptions, showDrawButton: this.enableAnnotations,
|
|
161
|
-
...this.toolbarButtonOverrides
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
else if (this.isMultimedia()) {
|
|
165
|
-
this.toolbarButtons.setup({
|
|
166
|
-
...defaultMultimediaOptions,
|
|
167
|
-
...this.toolbarButtonOverrides
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
this.toolbarButtons.setup({
|
|
172
|
-
...defaultUnsupportedOptions,
|
|
173
|
-
...this.toolbarButtonOverrides
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
onLoadException(exception) {
|
|
178
|
-
this.viewerException.emit(exception);
|
|
179
|
-
if (!this.isSupported()) {
|
|
180
|
-
this.typeException = false;
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
this.typeException = true;
|
|
184
|
-
this.contentType = null;
|
|
185
|
-
this.setToolbarButtons();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
onCommentChange(changes) {
|
|
189
|
-
this.unsavedChanges.emit(changes);
|
|
190
|
-
}
|
|
191
|
-
onDocumentTitleChange(title) {
|
|
192
|
-
this.documentTitle = title;
|
|
193
|
-
}
|
|
194
|
-
// If secure mode is enabled (which adds "documentsv2" to the documentId), get rid of it
|
|
195
|
-
extractDMStoreDocId(url) {
|
|
196
|
-
url = url.includes('/documents/') ? url.split('/documents/')[1] : url;
|
|
197
|
-
url = url.includes('/documentsv2/') ? url.split('/documentsv2/')[1] : url;
|
|
198
|
-
return url.replace('/binary', '');
|
|
199
|
-
}
|
|
200
|
-
detectOs() {
|
|
201
|
-
this.hasScrollBar = window.navigator.userAgent.indexOf('Win') !== -1;
|
|
202
|
-
}
|
|
203
|
-
skipToSidebar(event) {
|
|
204
|
-
event.preventDefault();
|
|
205
|
-
this.openSidebarAndWait(() => {
|
|
206
|
-
const element = document.querySelector('#sidebarContent');
|
|
207
|
-
if (element) {
|
|
208
|
-
if (!element.hasAttribute('tabindex')) {
|
|
209
|
-
element.setAttribute('tabindex', '-1');
|
|
210
|
-
}
|
|
211
|
-
element.focus();
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
openSidebarAndWait(callback) {
|
|
216
|
-
const isOpen = this.toolbarEvents.sidebarOpen.getValue();
|
|
217
|
-
if (!isOpen) {
|
|
218
|
-
this.toolbarEvents.toggleSideBar(true);
|
|
219
|
-
}
|
|
220
|
-
this.toolbarEvents.sidebarOpen.pipe(filter(open => open === true), take(1), delay(0)).subscribe(() => {
|
|
221
|
-
callback();
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
skipToViewer(event) {
|
|
225
|
-
event.preventDefault();
|
|
226
|
-
const element = document.querySelector('#viewerContainer');
|
|
227
|
-
if (element) {
|
|
228
|
-
element.focus();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
handleF6Forward(event) {
|
|
232
|
-
event.preventDefault();
|
|
233
|
-
this.cycleRegion('forward');
|
|
234
|
-
}
|
|
235
|
-
handleF6Backward(event) {
|
|
236
|
-
event.preventDefault();
|
|
237
|
-
this.cycleRegion('backward');
|
|
238
|
-
}
|
|
239
|
-
cycleRegion(direction) {
|
|
240
|
-
const regions = [
|
|
241
|
-
{ selector: '#toolbarContainer', label: 'Main toolbar', isVisible: () => this.showToolbar },
|
|
242
|
-
{ selector: '#sidebarContent', label: 'Index menu', isVisible: () => true },
|
|
243
|
-
{ selector: '#viewerContainer', label: 'Document viewer', isVisible: () => true }
|
|
244
|
-
];
|
|
245
|
-
const visibleRegions = regions.filter(r => r.isVisible());
|
|
246
|
-
if (visibleRegions.length === 0)
|
|
247
|
-
return;
|
|
248
|
-
const previousRegion = visibleRegions[this.currentRegionIndex];
|
|
249
|
-
if (direction === 'forward') {
|
|
250
|
-
this.currentRegionIndex = (this.currentRegionIndex + 1) % visibleRegions.length;
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
this.currentRegionIndex = this.currentRegionIndex <= 0
|
|
254
|
-
? visibleRegions.length - 1
|
|
255
|
-
: this.currentRegionIndex - 1;
|
|
256
|
-
}
|
|
257
|
-
const currentRegion = visibleRegions[this.currentRegionIndex];
|
|
258
|
-
if (previousRegion?.selector === '#sidebarContent' && currentRegion.selector !== '#sidebarContent') {
|
|
259
|
-
const isOpen = this.toolbarEvents.sidebarOpen.getValue();
|
|
260
|
-
if (isOpen) {
|
|
261
|
-
this.toolbarEvents.toggleSideBar(false);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
if (currentRegion.selector === '#sidebarContent') {
|
|
265
|
-
this.openSidebarAndWait(() => {
|
|
266
|
-
this.focusRegion(currentRegion);
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
this.focusRegion(currentRegion);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
focusRegion(region) {
|
|
274
|
-
const element = document.querySelector(region.selector);
|
|
275
|
-
if (!element) {
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
const firstFocusable = element.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');
|
|
279
|
-
if (firstFocusable) {
|
|
280
|
-
firstFocusable.focus();
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
if (!element.hasAttribute('tabindex')) {
|
|
284
|
-
element.setAttribute('tabindex', '-1');
|
|
285
|
-
}
|
|
286
|
-
element.focus();
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaViewerComponent, deps: [{ token: i1.Store }, { token: i2.ToolbarButtonVisibilityService }, { token: i3.ToolbarEventService }, { token: i4.AnnotationApiService }, { token: i5.CommentService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i6.IcpEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
290
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MediaViewerComponent, selector: "mv-media-viewer", inputs: { url: "url", downloadFileName: "downloadFileName", contentType: "contentType", showToolbar: "showToolbar", toolbarButtonOverrides: "toolbarButtonOverrides", height: "height", width: "width", enableAnnotations: "enableAnnotations", annotationApiUrl: "annotationApiUrl", enableRedactions: "enableRedactions", enableICP: "enableICP", multimediaPlayerEnabled: "multimediaPlayerEnabled", enableRedactSearch: "enableRedactSearch", caseId: "caseId" }, outputs: { mediaLoadStatus: "mediaLoadStatus", viewerException: "viewerException", toolbarEventsOutput: "toolbarEventsOutput", unsavedChanges: "unsavedChanges" }, host: { listeners: { "document:keydown.F6": "handleF6Forward($event)", "document:keydown.shift.F6": "handleF6Backward($event)" } }, viewQueries: [{ propertyName: "viewerRef", first: true, predicate: ["viewerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n id=\"outerContainer\"\n [ngClass]=\"{\n 'has-redact-bar': toolbarEvents.redactionMode | async,\n 'icp-mode': icpEventService.enabled | async,\n 'is-redaction-preview': toolbarEvents.redactionPreview | async,\n sidebarOpen: toolbarEvents.sidebarOpen | async,\n 'has-scroll-bar': hasScrollBar,\n 'has-different-page-size': hasDifferentPageSize$ | async\n }\"\n [ngStyle]=\"{ width: width }\"\n>\n <div class=\"govuk-skip-link-container\">\n <a href=\"#sidebarContent\" class=\"mv-govuk-skip-link\" (click)=\"skipToSidebar($event)\">Skip to index menu</a>\n <a href=\"#viewerContainer\" class=\"mv-govuk-skip-link\" (click)=\"skipToViewer($event)\">Skip to document</a>\n </div>\n <mv-comments-summary\n *ngIf=\"showCommentSummary\"\n [title]=\"documentTitle || 'Comment Summary'\"\n [contentType]=\"contentType\"\n >\n </mv-comments-summary>\n\n <mv-confirm-action\n *ngIf=\"icpEventService.leavingSession | async\"\n ></mv-confirm-action>\n\n <div id=\"mainContainer\">\n <mv-main-toolbar\n *ngIf=\"showToolbar\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableICP]=\"enableICP\"\n [enableRedactions]=\"enableRedactions\"\n [contentType]=\"contentType\"\n >\n </mv-main-toolbar>\n <mv-redaction-toolbar\n [showRedactSearch]=\"enableRedactSearch\"\n *ngIf=\"toolbarEvents.redactionMode | async\"\n ></mv-redaction-toolbar>\n <mv-highlight-toolbar\n *ngIf=\"toolbarEvents.highlightToolbarSubject | async\"\n ></mv-highlight-toolbar>\n <mv-icp-toolbar *ngIf=\"icpEventService.enabled | async\"></mv-icp-toolbar>\n\n <div #viewerRef>\n <mv-conversion-viewer\n *ngIf=\"convertibleContent\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (viewerException)=\"onLoadException($event)\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [originalUrl]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-conversion-viewer>\n <mv-pdf-viewer\n *ngIf=\"contentType === 'pdf'\"\n #pdfViewer\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [enableICP]=\"enableICP\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n [caseId]=\"caseId\"\n mvRotationPersist\n >\n </mv-pdf-viewer>\n <mv-image-viewer\n *ngIf=\"contentType === 'image'\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (imageViewerException)=\"onLoadException($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-image-viewer>\n <mv-multimedia-player\n *ngIf=\"multimediaContent\"\n [multimediaOn]=\"multimediaPlayerEnabled\"\n [url]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n >\n </mv-multimedia-player>\n <mv-unsupported-viewer\n *ngIf=\"unsupportedContent\"\n [url]=\"url\"\n [typeException]=\"typeException\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n (unsupportedViewerException)=\"onLoadException($event)\"\n >\n </mv-unsupported-viewer>\n </div>\n </div>\n</div>\n", styles: [".govuk-skip-link-container{position:inline-block;top:0;left:0;width:100%;z-index:101;background:transparent;pointer-events:none;display:flex;flex-direction:row;gap:0}.govuk-skip-link-container .mv-govuk-skip-link{display:inline-block;font-size:0px;height:0px;margin:0;padding:0;width:0;flex-shrink:0;pointer-events:auto}.govuk-skip-link-container .mv-govuk-skip-link:link,.govuk-skip-link-container .mv-govuk-skip-link:visited{color:#0b0c0c}.govuk-skip-link-container:has(.mv-govuk-skip-link:focus),.govuk-skip-link-container:has(.mv-govuk-skip-link:active){background-color:#fd0}.govuk-skip-link-container:has(.mv-govuk-skip-link:focus) .mv-govuk-skip-link,.govuk-skip-link-container:has(.mv-govuk-skip-link:active) .mv-govuk-skip-link{font-size:16px;padding:10px 15px;width:auto;min-height:41px;height:auto;display:inline-flex;align-items:center;text-decoration:underline;background-color:transparent;color:#0b0c0c;position:static;clip:auto;clip-path:none;overflow:visible}.govuk-skip-link-container:has(.mv-govuk-skip-link:focus) .mv-govuk-skip-link:focus,.govuk-skip-link-container:has(.mv-govuk-skip-link:focus) .mv-govuk-skip-link:active,.govuk-skip-link-container:has(.mv-govuk-skip-link:active) .mv-govuk-skip-link:focus,.govuk-skip-link-container:has(.mv-govuk-skip-link:active) .mv-govuk-skip-link:active{text-decoration:underline;text-decoration-thickness:3px}#outerContainer:has(.mv-govuk-skip-link:focus) mv-side-bar,#outerContainer:has(.mv-govuk-skip-link:active) mv-side-bar{top:101px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i8.MainToolbarComponent, selector: "mv-main-toolbar", inputs: ["enableAnnotations", "enableRedactions", "enableICP", "contentType"] }, { kind: "component", type: i9.RedactionToolbarComponent, selector: "mv-redaction-toolbar", inputs: ["showRedactSearch"] }, { kind: "component", type: i10.IcpToolbarComponent, selector: "mv-icp-toolbar" }, { kind: "component", type: i11.HighlightToolbarComponent, selector: "mv-highlight-toolbar" }, { kind: "component", type: i12.CommentsSummaryComponent, selector: "mv-comments-summary", inputs: ["title", "contentType"] }, { kind: "component", type: i13.PdfViewerComponent, selector: "mv-pdf-viewer", inputs: ["downloadUrl", "url", "downloadFileName", "enableAnnotations", "enableRedactions", "enableICP", "annotationSet", "enableRedactSearch", "height", "caseId", "searchBarHidden"], outputs: ["mediaLoadStatus", "pdfViewerException", "documentTitle"] }, { kind: "component", type: i14.ImageViewerComponent, selector: "mv-image-viewer", inputs: ["url", "downloadFileName", "enableAnnotations", "annotationSet", "height"], outputs: ["mediaLoadStatus", "imageViewerException"] }, { kind: "component", type: i15.UnsupportedViewerComponent, selector: "mv-unsupported-viewer", inputs: ["url", "downloadFileName", "typeException"], outputs: ["loadStatus", "unsupportedViewerException"] }, { kind: "component", type: i16.MultimediaPlayerComponent, selector: "mv-multimedia-player", inputs: ["url", "downloadFileName", "multimediaOn"], outputs: ["loadStatus"] }, { kind: "component", type: i17.ConvertibleContentViewerComponent, selector: "mv-conversion-viewer", inputs: ["originalUrl", "downloadFileName", "height", "enableAnnotations", "enableRedactions", "annotationSet"], outputs: ["mediaLoadStatus", "viewerException", "documentTitle"] }, { kind: "directive", type: i18.RotationPersistDirective, selector: "[mvRotationPersist]" }, { kind: "component", type: i19.ConfirmActionDialogComponent, selector: "mv-confirm-action" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
291
|
-
}
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaViewerComponent, decorators: [{
|
|
293
|
-
type: Component,
|
|
294
|
-
args: [{ selector: 'mv-media-viewer', encapsulation: ViewEncapsulation.None, template: "<div\n id=\"outerContainer\"\n [ngClass]=\"{\n 'has-redact-bar': toolbarEvents.redactionMode | async,\n 'icp-mode': icpEventService.enabled | async,\n 'is-redaction-preview': toolbarEvents.redactionPreview | async,\n sidebarOpen: toolbarEvents.sidebarOpen | async,\n 'has-scroll-bar': hasScrollBar,\n 'has-different-page-size': hasDifferentPageSize$ | async\n }\"\n [ngStyle]=\"{ width: width }\"\n>\n <div class=\"govuk-skip-link-container\">\n <a href=\"#sidebarContent\" class=\"mv-govuk-skip-link\" (click)=\"skipToSidebar($event)\">Skip to index menu</a>\n <a href=\"#viewerContainer\" class=\"mv-govuk-skip-link\" (click)=\"skipToViewer($event)\">Skip to document</a>\n </div>\n <mv-comments-summary\n *ngIf=\"showCommentSummary\"\n [title]=\"documentTitle || 'Comment Summary'\"\n [contentType]=\"contentType\"\n >\n </mv-comments-summary>\n\n <mv-confirm-action\n *ngIf=\"icpEventService.leavingSession | async\"\n ></mv-confirm-action>\n\n <div id=\"mainContainer\">\n <mv-main-toolbar\n *ngIf=\"showToolbar\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableICP]=\"enableICP\"\n [enableRedactions]=\"enableRedactions\"\n [contentType]=\"contentType\"\n >\n </mv-main-toolbar>\n <mv-redaction-toolbar\n [showRedactSearch]=\"enableRedactSearch\"\n *ngIf=\"toolbarEvents.redactionMode | async\"\n ></mv-redaction-toolbar>\n <mv-highlight-toolbar\n *ngIf=\"toolbarEvents.highlightToolbarSubject | async\"\n ></mv-highlight-toolbar>\n <mv-icp-toolbar *ngIf=\"icpEventService.enabled | async\"></mv-icp-toolbar>\n\n <div #viewerRef>\n <mv-conversion-viewer\n *ngIf=\"convertibleContent\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (viewerException)=\"onLoadException($event)\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [originalUrl]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-conversion-viewer>\n <mv-pdf-viewer\n *ngIf=\"contentType === 'pdf'\"\n #pdfViewer\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [enableICP]=\"enableICP\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n [caseId]=\"caseId\"\n mvRotationPersist\n >\n </mv-pdf-viewer>\n <mv-image-viewer\n *ngIf=\"contentType === 'image'\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (imageViewerException)=\"onLoadException($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-image-viewer>\n <mv-multimedia-player\n *ngIf=\"multimediaContent\"\n [multimediaOn]=\"multimediaPlayerEnabled\"\n [url]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n >\n </mv-multimedia-player>\n <mv-unsupported-viewer\n *ngIf=\"unsupportedContent\"\n [url]=\"url\"\n [typeException]=\"typeException\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n (unsupportedViewerException)=\"onLoadException($event)\"\n >\n </mv-unsupported-viewer>\n </div>\n </div>\n</div>\n", styles: [".govuk-skip-link-container{position:inline-block;top:0;left:0;width:100%;z-index:101;background:transparent;pointer-events:none;display:flex;flex-direction:row;gap:0}.govuk-skip-link-container .mv-govuk-skip-link{display:inline-block;font-size:0px;height:0px;margin:0;padding:0;width:0;flex-shrink:0;pointer-events:auto}.govuk-skip-link-container .mv-govuk-skip-link:link,.govuk-skip-link-container .mv-govuk-skip-link:visited{color:#0b0c0c}.govuk-skip-link-container:has(.mv-govuk-skip-link:focus),.govuk-skip-link-container:has(.mv-govuk-skip-link:active){background-color:#fd0}.govuk-skip-link-container:has(.mv-govuk-skip-link:focus) .mv-govuk-skip-link,.govuk-skip-link-container:has(.mv-govuk-skip-link:active) .mv-govuk-skip-link{font-size:16px;padding:10px 15px;width:auto;min-height:41px;height:auto;display:inline-flex;align-items:center;text-decoration:underline;background-color:transparent;color:#0b0c0c;position:static;clip:auto;clip-path:none;overflow:visible}.govuk-skip-link-container:has(.mv-govuk-skip-link:focus) .mv-govuk-skip-link:focus,.govuk-skip-link-container:has(.mv-govuk-skip-link:focus) .mv-govuk-skip-link:active,.govuk-skip-link-container:has(.mv-govuk-skip-link:active) .mv-govuk-skip-link:focus,.govuk-skip-link-container:has(.mv-govuk-skip-link:active) .mv-govuk-skip-link:active{text-decoration:underline;text-decoration-thickness:3px}#outerContainer:has(.mv-govuk-skip-link:focus) mv-side-bar,#outerContainer:has(.mv-govuk-skip-link:active) mv-side-bar{top:101px}\n"] }]
|
|
295
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.ToolbarButtonVisibilityService }, { type: i3.ToolbarEventService }, { type: i4.AnnotationApiService }, { type: i5.CommentService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i6.IcpEventService }], propDecorators: { viewerRef: [{
|
|
296
|
-
type: ViewChild,
|
|
297
|
-
args: ['viewerRef', { static: false }]
|
|
298
|
-
}], url: [{
|
|
299
|
-
type: Input
|
|
300
|
-
}], downloadFileName: [{
|
|
301
|
-
type: Input
|
|
302
|
-
}], contentType: [{
|
|
303
|
-
type: Input
|
|
304
|
-
}], showToolbar: [{
|
|
305
|
-
type: Input
|
|
306
|
-
}], toolbarButtonOverrides: [{
|
|
307
|
-
type: Input
|
|
308
|
-
}], height: [{
|
|
309
|
-
type: Input
|
|
310
|
-
}], width: [{
|
|
311
|
-
type: Input
|
|
312
|
-
}], mediaLoadStatus: [{
|
|
313
|
-
type: Output
|
|
314
|
-
}], viewerException: [{
|
|
315
|
-
type: Output
|
|
316
|
-
}], toolbarEventsOutput: [{
|
|
317
|
-
type: Output
|
|
318
|
-
}], unsavedChanges: [{
|
|
319
|
-
type: Output
|
|
320
|
-
}], enableAnnotations: [{
|
|
321
|
-
type: Input
|
|
322
|
-
}], annotationApiUrl: [{
|
|
323
|
-
type: Input
|
|
324
|
-
}], enableRedactions: [{
|
|
325
|
-
type: Input
|
|
326
|
-
}], enableICP: [{
|
|
327
|
-
type: Input
|
|
328
|
-
}], multimediaPlayerEnabled: [{
|
|
329
|
-
type: Input
|
|
330
|
-
}], enableRedactSearch: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], caseId: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}], handleF6Forward: [{
|
|
335
|
-
type: HostListener,
|
|
336
|
-
args: ['document:keydown.F6', ['$event']]
|
|
337
|
-
}], handleF6Backward: [{
|
|
338
|
-
type: HostListener,
|
|
339
|
-
args: ['document:keydown.shift.F6', ['$event']]
|
|
340
|
-
}] } });
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL21lZGlhLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9tZWRpYS12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBNEIsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxtQkFBbUIsRUFBRSx3QkFBd0IsRUFDN0MsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUUxQixNQUFNLDZDQUE2QyxDQUFDO0FBTXJELE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssZUFBZSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0NBQWtDLENBQUM7QUFFeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRixJQUFLLGdCQUdKO0FBSEQsV0FBSyxnQkFBZ0I7SUFDbkIsK0JBQVcsQ0FBQTtJQUNYLG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhJLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFH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QUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7a0lBcFRVLG9CQUFvQjtzSEFBcEIsb0JBQW9CLGk2QkM3RGpDLHM4SEE2R0E7OzRGRGhEYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUk7Z1RBSUksU0FBUztzQkFBakQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUU5QixHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUUsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFrTk4sZUFBZTtzQkFEZCxZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU8vQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdEltYWdlT3B0aW9ucywgZGVmYXVsdE11bHRpbWVkaWFPcHRpb25zLFxuICBkZWZhdWx0UGRmT3B0aW9ucyxcbiAgZGVmYXVsdFVuc3VwcG9ydGVkT3B0aW9ucyxcbiAgVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlXG59IGZyb20gJy4vdG9vbGJhci90b29sYmFyLWJ1dHRvbi12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICcuL2Fubm90YXRpb25zL3NlcnZpY2VzL2Fubm90YXRpb24tYXBpL2Fubm90YXRpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VUeXBlLCBWaWV3ZXJFeGNlcHRpb24gfSBmcm9tICcuL3ZpZXdlcnMvdmlld2VyLWV4Y2VwdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vU2VsZWN0b3JzIGZyb20gJy4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm9BY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgSWNwRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi90b29sYmFyL2ljcC1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0bWxUZW1wbGF0ZXNIZWxwZXIgfSBmcm9tICcuL3NoYXJlZC91dGlsL2hlbHBlcnMvaHRtbC10ZW1wbGF0ZXMuaGVscGVyJztcblxuZW51bSBDb3JlQ29udGVudFR5cGVzIHtcbiAgUERGID0gJ3BkZicsXG4gIElNQUdFID0gJ2ltYWdlJ1xufVxuXG5lbnVtIE11bHRpbWVkaWFDb250ZW50VHlwZXMge1xuICBNUDQgPSAnbXA0JyxcbiAgTVAzID0gJ21wMycsXG59XG5cbmVudW0gQ29udmVydGlibGVDb250ZW50VHlwZXMge1xuICBFWENFTCA9ICdleGNlbCcsXG4gIFdPUkQgPSAnd29yZCcsXG4gIFBPV0VSUE9JTlQgPSAncG93ZXJwb2ludCcsXG4gIFRYVCA9ICd0eHQnLFxuICBSVEYgPSAncnRmJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tZWRpYS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVkaWEtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVkaWEtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgQFZpZXdDaGlsZCgndmlld2VyUmVmJywge3N0YXRpYzogZmFsc2V9KSB2aWV3ZXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgdXJsO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2hvd1Rvb2xiYXIgPSB0cnVlO1xuICBASW5wdXQoKSB0b29sYmFyQnV0dG9uT3ZlcnJpZGVzOiBhbnkgPSB7fTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmc7XG4gIHB1YmxpYyB2aWV3ZXJIZWlnaHQ6IHN0cmluZztcblxuICBASW5wdXQoKSB3aWR0aCA9ICcxMDAlJztcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSB2aWV3ZXJFeGNlcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdlckV4Y2VwdGlvbj4oKTtcbiAgQE91dHB1dCgpIHRvb2xiYXJFdmVudHNPdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvb2xiYXJFdmVudFNlcnZpY2U+KCk7XG4gIEBPdXRwdXQoKSB1bnNhdmVkQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBlbmFibGVBbm5vdGF0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBhbm5vdGF0aW9uQXBpVXJsO1xuXG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlSUNQID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpbWVkaWFQbGF5ZXJFbmFibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdFNlYXJjaCA9IGZhbHNlO1xuXG5cbiAgQElucHV0KCkgY2FzZUlkOiBzdHJpbmc7XG5cbiAgbXVsdGltZWRpYUNvbnRlbnQgPSBmYWxzZTtcbiAgY29udmVydGlibGVDb250ZW50ID0gZmFsc2U7XG4gIHVuc3VwcG9ydGVkQ29udGVudCA9IGZhbHNlO1xuXG4gIGRvY3VtZW50VGl0bGU6IHN0cmluZztcbiAgc2hvd0NvbW1lbnRTdW1tYXJ5OiBib29sZWFuO1xuICBhbm5vdGF0aW9uU2V0JDogT2JzZXJ2YWJsZTxBbm5vdGF0aW9uU2V0IHwge30+O1xuICBoYXNTY3JvbGxCYXI6IGJvb2xlYW47XG4gIHR5cGVFeGNlcHRpb24gPSBmYWxzZTtcbiAgaGFzRGlmZmVyZW50UGFnZVNpemUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkb2N1bWVudElkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHByZXZPZmZzZXQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBjdXJyZW50UmVnaW9uSW5kZXggPSAtMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckJ1dHRvbnM6IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaTogQW5ub3RhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tZW50U2VydmljZTogQ29tbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGljcEV2ZW50U2VydmljZTogSWNwRXZlbnRTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmFubm90YXRpb25BcGlVcmwpIHtcbiAgICAgIGFwaS5hbm5vdGF0aW9uQXBpVXJsID0gdGhpcy5hbm5vdGF0aW9uQXBpVXJsO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmFubm90YXRpb25TZXQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tQW5ub1NlbGVjdG9ycy5nZXRBbm5vdGF0aW9uU2V0KSk7XG4gICAgdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuc2V0VG9vbGJhckJ1dHRvbnMoKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHNPdXRwdXQuZW1pdCh0aGlzLnRvb2xiYXJFdmVudHMpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMgPSB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldFVuc2F2ZWRDaGFuZ2VzKClcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB0aGlzLm9uQ29tbWVudENoYW5nZShjaGFuZ2VzKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdldFNob3dDb21tZW50U3VtbWFyeSgpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4gdGhpcy5zaG93Q29tbWVudFN1bW1hcnkgPSBjaGFuZ2VzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ICYmIHRoaXMudmlld2VySGVpZ2h0ICE9PSB0aGlzLmhlaWdodCkge1xuICAgICAgdGhpcy52aWV3ZXJIZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGVpZ2h0KSB7XG4gICAgICBjb25zdCBjb21wT2Zmc2V0VG9wID0gSHRtbFRlbXBsYXRlc0hlbHBlci5nZXRBZGp1c3RlZEJvdW5kaW5nUmVjdCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQpLnRvcDtcbiAgICAgIGNvbnN0IHZpZXdlck9mZnNldFRvcCA9IHRoaXMudmlld2VyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gY29tcE9mZnNldFRvcCArIHZpZXdlck9mZnNldFRvcDtcblxuICAgICAgaWYgKHRoaXMucHJldk9mZnNldCAhPT0gb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMudmlld2VySGVpZ2h0ID0gYGNhbGMoMTAwdmggLSAke29mZnNldH1weClgO1xuICAgICAgICB0aGlzLnByZXZPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYW5ub3RhdGlvbkFwaVVybCkge1xuICAgICAgdGhpcy5hcGkuYW5ub3RhdGlvbkFwaVVybCA9IHRoaXMuYW5ub3RhdGlvbkFwaVVybDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5jb250ZW50VHlwZSkge1xuICAgICAgdGhpcy5jb252ZXJ0aWJsZUNvbnRlbnQgPSB0aGlzLm5lZWRzQ29udmVydGluZygpO1xuICAgICAgdGhpcy5tdWx0aW1lZGlhQ29udGVudCA9IHRoaXMuaXNNdWx0aW1lZGlhKCk7XG4gICAgICB0aGlzLnVuc3VwcG9ydGVkQ29udGVudCA9ICF0aGlzLmlzU3VwcG9ydGVkKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMudXJsKSB7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVzZXQoKTtcbiAgICAgIHRoaXMuY29tbWVudFNlcnZpY2UucmVzZXRDb21tZW50U2V0KCk7XG4gICAgICB0aGlzLmRvY3VtZW50SWQgPSB0aGlzLmV4dHJhY3RETVN0b3JlRG9jSWQodGhpcy51cmwpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5TZXREb2N1bWVudElkKHRoaXMuZG9jdW1lbnRJZCkpO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMgJiYgISh0aGlzLm11bHRpbWVkaWFDb250ZW50IHx8IHRoaXMudW5zdXBwb3J0ZWRDb250ZW50KSkge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQW5ub0FjdGlvbnMuTG9hZEFubm90YXRpb25TZXQodGhpcy5kb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5lbmFibGVSZWRhY3Rpb25zICYmICEodGhpcy5tdWx0aW1lZGlhQ29udGVudCB8fCB0aGlzLnVuc3VwcG9ydGVkQ29udGVudCkgJiYgdGhpcy5kb2N1bWVudElkKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21SZWRhY3RBY3Rpb25zLkxvYWRSZWRhY3Rpb25zKHRoaXMuZG9jdW1lbnRJZCkpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudFRpdGxlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy5kZXRlY3RPcygpO1xuICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmVlZHNDb252ZXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKENvbnZlcnRpYmxlQ29udGVudFR5cGVzKS5pbmNsdWRlcyh0aGlzLmNvbnRlbnRUeXBlLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgaXNNdWx0aW1lZGlhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKE11bHRpbWVkaWFDb250ZW50VHlwZXMpLmluY2x1ZGVzKHRoaXMuY29udGVudFR5cGUudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIE11bHRpbWVkaWFDb250ZW50VHlwZXMsIENvbnZlcnRpYmxlQ29udGVudFR5cGVzLCBDb3JlQ29udGVudFR5cGVzKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhzdXBwb3J0ZWRUeXBlcykuaW5jbHVkZXModGhpcy5jb250ZW50VHlwZS50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgc2V0VG9vbGJhckJ1dHRvbnMoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09IENvcmVDb250ZW50VHlwZXMuUERGIHx8IHRoaXMubmVlZHNDb252ZXJ0aW5nKCkpIHtcbiAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2V0dXAoe1xuICAgICAgICAuLi5kZWZhdWx0UGRmT3B0aW9ucywgc2hvd0hpZ2hsaWdodEJ1dHRvbjogdGhpcy5lbmFibGVBbm5vdGF0aW9ucywgc2hvd0RyYXdCdXR0b246IGZhbHNlLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZW50VHlwZSA9PT0gQ29yZUNvbnRlbnRUeXBlcy5JTUFHRSkge1xuICAgICAgdGhpcy50b29sYmFyQnV0dG9ucy5zZXR1cCh7XG4gICAgICAgIC4uLmRlZmF1bHRJbWFnZU9wdGlvbnMsIHNob3dEcmF3QnV0dG9uOiB0aGlzLmVuYWJsZUFubm90YXRpb25zLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc011bHRpbWVkaWEoKSkge1xuICAgICAgdGhpcy50b29sYmFyQnV0dG9ucy5zZXR1cCh7XG4gICAgICAgIC4uLmRlZmF1bHRNdWx0aW1lZGlhT3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy50b29sYmFyQnV0dG9uT3ZlcnJpZGVzXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b29sYmFyQnV0dG9ucy5zZXR1cCh7XG4gICAgICAgIC4uLmRlZmF1bHRVbnN1cHBvcnRlZE9wdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Mb2FkRXhjZXB0aW9uKGV4Y2VwdGlvbjogVmlld2VyRXhjZXB0aW9uKSB7XG4gICAgdGhpcy52aWV3ZXJFeGNlcHRpb24uZW1pdChleGNlcHRpb24pO1xuICAgIGlmICghdGhpcy5pc1N1cHBvcnRlZCgpKSB7XG4gICAgICB0aGlzLnR5cGVFeGNlcHRpb24gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50eXBlRXhjZXB0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29udGVudFR5cGUgPSBudWxsO1xuICAgICAgdGhpcy5zZXRUb29sYmFyQnV0dG9ucygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29tbWVudENoYW5nZShjaGFuZ2VzOiBib29sZWFuKSB7XG4gICAgdGhpcy51bnNhdmVkQ2hhbmdlcy5lbWl0KGNoYW5nZXMpO1xuICB9XG5cbiAgb25Eb2N1bWVudFRpdGxlQ2hhbmdlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSB0aXRsZTtcbiAgfVxuXG4gIC8vIElmIHNlY3VyZSBtb2RlIGlzIGVuYWJsZWQgKHdoaWNoIGFkZHMgXCJkb2N1bWVudHN2MlwiIHRvIHRoZSBkb2N1bWVudElkKSwgZ2V0IHJpZCBvZiBpdFxuICBwcml2YXRlIGV4dHJhY3RETVN0b3JlRG9jSWQodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHVybCA9IHVybC5pbmNsdWRlcygnL2RvY3VtZW50cy8nKSA/IHVybC5zcGxpdCgnL2RvY3VtZW50cy8nKVsxXSA6IHVybDtcbiAgICB1cmwgPSB1cmwuaW5jbHVkZXMoJy9kb2N1bWVudHN2Mi8nKSA/IHVybC5zcGxpdCgnL2RvY3VtZW50c3YyLycpWzFdIDogdXJsO1xuICAgIHJldHVybiB1cmwucmVwbGFjZSgnL2JpbmFyeScsICcnKTtcbiAgfVxuXG4gIGRldGVjdE9zKCkge1xuICAgIHRoaXMuaGFzU2Nyb2xsQmFyID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignV2luJykgIT09IC0xO1xuICB9XG5cbiAgc2tpcFRvU2lkZWJhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5vcGVuU2lkZWJhckFuZFdhaXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJyNzaWRlYmFyQ29udGVudCcpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIGlmICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3RhYmluZGV4JykpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNpZGViYXJBbmRXYWl0KGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgY29uc3QgaXNPcGVuID0gdGhpcy50b29sYmFyRXZlbnRzLnNpZGViYXJPcGVuLmdldFZhbHVlKCk7XG4gICAgaWYgKCFpc09wZW4pIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVTaWRlQmFyKHRydWUpO1xuICAgIH1cblxuICAgIHRoaXMudG9vbGJhckV2ZW50cy5zaWRlYmFyT3Blbi5waXBlKFxuICAgICAgZmlsdGVyKG9wZW4gPT4gb3BlbiA9PT0gdHJ1ZSksXG4gICAgICB0YWtlKDEpLFxuICAgICAgZGVsYXkoMClcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgc2tpcFRvVmlld2VyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJyN2aWV3ZXJDb250YWluZXInKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uRjYnLCBbJyRldmVudCddKVxuICBoYW5kbGVGNkZvcndhcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuY3ljbGVSZWdpb24oJ2ZvcndhcmQnKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uc2hpZnQuRjYnLCBbJyRldmVudCddKVxuICBoYW5kbGVGNkJhY2t3YXJkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmN5Y2xlUmVnaW9uKCdiYWNrd2FyZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjeWNsZVJlZ2lvbihkaXJlY3Rpb246ICdmb3J3YXJkJyB8ICdiYWNrd2FyZCcpOiB2b2lkIHtcbiAgICBjb25zdCByZWdpb25zID0gW1xuICAgICAgeyBzZWxlY3RvcjogJyN0b29sYmFyQ29udGFpbmVyJywgbGFiZWw6ICdNYWluIHRvb2xiYXInLCBpc1Zpc2libGU6ICgpID0+IHRoaXMuc2hvd1Rvb2xiYXIgfSxcbiAgICAgIHsgc2VsZWN0b3I6ICcjc2lkZWJhckNvbnRlbnQnLCBsYWJlbDogJ0luZGV4IG1lbnUnLCBpc1Zpc2libGU6ICgpID0+IHRydWUgfSxcbiAgICAgIHsgc2VsZWN0b3I6ICcjdmlld2VyQ29udGFpbmVyJywgbGFiZWw6ICdEb2N1bWVudCB2aWV3ZXInLCBpc1Zpc2libGU6ICgpID0+IHRydWUgfVxuICAgIF07XG5cbiAgICBjb25zdCB2aXNpYmxlUmVnaW9ucyA9IHJlZ2lvbnMuZmlsdGVyKHIgPT4gci5pc1Zpc2libGUoKSk7XG4gICAgaWYgKHZpc2libGVSZWdpb25zLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJldmlvdXNSZWdpb24gPSB2aXNpYmxlUmVnaW9uc1t0aGlzLmN1cnJlbnRSZWdpb25JbmRleF07XG5cbiAgICBpZiAoZGlyZWN0aW9uID09PSAnZm9yd2FyZCcpIHtcbiAgICAgIHRoaXMuY3VycmVudFJlZ2lvbkluZGV4ID0gKHRoaXMuY3VycmVudFJlZ2lvbkluZGV4ICsgMSkgJSB2aXNpYmxlUmVnaW9ucy5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFJlZ2lvbkluZGV4ID0gdGhpcy5jdXJyZW50UmVnaW9uSW5kZXggPD0gMFxuICAgICAgICA/IHZpc2libGVSZWdpb25zLmxlbmd0aCAtIDFcbiAgICAgICAgOiB0aGlzLmN1cnJlbnRSZWdpb25JbmRleCAtIDE7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFJlZ2lvbiA9IHZpc2libGVSZWdpb25zW3RoaXMuY3VycmVudFJlZ2lvbkluZGV4XTtcblxuICAgIGlmIChwcmV2aW91c1JlZ2lvbj8uc2VsZWN0b3IgPT09ICcjc2lkZWJhckNvbnRlbnQnICYmIGN1cnJlbnRSZWdpb24uc2VsZWN0b3IgIT09ICcjc2lkZWJhckNvbnRlbnQnKSB7XG4gICAgICBjb25zdCBpc09wZW4gPSB0aGlzLnRvb2xiYXJFdmVudHMuc2lkZWJhck9wZW4uZ2V0VmFsdWUoKTtcbiAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVNpZGVCYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBpZiAoY3VycmVudFJlZ2lvbi5zZWxlY3RvciA9PT0gJyNzaWRlYmFyQ29udGVudCcpIHtcbiAgICAgIHRoaXMub3BlblNpZGViYXJBbmRXYWl0KCgpID0+IHtcbiAgICAgICAgdGhpcy5mb2N1c1JlZ2lvbihjdXJyZW50UmVnaW9uKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUmVnaW9uKGN1cnJlbnRSZWdpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNSZWdpb24ocmVnaW9uOiB7IHNlbGVjdG9yOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihyZWdpb24uc2VsZWN0b3IpO1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcbiAgICAgICdidXR0b246bm90KFtkaXNhYmxlZF0pLCBbaHJlZl0sIGlucHV0Om5vdChbZGlzYWJsZWRdKSwgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSknXG4gICAgKTtcblxuICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xuICAgICAgZmlyc3RGb2N1c2FibGUuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKTtcbiAgICAgIH1cbiAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgaWQ9XCJvdXRlckNvbnRhaW5lclwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnaGFzLXJlZGFjdC1iYXInOiB0b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUgfCBhc3luYyxcbiAgICAnaWNwLW1vZGUnOiBpY3BFdmVudFNlcnZpY2UuZW5hYmxlZCB8IGFzeW5jLFxuICAgICdpcy1yZWRhY3Rpb24tcHJldmlldyc6IHRvb2xiYXJFdmVudHMucmVkYWN0aW9uUHJldmlldyB8IGFzeW5jLFxuICAgIHNpZGViYXJPcGVuOiB0b29sYmFyRXZlbnRzLnNpZGViYXJPcGVuIHwgYXN5bmMsXG4gICAgJ2hhcy1zY3JvbGwtYmFyJzogaGFzU2Nyb2xsQmFyLFxuICAgICdoYXMtZGlmZmVyZW50LXBhZ2Utc2l6ZSc6IGhhc0RpZmZlcmVudFBhZ2VTaXplJCB8IGFzeW5jXG4gIH1cIlxuICBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXNraXAtbGluay1jb250YWluZXJcIj5cbiAgICA8YSBocmVmPVwiI3NpZGViYXJDb250ZW50XCIgY2xhc3M9XCJtdi1nb3Z1ay1za2lwLWxpbmtcIiAoY2xpY2spPVwic2tpcFRvU2lkZWJhcigkZXZlbnQpXCI+U2tpcCB0byBpbmRleCBtZW51PC9hPlxuICAgIDxhIGhyZWY9XCIjdmlld2VyQ29udGFpbmVyXCIgY2xhc3M9XCJtdi1nb3Z1ay1za2lwLWxpbmtcIiAoY2xpY2spPVwic2tpcFRvVmlld2VyKCRldmVudClcIj5Ta2lwIHRvIGRvY3VtZW50PC9hPlxuICA8L2Rpdj5cbiAgPG12LWNvbW1lbnRzLXN1bW1hcnlcbiAgICAqbmdJZj1cInNob3dDb21tZW50U3VtbWFyeVwiXG4gICAgW3RpdGxlXT1cImRvY3VtZW50VGl0bGUgfHwgJ0NvbW1lbnQgU3VtbWFyeSdcIlxuICAgIFtjb250ZW50VHlwZV09XCJjb250ZW50VHlwZVwiXG4gID5cbiAgPC9tdi1jb21tZW50cy1zdW1tYXJ5PlxuXG4gIDxtdi1jb25maXJtLWFjdGlvblxuICAgICpuZ0lmPVwiaWNwRXZlbnRTZXJ2aWNlLmxlYXZpbmdTZXNzaW9uIHwgYXN5bmNcIlxuICA+PC9tdi1jb25maXJtLWFjdGlvbj5cblxuICA8ZGl2IGlkPVwibWFpbkNvbnRhaW5lclwiPlxuICAgIDxtdi1tYWluLXRvb2xiYXJcbiAgICAgICpuZ0lmPVwic2hvd1Rvb2xiYXJcIlxuICAgICAgW2VuYWJsZUFubm90YXRpb25zXT1cImVuYWJsZUFubm90YXRpb25zXCJcbiAgICAgIFtlbmFibGVJQ1BdPVwiZW5hYmxlSUNQXCJcbiAgICAgIFtlbmFibGVSZWRhY3Rpb25zXT1cImVuYWJsZVJlZGFjdGlvbnNcIlxuICAgICAgW2NvbnRlbnRUeXBlXT1cImNvbnRlbnRUeXBlXCJcbiAgICA+XG4gICAgPC9tdi1tYWluLXRvb2xiYXI+XG4gICAgPG12LXJlZGFjdGlvbi10b29sYmFyXG4gICAgICBbc2hvd1JlZGFjdFNlYXJjaF09XCJlbmFibGVSZWRhY3RTZWFyY2hcIlxuICAgICAgKm5nSWY9XCJ0b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUgfCBhc3luY1wiXG4gICAgPjwvbXYtcmVkYWN0aW9uLXRvb2xiYXI+XG4gICAgPG12LWhpZ2hsaWdodC10b29sYmFyXG4gICAgICAqbmdJZj1cInRvb2xiYXJFdmVudHMuaGlnaGxpZ2h0VG9vbGJhclN1YmplY3QgfCBhc3luY1wiXG4gICAgPjwvbXYtaGlnaGxpZ2h0LXRvb2xiYXI+XG4gICAgPG12LWljcC10b29sYmFyICpuZ0lmPVwiaWNwRXZlbnRTZXJ2aWNlLmVuYWJsZWQgfCBhc3luY1wiPjwvbXYtaWNwLXRvb2xiYXI+XG5cbiAgICA8ZGl2ICN2aWV3ZXJSZWY+XG4gICAgICA8bXYtY29udmVyc2lvbi12aWV3ZXJcbiAgICAgICAgKm5nSWY9XCJjb252ZXJ0aWJsZUNvbnRlbnRcIlxuICAgICAgICAoZG9jdW1lbnRUaXRsZSk9XCJvbkRvY3VtZW50VGl0bGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChtZWRpYUxvYWRTdGF0dXMpPVwib25NZWRpYUxvYWQoJGV2ZW50KVwiXG4gICAgICAgICh2aWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgICBbZW5hYmxlQW5ub3RhdGlvbnNdPVwiZW5hYmxlQW5ub3RhdGlvbnNcIlxuICAgICAgICBbZW5hYmxlUmVkYWN0aW9uc109XCJlbmFibGVSZWRhY3Rpb25zXCJcbiAgICAgICAgW2Fubm90YXRpb25TZXRdPVwiZW5hYmxlQW5ub3RhdGlvbnMgPyAoYW5ub3RhdGlvblNldCQgfCBhc3luYykgOiBudWxsXCJcbiAgICAgICAgW29yaWdpbmFsVXJsXT1cInVybFwiXG4gICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImRvd25sb2FkRmlsZU5hbWVcIlxuICAgICAgICBbaGVpZ2h0XT1cInZpZXdlckhlaWdodFwiXG4gICAgICAgIG12Um90YXRpb25QZXJzaXN0XG4gICAgICA+XG4gICAgICA8L212LWNvbnZlcnNpb24tdmlld2VyPlxuICAgICAgPG12LXBkZi12aWV3ZXJcbiAgICAgICAgKm5nSWY9XCJjb250ZW50VHlwZSA9PT0gJ3BkZidcIlxuICAgICAgICAjcGRmVmlld2VyXG4gICAgICAgIChtZWRpYUxvYWRTdGF0dXMpPVwib25NZWRpYUxvYWQoJGV2ZW50KVwiXG4gICAgICAgIChwZGZWaWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgICAoZG9jdW1lbnRUaXRsZSk9XCJvbkRvY3VtZW50VGl0bGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFt1cmxdPVwidXJsXCJcbiAgICAgICAgW2VuYWJsZUFubm90YXRpb25zXT1cImVuYWJsZUFubm90YXRpb25zXCJcbiAgICAgICAgW2VuYWJsZVJlZGFjdGlvbnNdPVwiZW5hYmxlUmVkYWN0aW9uc1wiXG4gICAgICAgIFtlbmFibGVJQ1BdPVwiZW5hYmxlSUNQXCJcbiAgICAgICAgW2Fubm90YXRpb25TZXRdPVwiZW5hYmxlQW5ub3RhdGlvbnMgPyAoYW5ub3RhdGlvblNldCQgfCBhc3luYykgOiBudWxsXCJcbiAgICAgICAgW2Rvd25sb2FkRmlsZU5hbWVdPVwiZG93bmxvYWRGaWxlTmFtZVwiXG4gICAgICAgIFtoZWlnaHRdPVwidmlld2VySGVpZ2h0XCJcbiAgICAgICAgW2Nhc2VJZF09XCJjYXNlSWRcIlxuICAgICAgICBtdlJvdGF0aW9uUGVyc2lzdFxuICAgICAgPlxuICAgICAgPC9tdi1wZGYtdmlld2VyPlxuICAgICAgPG12LWltYWdlLXZpZXdlclxuICAgICAgICAqbmdJZj1cImNvbnRlbnRUeXBlID09PSAnaW1hZ2UnXCJcbiAgICAgICAgKG1lZGlhTG9hZFN0YXR1cyk9XCJvbk1lZGlhTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgKGltYWdlVmlld2VyRXhjZXB0aW9uKT1cIm9uTG9hZEV4Y2VwdGlvbigkZXZlbnQpXCJcbiAgICAgICAgW3VybF09XCJ1cmxcIlxuICAgICAgICBbZW5hYmxlQW5ub3RhdGlvbnNdPVwiZW5hYmxlQW5ub3RhdGlvbnNcIlxuICAgICAgICBbYW5ub3RhdGlvblNldF09XCJlbmFibGVBbm5vdGF0aW9ucyA/IChhbm5vdGF0aW9uU2V0JCB8IGFzeW5jKSA6IG51bGxcIlxuICAgICAgICBbZG93bmxvYWRGaWxlTmFtZV09XCJkb3dubG9hZEZpbGVOYW1lXCJcbiAgICAgICAgW2hlaWdodF09XCJ2aWV3ZXJIZWlnaHRcIlxuICAgICAgICBtdlJvdGF0aW9uUGVyc2lzdFxuICAgICAgPlxuICAgICAgPC9tdi1pbWFnZS12aWV3ZXI+XG4gICAgICA8bXYtbXVsdGltZWRpYS1wbGF5ZXJcbiAgICAgICAgKm5nSWY9XCJtdWx0aW1lZGlhQ29udGVudFwiXG4gICAgICAgIFttdWx0aW1lZGlhT25dPVwibXVsdGltZWRpYVBsYXllckVuYWJsZWRcIlxuICAgICAgICBbdXJsXT1cInVybFwiXG4gICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImRvd25sb2FkRmlsZU5hbWVcIlxuICAgICAgICAobG9hZFN0YXR1cyk9XCJvbk1lZGlhTG9hZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvbXYtbXVsdGltZWRpYS1wbGF5ZXI+XG4gICAgICA8bXYtdW5zdXBwb3J0ZWQtdmlld2VyXG4gICAgICAgICpuZ0lmPVwidW5zdXBwb3J0ZWRDb250ZW50XCJcbiAgICAgICAgW3VybF09XCJ1cmxcIlxuICAgICAgICBbdHlwZUV4Y2VwdGlvbl09XCJ0eXBlRXhjZXB0aW9uXCJcbiAgICAgICAgW2Rvd25sb2FkRmlsZU5hbWVdPVwiZG93bmxvYWRGaWxlTmFtZVwiXG4gICAgICAgIChsb2FkU3RhdHVzKT1cIm9uTWVkaWFMb2FkKCRldmVudClcIlxuICAgICAgICAodW5zdXBwb3J0ZWRWaWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9tdi11bnN1cHBvcnRlZC12aWV3ZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { RpxTranslationModule } from 'rpx-xui-translation';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
6
|
-
import { PdfViewerComponent } from './viewers/pdf-viewer/pdf-viewer.component';
|
|
7
|
-
import { ImageViewerComponent } from './viewers/image-viewer/image-viewer.component';
|
|
8
|
-
import { UnsupportedViewerComponent } from './viewers/unsupported-viewer/unsupported-viewer.component';
|
|
9
|
-
import { MediaViewerComponent } from './media-viewer.component';
|
|
10
|
-
import { ToolbarModule } from './toolbar/toolbar.module';
|
|
11
|
-
import { PdfJsWrapperFactory } from './viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider';
|
|
12
|
-
import { AnnotationsModule } from './annotations/annotations.module';
|
|
13
|
-
import { CommentService } from './annotations/comment-set/comment/comment.service';
|
|
14
|
-
import { GrabNDragDirective } from './viewers/grab-n-drag.directive';
|
|
15
|
-
import { SideBarComponent } from './viewers/pdf-viewer/side-bar/side-bar.component';
|
|
16
|
-
import { OutlineItemComponent } from './viewers/pdf-viewer/side-bar/outline-item/outline-item.component';
|
|
17
|
-
import { TagInputModule } from 'ngx-chips';
|
|
18
|
-
import { RouterModule } from '@angular/router';
|
|
19
|
-
import { EffectsModule } from '@ngrx/effects';
|
|
20
|
-
import { StoreModule } from '@ngrx/store';
|
|
21
|
-
import { RedactionComponent } from './redaction/components/redaction.component';
|
|
22
|
-
import { reducers } from './store/reducers/reducers';
|
|
23
|
-
import { effects } from './store/effects/index';
|
|
24
|
-
import { BookmarksComponent } from './viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component';
|
|
25
|
-
import { RedactionApiService } from './redaction/services/redaction-api.service';
|
|
26
|
-
import { MutableDivModule } from 'mutable-div';
|
|
27
|
-
import { ConvertibleContentViewerComponent } from './viewers/convertible-content-viewer/convertible-content-viewer.component';
|
|
28
|
-
import { DocumentConversionApiService } from './viewers/convertible-content-viewer/document-conversion-api.service';
|
|
29
|
-
import { ConfirmActionDialogComponent } from './icp/confirm-exit/confirm-action-dialog.component';
|
|
30
|
-
import { BookmarkIconsComponent } from './bookmark/components/bookmark-icons.component';
|
|
31
|
-
import { RotationApiService } from './viewers/rotation-persist/rotation-api.service';
|
|
32
|
-
import { RotationPersistDirective } from './viewers/rotation-persist/rotation-persist.directive';
|
|
33
|
-
import { ParticipantsListComponent } from './icp/participants-list/participants-list.component';
|
|
34
|
-
import { HighlightCreateDirective } from './annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive';
|
|
35
|
-
import { MultimediaPlayerComponent } from './viewers/multimedia-player/multimedia-player.component';
|
|
36
|
-
import { CdkTreeModule } from '@angular/cdk/tree';
|
|
37
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
38
|
-
import * as i0 from "@angular/core";
|
|
39
|
-
import * as i1 from "@ngrx/store";
|
|
40
|
-
import * as i2 from "@ngrx/effects";
|
|
41
|
-
import * as i3 from "rpx-xui-translation";
|
|
42
|
-
export class MediaViewerModule {
|
|
43
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
44
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MediaViewerModule, declarations: [PdfViewerComponent,
|
|
45
|
-
SideBarComponent,
|
|
46
|
-
BookmarksComponent,
|
|
47
|
-
OutlineItemComponent,
|
|
48
|
-
ImageViewerComponent,
|
|
49
|
-
UnsupportedViewerComponent,
|
|
50
|
-
MultimediaPlayerComponent,
|
|
51
|
-
MediaViewerComponent,
|
|
52
|
-
ConvertibleContentViewerComponent,
|
|
53
|
-
GrabNDragDirective,
|
|
54
|
-
RotationPersistDirective,
|
|
55
|
-
HighlightCreateDirective,
|
|
56
|
-
ConfirmActionDialogComponent,
|
|
57
|
-
RedactionComponent,
|
|
58
|
-
BookmarkIconsComponent,
|
|
59
|
-
ParticipantsListComponent], imports: [CommonModule,
|
|
60
|
-
HttpClientModule,
|
|
61
|
-
ToolbarModule,
|
|
62
|
-
AnnotationsModule,
|
|
63
|
-
TagInputModule,
|
|
64
|
-
FormsModule,
|
|
65
|
-
ReactiveFormsModule,
|
|
66
|
-
RouterModule, i1.StoreFeatureModule, i2.EffectsFeatureModule, MutableDivModule,
|
|
67
|
-
CdkTreeModule,
|
|
68
|
-
DragDropModule, i3.RpxTranslationModule], exports: [MediaViewerComponent] }); }
|
|
69
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaViewerModule, providers: [
|
|
70
|
-
PdfJsWrapperFactory,
|
|
71
|
-
CommentService,
|
|
72
|
-
RedactionApiService,
|
|
73
|
-
DocumentConversionApiService,
|
|
74
|
-
RotationApiService,
|
|
75
|
-
], imports: [CommonModule,
|
|
76
|
-
HttpClientModule,
|
|
77
|
-
ToolbarModule,
|
|
78
|
-
AnnotationsModule,
|
|
79
|
-
TagInputModule,
|
|
80
|
-
FormsModule,
|
|
81
|
-
ReactiveFormsModule,
|
|
82
|
-
RouterModule,
|
|
83
|
-
StoreModule.forFeature('media-viewer', reducers),
|
|
84
|
-
EffectsModule.forFeature(effects),
|
|
85
|
-
MutableDivModule,
|
|
86
|
-
CdkTreeModule,
|
|
87
|
-
DragDropModule,
|
|
88
|
-
RpxTranslationModule.forChild()] }); }
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaViewerModule, decorators: [{
|
|
91
|
-
type: NgModule,
|
|
92
|
-
args: [{
|
|
93
|
-
imports: [
|
|
94
|
-
CommonModule,
|
|
95
|
-
HttpClientModule,
|
|
96
|
-
ToolbarModule,
|
|
97
|
-
AnnotationsModule,
|
|
98
|
-
TagInputModule,
|
|
99
|
-
FormsModule,
|
|
100
|
-
ReactiveFormsModule,
|
|
101
|
-
RouterModule,
|
|
102
|
-
StoreModule.forFeature('media-viewer', reducers),
|
|
103
|
-
EffectsModule.forFeature(effects),
|
|
104
|
-
MutableDivModule,
|
|
105
|
-
CdkTreeModule,
|
|
106
|
-
DragDropModule,
|
|
107
|
-
RpxTranslationModule.forChild()
|
|
108
|
-
],
|
|
109
|
-
declarations: [
|
|
110
|
-
PdfViewerComponent,
|
|
111
|
-
SideBarComponent,
|
|
112
|
-
BookmarksComponent,
|
|
113
|
-
OutlineItemComponent,
|
|
114
|
-
ImageViewerComponent,
|
|
115
|
-
UnsupportedViewerComponent,
|
|
116
|
-
MultimediaPlayerComponent,
|
|
117
|
-
MediaViewerComponent,
|
|
118
|
-
ConvertibleContentViewerComponent,
|
|
119
|
-
GrabNDragDirective,
|
|
120
|
-
RotationPersistDirective,
|
|
121
|
-
HighlightCreateDirective,
|
|
122
|
-
ConfirmActionDialogComponent,
|
|
123
|
-
RedactionComponent,
|
|
124
|
-
BookmarkIconsComponent,
|
|
125
|
-
ParticipantsListComponent
|
|
126
|
-
],
|
|
127
|
-
providers: [
|
|
128
|
-
PdfJsWrapperFactory,
|
|
129
|
-
CommentService,
|
|
130
|
-
RedactionApiService,
|
|
131
|
-
DocumentConversionApiService,
|
|
132
|
-
RotationApiService,
|
|
133
|
-
],
|
|
134
|
-
exports: [
|
|
135
|
-
MediaViewerComponent
|
|
136
|
-
]
|
|
137
|
-
}]
|
|
138
|
-
}] });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL21lZGlhLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDekcsT0FBTyxFQUFFLGNB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Y0FBYyxFQUFFLFFBQVEsQ0FBQzt3QkFDaEQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7d0JBQ2pDLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtxQkFDaEM7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixpQ0FBaUM7d0JBQ2pDLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJweFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFBkZlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3Vuc3VwcG9ydGVkLXZpZXdlci91bnN1cHBvcnRlZC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lZGlhVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tZWRpYS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0IHsgUGRmSnNXcmFwcGVyRmFjdG9yeSB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3BkZi1qcy9wZGYtanMtd3JhcHBlci5wcm92aWRlcic7XG5pbXBvcnQgeyBBbm5vdGF0aW9uc01vZHVsZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMubW9kdWxlJztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50L2NvbW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHcmFiTkRyYWdEaXJlY3RpdmUgfSBmcm9tICcuL3ZpZXdlcnMvZ3JhYi1uLWRyYWcuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpZGVCYXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3V0bGluZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3JlZGFjdGlvbi9jb21wb25lbnRzL3JlZGFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNwU2Vzc2lvbkFwaVNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3Atc2Vzc2lvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJY3BVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9pY3AvaWNwLXVwZGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3Auc2VydmljZSc7XG5pbXBvcnQgeyBTb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi9pY3Avc29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVkdWNlcnMgfSBmcm9tICcuL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCB7IGVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2VmZmVjdHMvaW5kZXgnO1xuaW1wb3J0IHsgQm9va21hcmtzQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3BkZi12aWV3ZXIvc2lkZS1iYXIvYm9va21hcmtzL2Jvb2ttYXJrcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVkYWN0aW9uQXBpU2VydmljZSB9IGZyb20gJy4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBNdXRhYmxlRGl2TW9kdWxlIH0gZnJvbSAnbXV0YWJsZS1kaXYnO1xuaW1wb3J0IHsgQ29udmVydGlibGVDb250ZW50Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2N1bWVudENvbnZlcnNpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi92aWV3ZXJzL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyL2RvY3VtZW50LWNvbnZlcnNpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwUHJlc2VudGVyU2VydmljZSB9IGZyb20gJy4vaWNwL2ljcC1wcmVzZW50ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJY3BGb2xsb3dlclNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3AtZm9sbG93ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtQWN0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9pY3AvY29uZmlybS1leGl0L2NvbmZpcm0tYWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9va21hcmtJY29uc0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmsvY29tcG9uZW50cy9ib29rbWFyay1pY29ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm90YXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm90YXRpb25QZXJzaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tcGVyc2lzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFydGljaXBhbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vaWNwL3BhcnRpY2lwYW50cy1saXN0L3BhcnRpY2lwYW50cy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaWdobGlnaHRDcmVhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTXVsdGltZWRpYVBsYXllckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9tdWx0aW1lZGlhLXBsYXllci9tdWx0aW1lZGlhLXBsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIEFubm90YXRpb25zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ21lZGlhLXZpZXdlcicsIHJlZHVjZXJzKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoZWZmZWN0cyksXG4gICAgTXV0YWJsZURpdk1vZHVsZSxcbiAgICBDZGtUcmVlTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIFJweFRyYW5zbGF0aW9uTW9kdWxlLmZvckNoaWxkKClcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUGRmVmlld2VyQ29tcG9uZW50LFxuICAgIFNpZGVCYXJDb21wb25lbnQsXG4gICAgQm9va21hcmtzQ29tcG9uZW50LFxuICAgIE91dGxpbmVJdGVtQ29tcG9uZW50LFxuICAgIEltYWdlVmlld2VyQ29tcG9uZW50LFxuICAgIFVuc3VwcG9ydGVkVmlld2VyQ29tcG9uZW50LFxuICAgIE11bHRpbWVkaWFQbGF5ZXJDb21wb25lbnQsXG4gICAgTWVkaWFWaWV3ZXJDb21wb25lbnQsXG4gICAgQ29udmVydGlibGVDb250ZW50Vmlld2VyQ29tcG9uZW50LFxuICAgIEdyYWJORHJhZ0RpcmVjdGl2ZSxcbiAgICBSb3RhdGlvblBlcnNpc3REaXJlY3RpdmUsXG4gICAgSGlnaGxpZ2h0Q3JlYXRlRGlyZWN0aXZlLFxuICAgIENvbmZpcm1BY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgUmVkYWN0aW9uQ29tcG9uZW50LFxuICAgIEJvb2ttYXJrSWNvbnNDb21wb25lbnQsXG4gICAgUGFydGljaXBhbnRzTGlzdENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgIENvbW1lbnRTZXJ2aWNlLFxuICAgIFJlZGFjdGlvbkFwaVNlcnZpY2UsXG4gICAgRG9jdW1lbnRDb252ZXJzaW9uQXBpU2VydmljZSxcbiAgICBSb3RhdGlvbkFwaVNlcnZpY2UsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNZWRpYVZpZXdlckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhVmlld2VyTW9kdWxlIHsgfVxuIl19
|