@rivet-health/design-system 40.44.0 → 40.44.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/{esm2020 → esm2022}/lib/accessibility/sr-only/sr-only.component.mjs +4 -4
- package/esm2022/lib/download/download.service.mjs +47 -0
- package/{esm2020 → esm2022}/lib/format/pipes/common.mjs +5 -5
- package/{esm2020 → esm2022}/lib/format/pipes/date.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/days.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/dollars.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/number.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/percentage.pipe.mjs +4 -4
- package/esm2022/lib/format/pipes/sentence-case.pipe.mjs +61 -0
- package/esm2022/lib/format/pipes/small-currency.pipe.mjs +24 -0
- package/esm2022/lib/format/pipes/small-number.pipe.mjs +29 -0
- package/esm2022/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +62 -0
- package/esm2022/lib/format/truncate/truncate.component.mjs +51 -0
- package/esm2022/lib/icon/dom-cache.mjs +32 -0
- package/esm2022/lib/icon/icon.component.mjs +86 -0
- package/{esm2020 → esm2022}/lib/icon/icons.mjs +1 -1
- package/{esm2020 → esm2022}/lib/input/alphabetic-field/alphabetic-field.component.mjs +4 -4
- package/esm2022/lib/input/auto-focus/auto-focus.directive.mjs +48 -0
- package/esm2022/lib/input/button/button.component.mjs +139 -0
- package/esm2022/lib/input/button-group/button-group.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/input/calendar/calendar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/card-checkbox/card-checkbox.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/checkbox/checkbox.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/currency-field/currency-field.component.mjs +4 -4
- package/esm2022/lib/input/date/date.component.mjs +279 -0
- package/esm2022/lib/input/date-range/date-range.component.mjs +477 -0
- package/esm2022/lib/input/filter-chip/filter-chip.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/input/filter-dropdown/filter-dropdown.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/input/input-label/input-label.component.mjs +4 -4
- package/esm2022/lib/input/mentions-input/mentions-input.component.mjs +745 -0
- package/esm2022/lib/input/number-field/number-field.component.mjs +125 -0
- package/{esm2020 → esm2022}/lib/input/percentage-field/percentage-field.component.mjs +4 -4
- package/esm2022/lib/input/phone-field/phone-field.component.mjs +74 -0
- package/{esm2020 → esm2022}/lib/input/radio/radio.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/search/search.component.mjs +4 -4
- package/esm2022/lib/input/search-select/search-select.component.mjs +189 -0
- package/esm2022/lib/input/select/select/select.component.mjs +178 -0
- package/{esm2020 → esm2022}/lib/input/select/select-node/select-node.component.mjs +4 -4
- package/esm2022/lib/input/select/state.mjs +882 -0
- package/{esm2020 → esm2022}/lib/input/simple-select/option-group.pipe.mjs +4 -4
- package/esm2022/lib/input/simple-select/simple-select.component.mjs +178 -0
- package/esm2022/lib/input/switch-checkbox/switch-checkbox.component.mjs +33 -0
- package/esm2022/lib/input/text-field/text-field.component.mjs +115 -0
- package/{esm2020 → esm2022}/lib/input/textarea-field/textarea-field.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/validation-message/validation-message.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/card/card-actions.component.mjs +4 -4
- package/esm2022/lib/layout/card/card-content.component.mjs +64 -0
- package/esm2022/lib/layout/card/card-header.component.mjs +201 -0
- package/{esm2020 → esm2022}/lib/layout/card/card-link.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/card/card-media.component.mjs +4 -4
- package/esm2022/lib/layout/card/card.component.mjs +291 -0
- package/{esm2020 → esm2022}/lib/layout/setting-row/setting-row.component.mjs +4 -4
- package/esm2022/lib/load/loading/loading.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/load/loading-cover/loading-cover.component.mjs +4 -4
- package/esm2022/lib/navigation/editable-heading/editable-heading.component.mjs +243 -0
- package/{esm2020 → esm2022}/lib/navigation/link/link.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/navigation/page-header/page-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/simple-tabs/simple-tab/simple-tab.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/simple-tabs/simple-tabs/simple-tabs.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/tabs/tab/tab.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/tabs/tabs/tabs.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/views/all-views-modal/all-views-modal.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/views/edit-view/edit-view.component.mjs +9 -9
- package/esm2022/lib/navigation/views/permission-picker/permission-picker.component.mjs +151 -0
- package/esm2022/lib/navigation/views/state.mjs +456 -0
- package/{esm2020 → esm2022}/lib/navigation/views/view-menu/view-menu.component.mjs +5 -5
- package/esm2022/lib/navigation/views/views/views.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/notification/badge/badge.component.mjs +4 -4
- package/esm2022/lib/notification/banner/banner-action.component.mjs +48 -0
- package/esm2022/lib/notification/banner/banner.component.mjs +61 -0
- package/esm2022/lib/notification/map-indicator/map-indicator.component.mjs +50 -0
- package/esm2022/lib/notification/map-indicator/map-indicators.mjs +15 -0
- package/{esm2020 → esm2022}/lib/notification/notification-badge/notification-badge.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/callout.component.mjs +130 -0
- package/esm2022/lib/overlay/callout/callout.helpers.mjs +113 -0
- package/{esm2020 → esm2022}/lib/overlay/callout/help/help.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/lock-scroll.directive.mjs +69 -0
- package/{esm2020 → esm2022}/lib/overlay/callout/menu/menu-item/menu-item.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/overlay/callout/menu/menu.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +30 -0
- package/{esm2020 → esm2022}/lib/overlay/callout/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/tooltip/tooltip.directive.mjs +138 -0
- package/esm2022/lib/overlay/modal/dialog/dialog.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/overlay/modal/dialog-stack.service.mjs +4 -4
- package/esm2022/lib/overlay/modal/form-dialog/form-dialog.component.mjs +146 -0
- package/esm2022/lib/overlay/modal/modal.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/overlay/modal/side-sheet/side-sheet.component.mjs +4 -4
- package/esm2022/lib/overlay/overlay-outlet.component.mjs +98 -0
- package/{esm2020 → esm2022}/lib/overlay/overlay.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/overlay/overlay.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/overlay/toast/toast-action.component.mjs +4 -4
- package/esm2022/lib/overlay/toast/toast.component.mjs +41 -0
- package/{esm2020 → esm2022}/lib/riv.module.mjs +227 -227
- package/esm2022/lib/size/size.directive.mjs +33 -0
- package/esm2022/lib/table/simple-table/coordinate-helper.mjs +61 -0
- package/esm2022/lib/table/simple-table/simple-table-cell.component.mjs +36 -0
- package/esm2022/lib/table/simple-table/simple-table-header-cell.component.mjs +37 -0
- package/{esm2020 → esm2022}/lib/table/simple-table/simple-table-row.component.mjs +4 -4
- package/esm2022/lib/table/simple-table/simple-table.component.mjs +104 -0
- package/esm2022/lib/table/table/clipboard.mjs +182 -0
- package/esm2022/lib/table/table/state-helpers/collapse-helpers.mjs +116 -0
- package/esm2022/lib/table/table/state-helpers/column-helpers.mjs +383 -0
- package/{esm2020 → esm2022}/lib/table/table/state-helpers/display-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/nesting-helpers.mjs +123 -0
- package/esm2022/lib/table/table/state-helpers/order-helpers.mjs +164 -0
- package/esm2022/lib/table/table/state-helpers/pagination-helpers.mjs +139 -0
- package/esm2022/lib/table/table/state-helpers/result-helpers.mjs +70 -0
- package/esm2022/lib/table/table/state-helpers/search-helpers.mjs +72 -0
- package/esm2022/lib/table/table/state-helpers/selection-helpers.mjs +180 -0
- package/esm2022/lib/table/table/state.mjs +1035 -0
- package/esm2022/lib/table/table/table/table.component.mjs +367 -0
- package/{esm2020 → esm2022}/lib/table/table/table-collapse-all/table-collapse-all.component.mjs +5 -5
- package/esm2022/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +227 -0
- package/esm2022/lib/table/table/table-column-settings/table-column-settings.component.mjs +134 -0
- package/esm2022/lib/table/table/table-csv-export/table-csv-export.component.mjs +35 -0
- package/{esm2020 → esm2022}/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.mjs +6 -6
- package/esm2022/lib/table/table/table-search/table-search.component.mjs +71 -0
- package/{esm2020 → esm2022}/lib/table/table/table-search-columns/table-search-columns.component.mjs +4 -4
- package/esm2022/lib/visibility/visibility.directive.mjs +34 -0
- package/esm2022/lib/visualization/chart/chart-scaling.mjs +380 -0
- package/esm2022/lib/visualization/chart/chart.component.mjs +626 -0
- package/esm2022/lib/visualization/chart/chart.mjs +3768 -0
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-cell.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-header-cell.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-row.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/donut/donut.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/funnel-chart/funnel-chart.component.mjs +5 -5
- package/esm2022/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +33 -0
- package/{esm2020 → esm2022}/lib/visualization/highlight/highlight.component.mjs +4 -4
- package/esm2022/lib/visualization/highlight/highlight.helpers.mjs +20 -0
- package/esm2022/lib/visualization/intervals.mjs +63 -0
- package/{esm2020 → esm2022}/lib/visualization/issue/issue.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/legend-item/legend-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/metric/metric.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/mini-pie/mini-pie.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/progress/progress.component.mjs +5 -5
- package/esm2022/lib/visualization/stacked-column/stacked-column.component.mjs +377 -0
- package/esm2022/lib/visualization/stacked-column/stacked-column.helpers.mjs +18 -0
- package/esm2022/lib/visualization/stacked-row/stacked-row.component.mjs +270 -0
- package/esm2022/lib/visualization/stacked-row/stacked-row.helpers.mjs +74 -0
- package/esm2022/lib/visualization/time-series/time-series.component.mjs +374 -0
- package/esm2022/lib/visualization/time-series/time-series.helpers.mjs +15 -0
- package/esm2022/lib/visualization/trend/trend.component.mjs +51 -0
- package/{esm2020 → esm2022}/lib/visualization/zero-state/zero-state.component.mjs +4 -4
- package/{fesm2020 → fesm2022}/rivet-health-design-system.mjs +670 -670
- package/{fesm2020 → fesm2022}/rivet-health-design-system.mjs.map +1 -1
- package/lib/format/svg-text-truncate/svg-text-truncate.directive.d.ts +1 -1
- package/lib/format/truncate/truncate.component.d.ts +1 -1
- package/lib/icon/icon.component.d.ts +1 -1
- package/lib/input/auto-focus/auto-focus.directive.d.ts +1 -1
- package/lib/input/button/button.component.d.ts +1 -1
- package/lib/input/calendar/calendar.component.d.ts +1 -1
- package/lib/input/checkbox/checkbox.component.d.ts +1 -1
- package/lib/input/currency-field/currency-field.component.d.ts +1 -1
- package/lib/input/date/date.component.d.ts +1 -1
- package/lib/input/date-range/date-range.component.d.ts +1 -1
- package/lib/input/filter-chip/filter-chip.component.d.ts +1 -1
- package/lib/input/filter-dropdown/filter-dropdown.component.d.ts +1 -1
- package/lib/input/input-label/input-label.component.d.ts +1 -1
- package/lib/input/mentions-input/mentions-input.component.d.ts +1 -1
- package/lib/input/number-field/number-field.component.d.ts +1 -1
- package/lib/input/percentage-field/percentage-field.component.d.ts +1 -1
- package/lib/input/phone-field/phone-field.component.d.ts +1 -1
- package/lib/input/radio/radio.component.d.ts +1 -1
- package/lib/input/search/search.component.d.ts +1 -1
- package/lib/input/search-select/search-select.component.d.ts +1 -1
- package/lib/input/select/select/select.component.d.ts +1 -1
- package/lib/input/select/select-node/select-node.component.d.ts +1 -1
- package/lib/input/simple-select/simple-select.component.d.ts +1 -1
- package/lib/input/switch-checkbox/switch-checkbox.component.d.ts +1 -1
- package/lib/input/text-field/text-field.component.d.ts +1 -1
- package/lib/input/textarea-field/textarea-field.component.d.ts +1 -1
- package/lib/input/validation-message/validation-message.component.d.ts +1 -1
- package/lib/layout/card/card-actions.component.d.ts +1 -1
- package/lib/layout/card/card-content.component.d.ts +1 -1
- package/lib/layout/card/card-header.component.d.ts +1 -1
- package/lib/layout/card/card-link.component.d.ts +1 -1
- package/lib/layout/card/card-media.component.d.ts +1 -1
- package/lib/layout/card/card.component.d.ts +1 -1
- package/lib/layout/setting-row/setting-row.component.d.ts +1 -1
- package/lib/load/loading/loading.component.d.ts +1 -1
- package/lib/load/loading-cover/loading-cover.component.d.ts +1 -1
- package/lib/navigation/editable-heading/editable-heading.component.d.ts +1 -1
- package/lib/navigation/link/link.component.d.ts +1 -1
- package/lib/navigation/page-header/page-header.component.d.ts +1 -1
- package/lib/navigation/simple-tabs/simple-tab/simple-tab.component.d.ts +1 -1
- package/lib/navigation/tabs/tab/tab.component.d.ts +1 -1
- package/lib/navigation/views/all-views-modal/all-views-modal.component.d.ts +1 -1
- package/lib/navigation/views/edit-view/edit-view.component.d.ts +1 -1
- package/lib/navigation/views/permission-picker/permission-picker.component.d.ts +3 -3
- package/lib/navigation/views/view-menu/view-menu.component.d.ts +1 -1
- package/lib/navigation/views/views/views.component.d.ts +1 -1
- package/lib/notification/badge/badge.component.d.ts +1 -1
- package/lib/notification/banner/banner-action.component.d.ts +1 -1
- package/lib/notification/banner/banner.component.d.ts +1 -1
- package/lib/notification/map-indicator/map-indicator.component.d.ts +1 -1
- package/lib/notification/notification-badge/notification-badge.component.d.ts +1 -1
- package/lib/overlay/callout/callout.component.d.ts +1 -1
- package/lib/overlay/callout/help/help.component.d.ts +1 -1
- package/lib/overlay/callout/lock-scroll.directive.d.ts +1 -1
- package/lib/overlay/callout/menu/menu-item/menu-item.component.d.ts +1 -1
- package/lib/overlay/callout/menu/menu.component.d.ts +1 -1
- package/lib/overlay/callout/tooltip/locked-tooltip.directive.d.ts +1 -1
- package/lib/overlay/callout/tooltip/tooltip.component.d.ts +1 -1
- package/lib/overlay/callout/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/overlay/modal/dialog/dialog.component.d.ts +1 -1
- package/lib/overlay/modal/form-dialog/form-dialog.component.d.ts +1 -1
- package/lib/overlay/modal/modal.component.d.ts +1 -1
- package/lib/overlay/modal/side-sheet/side-sheet.component.d.ts +1 -1
- package/lib/overlay/toast/toast.component.d.ts +1 -1
- package/lib/table/simple-table/simple-table-header-cell.component.d.ts +1 -1
- package/lib/table/simple-table/simple-table-row.component.d.ts +1 -1
- package/lib/table/table/table/table.component.d.ts +1 -1
- package/lib/table/table/table-collapse-all/table-collapse-all.component.d.ts +1 -1
- package/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.d.ts +1 -1
- package/lib/table/table/table-column-settings/table-column-settings.component.d.ts +1 -1
- package/lib/table/table/table-csv-export/table-csv-export.component.d.ts +1 -1
- package/lib/table/table/table-search/table-search.component.d.ts +1 -1
- package/lib/table/table/table-search-columns/table-search-columns.component.d.ts +1 -1
- package/lib/visualization/chart/chart.component.d.ts +1 -1
- package/lib/visualization/data-table/data-table-row.component.d.ts +1 -1
- package/lib/visualization/donut/donut.component.d.ts +1 -1
- package/lib/visualization/funnel-chart/funnel-chart.component.d.ts +1 -1
- package/lib/visualization/highlight/highlight.component.d.ts +1 -1
- package/lib/visualization/issue/issue.component.d.ts +1 -1
- package/lib/visualization/legend-item/legend-item.component.d.ts +1 -1
- package/lib/visualization/metric/metric.component.d.ts +1 -1
- package/lib/visualization/mini-pie/mini-pie.component.d.ts +1 -1
- package/lib/visualization/progress/progress.component.d.ts +1 -1
- package/lib/visualization/stacked-column/stacked-column.component.d.ts +3 -3
- package/lib/visualization/stacked-row/stacked-row.component.d.ts +1 -1
- package/lib/visualization/time-series/time-series.component.d.ts +3 -3
- package/lib/visualization/trend/trend.component.d.ts +1 -1
- package/lib/visualization/zero-state/zero-state.component.d.ts +1 -1
- package/package.json +5 -11
- package/esm2020/lib/download/download.service.mjs +0 -47
- package/esm2020/lib/format/pipes/sentence-case.pipe.mjs +0 -61
- package/esm2020/lib/format/pipes/small-currency.pipe.mjs +0 -24
- package/esm2020/lib/format/pipes/small-number.pipe.mjs +0 -29
- package/esm2020/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +0 -62
- package/esm2020/lib/format/truncate/truncate.component.mjs +0 -51
- package/esm2020/lib/icon/dom-cache.mjs +0 -32
- package/esm2020/lib/icon/icon.component.mjs +0 -86
- package/esm2020/lib/input/auto-focus/auto-focus.directive.mjs +0 -48
- package/esm2020/lib/input/button/button.component.mjs +0 -139
- package/esm2020/lib/input/button-group/button-group.component.mjs +0 -39
- package/esm2020/lib/input/date/date.component.mjs +0 -279
- package/esm2020/lib/input/date-range/date-range.component.mjs +0 -477
- package/esm2020/lib/input/filter-chip/filter-chip.component.mjs +0 -47
- package/esm2020/lib/input/mentions-input/mentions-input.component.mjs +0 -745
- package/esm2020/lib/input/number-field/number-field.component.mjs +0 -125
- package/esm2020/lib/input/phone-field/phone-field.component.mjs +0 -74
- package/esm2020/lib/input/search-select/search-select.component.mjs +0 -189
- package/esm2020/lib/input/select/select/select.component.mjs +0 -178
- package/esm2020/lib/input/select/state.mjs +0 -882
- package/esm2020/lib/input/simple-select/simple-select.component.mjs +0 -178
- package/esm2020/lib/input/switch-checkbox/switch-checkbox.component.mjs +0 -33
- package/esm2020/lib/input/text-field/text-field.component.mjs +0 -115
- package/esm2020/lib/layout/card/card-content.component.mjs +0 -64
- package/esm2020/lib/layout/card/card-header.component.mjs +0 -201
- package/esm2020/lib/layout/card/card.component.mjs +0 -291
- package/esm2020/lib/load/loading/loading.component.mjs +0 -43
- package/esm2020/lib/navigation/editable-heading/editable-heading.component.mjs +0 -243
- package/esm2020/lib/navigation/views/permission-picker/permission-picker.component.mjs +0 -151
- package/esm2020/lib/navigation/views/state.mjs +0 -456
- package/esm2020/lib/navigation/views/views/views.component.mjs +0 -90
- package/esm2020/lib/notification/banner/banner-action.component.mjs +0 -48
- package/esm2020/lib/notification/banner/banner.component.mjs +0 -61
- package/esm2020/lib/notification/map-indicator/map-indicator.component.mjs +0 -50
- package/esm2020/lib/notification/map-indicator/map-indicators.mjs +0 -15
- package/esm2020/lib/overlay/callout/callout.component.mjs +0 -130
- package/esm2020/lib/overlay/callout/callout.helpers.mjs +0 -113
- package/esm2020/lib/overlay/callout/lock-scroll.directive.mjs +0 -69
- package/esm2020/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +0 -30
- package/esm2020/lib/overlay/callout/tooltip/tooltip.directive.mjs +0 -138
- package/esm2020/lib/overlay/modal/dialog/dialog.component.mjs +0 -47
- package/esm2020/lib/overlay/modal/form-dialog/form-dialog.component.mjs +0 -146
- package/esm2020/lib/overlay/modal/modal.component.mjs +0 -31
- package/esm2020/lib/overlay/overlay-outlet.component.mjs +0 -98
- package/esm2020/lib/overlay/toast/toast.component.mjs +0 -41
- package/esm2020/lib/size/size.directive.mjs +0 -33
- package/esm2020/lib/table/simple-table/coordinate-helper.mjs +0 -61
- package/esm2020/lib/table/simple-table/simple-table-cell.component.mjs +0 -36
- package/esm2020/lib/table/simple-table/simple-table-header-cell.component.mjs +0 -37
- package/esm2020/lib/table/simple-table/simple-table.component.mjs +0 -104
- package/esm2020/lib/table/table/clipboard.mjs +0 -182
- package/esm2020/lib/table/table/state-helpers/collapse-helpers.mjs +0 -116
- package/esm2020/lib/table/table/state-helpers/column-helpers.mjs +0 -383
- package/esm2020/lib/table/table/state-helpers/nesting-helpers.mjs +0 -123
- package/esm2020/lib/table/table/state-helpers/order-helpers.mjs +0 -164
- package/esm2020/lib/table/table/state-helpers/pagination-helpers.mjs +0 -139
- package/esm2020/lib/table/table/state-helpers/result-helpers.mjs +0 -70
- package/esm2020/lib/table/table/state-helpers/search-helpers.mjs +0 -72
- package/esm2020/lib/table/table/state-helpers/selection-helpers.mjs +0 -180
- package/esm2020/lib/table/table/state.mjs +0 -1035
- package/esm2020/lib/table/table/table/table.component.mjs +0 -367
- package/esm2020/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +0 -227
- package/esm2020/lib/table/table/table-column-settings/table-column-settings.component.mjs +0 -134
- package/esm2020/lib/table/table/table-csv-export/table-csv-export.component.mjs +0 -35
- package/esm2020/lib/table/table/table-search/table-search.component.mjs +0 -71
- package/esm2020/lib/visibility/visibility.directive.mjs +0 -34
- package/esm2020/lib/visualization/chart/chart-scaling.mjs +0 -380
- package/esm2020/lib/visualization/chart/chart.component.mjs +0 -626
- package/esm2020/lib/visualization/chart/chart.mjs +0 -3768
- package/esm2020/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +0 -33
- package/esm2020/lib/visualization/highlight/highlight.helpers.mjs +0 -20
- package/esm2020/lib/visualization/intervals.mjs +0 -63
- package/esm2020/lib/visualization/stacked-column/stacked-column.component.mjs +0 -377
- package/esm2020/lib/visualization/stacked-column/stacked-column.helpers.mjs +0 -18
- package/esm2020/lib/visualization/stacked-row/stacked-row.component.mjs +0 -270
- package/esm2020/lib/visualization/stacked-row/stacked-row.helpers.mjs +0 -74
- package/esm2020/lib/visualization/time-series/time-series.component.mjs +0 -374
- package/esm2020/lib/visualization/time-series/time-series.helpers.mjs +0 -15
- package/esm2020/lib/visualization/trend/trend.component.mjs +0 -51
- package/fesm2015/rivet-health-design-system.mjs +0 -18370
- package/fesm2015/rivet-health-design-system.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/overlay/callout/select-callout-defaults.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/util/local-storage.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/rivet-health-design-system.mjs +0 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { Chart } from './chart';
|
|
2
|
+
export const emptyChartScaleValues = {
|
|
3
|
+
barSize: 0,
|
|
4
|
+
barClusterGap: 0,
|
|
5
|
+
bucketGap: 0,
|
|
6
|
+
outerGap: 0,
|
|
7
|
+
leftPadding: 0,
|
|
8
|
+
rightPadding: 0,
|
|
9
|
+
topPadding: 0,
|
|
10
|
+
bottomPadding: 0,
|
|
11
|
+
leftBucketLabel: 0,
|
|
12
|
+
dataLabelPadding: 0,
|
|
13
|
+
fontSize: 0,
|
|
14
|
+
totalWidth: 0,
|
|
15
|
+
totalHeight: 0,
|
|
16
|
+
sizeForData: 0,
|
|
17
|
+
totalLeftOffset: 0,
|
|
18
|
+
totalRightOffset: 0,
|
|
19
|
+
totalTopOffset: 0,
|
|
20
|
+
totalBottomOffset: 0,
|
|
21
|
+
dataLabelTextSize: 0,
|
|
22
|
+
horizontalAxisLabelTextSize: 0,
|
|
23
|
+
verticalAxisLabelTextSize: 0,
|
|
24
|
+
targetTickCount: 0,
|
|
25
|
+
chartDataDirection: 'vertical',
|
|
26
|
+
horizontalContainerScale: 'no-scale',
|
|
27
|
+
verticalContainerScale: 'no-scale',
|
|
28
|
+
};
|
|
29
|
+
export const DefaultBarElementScalingConfig = {
|
|
30
|
+
barSize: {
|
|
31
|
+
min: 1,
|
|
32
|
+
max: 80,
|
|
33
|
+
target: 30,
|
|
34
|
+
},
|
|
35
|
+
barClusterGap: {
|
|
36
|
+
min: 1,
|
|
37
|
+
max: 8,
|
|
38
|
+
target: 8,
|
|
39
|
+
},
|
|
40
|
+
bucketGap: {
|
|
41
|
+
min: 1,
|
|
42
|
+
target: 40,
|
|
43
|
+
},
|
|
44
|
+
outerGap: {
|
|
45
|
+
min: 0,
|
|
46
|
+
target: 16,
|
|
47
|
+
},
|
|
48
|
+
leftPadding: {
|
|
49
|
+
min: 48,
|
|
50
|
+
max: 48,
|
|
51
|
+
target: 48,
|
|
52
|
+
},
|
|
53
|
+
rightPadding: {
|
|
54
|
+
min: 8,
|
|
55
|
+
max: 48,
|
|
56
|
+
target: 48,
|
|
57
|
+
},
|
|
58
|
+
topPadding: {
|
|
59
|
+
min: 16,
|
|
60
|
+
max: 16,
|
|
61
|
+
target: 16,
|
|
62
|
+
},
|
|
63
|
+
bottomPadding: {
|
|
64
|
+
min: 20,
|
|
65
|
+
max: 20,
|
|
66
|
+
target: 20,
|
|
67
|
+
},
|
|
68
|
+
dataLabelPadding: {
|
|
69
|
+
min: 8,
|
|
70
|
+
max: 8,
|
|
71
|
+
target: 8,
|
|
72
|
+
},
|
|
73
|
+
fontSize: {
|
|
74
|
+
min: 12,
|
|
75
|
+
max: 12,
|
|
76
|
+
target: 12,
|
|
77
|
+
},
|
|
78
|
+
leftBucketLabel: {
|
|
79
|
+
target: 0, //Not applicable
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
export const DefaultBarWithSecondaryElementScalingConfig = {
|
|
83
|
+
...DefaultBarElementScalingConfig,
|
|
84
|
+
rightPadding: {
|
|
85
|
+
min: 48,
|
|
86
|
+
max: 48,
|
|
87
|
+
target: 48,
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
export const DefaultHorizontalBarElementScalingConfig = {
|
|
91
|
+
barSize: {
|
|
92
|
+
min: 1,
|
|
93
|
+
max: 8,
|
|
94
|
+
target: 8,
|
|
95
|
+
},
|
|
96
|
+
barClusterGap: {
|
|
97
|
+
min: 1,
|
|
98
|
+
max: 8,
|
|
99
|
+
target: 8,
|
|
100
|
+
},
|
|
101
|
+
bucketGap: {
|
|
102
|
+
min: 1,
|
|
103
|
+
target: 16,
|
|
104
|
+
},
|
|
105
|
+
outerGap: {
|
|
106
|
+
min: 0,
|
|
107
|
+
target: 8,
|
|
108
|
+
},
|
|
109
|
+
leftPadding: {
|
|
110
|
+
min: 8,
|
|
111
|
+
max: 8,
|
|
112
|
+
target: 8,
|
|
113
|
+
},
|
|
114
|
+
rightPadding: {
|
|
115
|
+
min: 8,
|
|
116
|
+
max: 48,
|
|
117
|
+
target: 48,
|
|
118
|
+
},
|
|
119
|
+
topPadding: {
|
|
120
|
+
min: 16,
|
|
121
|
+
max: 16,
|
|
122
|
+
target: 16,
|
|
123
|
+
},
|
|
124
|
+
bottomPadding: {
|
|
125
|
+
min: 0,
|
|
126
|
+
max: 20,
|
|
127
|
+
target: 0,
|
|
128
|
+
},
|
|
129
|
+
leftBucketLabel: {
|
|
130
|
+
min: 8,
|
|
131
|
+
max: 192,
|
|
132
|
+
target: 68, //Size used for timeseries buckets
|
|
133
|
+
},
|
|
134
|
+
dataLabelPadding: {
|
|
135
|
+
min: 8,
|
|
136
|
+
max: 8,
|
|
137
|
+
target: 8,
|
|
138
|
+
},
|
|
139
|
+
fontSize: {
|
|
140
|
+
min: 12,
|
|
141
|
+
max: 12,
|
|
142
|
+
target: 12,
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
export const DefaultHorizontalBarWithSecondaryElementScalingConfig = {
|
|
146
|
+
...DefaultHorizontalBarElementScalingConfig,
|
|
147
|
+
bottomPadding: {
|
|
148
|
+
min: 20,
|
|
149
|
+
max: 20,
|
|
150
|
+
target: 20,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
export const DefaultLineElementScalingConfig = {
|
|
154
|
+
bucketGap: {
|
|
155
|
+
min: 1,
|
|
156
|
+
target: 32,
|
|
157
|
+
},
|
|
158
|
+
outerGap: {
|
|
159
|
+
target: 1,
|
|
160
|
+
},
|
|
161
|
+
leftPadding: {
|
|
162
|
+
min: 48,
|
|
163
|
+
max: 48,
|
|
164
|
+
target: 48,
|
|
165
|
+
},
|
|
166
|
+
rightPadding: {
|
|
167
|
+
min: 8,
|
|
168
|
+
max: 48,
|
|
169
|
+
target: 48,
|
|
170
|
+
},
|
|
171
|
+
topPadding: {
|
|
172
|
+
min: 16,
|
|
173
|
+
max: 16,
|
|
174
|
+
target: 16,
|
|
175
|
+
},
|
|
176
|
+
bottomPadding: {
|
|
177
|
+
min: 20,
|
|
178
|
+
max: 20,
|
|
179
|
+
target: 20,
|
|
180
|
+
},
|
|
181
|
+
dataLabelPadding: {
|
|
182
|
+
min: 8,
|
|
183
|
+
max: 8,
|
|
184
|
+
target: 8,
|
|
185
|
+
},
|
|
186
|
+
fontSize: {
|
|
187
|
+
min: 12,
|
|
188
|
+
max: 12,
|
|
189
|
+
target: 12,
|
|
190
|
+
},
|
|
191
|
+
barSize: {
|
|
192
|
+
target: 0, //Not applicable
|
|
193
|
+
},
|
|
194
|
+
barClusterGap: {
|
|
195
|
+
target: 0, //Not applicable
|
|
196
|
+
},
|
|
197
|
+
leftBucketLabel: {
|
|
198
|
+
target: 0, //Not applicable
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
export const DefaultFlowElementScalingConfig = {
|
|
202
|
+
barSize: {
|
|
203
|
+
min: 1,
|
|
204
|
+
max: 40,
|
|
205
|
+
target: 40,
|
|
206
|
+
},
|
|
207
|
+
bucketGap: {
|
|
208
|
+
min: 1,
|
|
209
|
+
target: 180,
|
|
210
|
+
},
|
|
211
|
+
leftPadding: {
|
|
212
|
+
min: 24,
|
|
213
|
+
max: 108,
|
|
214
|
+
target: 108,
|
|
215
|
+
},
|
|
216
|
+
rightPadding: {
|
|
217
|
+
min: 24,
|
|
218
|
+
max: 108,
|
|
219
|
+
target: 108,
|
|
220
|
+
},
|
|
221
|
+
dataLabelPadding: {
|
|
222
|
+
min: 36,
|
|
223
|
+
max: 36,
|
|
224
|
+
target: 36,
|
|
225
|
+
},
|
|
226
|
+
fontSize: {
|
|
227
|
+
min: 12,
|
|
228
|
+
max: 12,
|
|
229
|
+
target: 12,
|
|
230
|
+
},
|
|
231
|
+
topPadding: {
|
|
232
|
+
target: 0, //Not applicable
|
|
233
|
+
},
|
|
234
|
+
bottomPadding: {
|
|
235
|
+
target: 0, //Not applicable
|
|
236
|
+
},
|
|
237
|
+
outerGap: {
|
|
238
|
+
target: 0, //Not applicable
|
|
239
|
+
},
|
|
240
|
+
barClusterGap: {
|
|
241
|
+
target: 0, //Not applicable
|
|
242
|
+
},
|
|
243
|
+
leftBucketLabel: {
|
|
244
|
+
target: 0, //Not applicable
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
export const DefaultLineWithSecondaryElementScalingConfig = {
|
|
248
|
+
...DefaultLineElementScalingConfig,
|
|
249
|
+
rightPadding: {
|
|
250
|
+
min: 48,
|
|
251
|
+
max: 48,
|
|
252
|
+
target: 48,
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
//For bar, line, area, waterfall and funnel charts
|
|
256
|
+
export const DefaultVerticalNonElementScalingConfig = {
|
|
257
|
+
dataScale: { type: 'fit' },
|
|
258
|
+
horizontalAxisScale: 'grow',
|
|
259
|
+
verticalAxisScale: 'scale-to-fit',
|
|
260
|
+
horizontalContainerScale: 'shrink',
|
|
261
|
+
verticalContainerScale: 'shrink',
|
|
262
|
+
targetTickCount: 5,
|
|
263
|
+
};
|
|
264
|
+
//Flow charts can have many sub-buckets, so they'll scroll vertically rather than become too small to display
|
|
265
|
+
export const DefaultFlowNonElementScalingConfig = {
|
|
266
|
+
...DefaultVerticalNonElementScalingConfig,
|
|
267
|
+
verticalAxisScale: 'grow',
|
|
268
|
+
};
|
|
269
|
+
//For horizontal bar charts
|
|
270
|
+
export const DefaultHorizontalNonElementScalingConfig = {
|
|
271
|
+
dataScale: { type: 'fit' },
|
|
272
|
+
horizontalAxisScale: 'scale-to-fit',
|
|
273
|
+
verticalAxisScale: 'grow',
|
|
274
|
+
horizontalContainerScale: 'shrink',
|
|
275
|
+
verticalContainerScale: 'shrink',
|
|
276
|
+
targetTickCount: 5,
|
|
277
|
+
};
|
|
278
|
+
export function getDefaultScalingConfigByChartType(type, hasSecondary) {
|
|
279
|
+
if (type === 'horizontal-bar') {
|
|
280
|
+
if (hasSecondary) {
|
|
281
|
+
return {
|
|
282
|
+
elementScales: DefaultHorizontalBarWithSecondaryElementScalingConfig,
|
|
283
|
+
nonElementScales: DefaultHorizontalNonElementScalingConfig,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
elementScales: DefaultHorizontalBarElementScalingConfig,
|
|
288
|
+
nonElementScales: DefaultHorizontalNonElementScalingConfig,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
if (Chart.isBarType(type)) {
|
|
292
|
+
if (hasSecondary) {
|
|
293
|
+
return {
|
|
294
|
+
elementScales: DefaultBarWithSecondaryElementScalingConfig,
|
|
295
|
+
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
return {
|
|
299
|
+
elementScales: DefaultBarElementScalingConfig,
|
|
300
|
+
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
if (type === 'line' || type === 'area') {
|
|
304
|
+
if (hasSecondary) {
|
|
305
|
+
return {
|
|
306
|
+
elementScales: DefaultLineWithSecondaryElementScalingConfig,
|
|
307
|
+
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
return {
|
|
311
|
+
elementScales: DefaultLineElementScalingConfig,
|
|
312
|
+
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
if (type === 'flow') {
|
|
316
|
+
return {
|
|
317
|
+
elementScales: DefaultFlowElementScalingConfig,
|
|
318
|
+
nonElementScales: DefaultFlowNonElementScalingConfig,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
return {
|
|
322
|
+
elementScales: DefaultBarElementScalingConfig,
|
|
323
|
+
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
export const DefaultDonutElementScalingConfig = {
|
|
327
|
+
dataLabelPadding: {
|
|
328
|
+
min: 16,
|
|
329
|
+
max: 16,
|
|
330
|
+
target: 16,
|
|
331
|
+
},
|
|
332
|
+
fontSize: {
|
|
333
|
+
min: 12,
|
|
334
|
+
max: 12,
|
|
335
|
+
target: 12,
|
|
336
|
+
},
|
|
337
|
+
bucketGap: {
|
|
338
|
+
target: 0, //Not applicable
|
|
339
|
+
},
|
|
340
|
+
outerGap: {
|
|
341
|
+
target: 0, //Not applicable
|
|
342
|
+
},
|
|
343
|
+
leftPadding: {
|
|
344
|
+
target: 0, //Not applicable
|
|
345
|
+
},
|
|
346
|
+
rightPadding: {
|
|
347
|
+
target: 0, //Not applicable
|
|
348
|
+
},
|
|
349
|
+
topPadding: {
|
|
350
|
+
target: 0, //Not applicable
|
|
351
|
+
},
|
|
352
|
+
bottomPadding: {
|
|
353
|
+
target: 0, //Not applicable
|
|
354
|
+
},
|
|
355
|
+
barSize: {
|
|
356
|
+
target: 0, //Not applicable
|
|
357
|
+
},
|
|
358
|
+
barClusterGap: {
|
|
359
|
+
target: 0, //Not applicable
|
|
360
|
+
},
|
|
361
|
+
leftBucketLabel: {
|
|
362
|
+
target: 0, //Not applicable
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
export const DEFAULT_OUTER_RADIUS_CONFIG = {
|
|
366
|
+
type: 'proportion',
|
|
367
|
+
value: 0.75,
|
|
368
|
+
};
|
|
369
|
+
export const DEFAULT_DRAW_RADIUS_CONFIG = {
|
|
370
|
+
type: 'absolute',
|
|
371
|
+
value: 12,
|
|
372
|
+
};
|
|
373
|
+
export const DefaultDonutSizingConfig = {
|
|
374
|
+
outerRadius: DEFAULT_OUTER_RADIUS_CONFIG,
|
|
375
|
+
drawRadius: DEFAULT_DRAW_RADIUS_CONFIG,
|
|
376
|
+
elementScales: DefaultDonutElementScalingConfig,
|
|
377
|
+
horizontalContainerScale: 'no-scale',
|
|
378
|
+
verticalContainerScale: 'no-scale',
|
|
379
|
+
};
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtc2NhbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Zpc3VhbGl6YXRpb24vY2hhcnQvY2hhcnQtc2NhbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBeUNoQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUI7SUFDekQsT0FBTyxFQUFFLENBQUM7SUFDVixhQUFhLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSxDQUFDO0lBQ1gsV0FBVyxFQUFFLENBQUM7SUFDZCxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRSxDQUFDO0lBQ2IsYUFBYSxFQUFFLENBQUM7SUFDaEIsZUFBZSxFQUFFLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxXQUFXLEVBQUUsQ0FBQztJQUNkLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLGdCQUFnQixFQUFFLENBQUM7SUFDbkIsY0FBYyxFQUFFLENBQUM7SUFDakIsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLDJCQUEyQixFQUFFLENBQUM7SUFDOUIseUJBQXlCLEVBQUUsQ0FBQztJQUM1QixlQUFlLEVBQUUsQ0FBQztJQUNsQixrQkFBa0IsRUFBRSxVQUFVO0lBQzlCLHdCQUF3QixFQUFFLFVBQVU7SUFDcEMsc0JBQXNCLEVBQUUsVUFBVTtDQUNuQyxDQUFDO0FBdUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUE2QjtJQUN0RSxPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxFQUFFLEVBQUU7S0FD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O1FBQ1gsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQjtLQUM1QjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLEVBQUUsZ0JBQWdCO0tBQzVCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQjtLQUM1QjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsZ0JBQWdCO0tBQzVCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWlCO0lBQ3ZELElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFpQjtJQUN0RCxJQUFJLEVBQUUsVUFBVTtJQUNoQixLQUFLLEVBQUUsRUFBRTtDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsYUFBYSxFQUFFLGdDQUFnQztJQUMvQyx3QkFBd0IsRUFBRSxVQUFrQztJQUM1RCxzQkFBc0IsRUFBRSxVQUFrQztDQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICcuL2NoYXJ0JztcblxuZXhwb3J0IHR5cGUgQ2hhcnRTY2FsZUVsZW1lbnQgPVxuICB8ICdiYXJTaXplJ1xuICB8ICdiYXJDbHVzdGVyR2FwJ1xuICB8ICdidWNrZXRHYXAnXG4gIHwgJ291dGVyR2FwJ1xuICB8ICdsZWZ0UGFkZGluZydcbiAgfCAncmlnaHRQYWRkaW5nJ1xuICB8ICd0b3BQYWRkaW5nJ1xuICB8ICdib3R0b21QYWRkaW5nJ1xuICB8ICdsZWZ0QnVja2V0TGFiZWwnXG4gIHwgJ2RhdGFMYWJlbFBhZGRpbmcnXG4gIHwgJ2ZvbnRTaXplJztcblxuZXhwb3J0IHR5cGUgQ2hhcnRTY2FsZVZhbHVlcyA9IHtcbiAgW0sgaW4gQ2hhcnRTY2FsZUVsZW1lbnRdOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBDaGFydERhdGFEaXJlY3Rpb24gPVxuICB8ICd2ZXJ0aWNhbCcgLy9BbGwgY2hhcnRzIGJ1dCBob3Jpem9udGFsLWJhclxuICB8ICdob3Jpem9udGFsJzsgLy9DdXJyZW50bHkganVzdCBob3Jpem9udGFsLWJhclxuXG5leHBvcnQgdHlwZSBGdWxsQ2hhcnRTY2FsZVZhbHVlcyA9IENoYXJ0U2NhbGVWYWx1ZXMgJiB7XG4gIC8vVmFyaW91cyBoZWxwZnVsIHByZS1jYWxjZWQgdmFsdWVzXG4gIHRvdGFsV2lkdGg6IG51bWJlcjtcbiAgdG90YWxIZWlnaHQ6IG51bWJlcjtcbiAgc2l6ZUZvckRhdGE6IG51bWJlcjtcbiAgdG90YWxMZWZ0T2Zmc2V0OiBudW1iZXI7IC8vVG90YWwgZGlzdGFuY2UgYmV0d2VlbiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBjaGFydCwgYW5kIHdoZW4gd2Ugc3RhcnQgZHJhd2luZyBkYXRhXG4gIHRvdGFsUmlnaHRPZmZzZXQ6IG51bWJlcjsgLy9Ub3RhbCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBlbmQgb2YgZHJhd24gZGF0YSwgYW5kIHRoZSByaWdodCBlZGdlIG9mIHRoZSBjaGFydFxuICB0b3RhbFRvcE9mZnNldDogbnVtYmVyOyAvL1RvdGFsIGRpc3RhbmNlIGJldHdlZW4gdGhlIHRvcCBlZGdlIG9mIHRoZSBjaGFydCwgYW5kIHRoZSBzdGFydCBvZiBkcmF3biBkYXRhXG4gIHRvdGFsQm90dG9tT2Zmc2V0OiBudW1iZXI7IC8vVG90YWwgZGlzdGFuY2UgYmV0d2VlbiB0aGUgZW5kIG9mIGRyYXduIGRhdGEsIGFuZCB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGNoYXJ0XG4gIGRhdGFMYWJlbFRleHRTaXplOiBudW1iZXI7XG4gIGhvcml6b250YWxBeGlzTGFiZWxUZXh0U2l6ZTogbnVtYmVyO1xuICB2ZXJ0aWNhbEF4aXNMYWJlbFRleHRTaXplOiBudW1iZXI7XG4gIHRhcmdldFRpY2tDb3VudDogbnVtYmVyO1xuICBjaGFydERhdGFEaXJlY3Rpb246IENoYXJ0RGF0YURpcmVjdGlvbjtcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiBDb250YWluZXJTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgZW1wdHlDaGFydFNjYWxlVmFsdWVzOiBGdWxsQ2hhcnRTY2FsZVZhbHVlcyA9IHtcbiAgYmFyU2l6ZTogMCxcbiAgYmFyQ2x1c3RlckdhcDogMCxcbiAgYnVja2V0R2FwOiAwLFxuICBvdXRlckdhcDogMCxcbiAgbGVmdFBhZGRpbmc6IDAsXG4gIHJpZ2h0UGFkZGluZzogMCxcbiAgdG9wUGFkZGluZzogMCxcbiAgYm90dG9tUGFkZGluZzogMCxcbiAgbGVmdEJ1Y2tldExhYmVsOiAwLFxuICBkYXRhTGFiZWxQYWRkaW5nOiAwLFxuICBmb250U2l6ZTogMCxcbiAgdG90YWxXaWR0aDogMCxcbiAgdG90YWxIZWlnaHQ6IDAsXG4gIHNpemVGb3JEYXRhOiAwLFxuICB0b3RhbExlZnRPZmZzZXQ6IDAsXG4gIHRvdGFsUmlnaHRPZmZzZXQ6IDAsXG4gIHRvdGFsVG9wT2Zmc2V0OiAwLFxuICB0b3RhbEJvdHRvbU9mZnNldDogMCxcbiAgZGF0YUxhYmVsVGV4dFNpemU6IDAsXG4gIGhvcml6b250YWxBeGlzTGFiZWxUZXh0U2l6ZTogMCxcbiAgdmVydGljYWxBeGlzTGFiZWxUZXh0U2l6ZTogMCxcbiAgdGFyZ2V0VGlja0NvdW50OiAwLFxuICBjaGFydERhdGFEaXJlY3Rpb246ICd2ZXJ0aWNhbCcsXG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyxcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyxcbn07XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTY2FsaW5nQ29uZmlndXJhdGlvbiA9IHtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHRhcmdldDogbnVtYmVyOyAvL09uIHRoZSBkYXRhIGF4aXMsIHRoaXMgaXMgZ2VuZXJhbGx5IHRyZWF0ZWQgYXMgYSBmaXhlZCB2YWx1ZVxufTtcblxuZXhwb3J0IHR5cGUgRGF0YVNjYWxpbmdUeXBlID1cbiAgfCAnZml0JyAvL0RhdGEgd2lsbCBzY2FsZSB0byBmaXQgZGltZW5zaW9uc1xuICB8ICdtYXgnIC8vVGhlIHRhbGxlc3Qgc3RhY2svYmFyL3ZhbHVlIG9mIGRhdGEgd2lsbCBzY2FsZSB0byB0aGUgZ2l2ZW4gcHggdmFsdWVcbiAgfCAnY3VzdG9tJzsgLy9UaGUgZGF0YSB3aWxsIHNjYWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCByYXRpb1xuXG5leHBvcnQgdHlwZSBEYXRhU2NhbGluZ0NvbmZpZ3VyYXRpb24gPSAoXG4gIHwge1xuICAgICAgdHlwZTogRXh0cmFjdDxEYXRhU2NhbGluZ1R5cGUsICdmaXQnPjsgLy9UaGlzJ2xsIGZ1bmN0aW9uYWxseSByZXZlcnQgdGhlIHNjYWxpbmcgdHlwZSBvZiB0aGUgY29ycmVzcG9uZGluZyBheGlzIHRvIFwic2NhbGUtdG8tZml0XCJcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogRXh0cmFjdDxEYXRhU2NhbGluZ1R5cGUsICdtYXgnPjtcbiAgICAgIHZhbHVlOiBudW1iZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IEV4dHJhY3Q8RGF0YVNjYWxpbmdUeXBlLCAnY3VzdG9tJz47XG4gICAgICByYXRpbzoge1xuICAgICAgICBweDogbnVtYmVyO1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgfTtcbiAgICB9XG4pICYge1xuICAvL0FueSBkYXRhIGVsZW1lbnQgd2l0aCBhIG5vbi16ZXJvIHZhbHVlIGJlbG93IHRoaXMgc2l6ZSB3aWxsIGlnbm9yZSBzY2FsaW5nLCBhbmQgYmVjb21lIHRoaXMgc2l6ZVxuICBtaW5pbXVtRGF0YUVsZW1lbnRTaXplPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQXhpc1NjYWxpbmdUeXBlID1cbiAgfCAnc2NhbGUtdG8tZml0JyAvL1RoZSBjaGFydCB3aWxsIHNjYWxlIHRvIGZpdCB0aGUgcHJvdmlkZWQgZGltZW5zaW9uc1xuICB8ICdncm93JyAvL1RoZSBjaGFydCB3aWxsIGdyb3cgaWYgc21hbGxlciB0aGFuIHRoZSBwcm92aWRlZCBkaW1lbnNpb25zLCBhbmQgc2Nyb2xsIGlmIGJpZ2dlci4gT24gdGhlIGRhdGEgYXhpcywgdGhlIGRhdGEgd2lsbCBzY2FsZSB0byBmaXQsIGJ1dCB0aGUgY2hhcnQgd2lsbCBncm93IGFuZCBzY3JvbGwgcmF0aGVyIHRoYW4gZ2l2ZSB0aGUgZGF0YSBsZXNzIHRoYW4gaGFsZiBvZiB0aGUgcHJvdmlkZWQgZGltZW5zaW9uXG4gIHwgJ3NocmluaycgLy9UaGUgY2hhcnQgd2lsbCBzaHJpbmsgaWYgbGFyZ2VyIHRoYW4gdGhlIHByb3ZpZGVkIGRpbWVuc2lvbnMsIGFuZCBub3Qgc2NhbGUgb3RoZXJ3aXNlLiBUcmVhdGVkIGFzICdzY2FsZS10by1maXQnIG9uIHRoZSBkYXRhIGF4aXNcbiAgfCAnbm8tc2NhbGUnOyAvL1RoZSBjaGFydCB3aWxsIG5vdCBzY2FsZSwgYW5kIGlmIGJpZ2dlciB0aGFuIHRoZSBwcm92aWRlZCBkaW1lbnNpb25zLCB3aWxsIHNjcm9sbFxuXG5leHBvcnQgdHlwZSBDb250YWluZXJTY2FsaW5nVHlwZSA9XG4gIHwgJ3NocmluaycgLy9JZiB0aGUgY2hhcnQgZW5kcyB1cCBzbWFsbGVyIHRoYW4gdGhlIGNvbnRhaW5lciwgdGhlIGNvbnRhaW5lciB3aWxsIHNocmluayB0byBmaXRcbiAgfCAnbm8tc2NhbGUnOyAvL1RoZSBjb250YWluZXIgd2lsbCBub3QgY2hhbmdlIHNpemUsIHJlZ2FyZGxlc3Mgb2YgdGhlIHNpemUgb2YgdGhlIGNoYXJ0XG5cbmV4cG9ydCB0eXBlIEZ1bGxTY2FsaW5nQ29uZmlnID0ge1xuICBkYXRhU2NhbGU/OiBEYXRhU2NhbGluZ0NvbmZpZ3VyYXRpb247IC8vT25seSB1c2VkIGlmIHRoZSBjb3JyZXNwb25kaW5nIGF4aXMgaXMgc2V0IHRvICduby1zY2FsZScgb3IgaXMgbm90IGRlZmluZWQgYnkgaW5wdXRcbiAgZWxlbWVudFNjYWxlcz86IFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZztcbiAgaG9yaXpvbnRhbEF4aXNTY2FsZT86IEF4aXNTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxBeGlzU2NhbGU/OiBBeGlzU2NhbGluZ1R5cGU7XG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZT86IENvbnRhaW5lclNjYWxpbmdUeXBlO1xuICB2ZXJ0aWNhbENvbnRhaW5lclNjYWxlPzogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG4gIHRhcmdldFRpY2tDb3VudD86IG51bWJlcjsgLy9UYXJnZXQgbnVtYmVyIGZvciB0aGUgbnVtYmVyIG9mIHRpY2tzIG9uIHRoZSBkYXRhIGF4aXMuIERlZmF1bHRzIHRvICc1J1xufTtcblxuLy9Gb3IgdXNlIGluIGNoYXJ0LXR5cGUgZGVmYXVsdHNcbmV4cG9ydCB0eXBlIE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnID0gT21pdDxcbiAgLy9UaGlzIHBhcnQgY29waWVzIEZ1bGxTY2FsaW5nQ29uZmlnLCBidXQgcmVtb3ZlcyB0aGUgYWJpbGl0eSBmb3IgYXR0cmlidXRlcyB0byBiZSBvcHRpb25hbFxuICB7XG4gICAgW0sgaW4ga2V5b2YgRnVsbFNjYWxpbmdDb25maWddLT86IEZ1bGxTY2FsaW5nQ29uZmlnW0tdO1xuICB9LFxuICAvL1RoaXMgcGFydCBleGNsdWRlcyBlbGVtZW50U2NhbGVzLCBzaW5jZSB3ZSBoYW5kbGUgdGhvc2UgZGVmYXVsdHMgc2VwYXJhdGVseVxuICAnZWxlbWVudFNjYWxlcydcbj47XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgW0sgaW4gQ2hhcnRTY2FsZUVsZW1lbnRdPzogRWxlbWVudFNjYWxpbmdDb25maWd1cmF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBbSyBpbiBDaGFydFNjYWxlRWxlbWVudF06IEVsZW1lbnRTY2FsaW5nQ29uZmlndXJhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFyRWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgYmFyU2l6ZToge1xuICAgIG1pbjogMSxcbiAgICBtYXg6IDgwLFxuICAgIHRhcmdldDogMzAsXG4gIH0sXG4gIGJhckNsdXN0ZXJHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgbWF4OiA4LFxuICAgIHRhcmdldDogOCxcbiAgfSxcbiAgYnVja2V0R2FwOiB7XG4gICAgbWluOiAxLFxuICAgIHRhcmdldDogNDAsXG4gIH0sXG4gIG91dGVyR2FwOiB7XG4gICAgbWluOiAwLFxuICAgIHRhcmdldDogMTYsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiA0OCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIG1pbjogOCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIG1pbjogMjAsXG4gICAgbWF4OiAyMCxcbiAgICB0YXJnZXQ6IDIwLFxuICB9LFxuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiA4LFxuICAgIG1heDogOCxcbiAgICB0YXJnZXQ6IDgsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxufTtcbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFyV2l0aFNlY29uZGFyeUVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgLi4uRGVmYXVsdEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIHJpZ2h0UGFkZGluZzoge1xuICAgICAgbWluOiA0OCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gIH07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgYmFyU2l6ZToge1xuICAgICAgbWluOiAxLFxuICAgICAgbWF4OiA4LFxuICAgICAgdGFyZ2V0OiA4LFxuICAgIH0sXG4gICAgYmFyQ2x1c3RlckdhcDoge1xuICAgICAgbWluOiAxLFxuICAgICAgbWF4OiA4LFxuICAgICAgdGFyZ2V0OiA4LFxuICAgIH0sXG4gICAgYnVja2V0R2FwOiB7XG4gICAgICBtaW46IDEsXG4gICAgICB0YXJnZXQ6IDE2LFxuICAgIH0sXG4gICAgb3V0ZXJHYXA6IHtcbiAgICAgIG1pbjogMCxcbiAgICAgIHRhcmdldDogOCxcbiAgICB9LFxuICAgIGxlZnRQYWRkaW5nOiB7XG4gICAgICBtaW46IDgsXG4gICAgICBtYXg6IDgsXG4gICAgICB0YXJnZXQ6IDgsXG4gICAgfSxcbiAgICByaWdodFBhZGRpbmc6IHtcbiAgICAgIG1pbjogOCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gICAgdG9wUGFkZGluZzoge1xuICAgICAgbWluOiAxNixcbiAgICAgIG1heDogMTYsXG4gICAgICB0YXJnZXQ6IDE2LFxuICAgIH0sXG4gICAgYm90dG9tUGFkZGluZzoge1xuICAgICAgbWluOiAwLFxuICAgICAgbWF4OiAyMCxcbiAgICAgIHRhcmdldDogMCxcbiAgICB9LFxuICAgIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgICAgbWluOiA4LFxuICAgICAgbWF4OiAxOTIsXG4gICAgICB0YXJnZXQ6IDY4LCAvL1NpemUgdXNlZCBmb3IgdGltZXNlcmllcyBidWNrZXRzXG4gICAgfSxcbiAgICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgICBtaW46IDgsXG4gICAgICBtYXg6IDgsXG4gICAgICB0YXJnZXQ6IDgsXG4gICAgfSxcbiAgICBmb250U2l6ZToge1xuICAgICAgbWluOiAxMixcbiAgICAgIG1heDogMTIsXG4gICAgICB0YXJnZXQ6IDEyLFxuICAgIH0sXG4gIH07XG5leHBvcnQgY29uc3QgRGVmYXVsdEhvcml6b250YWxCYXJXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9XG4gIHtcbiAgICAuLi5EZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIGJvdHRvbVBhZGRpbmc6IHtcbiAgICAgIG1pbjogMjAsXG4gICAgICBtYXg6IDIwLFxuICAgICAgdGFyZ2V0OiAyMCxcbiAgICB9LFxuICB9O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdExpbmVFbGVtZW50U2NhbGluZ0NvbmZpZzogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBidWNrZXRHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgdGFyZ2V0OiAzMixcbiAgfSxcbiAgb3V0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDEsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiA0OCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIG1pbjogOCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIG1pbjogMjAsXG4gICAgbWF4OiAyMCxcbiAgICB0YXJnZXQ6IDIwLFxuICB9LFxuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiA4LFxuICAgIG1heDogOCxcbiAgICB0YXJnZXQ6IDgsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGJhclNpemU6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyQ2x1c3RlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0QnVja2V0TGFiZWw6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd0VsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPSB7XG4gIGJhclNpemU6IHtcbiAgICBtaW46IDEsXG4gICAgbWF4OiA0MCxcbiAgICB0YXJnZXQ6IDQwLFxuICB9LFxuICBidWNrZXRHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgdGFyZ2V0OiAxODAsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiAyNCxcbiAgICBtYXg6IDEwOCxcbiAgICB0YXJnZXQ6IDEwOCxcbiAgfSxcbiAgcmlnaHRQYWRkaW5nOiB7XG4gICAgbWluOiAyNCxcbiAgICBtYXg6IDEwOCxcbiAgICB0YXJnZXQ6IDEwOCxcbiAgfSxcbiAgZGF0YUxhYmVsUGFkZGluZzoge1xuICAgIG1pbjogMzYsXG4gICAgbWF4OiAzNixcbiAgICB0YXJnZXQ6IDM2LFxuICB9LFxuICBmb250U2l6ZToge1xuICAgIG1pbjogMTIsXG4gICAgbWF4OiAxMixcbiAgICB0YXJnZXQ6IDEyLFxuICB9LFxuICB0b3BQYWRkaW5nOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGJvdHRvbVBhZGRpbmc6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgb3V0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyQ2x1c3RlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0QnVja2V0TGFiZWw6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0TGluZVdpdGhTZWNvbmRhcnlFbGVtZW50U2NhbGluZ0NvbmZpZzogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID1cbiAge1xuICAgIC4uLkRlZmF1bHRMaW5lRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgcmlnaHRQYWRkaW5nOiB7XG4gICAgICBtaW46IDQ4LFxuICAgICAgbWF4OiA0OCxcbiAgICAgIHRhcmdldDogNDgsXG4gICAgfSxcbiAgfTtcblxuLy9Gb3IgYmFyLCBsaW5lLCBhcmVhLCB3YXRlcmZhbGwgYW5kIGZ1bm5lbCBjaGFydHNcbmV4cG9ydCBjb25zdCBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZzogTm9uRWxlbWVudFNjYWxpbmdDb25maWcgPSB7XG4gIGRhdGFTY2FsZTogeyB0eXBlOiAnZml0JyB9LFxuICBob3Jpem9udGFsQXhpc1NjYWxlOiAnZ3JvdycsXG4gIHZlcnRpY2FsQXhpc1NjYWxlOiAnc2NhbGUtdG8tZml0JyxcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiAnc2hyaW5rJyxcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ3NocmluaycsXG4gIHRhcmdldFRpY2tDb3VudDogNSxcbn07XG4vL0Zsb3cgY2hhcnRzIGNhbiBoYXZlIG1hbnkgc3ViLWJ1Y2tldHMsIHNvIHRoZXknbGwgc2Nyb2xsIHZlcnRpY2FsbHkgcmF0aGVyIHRoYW4gYmVjb21lIHRvbyBzbWFsbCB0byBkaXNwbGF5XG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3dOb25FbGVtZW50U2NhbGluZ0NvbmZpZzogTm9uRWxlbWVudFNjYWxpbmdDb25maWcgPSB7XG4gIC4uLkRlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICB2ZXJ0aWNhbEF4aXNTY2FsZTogJ2dyb3cnLFxufTtcbi8vRm9yIGhvcml6b250YWwgYmFyIGNoYXJ0c1xuZXhwb3J0IGNvbnN0IERlZmF1bHRIb3Jpem9udGFsTm9uRWxlbWVudFNjYWxpbmdDb25maWc6IE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnID1cbiAge1xuICAgIGRhdGFTY2FsZTogeyB0eXBlOiAnZml0JyB9LFxuICAgIGhvcml6b250YWxBeGlzU2NhbGU6ICdzY2FsZS10by1maXQnLFxuICAgIHZlcnRpY2FsQXhpc1NjYWxlOiAnZ3JvdycsXG4gICAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiAnc2hyaW5rJyxcbiAgICB2ZXJ0aWNhbENvbnRhaW5lclNjYWxlOiAnc2hyaW5rJyxcbiAgICB0YXJnZXRUaWNrQ291bnQ6IDUsXG4gIH07XG5cbmV4cG9ydCB0eXBlIERlZmF1bHRTY2FsaW5nQ29uZmlnID0ge1xuICBlbGVtZW50U2NhbGVzOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWc7XG4gIG5vbkVsZW1lbnRTY2FsZXM6IE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRTY2FsaW5nQ29uZmlnQnlDaGFydFR5cGUoXG4gIHR5cGU6IEV4Y2x1ZGU8Q2hhcnQuQ2hhcnRUeXBlLCAnZG9udXQnPixcbiAgaGFzU2Vjb25kYXJ5OiBib29sZWFuLFxuKTogRGVmYXVsdFNjYWxpbmdDb25maWcge1xuICBpZiAodHlwZSA9PT0gJ2hvcml6b250YWwtYmFyJykge1xuICAgIGlmIChoYXNTZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRIb3Jpem9udGFsQmFyV2l0aFNlY29uZGFyeUVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0SG9yaXpvbnRhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRIb3Jpem9udGFsQmFyRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0SG9yaXpvbnRhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIH07XG4gIH1cbiAgaWYgKENoYXJ0LmlzQmFyVHlwZSh0eXBlKSkge1xuICAgIGlmIChoYXNTZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRCYXJXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRCYXJFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIH07XG4gIH1cbiAgaWYgKHR5cGUgPT09ICdsaW5lJyB8fCB0eXBlID09PSAnYXJlYScpIHtcbiAgICBpZiAoaGFzU2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0TGluZVdpdGhTZWNvbmRhcnlFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdFZlcnRpY2FsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdExpbmVFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIH07XG4gIH1cbiAgaWYgKHR5cGUgPT09ICdmbG93Jykge1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0Rmxvd0VsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdEZsb3dOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgZWxlbWVudFNjYWxlczogRGVmYXVsdEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICB9O1xufVxuXG50eXBlIFJhZGl1c0NvbmZpZyA9IHtcbiAgdHlwZTogJ3Byb3BvcnRpb24nIHwgJ2Fic29sdXRlJztcbiAgdmFsdWU6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIERvbnV0U2l6aW5nQ29uZmlnID0ge1xuICBvdXRlclJhZGl1cz86IFJhZGl1c0NvbmZpZzsgLy9JZiBwcm9wb3J0aW9uLCBpdCdzIHJlbGF0aXZlIHRvIHRoZSBjb250YWluZXJcbiAgZHJhd1JhZGl1cz86IFJhZGl1c0NvbmZpZzsgLy9JZiBwcm9wb3J0aW9uLCBpdCdzIHJlbGF0aXZlIHRvIHRoZSBvdXRlciByYWRpdXNcbiAgZWxlbWVudFNjYWxlcz86IFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZztcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlPzogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG4gIHZlcnRpY2FsQ29udGFpbmVyU2NhbGU/OiBDb250YWluZXJTY2FsaW5nVHlwZTtcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RG9udXRFbGVtZW50U2NhbGluZ0NvbmZpZzogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiAxNixcbiAgICBtYXg6IDE2LFxuICAgIHRhcmdldDogMTYsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGJ1Y2tldEdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBvdXRlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0UGFkZGluZzoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICByaWdodFBhZGRpbmc6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgdG9wUGFkZGluZzoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBib3R0b21QYWRkaW5nOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGJhclNpemU6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyQ2x1c3RlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0QnVja2V0TGFiZWw6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVEVSX1JBRElVU19DT05GSUc6IFJhZGl1c0NvbmZpZyA9IHtcbiAgdHlwZTogJ3Byb3BvcnRpb24nLFxuICB2YWx1ZTogMC43NSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RSQVdfUkFESVVTX0NPTkZJRzogUmFkaXVzQ29uZmlnID0ge1xuICB0eXBlOiAnYWJzb2x1dGUnLFxuICB2YWx1ZTogMTIsXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERvbnV0U2l6aW5nQ29uZmlnID0ge1xuICBvdXRlclJhZGl1czogREVGQVVMVF9PVVRFUl9SQURJVVNfQ09ORklHLFxuICBkcmF3UmFkaXVzOiBERUZBVUxUX0RSQVdfUkFESVVTX0NPTkZJRyxcbiAgZWxlbWVudFNjYWxlczogRGVmYXVsdERvbnV0RWxlbWVudFNjYWxpbmdDb25maWcsXG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyBhcyBDb250YWluZXJTY2FsaW5nVHlwZSxcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyBhcyBDb250YWluZXJTY2FsaW5nVHlwZSxcbn07XG4iXX0=
|