@bizdoc/core 3.2.10 → 3.3.2
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/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +3 -3
- package/assets/themes/deep-purple-light-blue.min.css +1 -1
- package/assets/themes/deep-purple-teal.min.css +1 -1
- package/assets/themes/default.min.css +8 -8
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo-amber.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/fesm2022/bizdoc-core.mjs +2068 -1866
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/admin-menu.component.d.ts +1 -3
- package/lib/admin/architecture/designer.base.d.ts +3 -3
- package/lib/admin/architecture/elements/form.component.d.ts +1 -1
- package/lib/compose/trace/trace.base.d.ts +1 -1
- package/lib/core/base.d.ts +5 -0
- package/lib/core/fields/options.base.d.ts +2 -2
- package/lib/core/inputs/combination-picker-body.d.ts +0 -2
- package/lib/core/inputs/combination-picker.d.ts +1 -1
- package/lib/core/session.service.d.ts +2 -2
- package/lib/core/tagging/tagging.component-base.d.ts +1 -1
- package/lib/core/translate.service.d.ts +2 -2
- package/lib/cube/matrix/matrix.base.d.ts +1 -1
- package/lib/cube/view-base.d.ts +1 -1
- package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
- package/lib/home/home-base.component.d.ts +1 -1
- package/lib/home/home.desktop.component.d.ts +5 -3
- package/lib/notifications/types/notification-base.d.ts +1 -1
- package/lib/reports/cube/usage-base.d.ts +1 -1
- package/lib/views/cube/cube-base.d.ts +1 -1
- package/package.json +31 -33
- package/esm2022/bizdoc-core.mjs +0 -5
- package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
- package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
- package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
- package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
- package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
- package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
- package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
- package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
- package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
- package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
- package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
- package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
- package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
- package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
- package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
- package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
- package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
- package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
- package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
- package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
- package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
- package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
- package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
- package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
- package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
- package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
- package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
- package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
- package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
- package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
- package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
- package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
- package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
- package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
- package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
- package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
- package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
- package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
- package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
- package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
- package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
- package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
- package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
- package/esm2022/lib/admin/core/ace.input.mjs +0 -144
- package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
- package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
- package/esm2022/lib/admin/core/search.input.mjs +0 -52
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
- package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
- package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
- package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
- package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
- package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
- package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
- package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
- package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
- package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
- package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
- package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
- package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
- package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
- package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
- package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
- package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
- package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
- package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
- package/esm2022/lib/admin/system.service.mjs +0 -127
- package/esm2022/lib/admin/utility-ref.mjs +0 -39
- package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
- package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
- package/esm2022/lib/app.component.mjs +0 -73
- package/esm2022/lib/bizdoc.module.mjs +0 -110
- package/esm2022/lib/browse/browse-items.component.mjs +0 -496
- package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
- package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
- package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
- package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
- package/esm2022/lib/chat/chat-info.mjs +0 -77
- package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
- package/esm2022/lib/chat/chat.service.mjs +0 -122
- package/esm2022/lib/chat/contacts.component.mjs +0 -107
- package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
- package/esm2022/lib/chat/conversation.component.mjs +0 -196
- package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
- package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
- package/esm2022/lib/compose/action/action-ref.mjs +0 -19
- package/esm2022/lib/compose/action/action.base.mjs +0 -50
- package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
- package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
- package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
- package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
- package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
- package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
- package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
- package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
- package/esm2022/lib/compose/box/box.component.mjs +0 -44
- package/esm2022/lib/compose/box/control.component.mjs +0 -50
- package/esm2022/lib/compose/box/row.component.mjs +0 -41
- package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
- package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
- package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
- package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
- package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
- package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
- package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
- package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
- package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
- package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
- package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
- package/esm2022/lib/compose/dismiss.service.mjs +0 -25
- package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
- package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
- package/esm2022/lib/compose/document.component.mjs +0 -48
- package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
- package/esm2022/lib/compose/document.pane.component.mjs +0 -27
- package/esm2022/lib/compose/events/events.component.mjs +0 -29
- package/esm2022/lib/compose/form-ref.mjs +0 -43
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
- package/esm2022/lib/compose/form.component.mjs +0 -512
- package/esm2022/lib/compose/new-menu.component.mjs +0 -94
- package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
- package/esm2022/lib/compose/privilage.directive.mjs +0 -64
- package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
- package/esm2022/lib/compose/state.component.mjs +0 -37
- package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
- package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
- package/esm2022/lib/compose/trace/people.component.mjs +0 -39
- package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
- package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
- package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
- package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
- package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -343
- package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
- package/esm2022/lib/core/account.service.mjs +0 -38
- package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
- package/esm2022/lib/core/animations.mjs +0 -168
- package/esm2022/lib/core/authentication.mjs +0 -4
- package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
- package/esm2022/lib/core/base.mjs +0 -2
- package/esm2022/lib/core/checkbox.mjs +0 -38
- package/esm2022/lib/core/colors.mjs +0 -322
- package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
- package/esm2022/lib/core/configuration.mjs +0 -17
- package/esm2022/lib/core/datasource.service.mjs +0 -75
- package/esm2022/lib/core/decorators.mjs +0 -46
- package/esm2022/lib/core/document-factory.service.mjs +0 -156
- package/esm2022/lib/core/fields/address.designer.mjs +0 -39
- package/esm2022/lib/core/fields/address.field.mjs +0 -65
- package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
- package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
- package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
- package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
- package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
- package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
- package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
- package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
- package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
- package/esm2022/lib/core/fields/date.designer.mjs +0 -40
- package/esm2022/lib/core/fields/date.field.mjs +0 -40
- package/esm2022/lib/core/fields/expression.field.mjs +0 -87
- package/esm2022/lib/core/fields/file.designer.mjs +0 -39
- package/esm2022/lib/core/fields/file.field.mjs +0 -35
- package/esm2022/lib/core/fields/html.designer.mjs +0 -61
- package/esm2022/lib/core/fields/html.field.mjs +0 -44
- package/esm2022/lib/core/fields/input.designer.mjs +0 -38
- package/esm2022/lib/core/fields/input.field.mjs +0 -54
- package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
- package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
- package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
- package/esm2022/lib/core/fields/options.base.mjs +0 -41
- package/esm2022/lib/core/fields/options.component.mjs +0 -58
- package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
- package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
- package/esm2022/lib/core/fields/select.designer.mjs +0 -104
- package/esm2022/lib/core/fields/select.field.mjs +0 -36
- package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
- package/esm2022/lib/core/fields/signature.field.mjs +0 -52
- package/esm2022/lib/core/fields/switch.field.mjs +0 -35
- package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
- package/esm2022/lib/core/fields/tags.field.mjs +0 -51
- package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
- package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
- package/esm2022/lib/core/fields/time.designer.mjs +0 -41
- package/esm2022/lib/core/fields/time.field.mjs +0 -39
- package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
- package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
- package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
- package/esm2022/lib/core/firebase.service.mjs +0 -51
- package/esm2022/lib/core/functions.mjs +0 -225
- package/esm2022/lib/core/guide/guide.component.mjs +0 -220
- package/esm2022/lib/core/guide/guide.service.mjs +0 -124
- package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
- package/esm2022/lib/core/http.interceptor.mjs +0 -63
- package/esm2022/lib/core/hub.service.mjs +0 -117
- package/esm2022/lib/core/identity/identity.component.mjs +0 -66
- package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
- package/esm2022/lib/core/info/document-info.service.mjs +0 -21
- package/esm2022/lib/core/info/location-info.component.mjs +0 -60
- package/esm2022/lib/core/info/map-info.mjs +0 -42
- package/esm2022/lib/core/inputs/address.input.mjs +0 -203
- package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
- package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
- package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
- package/esm2022/lib/core/inputs/file.input.mjs +0 -432
- package/esm2022/lib/core/inputs/select.input.mjs +0 -254
- package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
- package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
- package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
- package/esm2022/lib/core/layout.component.mjs +0 -93
- package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
- package/esm2022/lib/core/mailbox.service.mjs +0 -445
- package/esm2022/lib/core/models.mjs +0 -25
- package/esm2022/lib/core/none.component.mjs +0 -37
- package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
- package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
- package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
- package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
- package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
- package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
- package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
- package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
- package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
- package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
- package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
- package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
- package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
- package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
- package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
- package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
- package/esm2022/lib/core/popup/popup.component.mjs +0 -36
- package/esm2022/lib/core/popup/popup.service.mjs +0 -158
- package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
- package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
- package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
- package/esm2022/lib/core/prompt.service.mjs +0 -88
- package/esm2022/lib/core/router.mjs +0 -37
- package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
- package/esm2022/lib/core/session.service.mjs +0 -291
- package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
- package/esm2022/lib/core/slots/router.directive.mjs +0 -68
- package/esm2022/lib/core/slots/router.service.mjs +0 -40
- package/esm2022/lib/core/slots/slots.component.mjs +0 -1193
- package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
- package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
- package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -238
- package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
- package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
- package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
- package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -136
- package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
- package/esm2022/lib/core/tagging/users.component.mjs +0 -32
- package/esm2022/lib/core/translate.service.mjs +0 -125
- package/esm2022/lib/core/translations.mjs +0 -1068
- package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
- package/esm2022/lib/core/window-title.service.mjs +0 -65
- package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
- package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
- package/esm2022/lib/cube/cube-info.service.mjs +0 -103
- package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
- package/esm2022/lib/cube/cube-view.component.mjs +0 -186
- package/esm2022/lib/cube/cube.service.mjs +0 -446
- package/esm2022/lib/cube/declarations.mjs +0 -2
- package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
- package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
- package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
- package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
- package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
- package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
- package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
- package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
- package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
- package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
- package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
- package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
- package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
- package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
- package/esm2022/lib/cube/parallel/item.mjs +0 -40
- package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
- package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
- package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
- package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
- package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
- package/esm2022/lib/cube/view-base.mjs +0 -74
- package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
- package/esm2022/lib/cube/view.pane.component.mjs +0 -99
- package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
- package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
- package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
- package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
- package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
- package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
- package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
- package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
- package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
- package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
- package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
- package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
- package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
- package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
- package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
- package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
- package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
- package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
- package/esm2022/lib/designer.module.mjs +0 -106
- package/esm2022/lib/desktop.module.mjs +0 -140
- package/esm2022/lib/home/about/about.dialog.mjs +0 -25
- package/esm2022/lib/home/home-base.component.mjs +0 -92
- package/esm2022/lib/home/home.desktop.component.mjs +0 -286
- package/esm2022/lib/home/home.mobile.component.mjs +0 -131
- package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
- package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
- package/esm2022/lib/home/sign/sign.component.mjs +0 -56
- package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
- package/esm2022/lib/mobile.module.mjs +0 -63
- package/esm2022/lib/modules/chart.module.mjs +0 -44
- package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
- package/esm2022/lib/modules/date.adapter.mjs +0 -23
- package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
- package/esm2022/lib/modules/dayjs.module.mjs +0 -43
- package/esm2022/lib/modules/diagram.module.mjs +0 -43
- package/esm2022/lib/modules/gantt.module.mjs +0 -22
- package/esm2022/lib/modules/grid.module.mjs +0 -26
- package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
- package/esm2022/lib/modules/material.module.mjs +0 -182
- package/esm2022/lib/modules/paginator.intl.mjs +0 -21
- package/esm2022/lib/modules/pivot.module.mjs +0 -24
- package/esm2022/lib/modules/schedule.module.mjs +0 -24
- package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
- package/esm2022/lib/modules/stepper.intl.mjs +0 -17
- package/esm2022/lib/modules/texteditor.module.mjs +0 -26
- package/esm2022/lib/notifications/filter.component.mjs +0 -24
- package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
- package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
- package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
- package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
- package/esm2022/lib/notifications/notifications.service.mjs +0 -78
- package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
- package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
- package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
- package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
- package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
- package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
- package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
- package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
- package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
- package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
- package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
- package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
- package/esm2022/lib/options/options.component.mjs +0 -308
- package/esm2022/lib/options/options.desktop.component.mjs +0 -26
- package/esm2022/lib/options/options.mobile.component.mjs +0 -23
- package/esm2022/lib/reports/arguments-component.mjs +0 -81
- package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
- package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
- package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
- package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
- package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
- package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
- package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
- package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
- package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
- package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
- package/esm2022/lib/reports/report-ref.mjs +0 -38
- package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
- package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
- package/esm2022/lib/reports/report.pane.component.mjs +0 -109
- package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
- package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
- package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
- package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
- package/esm2022/lib/routes.desktop.mjs +0 -209
- package/esm2022/lib/routes.mobile.mjs +0 -84
- package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
- package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
- package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
- package/esm2022/lib/search/cube.component.mjs +0 -47
- package/esm2022/lib/search/declarations.mjs +0 -7
- package/esm2022/lib/search/document.component.mjs +0 -41
- package/esm2022/lib/search/guide.component.mjs +0 -28
- package/esm2022/lib/search/path.component.mjs +0 -44
- package/esm2022/lib/search/search.service.mjs +0 -155
- package/esm2022/lib/shared.module.mjs +0 -622
- package/esm2022/lib/system.module.mjs +0 -562
- package/esm2022/lib/views/cube/chart.component.mjs +0 -74
- package/esm2022/lib/views/cube/cube-base.mjs +0 -101
- package/esm2022/lib/views/cube/explore.component.mjs +0 -85
- package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
- package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
- package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
- package/esm2022/lib/views/cube/sum.component.mjs +0 -66
- package/esm2022/lib/views/cube/view.component.mjs +0 -101
- package/esm2022/lib/views/document-view-ref.mjs +0 -27
- package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
- package/esm2022/lib/views/view-item.component.mjs +0 -68
- package/esm2022/lib/views/views.component.mjs +0 -32
- package/esm2022/lib/views/views.mobile.component.mjs +0 -21
- package/esm2022/lib/views/views.pane.component.mjs +0 -29
- package/esm2022/public-api.mjs +0 -182
@@ -1,251 +0,0 @@
|
|
1
|
-
var PeersPerformanceWidget_1;
|
2
|
-
import { __decorate } from "tslib";
|
3
|
-
import { Component, HostBinding } from "@angular/core";
|
4
|
-
import { CircularGauge } from "@syncfusion/ej2-circulargauge";
|
5
|
-
import dayjs from 'dayjs';
|
6
|
-
import { Subject, forkJoin } from "rxjs";
|
7
|
-
import { takeUntil, map } from "rxjs/operators";
|
8
|
-
import { BizDoc } from "../../core/decorators";
|
9
|
-
import { FONT_FAMILY } from "../../core/colors";
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
import * as i1_1 from "../../core/session.service";
|
12
|
-
import * as i2_1 from "../widget-ref";
|
13
|
-
import * as i3 from "../../core/account.service";
|
14
|
-
import * as i4 from "@angular/cdk/bidi";
|
15
|
-
import * as i5 from "../../core/pipes/duration-format.pipe";
|
16
|
-
import * as i6 from "../../core/translate.service";
|
17
|
-
const MAX_PEERS = 10;
|
18
|
-
let PeersPerformanceWidget = class PeersPerformanceWidget {
|
19
|
-
static { PeersPerformanceWidget_1 = this; }
|
20
|
-
static { this.nextId = 0; }
|
21
|
-
constructor(_session, ref, _elementRef, _service, _dir, _duration, _translate) {
|
22
|
-
this._session = _session;
|
23
|
-
this._elementRef = _elementRef;
|
24
|
-
this._service = _service;
|
25
|
-
this._dir = _dir;
|
26
|
-
this._duration = _duration;
|
27
|
-
this._translate = _translate;
|
28
|
-
this.id = `peers-performance-${PeersPerformanceWidget_1.nextId++}`;
|
29
|
-
this.theme = this._session.theme.dark ? 'Material3Dark' : 'Material3';
|
30
|
-
this.max = 0;
|
31
|
-
this.enableRtl = this._session.inverse;
|
32
|
-
this.direction = this.enableRtl ? 'AntiClockWise' : 'ClockWise';
|
33
|
-
this.lineStyle = { width: 0 };
|
34
|
-
this.labelStyle = { font: { size: '0px' } };
|
35
|
-
this.majorTicks = { width: 0 };
|
36
|
-
this.minorTicks = { width: 0 };
|
37
|
-
this.legendSettings = {
|
38
|
-
visible: true, position: 'Top', shape: 'Diamond', alignment: 'Center',
|
39
|
-
padding: 0,
|
40
|
-
margin: { top: 0, bottom: 20 },
|
41
|
-
location: { y: 0 },
|
42
|
-
textStyle: {
|
43
|
-
fontFamily: FONT_FAMILY
|
44
|
-
}
|
45
|
-
};
|
46
|
-
this.tooltip = {
|
47
|
-
enable: true, type: ['Range', 'Pointer'], textStyle: {
|
48
|
-
fontFamily: FONT_FAMILY
|
49
|
-
},
|
50
|
-
annotationSettings: {},
|
51
|
-
showAtMousePosition: false
|
52
|
-
};
|
53
|
-
this.margin = { left: 0, top: 0, right: 0, bottom: 0 };
|
54
|
-
this._standardHigh = 0;
|
55
|
-
this._standardLow = 0;
|
56
|
-
this._destroy = new Subject();
|
57
|
-
_session.themeChange.pipe(takeUntil(this._destroy)).
|
58
|
-
subscribe(t => {
|
59
|
-
this.theme = t.dark ? 'Material3Dark' : 'Material3';
|
60
|
-
this.gauge.theme = this.theme;
|
61
|
-
this._prepare();
|
62
|
-
this._refresh();
|
63
|
-
this._animate();
|
64
|
-
});
|
65
|
-
ref.resize().subscribe(d => {
|
66
|
-
this.height = `${d.height}px`;
|
67
|
-
this.width = `${d.width}px`;
|
68
|
-
if (this.gauge) {
|
69
|
-
this.gauge.height = this.height;
|
70
|
-
this.gauge.width = this.width;
|
71
|
-
this._animate();
|
72
|
-
}
|
73
|
-
});
|
74
|
-
}
|
75
|
-
onBind(data) {
|
76
|
-
this._decorare(data).subscribe(() => {
|
77
|
-
this._prepare();
|
78
|
-
if (!this.gauge)
|
79
|
-
this._draw();
|
80
|
-
else
|
81
|
-
this._refresh();
|
82
|
-
this._animate();
|
83
|
-
});
|
84
|
-
}
|
85
|
-
/**
|
86
|
-
*
|
87
|
-
* @param data
|
88
|
-
*/
|
89
|
-
_decorare(data) {
|
90
|
-
const observers = [];
|
91
|
-
data.forEach(i => {
|
92
|
-
if (i.duration > this.max)
|
93
|
-
this.max = i.duration;
|
94
|
-
if (i.userId === this._session.profile.userId) {
|
95
|
-
this._score = i.duration;
|
96
|
-
i.name = this._translate.get('You');
|
97
|
-
}
|
98
|
-
else {
|
99
|
-
const promise = this._service.get(i.userId).pipe(map(u => i.name = u.nick || u.name));
|
100
|
-
observers.push(promise);
|
101
|
-
}
|
102
|
-
if (i.standard) {
|
103
|
-
if (i.standard > this._standardHigh)
|
104
|
-
this._standardHigh = i.standard;
|
105
|
-
if (this._standardLow === 0 || i.standard < this._standardLow)
|
106
|
-
this._standardLow = i.standard;
|
107
|
-
if (i.standard > this.max)
|
108
|
-
this.max = i.standard;
|
109
|
-
}
|
110
|
-
});
|
111
|
-
this._data = data.sort((i1, i2) => i1.duration < i2.duration ? 1 : -1).slice(0, MAX_PEERS);
|
112
|
-
return forkJoin(observers);
|
113
|
-
}
|
114
|
-
_prepare() {
|
115
|
-
const step = Math.floor(70 / this._data.length), width = Math.min(15, Math.floor(80 / this._data.length / 2)), zero = 4 / 9;
|
116
|
-
let radius = 95;
|
117
|
-
const annotations = [];
|
118
|
-
const pointers = [];
|
119
|
-
let c = 0;
|
120
|
-
const palettes = this._session.accentPalette;
|
121
|
-
this._data.forEach((d, _i) => {
|
122
|
-
pointers.push({
|
123
|
-
value: 0,
|
124
|
-
type: 'RangeBar',
|
125
|
-
color: palettes[c],
|
126
|
-
radius: `${radius + 5}%`,
|
127
|
-
animation: {
|
128
|
-
duration: 1500 * d.duration / this.max,
|
129
|
-
enable: true
|
130
|
-
},
|
131
|
-
pointerWidth: width
|
132
|
-
});
|
133
|
-
if (c === 9)
|
134
|
-
c = 0;
|
135
|
-
else
|
136
|
-
c++;
|
137
|
-
const duration = dayjs.duration(d.duration, 's');
|
138
|
-
const ratio = d.duration / this.max;
|
139
|
-
const days = duration.hours() > 0 ? `${Math.floor(duration.asDays())}:${duration.hours()}` : `${Math.floor(duration.asDays())}`;
|
140
|
-
annotations.push({
|
141
|
-
description: `${days}`,
|
142
|
-
content: `<span class="label">${days}</span>`,
|
143
|
-
radius: `${radius + 1}%`,
|
144
|
-
angle: !this.enableRtl ? (ratio < zero ?
|
145
|
-
205 + Math.round(140 * ratio / zero) :
|
146
|
-
165 - Math.round(140 * (1 - ratio) / zero)) : (ratio < zero ?
|
147
|
-
205 + Math.round(140 * ratio / zero) :
|
148
|
-
165 - Math.round(140 * (1 - ratio) / zero)),
|
149
|
-
textStyle: {
|
150
|
-
opacity: 0.8,
|
151
|
-
fontFamily: FONT_FAMILY,
|
152
|
-
size: '10px'
|
153
|
-
},
|
154
|
-
zIndex: '1'
|
155
|
-
});
|
156
|
-
annotations.push({
|
157
|
-
description: `${d.name}`,
|
158
|
-
content: `<span class="label">${d.name}</span>`,
|
159
|
-
radius: `${radius}%`,
|
160
|
-
angle: !this.enableRtl ? 195 + (radius - 95) / 3.14 : 195 + (radius - 95) / 3.14,
|
161
|
-
textStyle: {
|
162
|
-
opacity: 0.8,
|
163
|
-
fontFamily: FONT_FAMILY,
|
164
|
-
size: '10px'
|
165
|
-
},
|
166
|
-
zIndex: '1'
|
167
|
-
});
|
168
|
-
radius -= step;
|
169
|
-
});
|
170
|
-
const ranges = [];
|
171
|
-
if (this._standardHigh) {
|
172
|
-
ranges.push({
|
173
|
-
start: this._standardLow < this._standardHigh ? this._standardLow : 0,
|
174
|
-
legendText: this._translate.get('Standard'),
|
175
|
-
end: this._standardHigh,
|
176
|
-
startWidth: 6,
|
177
|
-
endWidth: 6,
|
178
|
-
color: this._session.getPrimery(400),
|
179
|
-
radius: `103%`
|
180
|
-
});
|
181
|
-
}
|
182
|
-
this.ranges = ranges,
|
183
|
-
this.annotations = annotations,
|
184
|
-
this.pointers = pointers;
|
185
|
-
}
|
186
|
-
_draw() {
|
187
|
-
this.gauge && this.gauge.destroy();
|
188
|
-
this.gauge = new CircularGauge({
|
189
|
-
centerY: '45%',
|
190
|
-
centerX: '50%',
|
191
|
-
description: '',
|
192
|
-
width: this.width,
|
193
|
-
height: this.height,
|
194
|
-
background: 'transparent',
|
195
|
-
theme: this.theme,
|
196
|
-
tooltip: this.tooltip,
|
197
|
-
margin: this.margin,
|
198
|
-
enableRtl: this.enableRtl,
|
199
|
-
legendSettings: this.legendSettings,
|
200
|
-
tooltipRender: this.tooltipRender.bind(this),
|
201
|
-
axes: [{
|
202
|
-
radius: '90%', maximum: this.max, startAngle: 200, endAngle: 160, majorTicks: this.majorTicks,
|
203
|
-
labelStyle: this.labelStyle, lineStyle: this.lineStyle, minorTicks: this.minorTicks,
|
204
|
-
annotations: this.annotations, ranges: this.ranges, pointers: this.pointers, direction: this.direction
|
205
|
-
}]
|
206
|
-
}, this._elementRef.nativeElement);
|
207
|
-
}
|
208
|
-
_refresh() {
|
209
|
-
const axis = this.gauge.axes[0];
|
210
|
-
axis.annotations = this.annotations;
|
211
|
-
axis.pointers = this.pointers;
|
212
|
-
axis.ranges = this.ranges;
|
213
|
-
this.gauge.refresh();
|
214
|
-
}
|
215
|
-
_animate() {
|
216
|
-
setTimeout(() => this._data.forEach((p, i) => this.gauge.setPointerValue(0, i, p.duration)), 500);
|
217
|
-
}
|
218
|
-
tooltipRender(e) {
|
219
|
-
if (e.range)
|
220
|
-
e.content = e.range.start ? `${e.range.legendText} ${this._duration.transform(e.range.start)} - ${this._duration.transform(e.range.end)}`
|
221
|
-
: `${e.range.legendText} ${this._duration.transform(e.range.end)}`;
|
222
|
-
else
|
223
|
-
e.content = `${this._duration.transform(e.pointer.value)}`;
|
224
|
-
}
|
225
|
-
ngOnDestroy() {
|
226
|
-
this._destroy.next();
|
227
|
-
this._destroy.complete();
|
228
|
-
}
|
229
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PeersPerformanceWidget, deps: [{ token: i1_1.SessionService }, { token: i2_1.WidgetRef }, { token: i0.ElementRef }, { token: i3.AccountService }, { token: i4.Directionality }, { token: i5.DurationFormatPipe }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
230
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: PeersPerformanceWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, properties: { "id": "this.id" }, styleAttribute: "display: block" }, ngImport: i0, template: '', isInline: true }); }
|
231
|
-
};
|
232
|
-
PeersPerformanceWidget = PeersPerformanceWidget_1 = __decorate([
|
233
|
-
BizDoc({
|
234
|
-
selector: 'bizdoc-peers-performance'
|
235
|
-
})
|
236
|
-
], PeersPerformanceWidget);
|
237
|
-
export { PeersPerformanceWidget };
|
238
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PeersPerformanceWidget, decorators: [{
|
239
|
-
type: Component,
|
240
|
-
args: [{
|
241
|
-
template: '',
|
242
|
-
//templateUrl: 'peers-performance.widget.html',
|
243
|
-
host: {
|
244
|
-
style: 'display: block',
|
245
|
-
dir: 'ltr'
|
246
|
-
}
|
247
|
-
}]
|
248
|
-
}], ctorParameters: () => [{ type: i1_1.SessionService }, { type: i2_1.WidgetRef }, { type: i0.ElementRef }, { type: i3.AccountService }, { type: i4.Directionality }, { type: i5.DurationFormatPipe }, { type: i6.TranslateService }], propDecorators: { id: [{
|
249
|
-
type: HostBinding
|
250
|
-
}] } });
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcnMtcGVyZm9ybWFuY2Uud2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2Rhc2hib2FyZC9zY29yZS9wZWVycy1wZXJmb3JtYW5jZS53aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLGFBQWEsRUFBZ0wsTUFBTSwrQkFBK0IsQ0FBQztBQUM1TyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7OztBQUVoRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFZZCxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjs7YUFDMUIsV0FBTSxHQUFHLENBQUMsQUFBSixDQUFLO0lBdUNsQixZQUFvQixRQUF3QixFQUMxQyxHQUFjLEVBQ04sV0FBdUIsRUFDdkIsUUFBd0IsRUFDeEIsSUFBb0IsRUFDcEIsU0FBNkIsRUFDN0IsVUFBNEI7UUFObEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFFbEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUEzQzdCLE9BQUUsR0FBRyxxQkFBcUIsd0JBQXNCLENBQUMsTUFB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Q0FBQzs7WUFFckUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQXhOVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrSkFWdkIsRUFBRTs7QUFVRCxzQkFBc0I7SUFIbEMsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLDBCQUEwQjtLQUNyQyxDQUFDO0dBQ1csc0JBQXNCLENBeU5sQzs7MkZBek5ZLHNCQUFzQjtrQkFYbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtvQkFDWiwrQ0FBK0M7b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZ0JBQWdCO3dCQUN2QixHQUFHLEVBQUUsS0FBSztxQkFDWDtpQkFDRjtrUUFPVSxFQUFFO3NCQURWLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBDaXJjdWxhckdhdWdlLCBSYW5nZU1vZGVsLCBBbm5vdGF0aW9uTW9kZWwsIFBvaW50ZXJNb2RlbCwgVGlja01vZGVsLCBMYWJlbE1vZGVsLCBMaW5lTW9kZWwsIEdhdWdlRGlyZWN0aW9uLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncywgVG9vbHRpcFNldHRpbmdzTW9kZWwsIE1hcmdpbk1vZGVsLCBMZWdlbmRTZXR0aW5nc01vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1jaXJjdWxhcmdhdWdlXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgRHVyYXRpb25Gb3JtYXRQaXBlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZXMvZHVyYXRpb24tZm9ybWF0LnBpcGVcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBXaWRnZXRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlXCI7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBXaWRnZXRSZWYgfSBmcm9tIFwiLi4vd2lkZ2V0LXJlZlwiO1xyXG5pbXBvcnQgeyBGT05UX0ZBTUlMWSB9IGZyb20gXCIuLi8uLi9jb3JlL2NvbG9yc1wiO1xyXG5cclxuY29uc3QgTUFYX1BFRVJTID0gMTA7XHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxuICAvL3RlbXBsYXRlVXJsOiAncGVlcnMtcGVyZm9ybWFuY2Uud2lkZ2V0Lmh0bWwnLFxyXG4gIGhvc3Q6IHtcclxuICAgIHN0eWxlOiAnZGlzcGxheTogYmxvY2snLFxyXG4gICAgZGlyOiAnbHRyJ1xyXG4gIH1cclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcGVlcnMtcGVyZm9ybWFuY2UnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZWVyc1BlcmZvcm1hbmNlV2lkZ2V0IGltcGxlbWVudHMgV2lkZ2V0Q29tcG9uZW50PFBlZXJNb2RlbFtdPiwgT25EZXN0cm95IHtcclxuICBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKVxyXG4gIHJlYWRvbmx5IGlkID0gYHBlZXJzLXBlcmZvcm1hbmNlLSR7UGVlcnNQZXJmb3JtYW5jZVdpZGdldC5uZXh0SWQrK31gO1xyXG4gIGdhdWdlOiBDaXJjdWxhckdhdWdlO1xyXG4gIHRoZW1lOiAnTWF0ZXJpYWwzJyB8ICdNYXRlcmlhbDNEYXJrJyA9IHRoaXMuX3Nlc3Npb24udGhlbWUuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gIGFubm90YXRpb25zOiBBbm5vdGF0aW9uTW9kZWxbXTtcclxuICByYW5nZXM6IFJhbmdlTW9kZWxbXTtcclxuICBwb2ludGVyczogUG9pbnRlck1vZGVsW107XHJcbiAgbWF4ID0gMDtcclxuICByZWFkb25seSBlbmFibGVSdGwgPSB0aGlzLl9zZXNzaW9uLmludmVyc2U7XHJcbiAgcmVhZG9ubHkgZGlyZWN0aW9uOiBHYXVnZURpcmVjdGlvbiA9IHRoaXMuZW5hYmxlUnRsID8gJ0FudGlDbG9ja1dpc2UnIDogJ0Nsb2NrV2lzZSc7XHJcbiAgcmVhZG9ubHkgbGluZVN0eWxlOiBMaW5lTW9kZWwgPSB7IHdpZHRoOiAwIH07XHJcbiAgcmVhZG9ubHkgbGFiZWxTdHlsZTogTGFiZWxNb2RlbCA9IHsgZm9udDogeyBzaXplOiAnMHB4JyB9IH07XHJcbiAgcmVhZG9ubHkgbWFqb3JUaWNrczogVGlja01vZGVsID0geyB3aWR0aDogMCB9O1xyXG4gIHJlYWRvbmx5IG1pbm9yVGlja3M6IFRpY2tNb2RlbCA9IHsgd2lkdGg6IDAgfTtcclxuICByZWFkb25seSBsZWdlbmRTZXR0aW5nczogTGVnZW5kU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IHRydWUsIHBvc2l0aW9uOiAnVG9wJywgc2hhcGU6ICdEaWFtb25kJywgYWxpZ25tZW50OiAnQ2VudGVyJyxcclxuICAgIHBhZGRpbmc6IDAsXHJcbiAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDIwIH0sXHJcbiAgICBsb2NhdGlvbjogeyB5OiAwIH0sXHJcbiAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLCB0eXBlOiBbJ1JhbmdlJywgJ1BvaW50ZXInXSwgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9LFxyXG4gICAgYW5ub3RhdGlvblNldHRpbmdzOiB7fSxcclxuICAgIHNob3dBdE1vdXNlUG9zaXRpb246IGZhbHNlXHJcbiAgfTtcclxuICByZWFkb25seSBtYXJnaW46IE1hcmdpbk1vZGVsID0geyBsZWZ0OiAwLCB0b3A6IDAsIHJpZ2h0OiAwLCBib3R0b206IDAgfTtcclxuICBoZWlnaHQ6IHN0cmluZztcclxuICB3aWR0aDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3Njb3JlOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfc3RhbmRhcmRIaWdoID0gMDtcclxuICBwcml2YXRlIF9zdGFuZGFyZExvdyA9IDA7XHJcbiAgcHJpdmF0ZSBfZGF0YTogUGVlck1vZGVsW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICByZWY6IFdpZGdldFJlZixcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9kdXJhdGlvbjogRHVyYXRpb25Gb3JtYXRQaXBlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBfc2Vzc2lvbi50aGVtZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICB0aGlzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsM0RhcmsnIDogJ01hdGVyaWFsMyc7XHJcbiAgICAgICAgdGhpcy5nYXVnZS50aGVtZSA9IHRoaXMudGhlbWU7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZSgpO1xyXG4gICAgICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgICAgICB0aGlzLl9hbmltYXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgcmVmLnJlc2l6ZSgpLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5oZWlnaHQgPSBgJHtkLmhlaWdodH1weGA7XHJcbiAgICAgIHRoaXMud2lkdGggPSBgJHtkLndpZHRofXB4YDtcclxuICAgICAgaWYgKHRoaXMuZ2F1Z2UpIHtcclxuICAgICAgICB0aGlzLmdhdWdlLmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuZ2F1Z2Uud2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgICAgIHRoaXMuX2FuaW1hdGUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uQmluZChkYXRhOiBQZWVyTW9kZWxbXSkge1xyXG4gICAgdGhpcy5fZGVjb3JhcmUoZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fcHJlcGFyZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuZ2F1Z2UpIHRoaXMuX2RyYXcoKTtcclxuICAgICAgZWxzZSB0aGlzLl9yZWZyZXNoKCk7XHJcbiAgICAgIHRoaXMuX2FuaW1hdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXJlKGRhdGE6IFBlZXJNb2RlbFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9ic2VydmVyczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIGRhdGEuZm9yRWFjaChpID0+IHtcclxuICAgICAgaWYgKGkuZHVyYXRpb24gPiB0aGlzLm1heCkgdGhpcy5tYXggPSBpLmR1cmF0aW9uO1xyXG4gICAgICBpZiAoaS51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQpIHtcclxuICAgICAgICB0aGlzLl9zY29yZSA9IGkuZHVyYXRpb247XHJcbiAgICAgICAgaS5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91Jyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3NlcnZpY2UuZ2V0KGkudXNlcklkKS5waXBlKG1hcCh1ID0+XHJcbiAgICAgICAgICBpLm5hbWUgPSB1Lm5pY2sgfHwgdS5uYW1lKSk7XHJcbiAgICAgICAgb2JzZXJ2ZXJzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGkuc3RhbmRhcmQpIHtcclxuICAgICAgICBpZiAoaS5zdGFuZGFyZCA+IHRoaXMuX3N0YW5kYXJkSGlnaCkgdGhpcy5fc3RhbmRhcmRIaWdoID0gaS5zdGFuZGFyZDtcclxuICAgICAgICBpZiAodGhpcy5fc3RhbmRhcmRMb3cgPT09IDAgfHwgaS5zdGFuZGFyZCA8IHRoaXMuX3N0YW5kYXJkTG93KSB0aGlzLl9zdGFuZGFyZExvdyA9IGkuc3RhbmRhcmQ7XHJcbiAgICAgICAgaWYgKGkuc3RhbmRhcmQgPiB0aGlzLm1heCkgdGhpcy5tYXggPSBpLnN0YW5kYXJkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2RhdGEgPSBkYXRhLnNvcnQoKGkxLCBpMikgPT4gaTEuZHVyYXRpb24gPCBpMi5kdXJhdGlvbiA/IDEgOiAtMSkuc2xpY2UoMCwgTUFYX1BFRVJTKTtcclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNlcnZlcnMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9wcmVwYXJlKCkge1xyXG4gICAgY29uc3Qgc3RlcCA9IE1hdGguZmxvb3IoNzAgLyB0aGlzLl9kYXRhLmxlbmd0aCksIHdpZHRoID0gTWF0aC5taW4oMTUsIE1hdGguZmxvb3IoODAgLyB0aGlzLl9kYXRhLmxlbmd0aCAvIDIpKSwgemVybyA9IDQgLyA5O1xyXG4gICAgbGV0IHJhZGl1cyA9IDk1O1xyXG4gICAgY29uc3QgYW5ub3RhdGlvbnM6IEFubm90YXRpb25Nb2RlbFtdID0gW107XHJcbiAgICBjb25zdCBwb2ludGVyczogUG9pbnRlck1vZGVsW10gPSBbXTtcclxuICAgIGxldCBjID0gMDtcclxuICAgIGNvbnN0IHBhbGV0dGVzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChkLCBfaSkgPT4ge1xyXG4gICAgICBwb2ludGVycy5wdXNoKHtcclxuICAgICAgICB2YWx1ZTogMCxcclxuICAgICAgICB0eXBlOiAnUmFuZ2VCYXInLFxyXG4gICAgICAgIGNvbG9yOiBwYWxldHRlc1tjXSxcclxuICAgICAgICByYWRpdXM6IGAke3JhZGl1cyArIDV9JWAsXHJcbiAgICAgICAgYW5pbWF0aW9uOiB7XHJcbiAgICAgICAgICBkdXJhdGlvbjogMTUwMCAqIGQuZHVyYXRpb24gLyB0aGlzLm1heCxcclxuICAgICAgICAgIGVuYWJsZTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcG9pbnRlcldpZHRoOiB3aWR0aFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGMgPT09IDkpXHJcbiAgICAgICAgYyA9IDA7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBjKys7XHJcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gZGF5anMuZHVyYXRpb24oZC5kdXJhdGlvbiwgJ3MnKTtcclxuICAgICAgY29uc3QgcmF0aW8gPSBkLmR1cmF0aW9uIC8gdGhpcy5tYXg7XHJcbiAgICAgIGNvbnN0IGRheXMgPSBkdXJhdGlvbi5ob3VycygpID4gMCA/IGAke01hdGguZmxvb3IoZHVyYXRpb24uYXNEYXlzKCkpfToke2R1cmF0aW9uLmhvdXJzKCl9YCA6IGAke01hdGguZmxvb3IoZHVyYXRpb24uYXNEYXlzKCkpfWA7XHJcbiAgICAgIGFubm90YXRpb25zLnB1c2goe1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHtkYXlzfWAsXHJcbiAgICAgICAgY29udGVudDogYDxzcGFuIGNsYXNzPVwibGFiZWxcIj4ke2RheXN9PC9zcGFuPmAsXHJcbiAgICAgICAgcmFkaXVzOiBgJHtyYWRpdXMgKyAxfSVgLFxyXG4gICAgICAgIGFuZ2xlOiAhdGhpcy5lbmFibGVSdGwgPyAocmF0aW8gPCB6ZXJvID9cclxuICAgICAgICAgIDIwNSArIE1hdGgucm91bmQoMTQwICogcmF0aW8gLyB6ZXJvKSA6XHJcbiAgICAgICAgICAxNjUgLSBNYXRoLnJvdW5kKDE0MCAqICgxIC0gcmF0aW8pIC8gemVybykpIDogKHJhdGlvIDwgemVybyA/XHJcbiAgICAgICAgICAgIDIwNSArIE1hdGgucm91bmQoMTQwICogcmF0aW8gLyB6ZXJvKSA6XHJcbiAgICAgICAgICAgIDE2NSAtIE1hdGgucm91bmQoMTQwICogKDEgLSByYXRpbykgLyB6ZXJvKSksXHJcbiAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjgsXHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWSxcclxuICAgICAgICAgIHNpemU6ICcxMHB4J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgekluZGV4OiAnMSdcclxuICAgICAgfSk7XHJcbiAgICAgIGFubm90YXRpb25zLnB1c2goe1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHtkLm5hbWV9YCxcclxuICAgICAgICBjb250ZW50OiBgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPiR7ZC5uYW1lfTwvc3Bhbj5gLFxyXG4gICAgICAgIHJhZGl1czogYCR7cmFkaXVzfSVgLFxyXG4gICAgICAgIGFuZ2xlOiAhdGhpcy5lbmFibGVSdGwgPyAxOTUgKyAocmFkaXVzIC0gOTUpIC8gMy4xNCA6IDE5NSArIChyYWRpdXMgLSA5NSkgLyAzLjE0LFxyXG4gICAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgICAgb3BhY2l0eTogMC44LFxyXG4gICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFksXHJcbiAgICAgICAgICBzaXplOiAnMTBweCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHpJbmRleDogJzEnXHJcbiAgICAgIH0pO1xyXG4gICAgICByYWRpdXMgLT0gc3RlcDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcmFuZ2VzOiBSYW5nZU1vZGVsW10gPSBbXTtcclxuICAgIGlmICh0aGlzLl9zdGFuZGFyZEhpZ2gpIHtcclxuICAgICAgcmFuZ2VzLnB1c2goe1xyXG4gICAgICAgIHN0YXJ0OiB0aGlzLl9zdGFuZGFyZExvdyA8IHRoaXMuX3N0YW5kYXJkSGlnaCA/IHRoaXMuX3N0YW5kYXJkTG93IDogMCxcclxuICAgICAgICBsZWdlbmRUZXh0OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTdGFuZGFyZCcpLFxyXG4gICAgICAgIGVuZDogdGhpcy5fc3RhbmRhcmRIaWdoLFxyXG4gICAgICAgIHN0YXJ0V2lkdGg6IDYsXHJcbiAgICAgICAgZW5kV2lkdGg6IDYsXHJcbiAgICAgICAgY29sb3I6IHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSg0MDApLFxyXG4gICAgICAgIHJhZGl1czogYDEwMyVgXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yYW5nZXMgPSByYW5nZXMsXHJcbiAgICAgIHRoaXMuYW5ub3RhdGlvbnMgPSBhbm5vdGF0aW9ucyxcclxuICAgICAgdGhpcy5wb2ludGVycyA9IHBvaW50ZXJzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuZ2F1Z2UgJiYgdGhpcy5nYXVnZS5kZXN0cm95KCk7XHJcbiAgICB0aGlzLmdhdWdlID0gbmV3IENpcmN1bGFyR2F1Z2Uoe1xyXG4gICAgICBjZW50ZXJZOiAnNDUlJyxcclxuICAgICAgY2VudGVyWDogJzUwJScsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAgIG1hcmdpbjogdGhpcy5tYXJnaW4sXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5lbmFibGVSdGwsXHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB0aGlzLmxlZ2VuZFNldHRpbmdzLFxyXG4gICAgICB0b29sdGlwUmVuZGVyOiB0aGlzLnRvb2x0aXBSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgICAgYXhlczogW3tcclxuICAgICAgICByYWRpdXM6ICc5MCUnLCBtYXhpbXVtOiB0aGlzLm1heCwgc3RhcnRBbmdsZTogMjAwLCBlbmRBbmdsZTogMTYwLCBtYWpvclRpY2tzOiB0aGlzLm1ham9yVGlja3MsXHJcbiAgICAgICAgbGFiZWxTdHlsZTogdGhpcy5sYWJlbFN0eWxlLCBsaW5lU3R5bGU6IHRoaXMubGluZVN0eWxlLCBtaW5vclRpY2tzOiB0aGlzLm1pbm9yVGlja3MsXHJcbiAgICAgICAgYW5ub3RhdGlvbnM6IHRoaXMuYW5ub3RhdGlvbnMsIHJhbmdlczogdGhpcy5yYW5nZXMsIHBvaW50ZXJzOiB0aGlzLnBvaW50ZXJzLCBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uXHJcbiAgICAgIH1dXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgY29uc3QgYXhpcyA9IHRoaXMuZ2F1Z2UuYXhlc1swXTtcclxuICAgIGF4aXMuYW5ub3RhdGlvbnMgPSB0aGlzLmFubm90YXRpb25zO1xyXG4gICAgYXhpcy5wb2ludGVycyA9IHRoaXMucG9pbnRlcnM7XHJcbiAgICBheGlzLnJhbmdlcyA9IHRoaXMucmFuZ2VzO1xyXG4gICAgdGhpcy5nYXVnZS5yZWZyZXNoKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FuaW1hdGUoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2RhdGEuZm9yRWFjaCgocCwgaSkgPT5cclxuICAgICAgdGhpcy5nYXVnZS5zZXRQb2ludGVyVmFsdWUoMCwgaSwgcC5kdXJhdGlvbikpLCA1MDApO1xyXG4gIH1cclxuXHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgaWYgKGUucmFuZ2UpXHJcbiAgICAgIGUuY29udGVudCA9IGUucmFuZ2Uuc3RhcnQgPyBgJHtlLnJhbmdlLmxlZ2VuZFRleHR9ICR7dGhpcy5fZHVyYXRpb24udHJhbnNmb3JtKGUucmFuZ2Uuc3RhcnQpfSAtICR7dGhpcy5fZHVyYXRpb24udHJhbnNmb3JtKGUucmFuZ2UuZW5kKX1gXHJcbiAgICAgICAgOiBgJHtlLnJhbmdlLmxlZ2VuZFRleHR9ICR7dGhpcy5fZHVyYXRpb24udHJhbnNmb3JtKGUucmFuZ2UuZW5kKX1gO1xyXG4gICAgZWxzZVxyXG4gICAgICBlLmNvbnRlbnQgPSBgJHt0aGlzLl9kdXJhdGlvbi50cmFuc2Zvcm0oZS5wb2ludGVyIS52YWx1ZSl9YDtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIFBlZXJNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIC8qKiBzZWNvbmRzICovXHJcbiAgZHVyYXRpb246IG51bWJlcjtcclxuICBzdGFuZGFyZD86IG51bWJlcjtcclxufVxyXG5cclxuIl19
|
@@ -1,59 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Component, ViewChild, HostBinding } from "@angular/core";
|
3
|
-
import { MatSort } from "@angular/material/sort";
|
4
|
-
import { MatTableDataSource } from "@angular/material/table";
|
5
|
-
import { Subject } from "rxjs";
|
6
|
-
import { BizDoc } from "../../core/decorators";
|
7
|
-
import { listAnimation, itemAnimation } from "../../core/animations";
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "../widget-ref";
|
10
|
-
import * as i2 from "@angular/cdk/bidi";
|
11
|
-
import * as i3 from "@angular/material/table";
|
12
|
-
import * as i4 from "@angular/material/sort";
|
13
|
-
import * as i5 from "../../core/identity/identity.component";
|
14
|
-
import * as i6 from "../../core/popup/tooltip.directive";
|
15
|
-
import * as i7 from "../../core/pipes/duration.pipe";
|
16
|
-
import * as i8 from "../../core/pipes/duration-format.pipe";
|
17
|
-
import * as i9 from "../../core/pipes/translate.pipe";
|
18
|
-
let PendingResultsWidget = class PendingResultsWidget {
|
19
|
-
constructor(ref) {
|
20
|
-
this.columns = ['name', 'duration', 'standard', 'count'];
|
21
|
-
this._destroy = new Subject();
|
22
|
-
ref.resize().subscribe(d => this.height = `${d.height}px`);
|
23
|
-
}
|
24
|
-
onBind(data) {
|
25
|
-
this.dataSource = new MatTableDataSource(data);
|
26
|
-
this.sort.active = 'duration';
|
27
|
-
this.sort.direction = 'desc';
|
28
|
-
this.dataSource.sort = this.sort;
|
29
|
-
}
|
30
|
-
ngOnDestroy() {
|
31
|
-
this._destroy.next();
|
32
|
-
this._destroy.complete();
|
33
|
-
}
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PendingResultsWidget, deps: [{ token: i1.WidgetRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: PendingResultsWidget, selector: "bizdoc-pending-results", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" matSort class=\"mat-elevation-z0\" @list>\r\n <ng-container matColumnDef=\"name\">\r\n <th mat-header-cell *matHeaderCellDef> {{'Name' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> <bizdoc-identity-name [identity]='element.userId' chating=\"room\"></bizdoc-identity-name></td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"duration\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Duration' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> <span [bizdocTooltip]='element.duration|amDurationFormat'>{{ element.duration | amDuration : 's' }}</span> </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"standard\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Standard' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> @if (element.standard) {\r\n <span [bizdocTooltip]=\"element.standard|amDurationFormat\">{{ element.standard | amDuration: 's' }}</span>\r\n } </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"count\">\r\n <th mat-header-cell *matHeaderCellDef> </th>\r\n <td mat-cell *matCellDef=\"let element\" dir=\"ltr\">\r\n <span class=\"range\">{{ element.processed }} / {{element.pending + element.processed}}</span>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\" @item></tr>\r\n</table>\r\n<style scoped>\r\n .range {\r\n white-space: nowrap;\r\n}\r\n</style>\r\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}padd :host:hover{overflow-y:auto!important}\n", "\n .range {\n white-space: nowrap;\n}\n"], dependencies: [{ kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i5.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i7.DurationPipe, name: "amDuration" }, { kind: "pipe", type: i8.DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [
|
36
|
-
listAnimation,
|
37
|
-
itemAnimation
|
38
|
-
] }); }
|
39
|
-
};
|
40
|
-
PendingResultsWidget = __decorate([
|
41
|
-
BizDoc({
|
42
|
-
selector: 'bizdoc-pending-results'
|
43
|
-
})
|
44
|
-
], PendingResultsWidget);
|
45
|
-
export { PendingResultsWidget };
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PendingResultsWidget, decorators: [{
|
47
|
-
type: Component,
|
48
|
-
args: [{ selector: 'bizdoc-pending-results', animations: [
|
49
|
-
listAnimation,
|
50
|
-
itemAnimation
|
51
|
-
], template: "<table mat-table [dataSource]=\"dataSource\" matSort class=\"mat-elevation-z0\" @list>\r\n <ng-container matColumnDef=\"name\">\r\n <th mat-header-cell *matHeaderCellDef> {{'Name' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> <bizdoc-identity-name [identity]='element.userId' chating=\"room\"></bizdoc-identity-name></td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"duration\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Duration' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> <span [bizdocTooltip]='element.duration|amDurationFormat'>{{ element.duration | amDuration : 's' }}</span> </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"standard\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Standard' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> @if (element.standard) {\r\n <span [bizdocTooltip]=\"element.standard|amDurationFormat\">{{ element.standard | amDuration: 's' }}</span>\r\n } </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"count\">\r\n <th mat-header-cell *matHeaderCellDef> </th>\r\n <td mat-cell *matCellDef=\"let element\" dir=\"ltr\">\r\n <span class=\"range\">{{ element.processed }} / {{element.pending + element.processed}}</span>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\" @item></tr>\r\n</table>\r\n<style scoped>\r\n .range {\r\n white-space: nowrap;\r\n}\r\n</style>\r\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}padd :host:hover{overflow-y:auto!important}\n", "\n .range {\n white-space: nowrap;\n}\n"] }]
|
52
|
-
}], ctorParameters: () => [{ type: i1.WidgetRef }], propDecorators: { sort: [{
|
53
|
-
type: ViewChild,
|
54
|
-
args: [MatSort]
|
55
|
-
}], height: [{
|
56
|
-
type: HostBinding,
|
57
|
-
args: ['style.height']
|
58
|
-
}] } });
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1yZXN1bHRzLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9kYXNoYm9hcmQvc2NvcmUvcGVuZGluZy1yZXN1bHRzLndpZGdldC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9kYXNoYm9hcmQvc2NvcmUvcGVuZGluZy1yZXN1bHRzLndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBZTlELElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBTy9CLFlBQ0UsR0FBYztRQUpQLFlBQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTVDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRzlDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFpQjtRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBcEJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDZKQUNwQixPQUFPLGdEQ3RCcEIsd2tEQWlDQSw0ekVEcEJjO1lBQ1YsYUFBYTtZQUNiLGFBQWE7U0FDZDs7QUFLVSxvQkFBb0I7SUFIaEMsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLHdCQUF3QjtLQUNuQyxDQUFDO0dBQ1csb0JBQW9CLENBcUJoQzs7MkZBckJZLG9CQUFvQjtrQkFaaEMsU0FBUzsrQkFDRSx3QkFBd0IsY0FHdEI7d0JBQ1YsYUFBYTt3QkFDYixhQUFhO3FCQUNkOzhFQU1tQixJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU87Z0JBRWxCLE1BQU07c0JBREwsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgSG9zdEJpbmRpbmcgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgbGlzdEFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbiB9IGZyb20gXCIuLi8uLi9jb3JlL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHsgV2lkZ2V0UmVmIH0gZnJvbSBcIi4uL3dpZGdldC1yZWZcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlbmRpbmctcmVzdWx0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BlbmRpbmctcmVzdWx0cy53aWRnZXQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL190YWJsZS53aWRnZXQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGxpc3RBbmltYXRpb24sXHJcbiAgICBpdGVtQW5pbWF0aW9uXHJcbiAgXVxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wZW5kaW5nLXJlc3VsdHMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZW5kaW5nUmVzdWx0c1dpZGdldCBpbXBsZW1lbnRzIFdpZGdldENvbXBvbmVudDxEYXRhTW9kZWxbXT4sIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JylcclxuICBoZWlnaHQ6IHN0cmluZztcclxuICByZWFkb25seSBjb2x1bW5zID0gWyduYW1lJywgJ2R1cmF0aW9uJywgJ3N0YW5kYXJkJywgJ2NvdW50J107XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPERhdGFNb2RlbD47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICByZWY6IFdpZGdldFJlZikge1xyXG4gICAgcmVmLnJlc2l6ZSgpLnN1YnNjcmliZShkID0+IHRoaXMuaGVpZ2h0ID0gYCR7ZC5oZWlnaHR9cHhgKTtcclxuICB9XHJcbiAgb25CaW5kKGRhdGE6IERhdGFNb2RlbFtdKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGRhdGEpO1xyXG4gICAgdGhpcy5zb3J0LmFjdGl2ZSA9ICdkdXJhdGlvbic7XHJcbiAgICB0aGlzLnNvcnQuZGlyZWN0aW9uID0gJ2Rlc2MnO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgRGF0YU1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgcGVuZGluZzogbnVtYmVyO1xyXG4gIHByb2Nlc3NlZDogbnVtYmVyO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIHN0YW5kYXJkPzogbnVtYmVyO1xyXG59XHJcbiIsIjx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXowXCIgQGxpc3Q+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiB7eydOYW1lJyB8IHRyYW5zbGF0ZX19IDwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgW2lkZW50aXR5XT0nZWxlbWVudC51c2VySWQnIGNoYXRpbmc9XCJyb29tXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT48L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImR1cmF0aW9uXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4ge3snRHVyYXRpb24nIHwgdHJhbnNsYXRlfX0gPC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IDxzcGFuIFtiaXpkb2NUb29sdGlwXT0nZWxlbWVudC5kdXJhdGlvbnxhbUR1cmF0aW9uRm9ybWF0Jz57eyBlbGVtZW50LmR1cmF0aW9uIHwgYW1EdXJhdGlvbiA6ICdzJyB9fTwvc3Bhbj4gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGFuZGFyZFwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IHt7J1N0YW5kYXJkJyB8IHRyYW5zbGF0ZX19IDwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiBAaWYgKGVsZW1lbnQuc3RhbmRhcmQpIHtcclxuICAgICAgPHNwYW4gW2JpemRvY1Rvb2x0aXBdPVwiZWxlbWVudC5zdGFuZGFyZHxhbUR1cmF0aW9uRm9ybWF0XCI+e3sgZWxlbWVudC5zdGFuZGFyZCB8IGFtRHVyYXRpb246ICdzJyB9fTwvc3Bhbj5cclxuICAgIH0gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb3VudFwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gPC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgZGlyPVwibHRyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2VcIj57eyBlbGVtZW50LnByb2Nlc3NlZCB9fSAvIHt7ZWxlbWVudC5wZW5kaW5nICsgZWxlbWVudC5wcm9jZXNzZWR9fTwvc3Bhbj5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1ucztcIiBAaXRlbT48L3RyPlxyXG48L3RhYmxlPlxyXG48c3R5bGUgc2NvcGVkPlxyXG4gIC5yYW5nZSB7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG48L3N0eWxlPlxyXG4iXX0=
|