@testgorilla/tgo-ui 3.10.20 → 3.11.0
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/components/donut-chart/donut-chart.component.d.ts +2 -2
- package/esm2022/assets/i18n/da-dk.json +649 -10
- package/esm2022/assets/i18n/de.json +649 -10
- package/esm2022/assets/i18n/es.json +649 -10
- package/esm2022/assets/i18n/fr.json +649 -10
- package/esm2022/assets/i18n/it-it.json +649 -10
- package/esm2022/assets/i18n/ja-jp.json +649 -10
- package/esm2022/assets/i18n/nb-no.json +649 -10
- package/esm2022/assets/i18n/nl.json +649 -10
- package/esm2022/assets/i18n/pl-pl.json +649 -10
- package/esm2022/assets/i18n/pt-br.json +649 -10
- package/esm2022/assets/i18n/sv-se.json +649 -10
- package/esm2022/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/accordion.component.module.mjs +1 -1
- package/esm2022/components/accordion/accordion.model.mjs +1 -1
- package/esm2022/components/alert-banner/alert-banner.component.mjs +3 -3
- package/esm2022/components/alert-banner/alert-banner.component.module.mjs +1 -1
- package/esm2022/components/alert-banner/alert-banner.model.mjs +1 -1
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +1 -1
- package/esm2022/components/autocomplete/autocomplete.model.mjs +1 -1
- package/esm2022/components/autocomplete/includes.pipe.mjs +1 -1
- package/esm2022/components/autocomplete/prevent-input.directive.mjs +1 -1
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +1 -1
- package/esm2022/components/avatar/avatar.component.mjs +3 -3
- package/esm2022/components/avatar/avatar.component.module.mjs +1 -1
- package/esm2022/components/avatar/avatar.model.mjs +1 -1
- package/esm2022/components/badge/badge.component.mjs +1 -1
- package/esm2022/components/badge/badge.component.module.mjs +1 -1
- package/esm2022/components/card/card.component.module.mjs +1 -1
- package/esm2022/components/card/card.model.mjs +1 -1
- package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/components/checkbox/checkbox.component.module.mjs +1 -1
- package/esm2022/components/checkbox/focus-visible.directive.mjs +1 -1
- package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +1 -1
- package/esm2022/components/datepicker/datepicker.component.module.mjs +1 -1
- package/esm2022/components/datepicker/datepicker.service.mjs +1 -1
- package/esm2022/components/datepicker/no-date-format.directive.mjs +1 -1
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +3 -3
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +1 -1
- package/esm2022/components/dialog/dialog.component.module.mjs +1 -1
- package/esm2022/components/divider/divider.component.mjs +3 -3
- package/esm2022/components/divider/divider.component.module.mjs +1 -1
- package/esm2022/components/divider/divider.model.mjs +1 -1
- package/esm2022/components/dropdown/dropdown.component.module.mjs +1 -1
- package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +3 -3
- package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +1 -1
- package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +1 -1
- package/esm2022/components/empty-state/empty-state.component.module.mjs +1 -1
- package/esm2022/components/field/field.model.mjs +1 -1
- package/esm2022/components/file-upload/file-upload.component.module.mjs +1 -1
- package/esm2022/components/filter-button/filter-button.component.module.mjs +1 -1
- package/esm2022/components/filter-button/filter-button.model.mjs +1 -1
- package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +1 -1
- package/esm2022/components/icon/icon.component.mjs +3 -3
- package/esm2022/components/icon/icon.component.module.mjs +1 -1
- package/esm2022/components/icon/icon.model.mjs +1 -1
- package/esm2022/components/icon-label/icon-label.component.module.mjs +1 -1
- package/esm2022/components/logo/logo.component.mjs +3 -3
- package/esm2022/components/logo/logo.component.module.mjs +1 -1
- package/esm2022/components/logo/logo.model.mjs +1 -1
- package/esm2022/components/media-card/media-card.component.mjs +3 -3
- package/esm2022/components/multi-input/multi-input.component.mjs +3 -3
- package/esm2022/components/multi-input/multi-input.component.module.mjs +1 -1
- package/esm2022/components/multi-input/multi-input.model.mjs +1 -1
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +3 -3
- package/esm2022/components/navbar/navbar.component.mjs +3 -3
- package/esm2022/components/navbar/navbar.component.module.mjs +1 -1
- package/esm2022/components/navbar/navbar.model.mjs +1 -1
- package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +1 -1
- package/esm2022/components/page-header/page-header.component.mjs +3 -3
- package/esm2022/components/page-header/page-header.component.module.mjs +1 -1
- package/esm2022/components/paginator/paginator.component.mjs +3 -3
- package/esm2022/components/paginator/paginator.component.module.mjs +1 -1
- package/esm2022/components/password-criteria/password.component.mjs +3 -3
- package/esm2022/components/password-criteria/password.component.module.mjs +1 -1
- package/esm2022/components/password-strength/password-strength.component.mjs +3 -3
- package/esm2022/components/password-strength/password-strength.component.module.mjs +1 -1
- package/esm2022/components/phone-input/join-strings.pipe.mjs +1 -1
- package/esm2022/components/phone-input/phone-input.component.mjs +3 -3
- package/esm2022/components/phone-input/phone-input.component.module.mjs +1 -1
- package/esm2022/components/phone-input/phone-input.model.mjs +1 -1
- package/esm2022/components/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/components/progress-bar/progress-bar.component.module.mjs +1 -1
- package/esm2022/components/radial-progress/radial-progress.component.module.mjs +1 -1
- package/esm2022/components/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/components/radio-button/radio-button.component.module.mjs +1 -1
- package/esm2022/components/radio-button/radio-button.model.mjs +1 -1
- package/esm2022/components/rating/half-star.pipe.mjs +1 -1
- package/esm2022/components/rating/rating.component.mjs +3 -3
- package/esm2022/components/rating/rating.component.module.mjs +1 -1
- package/esm2022/components/scale/scale.component.module.mjs +1 -1
- package/esm2022/components/segmented-bar/segmented-bar.component.mjs +3 -3
- package/esm2022/components/segmented-bar/segmented-bar.model.mjs +1 -1
- package/esm2022/components/segmented-button/segmented-button.component.mjs +1 -1
- package/esm2022/components/segmented-button/segmented-button.component.module.mjs +1 -1
- package/esm2022/components/segmented-button/segmented-button.model.mjs +1 -1
- package/esm2022/components/side-panel/side-panel.animations.mjs +1 -1
- package/esm2022/components/side-sheet/side-sheet.component.mjs +3 -3
- package/esm2022/components/side-sheet/side-sheet.component.module.mjs +1 -1
- package/esm2022/components/side-sheet/side-sheet.model.mjs +1 -1
- package/esm2022/components/side-sheet/side-sheet.service.mjs +1 -1
- package/esm2022/components/skeleton/skeleton.model.mjs +1 -1
- package/esm2022/components/slider/slider.component.mjs +3 -3
- package/esm2022/components/slider/slider.component.module.mjs +1 -1
- package/esm2022/components/slider/slider.model.mjs +1 -1
- package/esm2022/components/snackbar/snackbar.component.mjs +3 -3
- package/esm2022/components/snackbar/snackbar.component.module.mjs +1 -1
- package/esm2022/components/snackbar/snackbar.model.mjs +1 -1
- package/esm2022/components/snackbar/snackbar.service.mjs +1 -1
- package/esm2022/components/spider-chart/spider-chart.component.mjs +3 -3
- package/esm2022/components/spider-chart/spider-chart.model.mjs +1 -1
- package/esm2022/components/spider-chart/spider-chart.module.mjs +1 -1
- package/esm2022/components/spinner/spinner.model.mjs +1 -1
- package/esm2022/components/step/step.component.mjs +3 -3
- package/esm2022/components/step/step.component.module.mjs +1 -1
- package/esm2022/components/stepper/stepper.component.mjs +3 -3
- package/esm2022/components/stepper/stepper.component.module.mjs +1 -1
- package/esm2022/components/stepper/stepper.model.mjs +1 -1
- package/esm2022/components/table/sentence-case.pipe.mjs +1 -1
- package/esm2022/components/table/table.component.mjs +3 -3
- package/esm2022/components/table/table.component.module.mjs +1 -1
- package/esm2022/components/table/table.model.mjs +1 -1
- package/esm2022/components/tag/tag.component.mjs +3 -3
- package/esm2022/components/tag/tag.component.module.mjs +1 -1
- package/esm2022/components/tag/tag.model.mjs +1 -1
- package/esm2022/components/toggle/toggle.component.mjs +3 -3
- package/esm2022/components/toggle/toggle.component.module.mjs +1 -1
- package/esm2022/components/toggle/toggle.model.mjs +1 -1
- package/esm2022/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/components/tooltip/tooltip.model.mjs +1 -1
- package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +3 -3
- package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +1 -1
- package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +3 -3
- package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +1 -1
- package/esm2022/components/validation-error/validation-error.component.mjs +3 -3
- package/esm2022/components/validation-error/validation-error.model.mjs +1 -1
- package/esm2022/components/validation-error/validation-error.module.mjs +1 -1
- package/esm2022/directives/digits-only.directive.mjs +1 -1
- package/esm2022/directives/drag-drop.directive.mjs +1 -1
- package/esm2022/directives/dynamic-component.directive.mjs +1 -1
- package/esm2022/directives/ellipse-text.directive.mjs +1 -1
- package/esm2022/directives/select-text.directive.mjs +1 -1
- package/esm2022/directives/step-line-element.directive.mjs +1 -1
- package/esm2022/models/application-theme.model.mjs +1 -1
- package/esm2022/models/checkbox.model.mjs +1 -1
- package/esm2022/models/colors.model.mjs +1 -1
- package/esm2022/models/keyboard-events.model.mjs +1 -1
- package/esm2022/models/screen-breakpoints.model.mjs +1 -1
- package/esm2022/models/universal-skills-report.model.mjs +1 -1
- package/esm2022/pipes/data-property-getter.mjs +1 -1
- package/esm2022/pipes/has-validation-error.pipe.mjs +1 -1
- package/esm2022/pipes/memoize-func.pipe.mjs +1 -1
- package/esm2022/pipes/name-initials.pipe.mjs +1 -1
- package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +1 -1
- package/esm2022/pipes/ui-translate.pipe.mjs +1 -1
- package/esm2022/services/icons.service.mjs +1 -1
- package/esm2022/services/universal-skills.service.mjs +1 -1
- package/esm2022/utils/alert-bar.model.mjs +1 -1
- package/esm2022/utils/autocomplete-utils.mjs +2 -2
- package/esm2022/utils/color-contrast.mjs +1 -1
- package/esm2022/utils/hex-to-rgb.mjs +1 -1
- package/esm2022/utils/localization/language.model.mjs +1 -1
- package/esm2022/utils/localization/language.service.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +7648 -547
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/projects/tgo-canopy-ui/assets/i18n/da-dk.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/de.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/es.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/fr.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/it-it.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/ja-jp.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/nb-no.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/nl.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/pl-pl.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/pt-br.json +649 -10
- package/projects/tgo-canopy-ui/assets/i18n/sv-se.json +649 -10
- package/projects/tgo-canopy-ui/assets/icons/Add.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Archive.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Arrow_down.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Arrow_left.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Arrow_right.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Arrow_up.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Assessment.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Attempts.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Book.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Calendar.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Candidates.svg +8 -8
- package/projects/tgo-canopy-ui/assets/icons/Chat-notifications.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Chat.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Check.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Clone.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Close.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Code.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Company.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Copy.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Custom-questions.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Delete.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Devices.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Document.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Dot.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Download.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Edit.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Email-message.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Employee.svg +8 -8
- package/projects/tgo-canopy-ui/assets/icons/Empty-placeholder.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Error.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Essay.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Eye-hide.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Eye-view.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Fast-forward.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Fast-rewind.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Feedback-1.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Feedback-2.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Feedback-3.svg +6 -6
- package/projects/tgo-canopy-ui/assets/icons/Feedback-4.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Feedback-5.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/File-attach.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/File-upload.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Filter.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Fire.svg +10 -10
- package/projects/tgo-canopy-ui/assets/icons/Folder.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-add-file.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-add-table.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-align-L.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-align-R.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-align-center.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-align-justify.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-bold.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-code-active.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-code-block.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-edit-table.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-format.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-function.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-italics.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-list-bulleted.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-list-numbered.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-picker.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-quote.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-subscript.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-superscript.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-text-direction-L.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-text-direction-R.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-text-size.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-underline.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Format-variable.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Full-screen.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Gender-female.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Gender-male.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Gift.svg +7 -7
- package/projects/tgo-canopy-ui/assets/icons/Google.svg +6 -6
- package/projects/tgo-canopy-ui/assets/icons/Grab.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Help-2.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Help.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Image.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Info.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Integration.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Language.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Layout.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Learn.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Level.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Light-bulb.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Link.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Loading-spinner.svg +10 -10
- package/projects/tgo-canopy-ui/assets/icons/Localisation.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Location.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Lock.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Log-out.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Menu-burger.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Menu-ellipsis.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Microphone.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Minimize.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Minus.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Money-bag.svg +5 -5
- package/projects/tgo-canopy-ui/assets/icons/Mouse-cursor.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Mouse-grab-cursor.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Mouse.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Multi-choice.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Notifications.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Password.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Path.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Pin-marker.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Plan-billing.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Plus.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Premium.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Promotion.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Question-count.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Refer.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Reset.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Review.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Round-check-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Round-check.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Search.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Secure-checkout.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Send.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Settings.svg +8 -8
- package/projects/tgo-canopy-ui/assets/icons/Share.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Skip-next.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Skip-previous.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/Social-facebook.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Social-instagram.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Social-linkedin.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Sorting-down-1.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Sorting-down.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Sparkles.svg +18 -18
- package/projects/tgo-canopy-ui/assets/icons/Speedometer.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Star-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Star-half.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Star-outline.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Suitcase.svg +6 -6
- package/projects/tgo-canopy-ui/assets/icons/Support.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Sync.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Team.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Test.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/TestGorilla.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/Thunder.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Timer.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Trophy.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Type.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Unarchive.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Unlock.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Upgrade.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Upload.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/User-access.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/User-add.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/User-invite.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/User-profile.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/User-reject.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/User-switch.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Video-pause.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Video-play.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Video-record.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Video-stop.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Video.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Volume.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Warning.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/Zoom-in.svg +6 -6
- package/projects/tgo-canopy-ui/assets/icons/Zoom-out.svg +5 -5
- package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-filled-disabled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-half.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-outline.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Add-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Add-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Archive-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Archive-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-down-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-down-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-left-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-left-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-right-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-right-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-up-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-up-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-down-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-down-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-up-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-up-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Assessment-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Assessment-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Attach-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Attach-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Attempts-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Attempts-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Book-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Book-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Calendar-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Calendar-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Candidates-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Candidates-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Chat-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Chat-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-round-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-round-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Clone-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Clone-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Code-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Code-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Company-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Company-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Copy-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Copy-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Delete-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Delete-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Devices-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Devices-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Disconnected-in-line.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Document-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Document-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Dot-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Dot-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Download-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Download-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-text-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-text-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Employee-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Employee-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Empty-search-in-line.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Error-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Error-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Essay-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Essay-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Experience-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Experience-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Facebook-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Facebook-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-forward-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-forward-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-rewind-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-rewind-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Filter-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Filter-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Fire-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Fire-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Folder-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Folder-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Full-screen-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Full-screen-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-female-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-female-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-male-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-male-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Gift-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Gift-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Google-filled.svg +6 -6
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Google-in-line.svg +6 -6
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Grab-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Grab-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Help-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Help-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Hide-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Hide-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Image-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Image-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Info-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Info-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Instagram-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Instagram-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Integration-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Integration-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Invite-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Invite-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Language-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Language-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Layout-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Layout-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Learn-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Learn-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Level-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Level-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Light-bulb-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Light-bulb-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Link-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Link-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Linkedin-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Linkedin-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Localization-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Localization-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Location-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Location-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Lock-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Lock-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Logout-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Logout-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Lost-found-404-in-line.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Medal-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Medal-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-burger-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-burger-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-ellipsis-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-ellipsis-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Mic-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Mic-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Minimize-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Minimize-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Minus-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Minus-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Mouse-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Mouse-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Multi-choice-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Multi-choice-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Notification-bell-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Notification-bell-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Password-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Password-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Path-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Path-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Pause-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Pause-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Pin-marker-filled.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Pin-marker-in-line.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Plan-billing-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Plan-billing-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Play-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Play-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Plus-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Plus-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-circle-in-line.svg +5 -5
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-count-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-count-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Record-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Record-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Refer-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Refer-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Reject-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Reject-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Reset-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Reset-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-1-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-1-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-2-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-2-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-3-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-3-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-4-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-4-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-5-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-5-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-half-star-filled.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-half-star-in-line.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-filled-disabled.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-filled.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-in-line.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Round-check-in-line.svg +4 -4
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Search-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Search-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Secure-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Secure-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Send-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Send-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Settings-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Settings-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Share-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Share-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-next-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-next-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-previous-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-previous-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Speedometer-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Speedometer-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-filled.svg +5 -5
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-in-line.svg +5 -5
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Stop-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Stop-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Sync-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Sync-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Team-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Team-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Test-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Test-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-filled.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-in-line.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-filled.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-in-line.svg +11 -11
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Timer-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Timer-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Trophy-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Trophy-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Type-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Type-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Unarchive-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Unarchive-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Unlock-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Unlock-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Upgrade-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Upgrade-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Upload-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Upload-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/User-access-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/User-access-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/User-add-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/User-add-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/User-profile-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/User-profile-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Validated-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Validated-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-filled.svg +23 -23
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-in-line.svg +23 -23
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Video-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Video-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/View-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/View-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Volume-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Volume-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Warning-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Warning-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-in-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-in-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-out-filled.svg +3 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-out-in-line.svg +3 -3
- package/projects/tgo-canopy-ui/assets/images/empty-state-default.svg +9 -9
- package/projects/tgo-canopy-ui/assets/images/poweredbyTG.svg +37 -37
- package/projects/tgo-canopy-ui/assets/images/premium.svg +5 -5
- package/projects/tgo-canopy-ui/assets/images/rebrand-last-step-icon-black.svg +3 -3
- package/projects/tgo-canopy-ui/assets/images/rebrand-last-step-icon-light.svg +3 -3
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/powered-by.svg +22 -22
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_brandmark_pink.svg +10 -10
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_lockup_pink.svg +22 -22
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_wordmark_pink.svg +21 -21
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_brandmark_black.svg +11 -11
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_brandmark_cream.svg +11 -11
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_lockup_black.svg +23 -23
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_lockup_cream.svg +23 -23
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_wordmark_black.svg +21 -21
- package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_wordmark_cream.svg +21 -21
- package/projects/tgo-canopy-ui/assets/images/reverseTG.svg +84 -84
- package/projects/tgo-canopy-ui/assets/images/step-finish.svg +6 -6
- package/projects/tgo-canopy-ui/assets/images/testgorilla.svg +76 -76
- package/projects/tgo-canopy-ui/theme/_alert-bars.scss +110 -110
- package/projects/tgo-canopy-ui/theme/_breakpoints-mixin.scss +12 -12
- package/projects/tgo-canopy-ui/theme/_button.scss +72 -72
- package/projects/tgo-canopy-ui/theme/_core.scss +19 -19
- package/projects/tgo-canopy-ui/theme/_font.scss +95 -95
- package/projects/tgo-canopy-ui/theme/_icon.scss +5 -5
- package/projects/tgo-canopy-ui/theme/_lib-styles.scss +35 -35
- package/projects/tgo-canopy-ui/theme/_mat-paginator.scss +59 -59
- package/projects/tgo-canopy-ui/theme/line-clamp.scss +8 -8
- package/projects/tgo-canopy-ui/theme/theme.scss +67 -67
|
@@ -407,11 +407,11 @@ export class SpiderChartComponent {
|
|
|
407
407
|
return label.substring(firstLine.length).trim();
|
|
408
408
|
}
|
|
409
409
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
410
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"spacing-container\"\r\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\r\n <div class=\"chart-container\"\r\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\r\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\r\n @if (!loading) {\r\n <canvas\r\n baseChart\r\n [data]=\"radarChartData\"\r\n [options]=\"radarChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n } @else {\r\n <canvas\r\n baseChart\r\n [data]=\"loadingChartData\"\r\n [options]=\"loadingChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n <ui-spinner></ui-spinner>\r\n }\r\n\r\n @if (labelPositionsVisible) {\r\n <div class=\"overlay-container\">\r\n @for (label of spiderChartData.labels; track label) {\r\n <div class=\"label-container\" #labelContainer\r\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n (keydown)=\"onLabelKeyDown($event, $index)\"\r\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\r\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\r\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\r\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\r\n {{ label }}\r\n </div>\r\n } @else {\r\n <div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\r\n </div>\r\n }\r\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\r\n </div>\r\n <span class=\"fake-data-points\" #fakeDataPoints\r\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\r\n </span>\r\n @if (radarChartData.datasets.length > 1) {\r\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\r\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (radarChartData.datasets.length > 0) {\r\n <div class=\"legend-container\">\r\n @for (dataset of radarChartData.datasets; track dataset.label) {\r\n <div class=\"legend-item\"\r\n (click)=\"toggleDatasetVisibility($index)\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n role=\"button\"\r\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\r\n [attr.aria-label]=\"isDatasetVisible($index) ?\r\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\r\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\r\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\r\n #legendItem>\r\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\r\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\r\n {{ dataset.label }}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
411
411
|
}
|
|
412
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, decorators: [{
|
|
413
413
|
type: Component,
|
|
414
|
-
args: [{ selector: 'ui-spider-chart', template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"] }]
|
|
414
|
+
args: [{ selector: 'ui-spider-chart', template: "<div class=\"spider-chart-container\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"spacing-container\"\r\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\r\n <div class=\"chart-container\"\r\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\r\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\r\n @if (!loading) {\r\n <canvas\r\n baseChart\r\n [data]=\"radarChartData\"\r\n [options]=\"radarChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n } @else {\r\n <canvas\r\n baseChart\r\n [data]=\"loadingChartData\"\r\n [options]=\"loadingChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n <ui-spinner></ui-spinner>\r\n }\r\n\r\n @if (labelPositionsVisible) {\r\n <div class=\"overlay-container\">\r\n @for (label of spiderChartData.labels; track label) {\r\n <div class=\"label-container\" #labelContainer\r\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n (keydown)=\"onLabelKeyDown($event, $index)\"\r\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\r\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\r\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\r\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\r\n {{ label }}\r\n </div>\r\n } @else {\r\n <div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\r\n </div>\r\n }\r\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\r\n </div>\r\n <span class=\"fake-data-points\" #fakeDataPoints\r\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\r\n </span>\r\n @if (radarChartData.datasets.length > 1) {\r\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\r\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (radarChartData.datasets.length > 0) {\r\n <div class=\"legend-container\">\r\n @for (dataset of radarChartData.datasets; track dataset.label) {\r\n <div class=\"legend-item\"\r\n (click)=\"toggleDatasetVisibility($index)\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n role=\"button\"\r\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\r\n [attr.aria-label]=\"isDatasetVisible($index) ?\r\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\r\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\r\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\r\n #legendItem>\r\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\r\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\r\n {{ dataset.label }}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"] }]
|
|
415
415
|
}], propDecorators: { size: [{
|
|
416
416
|
type: Input
|
|
417
417
|
}], spiderChartData: [{
|
|
@@ -440,4 +440,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
440
440
|
type: ViewChildren,
|
|
441
441
|
args: ['legendItem']
|
|
442
442
|
}] } });
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUdwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBb0IsT0FBTyxDQUFDO1FBU3pDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDTSxjQUFTLEdBQVcsdURBQXVELENBQUM7UUFFckY7Ozs7V0FJRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQVF0RCxtQkFBYyxHQUF1QjtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLG1CQUFjLEdBQWdELEVBQUUsQ0FBQztRQUNqRSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLDhCQUF5QixH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TUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0E1YVUsb0JBQW9CO21HQUFwQixvQkFBb0Isb1FBNkNwQixrQkFBa0Isb1pDekQvQixpcUlBMkZBOzs0RkQvRWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUNHLGVBQWU7c0JBQTlDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLHVCQUF1QjtzQkFBL0QsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ1gsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSwgU21hbGxTcGlkZXJDaGFydFNpemUsIFNwaWRlckNoYXJ0RGF0YSwgU3BpZGVyQ2hhcnRTaXplIH0gZnJvbSAnLi9zcGlkZXItY2hhcnQubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9jb2xvcnMubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNwaWRlci1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHNwaWRlciBjaGFydC5cbiAgICogQHR5cGUge1NwaWRlckNoYXJ0U2l6ZX1cbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxuICAgKiBAdHlwZSB7U3BpZGVyQ2hhcnREYXRhfVxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNwaWRlckNoYXJ0RGF0YTogU3BpZGVyQ2hhcnREYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcCBzaXplIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHN0ZXBTaXplOiBudW1iZXIgPSAyMDtcblxuICAvKipcbiAgICogVGhlIGFyaWEgbGFiZWwgZm9yIHRoZSBzcGlkZXIgY2hhcnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBTcGlkZXJDaGFydENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnUmFkYXIgY2hhcnQuIFByZXNzIHRhYiB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBjaGFydC4nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzcGlkZXIgY2hhcnQgaXMgbG9hZGluZy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBTcGlkZXJDaGFydENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFNwaW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydDogQmFzZUNoYXJ0RGlyZWN0aXZlO1xuICBAVmlld0NoaWxkcmVuKCdsYWJlbENvbnRhaW5lcicpIGxhYmVsQ29udGFpbmVyczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkcmVuKCdmYWtlRGF0YVBvaW50cycpIGZha2VEYXRhUG9pbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBWaWV3Q2hpbGRyZW4oJ2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5JykgZmFrZURhdGFQb2ludHNTZWNvbmRhcnk6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZHJlbignbGVnZW5kSXRlbScpIGxlZ2VuZEl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgcmFkYXJDaGFydERhdGE6IENoYXJ0RGF0YTwncmFkYXInPiA9IHtcbiAgICBsYWJlbHM6IFtdLFxuICAgIGRhdGFzZXRzOiBbXSxcbiAgfTtcbiAgcmFkYXJDaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9uczwncmFkYXInPjtcbiAgbGFiZWxQb3NpdGlvbnM6IHsgW2tleTogc3RyaW5nXTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IH0gPSB7fTtcbiAgbGFiZWxQb3NpdGlvbnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZvY3VzZWRMYWJlbEluZGV4OiBudW1iZXIgPSAwO1xuICBmb2N1c2VkRmFrZURhdGFQb2ludEluZGV4OiBudW1iZXIgPSAwO1xuICBsb2FkaW5nQ2hhcnREYXRhOiBDaGFydERhdGE8J3JhZGFyJz4gPSB7XG4gICAgbGFiZWxzOiBbMSwgMiwgMywgNCwgNSwgNl0sXG4gICAgZGF0YXNldHM6IFtdLFxuICB9O1xuICBsb2FkaW5nQ2hhcnRPcHRpb25zOiBDaGFydE9wdGlvbnM8J3JhZGFyJz4gPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgbGVmdDogNDAsXG4gICAgICAgIHJpZ2h0OiA0MCxcbiAgICAgICAgdG9wOiA0MCxcbiAgICAgICAgYm90dG9tOiA0MCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzY2FsZXM6IHtcbiAgICAgIHI6IHtcbiAgICAgICAgYW5nbGVMaW5lczoge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgY29sb3I6IENvbG9yLkdSQVlTQ0FMRV8zMCxcbiAgICAgICAgfSxcbiAgICAgICAgZ3JpZDoge1xuICAgICAgICAgIGNvbG9yOiAoKSA9PiBDb2xvci5HUkFZU0NBTEVfMzAsXG4gICAgICAgIH0sXG4gICAgICAgIHBvaW50TGFiZWxzOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcbiAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXG4gICAgICAgIHRpY2tzOiB7XG4gICAgICAgICAgc3RlcFNpemU6IHRoaXMuc3RlcFNpemUsXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnQ0hBUlRTLlNQSURFUi4nO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmhhbmRsZUlucHV0RXJyb3JzKCk7XG4gICAgICB0aGlzLnNldENoYXJ0RGF0YSgpO1xuICAgICAgdGhpcy5zZXRDaGFydE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUlucHV0RXJyb3JzKCkge1xuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzIHx8IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFiZWxzXCIgaW5wdXQgaXMgcmVxdWlyZWQgYW5kIGNhbm5vdCBiZSBlbXB0eS4nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uIHx8IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhYmVsRGVzY3JpcHRpb25cIiBpbnB1dCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5LicpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJsYWJlbERlc2NyaXB0aW9uXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFiYXNlTGFiZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YWJhc2VMYWJlbFwiIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEgfHwgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YVwiIGlucHV0IGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHkuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJwbG90RGF0YS5kYXRhXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YS5sZW5ndGggPT09IDIgJiZcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPiAwICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJwbG90RGF0YS5kYXRhXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hhcnREYXRhKCkge1xuICAgIGNvbnN0IGRhdGFzZXRzID0gW107XG4gICAgZGF0YXNldHMucHVzaCh7XG4gICAgICBsYWJlbDogdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YWJhc2VMYWJlbCxcbiAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEsXG4gICAgICBmaWxsOiB0cnVlLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyMTIsIDE2LCAxNzAsIDAuMiknLFxuICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxuICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxuICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgcG9pbnRIb3ZlckJvcmRlckNvbG9yOiBDb2xvci5CUkFORF81MCxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyKSB7XG4gICAgICBkYXRhc2V0cy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGFiYXNlTGFiZWwsXG4gICAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEsXG4gICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICBib3JkZXJDb2xvcjogQ29sb3IuQkxBQ0ssXG4gICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBDb2xvci5CTEFDSyxcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgICBwb2ludEhvdmVyQmFja2dyb3VuZENvbG9yOiBDb2xvci5UR09fV0hJVEUsXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogQ29sb3IuQkxBQ0ssXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yYWRhckNoYXJ0RGF0YSA9IHtcbiAgICAgIGxhYmVsczogdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLFxuICAgICAgZGF0YXNldHM6IGRhdGFzZXRzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNldENoYXJ0T3B0aW9ucygpIHtcbiAgICB0aGlzLnJhZGFyQ2hhcnRPcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIGxpbmU6IHtcbiAgICAgICAgICBib3JkZXJXaWR0aDogMyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGxlZnQ6IDQwLFxuICAgICAgICAgIHJpZ2h0OiA0MCxcbiAgICAgICAgICB0b3A6IDQwLFxuICAgICAgICAgIGJvdHRvbTogNDAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHI6IHtcbiAgICAgICAgICBhbmdsZUxpbmVzOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgY29sb3I6IENvbG9yLkJMQUNLLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ3JpZDoge1xuICAgICAgICAgICAgY29sb3I6IGNvbnRleHQgPT4ge1xuICAgICAgICAgICAgICBpZiAoY29udGV4dC50aWNrLnZhbHVlID09PSAxMDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IuQkxBQ0s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIENvbG9yLkdSQVlTQ0FMRV8zMDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwb2ludExhYmVsczoge1xuICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgIGZhbWlseTogJ0FyaWFsJyxcbiAgICAgICAgICAgICAgc2l6ZTogMTQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXG4gICAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIHN0ZXBTaXplOiB0aGlzLnN0ZXBTaXplLFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoYXJ0Py5jaGFydCAmJiAhdGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmxvZ0Nvcm5lckNvb3JkaW5hdGVzKHRoaXMuY2hhcnQuY2hhcnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9nQ29ybmVyQ29vcmRpbmF0ZXMoY2hhcnQ6IENoYXJ0KSB7XG4gICAgY29uc3Qgc2NhbGUgPSBjaGFydC5zY2FsZXNbJ3InXSBhcyBhbnk7XG4gICAgY29uc3QgY2FudmFzV2lkdGggPSB0aGlzLnNpemUgPT09ICdsYXJnZScgPyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSA6IFNtYWxsU3BpZGVyQ2hhcnRTaXplO1xuICAgIGNvbnN0IGNhbnZhc0hlaWdodCA9IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/IExhcmdlU3BpZGVyQ2hhcnRTaXplIDogU21hbGxTcGlkZXJDaGFydFNpemU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGxhYmVscyBhbmQgY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIGNvb3JkaW5hdGVzXG4gICAgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmZvckVhY2goKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIHNjYWxlLm1heCk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBwZXJjZW50YWdlIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgY2FudmFzIHNpemVcbiAgICAgIGNvbnN0IHhQZXJjZW50ID0gKHBvc2l0aW9uLnggLyBjYW52YXNXaWR0aCkgKiAxMDA7XG4gICAgICBjb25zdCB5UGVyY2VudCA9ICgoY2FudmFzSGVpZ2h0IC0gcG9zaXRpb24ueSkgLyBjYW52YXNIZWlnaHQpICogMTAwOyAvLyBJbnZlcnRpbmcgdGhlIFktYXhpc1xuXG4gICAgICB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXSA9IHsgeDogTnVtYmVyKHhQZXJjZW50LnRvRml4ZWQoMikpLCB5OiBOdW1iZXIoeVBlcmNlbnQudG9GaXhlZCgyKSkgfTtcbiAgICB9KTtcbiAgICB0aGlzLmxhYmVsUG9zaXRpb25zVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBnZXRDZW50ZXJlZExhYmVsQm90dG9tUG9zaXRpb24obGFiZWw6IHN0cmluZywgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMubGFiZWxQb3NpdGlvbnNbbGFiZWxdO1xuICAgIGNvbnN0IHBhZGRpbmcgPSA3O1xuICAgIGlmIChwb3NpdGlvbi54ID4gNTAgfHwgcG9zaXRpb24ueCA8IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgLSAke2hlaWdodCAvIDJ9cHgpYDtcbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uLnkgPCA1MCkge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueX0lIC0gJHtoZWlnaHR9cHggLSAke3BhZGRpbmd9cHgpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueX0lICsgJHtwYWRkaW5nfXB4KWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2VudGVyZWRMYWJlbExlZnRQb3NpdGlvbihsYWJlbDogc3RyaW5nLCB3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXTtcbiAgICBjb25zdCBwYWRkaW5nID0gMTU7XG4gICAgaWYgKHBvc2l0aW9uLnggPT09IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRoIC8gMn1weClgO1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb24ueCA8IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRofXB4IC0gJHtwYWRkaW5nfXB4KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgY2FsYygke3Bvc2l0aW9uLnh9JSArICR7cGFkZGluZ31weClgO1xuICAgIH1cbiAgfVxuXG4gIG9uTGFiZWxLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0TGFiZWwoaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0TGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgMTtcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5sYWJlbENvbnRhaW5lcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5nZXQobmV4dEluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRMYWJlbEluZGV4ID0gbmV4dEluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5sYWJlbENvbnRhaW5lcnMuZ2V0KHByZXZpb3VzSW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmxhc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gIH1cblxuICBvbkxlZ2VuZEl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy50b2dnbGVEYXRhc2V0VmlzaWJpbGl0eShpbmRleCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICB0aGlzLmZvY3VzTmV4dExlZ2VuZEl0ZW0oaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGVnZW5kSXRlbShpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c05leHRMZWdlbmRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxlZ2VuZEl0ZW1zLmdldChuZXh0SW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNMZWdlbmRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXggLSAxO1xuICAgIGlmIChwcmV2aW91c0luZGV4ID49IDApIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZ2V0KHByZXZpb3VzSW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmFrZURhdGFQb2ludHNLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0RmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleCArIDEgPiB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoID8gMCA6IGluZGV4ICsgMSwgaXNTZWNvbmRhcnkpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleCAtIDEgPCAwID8gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCAtIDEgOiBpbmRleCAtIDEsIGlzU2Vjb25kYXJ5KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c05leHRGYWtlRGF0YVBvaW50KGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuZmFrZURhdGFQb2ludHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5nZXQobmV4dEluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XG4gICAgICB0aGlzLmZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPSBuZXh0SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGluZGV4IC0gMTtcbiAgICBpZiAocHJldmlvdXNJbmRleCA+PSAwKSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5nZXQocHJldmlvdXNJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmFrZURhdGFQb2ludHMgPSBpc1NlY29uZGFyeSA/IHRoaXMuZmFrZURhdGFQb2ludHNTZWNvbmRhcnkgOiB0aGlzLmZha2VEYXRhUG9pbnRzO1xuICAgICAgZmFrZURhdGFQb2ludHMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XG4gICAgICB0aGlzLmZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgIH1cbiAgfVxuXG4gIHNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XG4gICAgaWYgKCFjaGFydEluc3RhbmNlKSByZXR1cm47XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IFt7IGRhdGFzZXRJbmRleDogaXNTZWNvbmRhcnkgPyAxIDogMCwgaW5kZXggfV07XG4gICAgY29uc3QgbWV0YSA9IGNoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoaXNTZWNvbmRhcnkgPyAxIDogMCk7XG4gICAgY29uc3QgZGF0YVBvaW50ID0gbWV0YS5kYXRhW2luZGV4XTtcbiAgICBjb25zdCBldmVudFBvc2l0aW9uID0ge1xuICAgICAgeDogZGF0YVBvaW50LngsXG4gICAgICB5OiBkYXRhUG9pbnQueSxcbiAgICB9O1xuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcbiAgICAgIHRoaXMuZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIGNoYXJ0SW5zdGFuY2UudG9vbHRpcD8uc2V0QWN0aXZlRWxlbWVudHMoYWN0aXZlRWxlbWVudCwgZXZlbnRQb3NpdGlvbik7XG5cbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFjdGl2ZUVsZW1lbnQoKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgLy8gQ2xlYXIgdGhlIGFjdGl2ZSBlbGVtZW50cyB0byBoaWRlIHRoZSB0b29sdGlwXG4gICAgY2hhcnRJbnN0YW5jZS50b29sdGlwPy5zZXRBY3RpdmVFbGVtZW50cyhbXSwgeyB4OiAwLCB5OiAwIH0pO1xuXG4gICAgY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcbiAgfVxuXG4gIHRvZ2dsZURhdGFzZXRWaXNpYmlsaXR5KGRhdGFzZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YXNldCA9IGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdO1xuICAgIGRhdGFzZXQuaGlkZGVuID0gIWRhdGFzZXQuaGlkZGVuO1xuICAgIGNoYXJ0SW5zdGFuY2UudXBkYXRlKCk7XG4gIH1cblxuICBpc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuICAgIHJldHVybiAhY2hhcnRJbnN0YW5jZS5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uaGlkZGVuO1xuICB9XG5cbiAgZ2V0Rmlyc3RMaW5lKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdvcmRzID0gbGFiZWwuc3BsaXQoJyAnKTtcbiAgICBsZXQgZmlyc3RMaW5lID0gJyc7XG4gICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICBpZiAoKGZpcnN0TGluZSArIHdvcmQpLmxlbmd0aCA8PSAyMCkge1xuICAgICAgICBmaXJzdExpbmUgKz0gKGZpcnN0TGluZSA/ICcgJyA6ICcnKSArIHdvcmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0TGluZTtcbiAgfVxuXG4gIGdldFNlY29uZExpbmUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5nZXRGaXJzdExpbmUobGFiZWwpO1xuICAgIHJldHVybiBsYWJlbC5zdWJzdHJpbmcoZmlyc3RMaW5lLmxlbmd0aCkudHJpbSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BpZGVyLWNoYXJ0LWNvbnRhaW5lclwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCI+XG4gIDxkaXYgY2xhc3M9XCJzcGFjaW5nLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieydzbWFsbC1zcGFjaW5nJzogcmFkYXJDaGFydERhdGEubGFiZWxzICYmIHJhZGFyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggJSAyID09PSAxICYmICFsb2FkaW5nfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIlxuICAgICAgW3N0eWxlLndpZHRoXT1cInNpemUgPT09ICdsYXJnZScgPyAnMjgwcHgnIDogJzIwMHB4J1wiXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cInNpemUgPT09ICdsYXJnZScgPyAnMjgwcHgnIDogJzIwMHB4J1wiPlxuICAgICAgQGlmICghbG9hZGluZykge1xuICAgICAgICA8Y2FudmFzXG4gICAgICAgICAgYmFzZUNoYXJ0XG4gICAgICAgICAgW2RhdGFdPVwicmFkYXJDaGFydERhdGFcIlxuICAgICAgICAgIFtvcHRpb25zXT1cInJhZGFyQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgICB0eXBlPVwicmFkYXJcIlxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2FudmFzPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxjYW52YXNcbiAgICAgICAgICBiYXNlQ2hhcnRcbiAgICAgICAgICBbZGF0YV09XCJsb2FkaW5nQ2hhcnREYXRhXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJsb2FkaW5nQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgICB0eXBlPVwicmFkYXJcIlxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2FudmFzPlxuICAgICAgICA8dWktc3Bpbm5lcj48L3VpLXNwaW5uZXI+XG4gICAgICB9XG5cbiAgICAgIEBpZiAobGFiZWxQb3NpdGlvbnNWaXNpYmxlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXJcIj5cbiAgICAgICAgICBAZm9yIChsYWJlbCBvZiBzcGlkZXJDaGFydERhdGEubGFiZWxzOyB0cmFjayBsYWJlbCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiICNsYWJlbENvbnRhaW5lclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJzcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvblskaW5kZXhdXCJcbiAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIiRpbmRleCA9PT0gMCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkxhYmVsS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uWyRpbmRleF1cIlxuICAgICAgICAgICAgICBbc3R5bGUubGVmdF09XCJnZXRDZW50ZXJlZExhYmVsTGVmdFBvc2l0aW9uKGxhYmVsLCBsYWJlbENvbnRhaW5lci5vZmZzZXRXaWR0aClcIlxuICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tXT1cImdldENlbnRlcmVkTGFiZWxCb3R0b21Qb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0SGVpZ2h0KVwiPlxuICAgICAgICAgICAgICBAaWYgKCEobGFiZWwubGVuZ3RoID4gMjAgJiYgc2l6ZSA9PT0gJ2xhcmdlJyAmJiBzcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCA8IDkpKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+e3sgbGFiZWwgfCBtZW1vaXplRnVuYyA6IGdldEZpcnN0TGluZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj57eyBsYWJlbCB8IG1lbW9pemVGdW5jIDogZ2V0U2Vjb25kTGluZSA6IHRoaXMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFbJGluZGV4XSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYWtlLWRhdGEtcG9pbnRzXCIgI2Zha2VEYXRhUG9pbnRzXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCJmb2N1c2VkTGFiZWxJbmRleCA9PT0gJGluZGV4ID8gJzAnIDogJy0xJ1wiXG4gICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRMYWJlbEluZGV4ID8gc2hvd1Rvb2x0aXBGb3JEYXRhUG9pbnQoJGluZGV4KSA6IG51bGxcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkZha2VEYXRhUG9pbnRzS2V5RG93bigkZXZlbnQsICRpbmRleClcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEBpZiAocmFkYXJDaGFydERhdGEuZGF0YXNldHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZha2UtZGF0YS1wb2ludHMtc2Vjb25kYXJ5XCIgI2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5XG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPT09ICRpbmRleCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPyBzaG93VG9vbHRpcEZvckRhdGFQb2ludCgkaW5kZXgsIHRydWUpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25GYWtlRGF0YVBvaW50c0tleURvd24oJGV2ZW50LCAkaW5kZXgsIHRydWUpXCI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChyYWRhckNoYXJ0RGF0YS5kYXRhc2V0cy5sZW5ndGggPiAwKSB7XG4gICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1jb250YWluZXJcIj5cbiAgICAgIEBmb3IgKGRhdGFzZXQgb2YgcmFkYXJDaGFydERhdGEuZGF0YXNldHM7IHRyYWNrIGRhdGFzZXQubGFiZWwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoJGluZGV4KVwiXG4gICAgICAgICAgW3RhYmluZGV4XT1cIiRpbmRleCA9PT0gMCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc0RhdGFzZXRWaXNpYmxlKCRpbmRleCkgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXNEYXRhc2V0VmlzaWJsZSgkaW5kZXgpID9cbiAgICAgICAgICAoKHRyYW5zbGF0aW9uQ29udGV4dCArICdEQVRBU0VUX1ZJU0lCTEUnKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYykgOlxuICAgICAgICAgICgodHJhbnNsYXRpb25Db250ZXh0ICsgJ0RBVEFTRVRfSElEREVOJykgfCB1aVRyYW5zbGF0ZSA6IHsgZGF0YXNldDogZGF0YXNldC5sYWJlbCB9IHwgYXN5bmMpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkxlZ2VuZEl0ZW1LZXlEb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgI2xlZ2VuZEl0ZW0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGluZVwiIFtuZ0NsYXNzXT1cInsnc29saWQtbGluZSc6ICRpbmRleCA9PT0gMCwgJ2Rhc2hlZC1saW5lJzogJGluZGV4ID09PSAxfVwiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwiaXNEYXRhc2V0VmlzaWJsZSgkaW5kZXgpID8gJ25vbmUnIDogJ2xpbmUtdGhyb3VnaCdcIj5cbiAgICAgICAgICAgIHt7IGRhdGFzZXQubGFiZWwgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuIl19
|
|
443
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUdwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBb0IsT0FBTyxDQUFDO1FBU3pDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDTSxjQUFTLEdBQVcsdURBQXVELENBQUM7UUFFckY7Ozs7V0FJRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQVF0RCxtQkFBYyxHQUF1QjtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLG1CQUFjLEdBQWdELEVBQUUsQ0FBQztRQUNqRSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLDhCQUF5QixH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TUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0E1YVUsb0JBQW9CO21HQUFwQixvQkFBb0Isb1FBNkNwQixrQkFBa0Isb1pDekQvQix1MUlBMkZBOzs0RkQvRWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUNHLGVBQWU7c0JBQTlDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLHVCQUF1QjtzQkFBL0QsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ1gsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExhcmdlU3BpZGVyQ2hhcnRTaXplLCBTbWFsbFNwaWRlckNoYXJ0U2l6ZSwgU3BpZGVyQ2hhcnREYXRhLCBTcGlkZXJDaGFydFNpemUgfSBmcm9tICcuL3NwaWRlci1jaGFydC5tb2RlbCc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbG9ycy5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1zcGlkZXItY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwaWRlci1jaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBzaXplIG9mIHRoZSBzcGlkZXIgY2hhcnQuXHJcbiAgICogQHR5cGUge1NwaWRlckNoYXJ0U2l6ZX1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzaXplOiBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxyXG4gICAqIEB0eXBlIHtTcGlkZXJDaGFydERhdGF9XHJcbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgc3BpZGVyQ2hhcnREYXRhOiBTcGlkZXJDaGFydERhdGE7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzdGVwIHNpemUgZm9yIHRoZSBzcGlkZXIgY2hhcnQuXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzdGVwU2l6ZTogbnVtYmVyID0gMjA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBhcmlhIGxhYmVsIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnUmFkYXIgY2hhcnQuIFByZXNzIHRhYiB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBjaGFydC4nO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBzcGlkZXIgY2hhcnQgaXMgbG9hZGluZy5cclxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcclxuICAgKlxyXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxyXG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydDogQmFzZUNoYXJ0RGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2xhYmVsQ29udGFpbmVyJykgbGFiZWxDb250YWluZXJzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcbiAgQFZpZXdDaGlsZHJlbignZmFrZURhdGFQb2ludHMnKSBmYWtlRGF0YVBvaW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5JykgZmFrZURhdGFQb2ludHNTZWNvbmRhcnk6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuICBAVmlld0NoaWxkcmVuKCdsZWdlbmRJdGVtJykgbGVnZW5kSXRlbXM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgcmFkYXJDaGFydERhdGE6IENoYXJ0RGF0YTwncmFkYXInPiA9IHtcclxuICAgIGxhYmVsczogW10sXHJcbiAgICBkYXRhc2V0czogW10sXHJcbiAgfTtcclxuICByYWRhckNoYXJ0T3B0aW9uczogQ2hhcnRPcHRpb25zPCdyYWRhcic+O1xyXG4gIGxhYmVsUG9zaXRpb25zOiB7IFtrZXk6IHN0cmluZ106IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB9ID0ge307XHJcbiAgbGFiZWxQb3NpdGlvbnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZm9jdXNlZExhYmVsSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleDogbnVtYmVyID0gMDtcclxuICBsb2FkaW5nQ2hhcnREYXRhOiBDaGFydERhdGE8J3JhZGFyJz4gPSB7XHJcbiAgICBsYWJlbHM6IFsxLCAyLCAzLCA0LCA1LCA2XSxcclxuICAgIGRhdGFzZXRzOiBbXSxcclxuICB9O1xyXG4gIGxvYWRpbmdDaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9uczwncmFkYXInPiA9IHtcclxuICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICBsYXlvdXQ6IHtcclxuICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgIGxlZnQ6IDQwLFxyXG4gICAgICAgIHJpZ2h0OiA0MCxcclxuICAgICAgICB0b3A6IDQwLFxyXG4gICAgICAgIGJvdHRvbTogNDAsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgc2NhbGVzOiB7XHJcbiAgICAgIHI6IHtcclxuICAgICAgICBhbmdsZUxpbmVzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgY29sb3I6IENvbG9yLkdSQVlTQ0FMRV8zMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdyaWQ6IHtcclxuICAgICAgICAgIGNvbG9yOiAoKSA9PiBDb2xvci5HUkFZU0NBTEVfMzAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb2ludExhYmVsczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXHJcbiAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIHN0ZXBTaXplOiB0aGlzLnN0ZXBTaXplLFxyXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRpb25Db250ZXh0ID0gJ0NIQVJUUy5TUElERVIuJztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubG9hZGluZykge1xyXG4gICAgICB0aGlzLmhhbmRsZUlucHV0RXJyb3JzKCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hhcnREYXRhKCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hhcnRPcHRpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUlucHV0RXJyb3JzKCkge1xyXG4gICAgaWYgKCF0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMgfHwgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhYmVsc1wiIGlucHV0IGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHkuJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb24gfHwgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJsYWJlbERlc2NyaXB0aW9uXCIgaW5wdXQgaXMgcmVxdWlyZWQgYW5kIGNhbm5vdCBiZSBlbXB0eS4nKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvbiAmJlxyXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFiZWxEZXNjcmlwdGlvblwiIGlucHV0IG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGggYXMgXCJsYWJlbHNcIi4nKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YWJhc2VMYWJlbCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFiYXNlTGFiZWxcIiBpbnB1dCBpcyByZXF1aXJlZC4nKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YSB8fCB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFcIiBpbnB1dCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5LicpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEubGVuZ3RoICE9PSB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YVwiIGlucHV0IG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGggYXMgXCJsYWJlbHNcIi4nKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyICYmXHJcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEgJiZcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMV0uZGF0YS5sZW5ndGggIT09IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFcIiBpbnB1dCBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFzIFwibGFiZWxzXCIuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENoYXJ0RGF0YSgpIHtcclxuICAgIGNvbnN0IGRhdGFzZXRzID0gW107XHJcbiAgICBkYXRhc2V0cy5wdXNoKHtcclxuICAgICAgbGFiZWw6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFiYXNlTGFiZWwsXHJcbiAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEsXHJcbiAgICAgIGZpbGw6IHRydWUsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMjEyLCAxNiwgMTcwLCAwLjIpJyxcclxuICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxyXG4gICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogQ29sb3IuQlJBTkRfNTAsXHJcbiAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IENvbG9yLlRHT19XSElURSxcclxuICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxyXG4gICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIGRhdGFzZXRzLnB1c2goe1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhYmFzZUxhYmVsLFxyXG4gICAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEsXHJcbiAgICAgICAgZmlsbDogZmFsc2UsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJMQUNLLFxyXG4gICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcclxuICAgICAgICBib3JkZXJXaWR0aDogMSxcclxuICAgICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogQ29sb3IuQkxBQ0ssXHJcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxyXG4gICAgICAgIHBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3I6IENvbG9yLlRHT19XSElURSxcclxuICAgICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IENvbG9yLkJMQUNLLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmFkYXJDaGFydERhdGEgPSB7XHJcbiAgICAgIGxhYmVsczogdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogZGF0YXNldHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDaGFydE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLnJhZGFyQ2hhcnRPcHRpb25zID0ge1xyXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICBlbGVtZW50czoge1xyXG4gICAgICAgIGxpbmU6IHtcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiAzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dDoge1xyXG4gICAgICAgIHBhZGRpbmc6IHtcclxuICAgICAgICAgIGxlZnQ6IDQwLFxyXG4gICAgICAgICAgcmlnaHQ6IDQwLFxyXG4gICAgICAgICAgdG9wOiA0MCxcclxuICAgICAgICAgIGJvdHRvbTogNDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgcjoge1xyXG4gICAgICAgICAgYW5nbGVMaW5lczoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBjb2xvcjogQ29sb3IuQkxBQ0ssXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZ3JpZDoge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udGV4dCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbnRleHQudGljay52YWx1ZSA9PT0gMTAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IuQkxBQ0s7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBDb2xvci5HUkFZU0NBTEVfMzA7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcG9pbnRMYWJlbHM6IHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXHJcbiAgICAgICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgICAgICBmYW1pbHk6ICdBcmlhbCcsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcclxuICAgICAgICAgIHN1Z2dlc3RlZE1heDogMTAwLFxyXG4gICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgc3RlcFNpemU6IHRoaXMuc3RlcFNpemUsXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNoYXJ0Py5jaGFydCAmJiAhdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9nQ29ybmVyQ29vcmRpbmF0ZXModGhpcy5jaGFydC5jaGFydCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ0Nvcm5lckNvb3JkaW5hdGVzKGNoYXJ0OiBDaGFydCkge1xyXG4gICAgY29uc3Qgc2NhbGUgPSBjaGFydC5zY2FsZXNbJ3InXSBhcyBhbnk7XHJcbiAgICBjb25zdCBjYW52YXNXaWR0aCA9IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/IExhcmdlU3BpZGVyQ2hhcnRTaXplIDogU21hbGxTcGlkZXJDaGFydFNpemU7XHJcbiAgICBjb25zdCBjYW52YXNIZWlnaHQgPSB0aGlzLnNpemUgPT09ICdsYXJnZScgPyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSA6IFNtYWxsU3BpZGVyQ2hhcnRTaXplO1xyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGFiZWxzIGFuZCBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UgY29vcmRpbmF0ZXNcclxuICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5mb3JFYWNoKChsYWJlbCwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIHNjYWxlLm1heCk7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhdGUgcGVyY2VudGFnZSB2YWx1ZXMgcmVsYXRpdmUgdG8gdGhlIGNhbnZhcyBzaXplXHJcbiAgICAgIGNvbnN0IHhQZXJjZW50ID0gKHBvc2l0aW9uLnggLyBjYW52YXNXaWR0aCkgKiAxMDA7XHJcbiAgICAgIGNvbnN0IHlQZXJjZW50ID0gKChjYW52YXNIZWlnaHQgLSBwb3NpdGlvbi55KSAvIGNhbnZhc0hlaWdodCkgKiAxMDA7IC8vIEludmVydGluZyB0aGUgWS1heGlzXHJcblxyXG4gICAgICB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXSA9IHsgeDogTnVtYmVyKHhQZXJjZW50LnRvRml4ZWQoMikpLCB5OiBOdW1iZXIoeVBlcmNlbnQudG9GaXhlZCgyKSkgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYWJlbFBvc2l0aW9uc1Zpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2VudGVyZWRMYWJlbEJvdHRvbVBvc2l0aW9uKGxhYmVsOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMubGFiZWxQb3NpdGlvbnNbbGFiZWxdO1xyXG4gICAgY29uc3QgcGFkZGluZyA9IDc7XHJcbiAgICBpZiAocG9zaXRpb24ueCA+IDUwIHx8IHBvc2l0aW9uLnggPCA1MCkge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgLSAke2hlaWdodCAvIDJ9cHgpYDtcclxuICAgIH0gZWxzZSBpZiAocG9zaXRpb24ueSA8IDUwKSB7XHJcbiAgICAgIHJldHVybiBgY2FsYygke3Bvc2l0aW9uLnl9JSAtICR7aGVpZ2h0fXB4IC0gJHtwYWRkaW5nfXB4KWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgKyAke3BhZGRpbmd9cHgpYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENlbnRlcmVkTGFiZWxMZWZ0UG9zaXRpb24obGFiZWw6IHN0cmluZywgd2lkdGg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXTtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSAxNTtcclxuICAgIGlmIChwb3NpdGlvbi54ID09PSA1MCkge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRoIC8gMn1weClgO1xyXG4gICAgfSBlbHNlIGlmIChwb3NpdGlvbi54IDwgNTApIHtcclxuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueH0lIC0gJHt3aWR0aH1weCAtICR7cGFkZGluZ31weClgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueH0lICsgJHtwYWRkaW5nfXB4KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxhYmVsS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgdGhpcy5mb2N1c05leHRMYWJlbChpbmRleCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c05leHRMYWJlbChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XHJcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5sYWJlbENvbnRhaW5lcnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmdldChuZXh0SW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IG5leHRJbmRleDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0xhYmVsKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XHJcbiAgICBpZiAocHJldmlvdXNJbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmdldChwcmV2aW91c0luZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYWJlbENvbnRhaW5lcnMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IHByZXZpb3VzSW5kZXg7XHJcbiAgfVxyXG5cclxuICBvbkxlZ2VuZEl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoaW5kZXgpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNOZXh0TGVnZW5kSXRlbShpbmRleCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGVnZW5kSXRlbShpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dExlZ2VuZEl0ZW0oaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyAxO1xyXG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZ2V0KG5leHRJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0xlZ2VuZEl0ZW0oaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGluZGV4IC0gMTtcclxuICAgIGlmIChwcmV2aW91c0luZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5sZWdlbmRJdGVtcy5nZXQocHJldmlvdXNJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25GYWtlRGF0YVBvaW50c0tleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNOZXh0RmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xyXG4gICAgICB0aGlzLnNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4ICsgMSA+IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPyAwIDogaW5kZXggKyAxLCBpc1NlY29uZGFyeSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xyXG4gICAgICB0aGlzLnNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4IC0gMSA8IDAgPyB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoIC0gMSA6IGluZGV4IC0gMSwgaXNTZWNvbmRhcnkpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XHJcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dEZha2VEYXRhUG9pbnQoaW5kZXg6IG51bWJlciwgaXNTZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyAxO1xyXG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuZmFrZURhdGFQb2ludHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGZha2VEYXRhUG9pbnRzID0gaXNTZWNvbmRhcnkgPyB0aGlzLmZha2VEYXRhUG9pbnRzU2Vjb25kYXJ5IDogdGhpcy5mYWtlRGF0YVBvaW50cztcclxuICAgICAgZmFrZURhdGFQb2ludHMuZ2V0KG5leHRJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZha2VEYXRhUG9pbnRzID0gaXNTZWNvbmRhcnkgPyB0aGlzLmZha2VEYXRhUG9pbnRzU2Vjb25kYXJ5IDogdGhpcy5mYWtlRGF0YVBvaW50cztcclxuICAgICAgZmFrZURhdGFQb2ludHMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID0gbmV4dEluZGV4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXggLSAxO1xyXG4gICAgaWYgKHByZXZpb3VzSW5kZXggPj0gMCkge1xyXG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XHJcbiAgICAgIGZha2VEYXRhUG9pbnRzLmdldChwcmV2aW91c0luZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZmFrZURhdGFQb2ludHMgPSBpc1NlY29uZGFyeSA/IHRoaXMuZmFrZURhdGFQb2ludHNTZWNvbmRhcnkgOiB0aGlzLmZha2VEYXRhUG9pbnRzO1xyXG4gICAgICBmYWtlRGF0YVBvaW50cy5sYXN0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XHJcbiAgICAgIHRoaXMuZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleCA9IHByZXZpb3VzSW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgICBpZiAoIWNoYXJ0SW5zdGFuY2UpIHJldHVybjtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBbeyBkYXRhc2V0SW5kZXg6IGlzU2Vjb25kYXJ5ID8gMSA6IDAsIGluZGV4IH1dO1xyXG4gICAgY29uc3QgbWV0YSA9IGNoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoaXNTZWNvbmRhcnkgPyAxIDogMCk7XHJcbiAgICBjb25zdCBkYXRhUG9pbnQgPSBtZXRhLmRhdGFbaW5kZXhdO1xyXG4gICAgY29uc3QgZXZlbnRQb3NpdGlvbiA9IHtcclxuICAgICAgeDogZGF0YVBvaW50LngsXHJcbiAgICAgIHk6IGRhdGFQb2ludC55LFxyXG4gICAgfTtcclxuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhcnRJbnN0YW5jZS50b29sdGlwPy5zZXRBY3RpdmVFbGVtZW50cyhhY3RpdmVFbGVtZW50LCBldmVudFBvc2l0aW9uKTtcclxuXHJcbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEFjdGl2ZUVsZW1lbnQoKSB7XHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgICBpZiAoIWNoYXJ0SW5zdGFuY2UpIHJldHVybjtcclxuXHJcbiAgICAvLyBDbGVhciB0aGUgYWN0aXZlIGVsZW1lbnRzIHRvIGhpZGUgdGhlIHRvb2x0aXBcclxuICAgIGNoYXJ0SW5zdGFuY2UudG9vbHRpcD8uc2V0QWN0aXZlRWxlbWVudHMoW10sIHsgeDogMCwgeTogMCB9KTtcclxuXHJcbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoZGF0YXNldEluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0Py5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGFzZXQgPSBjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XTtcclxuICAgIGRhdGFzZXQuaGlkZGVuID0gIWRhdGFzZXQuaGlkZGVuO1xyXG4gICAgY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcclxuICB9XHJcblxyXG4gIGlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0Py5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG4gICAgcmV0dXJuICFjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5oaWRkZW47XHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdExpbmUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB3b3JkcyA9IGxhYmVsLnNwbGl0KCcgJyk7XHJcbiAgICBsZXQgZmlyc3RMaW5lID0gJyc7XHJcbiAgICBmb3IgKGNvbnN0IHdvcmQgb2Ygd29yZHMpIHtcclxuICAgICAgaWYgKChmaXJzdExpbmUgKyB3b3JkKS5sZW5ndGggPD0gMjApIHtcclxuICAgICAgICBmaXJzdExpbmUgKz0gKGZpcnN0TGluZSA/ICcgJyA6ICcnKSArIHdvcmQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaXJzdExpbmU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWNvbmRMaW5lKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5nZXRGaXJzdExpbmUobGFiZWwpO1xyXG4gICAgcmV0dXJuIGxhYmVsLnN1YnN0cmluZyhmaXJzdExpbmUubGVuZ3RoKS50cmltKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzcGlkZXItY2hhcnQtY29udGFpbmVyXCJcclxuICB0YWJpbmRleD1cIjBcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNwYWNpbmctY29udGFpbmVyXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21hbGwtc3BhY2luZyc6IHJhZGFyQ2hhcnREYXRhLmxhYmVscyAmJiByYWRhckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoICUgMiA9PT0gMSAmJiAhbG9hZGluZ31cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcyODBweCcgOiAnMjAwcHgnXCJcclxuICAgICAgW3N0eWxlLmhlaWdodF09XCJzaXplID09PSAnbGFyZ2UnID8gJzI4MHB4JyA6ICcyMDBweCdcIj5cclxuICAgICAgQGlmICghbG9hZGluZykge1xyXG4gICAgICAgIDxjYW52YXNcclxuICAgICAgICAgIGJhc2VDaGFydFxyXG4gICAgICAgICAgW2RhdGFdPVwicmFkYXJDaGFydERhdGFcIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwicmFkYXJDaGFydE9wdGlvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cInJhZGFyXCJcclxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NhbnZhcz5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGNhbnZhc1xyXG4gICAgICAgICAgYmFzZUNoYXJ0XHJcbiAgICAgICAgICBbZGF0YV09XCJsb2FkaW5nQ2hhcnREYXRhXCJcclxuICAgICAgICAgIFtvcHRpb25zXT1cImxvYWRpbmdDaGFydE9wdGlvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cInJhZGFyXCJcclxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NhbnZhcz5cclxuICAgICAgICA8dWktc3Bpbm5lcj48L3VpLXNwaW5uZXI+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAobGFiZWxQb3NpdGlvbnNWaXNpYmxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgQGZvciAobGFiZWwgb2Ygc3BpZGVyQ2hhcnREYXRhLmxhYmVsczsgdHJhY2sgbGFiZWwpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiICNsYWJlbENvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uWyRpbmRleF1cIlxyXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCIkaW5kZXggPT09IDAgPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkxhYmVsS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb25bJGluZGV4XVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiZ2V0Q2VudGVyZWRMYWJlbExlZnRQb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0V2lkdGgpXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tXT1cImdldENlbnRlcmVkTGFiZWxCb3R0b21Qb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0SGVpZ2h0KVwiPlxyXG4gICAgICAgICAgICAgIEBpZiAoIShsYWJlbC5sZW5ndGggPiAyMCAmJiBzaXplID09PSAnbGFyZ2UnICYmIHNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoIDwgOSkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj57eyBsYWJlbCB8IG1lbW9pemVGdW5jIDogZ2V0Rmlyc3RMaW5lIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+e3sgbGFiZWwgfCBtZW1vaXplRnVuYyA6IGdldFNlY29uZExpbmUgOiB0aGlzIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhWyRpbmRleF0gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZha2UtZGF0YS1wb2ludHNcIiAjZmFrZURhdGFQb2ludHNcclxuICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiZm9jdXNlZExhYmVsSW5kZXggPT09ICRpbmRleCA/ICcwJyA6ICctMSdcIlxyXG4gICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRMYWJlbEluZGV4ID8gc2hvd1Rvb2x0aXBGb3JEYXRhUG9pbnQoJGluZGV4KSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uRmFrZURhdGFQb2ludHNLZXlEb3duKCRldmVudCwgJGluZGV4KVwiPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIEBpZiAocmFkYXJDaGFydERhdGEuZGF0YXNldHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFrZS1kYXRhLXBvaW50cy1zZWNvbmRhcnlcIiAjZmFrZURhdGFQb2ludHNTZWNvbmRhcnlcclxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJmb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID09PSAkaW5kZXggPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPyBzaG93VG9vbHRpcEZvckRhdGFQb2ludCgkaW5kZXgsIHRydWUpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkZha2VEYXRhUG9pbnRzS2V5RG93bigkZXZlbnQsICRpbmRleCwgdHJ1ZSlcIj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChyYWRhckNoYXJ0RGF0YS5kYXRhc2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWNvbnRhaW5lclwiPlxyXG4gICAgICBAZm9yIChkYXRhc2V0IG9mIHJhZGFyQ2hhcnREYXRhLmRhdGFzZXRzOyB0cmFjayBkYXRhc2V0LmxhYmVsKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCJcclxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEYXRhc2V0VmlzaWJpbGl0eSgkaW5kZXgpXCJcclxuICAgICAgICAgIFt0YWJpbmRleF09XCIkaW5kZXggPT09IDAgPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/IGZhbHNlIDogdHJ1ZVwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/XHJcbiAgICAgICAgICAoKHRyYW5zbGF0aW9uQ29udGV4dCArICdEQVRBU0VUX1ZJU0lCTEUnKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYykgOlxyXG4gICAgICAgICAgKCh0cmFuc2xhdGlvbkNvbnRleHQgKyAnREFUQVNFVF9ISURERU4nKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYylcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25MZWdlbmRJdGVtS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgI2xlZ2VuZEl0ZW0+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1saW5lXCIgW25nQ2xhc3NdPVwieydzb2xpZC1saW5lJzogJGluZGV4ID09PSAwLCAnZGFzaGVkLWxpbmUnOiAkaW5kZXggPT09IDF9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGFiZWxcIiBbc3R5bGUudGV4dC1kZWNvcmF0aW9uXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnXCI+XHJcbiAgICAgICAgICAgIHt7IGRhdGFzZXQubGFiZWwgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// These are the sizes of the canvas, not the chart itself. It includes 40px of padding on all sides.
|
|
2
2
|
export const SmallSpiderChartSize = 200;
|
|
3
3
|
export const LargeSpiderChartSize = 280;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EscUdBQXFHO0FBQ3JHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnIHwgJ3NtYWxsJztcclxuLy8gVGhlc2UgYXJlIHRoZSBzaXplcyBvZiB0aGUgY2FudmFzLCBub3QgdGhlIGNoYXJ0IGl0c2VsZi4gSXQgaW5jbHVkZXMgNDBweCBvZiBwYWRkaW5nIG9uIGFsbCBzaWRlcy5cclxuZXhwb3J0IGNvbnN0IFNtYWxsU3BpZGVyQ2hhcnRTaXplOiBudW1iZXIgPSAyMDA7XHJcbmV4cG9ydCBjb25zdCBMYXJnZVNwaWRlckNoYXJ0U2l6ZTogbnVtYmVyID0gMjgwO1xyXG5leHBvcnQgdHlwZSBTcGlkZXJDaGFydERhdGEgPSB7XHJcbiAgbGFiZWxzOiBzdHJpbmdbXTtcclxuICBsYWJlbERlc2NyaXB0aW9uOiBzdHJpbmdbXTtcclxuICBwbG90RGF0YTogW1Bsb3REYXRhLCBQbG90RGF0YV0gfCBbUGxvdERhdGFdOyAvLyBDdXJyZW50IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIG1heCAyIGRhdGFzZXRzLlxyXG59O1xyXG5leHBvcnQgdHlwZSBQbG90RGF0YSA9IHtcclxuICBkYXRhYmFzZUxhYmVsOiBzdHJpbmc7XHJcbiAgZGF0YTogbnVtYmVyW107XHJcbn07XHJcbiJdfQ==
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41
41
|
],
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVoRSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFnQmpDLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWJ0QixvQkFBb0IsYUFHakMsT0FBTztZQUNQLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVksYUFUSixvQkFBb0I7Z0hBWW5CLDBCQUEwQixZQVJuQyxjQUFjO1lBQ2QsZ0JBQWdCO1lBR2hCLHNCQUFzQjtZQUN0QixZQUFZOzs0RkFHSCwwQkFBMEI7a0JBZHRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUU7d0JBQ1AsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBTcGlkZXJDaGFydENvbXBvbmVudCB9IGZyb20gJy4vc3BpZGVyLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2hhcnRzTW9kdWxlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IENoYXJ0LCByZWdpc3RlcmFibGVzIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIubW9kdWxlJztcclxuaW1wb3J0IHsgTWVtb2l6ZUZ1bmNQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvbWVtb2l6ZS1mdW5jLnBpcGUnO1xyXG5cclxuQ2hhcnQucmVnaXN0ZXIoLi4ucmVnaXN0ZXJhYmxlcyk7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NwaWRlckNoYXJ0Q29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbU3BpZGVyQ2hhcnRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXHJcbiAgICBOZ0NoYXJ0c01vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXHJcbiAgICBNZW1vaXplRnVuY1BpcGUsXHJcbiAgICBTcGlubmVyQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlkZXJDaGFydENvbXBvbmVudE1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNwaW5uZXJTaXplID0gJ2xhcmdlJyB8ICdzbWFsbCc7XHJcbiJdfQ==
|