@ember-eui/core 9.0.1 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/eui-accordion.js +74 -218
- package/dist/components/eui-accordion.js.map +1 -1
- package/dist/components/eui-auto-sizer.js +68 -84
- package/dist/components/eui-auto-sizer.js.map +1 -1
- package/dist/components/eui-avatar.js +5 -56
- package/dist/components/eui-avatar.js.map +1 -1
- package/dist/components/eui-badge-group.js +7 -21
- package/dist/components/eui-badge-group.js.map +1 -1
- package/dist/components/eui-badge.js +5 -159
- package/dist/components/eui-badge.js.map +1 -1
- package/dist/components/eui-beta-badge.js +5 -177
- package/dist/components/eui-beta-badge.js.map +1 -1
- package/dist/components/eui-bottom-bar.js +34 -101
- package/dist/components/eui-bottom-bar.js.map +1 -1
- package/dist/components/eui-breadcrumbs.js +78 -183
- package/dist/components/eui-breadcrumbs.js.map +1 -1
- package/dist/components/eui-button-content.js +5 -33
- package/dist/components/eui-button-content.js.map +1 -1
- package/dist/components/eui-button-empty.js +5 -67
- package/dist/components/eui-button-empty.js.map +1 -1
- package/dist/components/eui-button-group-button.js +5 -65
- package/dist/components/eui-button-group-button.js.map +1 -1
- package/dist/components/eui-button-group.js +5 -74
- package/dist/components/eui-button-group.js.map +1 -1
- package/dist/components/eui-button-icon.js +5 -60
- package/dist/components/eui-button-icon.js.map +1 -1
- package/dist/components/eui-button.js +5 -52
- package/dist/components/eui-button.js.map +1 -1
- package/dist/components/eui-call-out.js +5 -50
- package/dist/components/eui-call-out.js.map +1 -1
- package/dist/components/eui-card-select.js +22 -48
- package/dist/components/eui-card-select.js.map +1 -1
- package/dist/components/eui-card.js +41 -198
- package/dist/components/eui-card.js.map +1 -1
- package/dist/components/eui-checkable-card.js +5 -67
- package/dist/components/eui-checkable-card.js.map +1 -1
- package/dist/components/eui-checkbox-group.js +5 -52
- package/dist/components/eui-checkbox-group.js.map +1 -1
- package/dist/components/eui-checkbox.js +8 -53
- package/dist/components/eui-checkbox.js.map +1 -1
- package/dist/components/eui-code-block/controls.js +5 -36
- package/dist/components/eui-code-block/controls.js.map +1 -1
- package/dist/components/eui-code-block/full-screen-display.js +5 -18
- package/dist/components/eui-code-block/full-screen-display.js.map +1 -1
- package/dist/components/eui-code-block/virtualized.js +24 -61
- package/dist/components/eui-code-block/virtualized.js.map +1 -1
- package/dist/components/eui-code-block.js +141 -287
- package/dist/components/eui-code-block.js.map +1 -1
- package/dist/components/eui-code.js +43 -58
- package/dist/components/eui-code.js.map +1 -1
- package/dist/components/eui-collapsible-nav-group.js +5 -132
- package/dist/components/eui-collapsible-nav-group.js.map +1 -1
- package/dist/components/eui-collapsible-nav.js +48 -85
- package/dist/components/eui-collapsible-nav.js.map +1 -1
- package/dist/components/eui-combo-box/create-option.js +21 -42
- package/dist/components/eui-combo-box/create-option.js.map +1 -1
- package/dist/components/eui-combo-box/group.js +4 -15
- package/dist/components/eui-combo-box/group.js.map +1 -1
- package/dist/components/eui-combo-box/no-matches-message.js +5 -13
- package/dist/components/eui-combo-box/no-matches-message.js.map +1 -1
- package/dist/components/eui-combo-box/options.js +41 -124
- package/dist/components/eui-combo-box/options.js.map +1 -1
- package/dist/components/eui-combo-box/search-message.js +5 -13
- package/dist/components/eui-combo-box/search-message.js.map +1 -1
- package/dist/components/eui-combo-box/trigger/input.js +37 -77
- package/dist/components/eui-combo-box/trigger/input.js.map +1 -1
- package/dist/components/eui-combo-box/trigger.js +25 -156
- package/dist/components/eui-combo-box/trigger.js.map +1 -1
- package/dist/components/eui-combo-box-pill.js +5 -44
- package/dist/components/eui-combo-box-pill.js.map +1 -1
- package/dist/components/eui-combo-box.js +124 -209
- package/dist/components/eui-combo-box.js.map +1 -1
- package/dist/components/eui-comment-list.js +4 -11
- package/dist/components/eui-comment-list.js.map +1 -1
- package/dist/components/eui-comment-timeline.js +5 -34
- package/dist/components/eui-comment-timeline.js.map +1 -1
- package/dist/components/eui-comment.js +5 -88
- package/dist/components/eui-comment.js.map +1 -1
- package/dist/components/eui-confirm-modal.js +5 -46
- package/dist/components/eui-confirm-modal.js.map +1 -1
- package/dist/components/eui-context-menu-item.js +29 -94
- package/dist/components/eui-context-menu-item.js.map +1 -1
- package/dist/components/eui-context-menu-panel.js +4 -10
- package/dist/components/eui-context-menu-panel.js.map +1 -1
- package/dist/components/eui-copy.js +25 -32
- package/dist/components/eui-copy.js.map +1 -1
- package/dist/components/eui-described-form-group.js +5 -43
- package/dist/components/eui-described-form-group.js.map +1 -1
- package/dist/components/eui-description-list-description.js +4 -8
- package/dist/components/eui-description-list-description.js.map +1 -1
- package/dist/components/eui-description-list-title.js +4 -8
- package/dist/components/eui-description-list-title.js.map +1 -1
- package/dist/components/eui-description-list.js +5 -29
- package/dist/components/eui-description-list.js.map +1 -1
- package/dist/components/eui-dual-range.js +273 -650
- package/dist/components/eui-dual-range.js.map +1 -1
- package/dist/components/eui-empty-prompt.js +5 -94
- package/dist/components/eui-empty-prompt.js.map +1 -1
- package/dist/components/eui-field-number.js +5 -72
- package/dist/components/eui-field-number.js.map +1 -1
- package/dist/components/eui-field-password.js +5 -78
- package/dist/components/eui-field-password.js.map +1 -1
- package/dist/components/eui-field-search.js +77 -135
- package/dist/components/eui-field-search.js.map +1 -1
- package/dist/components/eui-field-text.js +5 -69
- package/dist/components/eui-field-text.js.map +1 -1
- package/dist/components/eui-file-picker.js +80 -167
- package/dist/components/eui-file-picker.js.map +1 -1
- package/dist/components/eui-flex-grid.js +5 -37
- package/dist/components/eui-flex-grid.js.map +1 -1
- package/dist/components/eui-flex-group.js +5 -37
- package/dist/components/eui-flex-group.js.map +1 -1
- package/dist/components/eui-flex-item.js +5 -32
- package/dist/components/eui-flex-item.js.map +1 -1
- package/dist/components/eui-flyout-body.js +5 -35
- package/dist/components/eui-flyout-body.js.map +1 -1
- package/dist/components/eui-flyout-footer.js +4 -8
- package/dist/components/eui-flyout-footer.js.map +1 -1
- package/dist/components/eui-flyout-header.js +5 -15
- package/dist/components/eui-flyout-header.js.map +1 -1
- package/dist/components/eui-flyout.js +85 -223
- package/dist/components/eui-flyout.js.map +1 -1
- package/dist/components/eui-form-control-layout-clear-button.js +5 -20
- package/dist/components/eui-form-control-layout-clear-button.js.map +1 -1
- package/dist/components/eui-form-control-layout-custom-icon.js +5 -30
- package/dist/components/eui-form-control-layout-custom-icon.js.map +1 -1
- package/dist/components/eui-form-control-layout-delimited.js +5 -50
- package/dist/components/eui-form-control-layout-delimited.js.map +1 -1
- package/dist/components/eui-form-control-layout-icons.js +5 -42
- package/dist/components/eui-form-control-layout-icons.js.map +1 -1
- package/dist/components/eui-form-control-layout.js +5 -44
- package/dist/components/eui-form-control-layout.js.map +1 -1
- package/dist/components/eui-form-error-text.js +4 -8
- package/dist/components/eui-form-error-text.js.map +1 -1
- package/dist/components/eui-form-fieldset.js +5 -22
- package/dist/components/eui-form-fieldset.js.map +1 -1
- package/dist/components/eui-form-help-text.js +4 -8
- package/dist/components/eui-form-help-text.js.map +1 -1
- package/dist/components/eui-form-label.js +5 -26
- package/dist/components/eui-form-label.js.map +1 -1
- package/dist/components/eui-form-legend.js +5 -24
- package/dist/components/eui-form-legend.js.map +1 -1
- package/dist/components/eui-form-row.js +7 -260
- package/dist/components/eui-form-row.js.map +1 -1
- package/dist/components/eui-form.js +5 -79
- package/dist/components/eui-form.js.map +1 -1
- package/dist/components/eui-global-toast-list.js +102 -123
- package/dist/components/eui-global-toast-list.js.map +1 -1
- package/dist/components/eui-header-alert.js +5 -33
- package/dist/components/eui-header-alert.js.map +1 -1
- package/dist/components/eui-header-breadcrumbs.js +5 -13
- package/dist/components/eui-header-breadcrumbs.js.map +1 -1
- package/dist/components/eui-header-link.js +5 -21
- package/dist/components/eui-header-link.js.map +1 -1
- package/dist/components/eui-header-links.js +25 -73
- package/dist/components/eui-header-links.js.map +1 -1
- package/dist/components/eui-header-logo.js +5 -19
- package/dist/components/eui-header-logo.js.map +1 -1
- package/dist/components/eui-header-section-item-button.js +42 -91
- package/dist/components/eui-header-section-item-button.js.map +1 -1
- package/dist/components/eui-header-section-item.js +5 -15
- package/dist/components/eui-header-section-item.js.map +1 -1
- package/dist/components/eui-header-section.js +5 -16
- package/dist/components/eui-header-section.js.map +1 -1
- package/dist/components/eui-header.js +7 -32
- package/dist/components/eui-header.js.map +1 -1
- package/dist/components/eui-health.js +5 -24
- package/dist/components/eui-health.js.map +1 -1
- package/dist/components/eui-hide-for.js +12 -18
- package/dist/components/eui-hide-for.js.map +1 -1
- package/dist/components/eui-horizontal-rule.js +5 -14
- package/dist/components/eui-horizontal-rule.js.map +1 -1
- package/dist/components/eui-i18n/render.js +4 -6
- package/dist/components/eui-i18n/render.js.map +1 -1
- package/dist/components/eui-i18n.js +21 -42
- package/dist/components/eui-i18n.js.map +1 -1
- package/dist/components/eui-icon-tip.js +5 -45
- package/dist/components/eui-icon-tip.js.map +1 -1
- package/dist/components/eui-icon.js +56 -127
- package/dist/components/eui-icon.js.map +1 -1
- package/dist/components/eui-image.js +38 -143
- package/dist/components/eui-image.js.map +1 -1
- package/dist/components/eui-inner-text.js +33 -37
- package/dist/components/eui-inner-text.js.map +1 -1
- package/dist/components/eui-input-popover.js +96 -142
- package/dist/components/eui-input-popover.js.map +1 -1
- package/dist/components/eui-key-pad-menu-item.js +7 -75
- package/dist/components/eui-key-pad-menu-item.js.map +1 -1
- package/dist/components/eui-key-pad-menu.js +7 -24
- package/dist/components/eui-key-pad-menu.js.map +1 -1
- package/dist/components/eui-link.js +5 -56
- package/dist/components/eui-link.js.map +1 -1
- package/dist/components/eui-list-group-item.js +5 -90
- package/dist/components/eui-list-group-item.js.map +1 -1
- package/dist/components/eui-list-group.js +5 -30
- package/dist/components/eui-list-group.js.map +1 -1
- package/dist/components/eui-loading-content.js +5 -18
- package/dist/components/eui-loading-content.js.map +1 -1
- package/dist/components/eui-loading-logo.js +5 -23
- package/dist/components/eui-loading-logo.js.map +1 -1
- package/dist/components/eui-loading-spinner.js +5 -13
- package/dist/components/eui-loading-spinner.js.map +1 -1
- package/dist/components/eui-markdown-editor-drop-zone.js +5 -18
- package/dist/components/eui-markdown-editor-drop-zone.js.map +1 -1
- package/dist/components/eui-markdown-editor-footer/icons/markdown-logo.js +4 -21
- package/dist/components/eui-markdown-editor-footer/icons/markdown-logo.js.map +1 -1
- package/dist/components/eui-markdown-editor-footer.js +38 -134
- package/dist/components/eui-markdown-editor-footer.js.map +1 -1
- package/dist/components/eui-markdown-editor-text-area.js +5 -14
- package/dist/components/eui-markdown-editor-text-area.js.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar/icons/markdown-checkmark.js +4 -21
- package/dist/components/eui-markdown-editor-toolbar/icons/markdown-checkmark.js.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar.js +66 -150
- package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
- package/dist/components/eui-markdown-editor.js +204 -270
- package/dist/components/eui-markdown-editor.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-checkbox.js +12 -22
- package/dist/components/eui-markdown-format/markdown-checkbox.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-code-block.js +5 -14
- package/dist/components/eui-markdown-format/markdown-code-block.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-code.js +5 -9
- package/dist/components/eui-markdown-format/markdown-code.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-tooltip.js +5 -17
- package/dist/components/eui-markdown-format/markdown-tooltip.js.map +1 -1
- package/dist/components/eui-markdown-format.js +34 -48
- package/dist/components/eui-markdown-format.js.map +1 -1
- package/dist/components/eui-modal-body.js +4 -10
- package/dist/components/eui-modal-body.js.map +1 -1
- package/dist/components/eui-modal-footer.js +4 -8
- package/dist/components/eui-modal-footer.js.map +1 -1
- package/dist/components/eui-modal-header-title.js +4 -8
- package/dist/components/eui-modal-header-title.js.map +1 -1
- package/dist/components/eui-modal-header.js +4 -8
- package/dist/components/eui-modal-header.js.map +1 -1
- package/dist/components/eui-modal.js +5 -50
- package/dist/components/eui-modal.js.map +1 -1
- package/dist/components/eui-notification-badge.js +5 -16
- package/dist/components/eui-notification-badge.js.map +1 -1
- package/dist/components/eui-notification-event-messages.js +5 -48
- package/dist/components/eui-notification-event-messages.js.map +1 -1
- package/dist/components/eui-notification-event-meta.js +5 -109
- package/dist/components/eui-notification-event-meta.js.map +1 -1
- package/dist/components/eui-notification-event-read-button.js +5 -23
- package/dist/components/eui-notification-event-read-button.js.map +1 -1
- package/dist/components/eui-notification-event-read-icon.js +5 -27
- package/dist/components/eui-notification-event-read-icon.js.map +1 -1
- package/dist/components/eui-notification-event.js +5 -110
- package/dist/components/eui-notification-event.js.map +1 -1
- package/dist/components/eui-overlay-mask.js +32 -49
- package/dist/components/eui-overlay-mask.js.map +1 -1
- package/dist/components/eui-page-body.js +5 -58
- package/dist/components/eui-page-body.js.map +1 -1
- package/dist/components/eui-page-content-body.js +5 -22
- package/dist/components/eui-page-content-body.js.map +1 -1
- package/dist/components/eui-page-content-header-section.js +4 -8
- package/dist/components/eui-page-content-header-section.js.map +1 -1
- package/dist/components/eui-page-content-header.js +5 -15
- package/dist/components/eui-page-content-header.js.map +1 -1
- package/dist/components/eui-page-content.js +5 -26
- package/dist/components/eui-page-content.js.map +1 -1
- package/dist/components/eui-page-header-content.js +45 -353
- package/dist/components/eui-page-header-content.js.map +1 -1
- package/dist/components/eui-page-header-section.js +4 -8
- package/dist/components/eui-page-header-section.js.map +1 -1
- package/dist/components/eui-page-header.js +5 -102
- package/dist/components/eui-page-header.js.map +1 -1
- package/dist/components/eui-page-side-bar.js +5 -16
- package/dist/components/eui-page-side-bar.js.map +1 -1
- package/dist/components/eui-page-template.js +50 -837
- package/dist/components/eui-page-template.js.map +1 -1
- package/dist/components/eui-page.js +5 -32
- package/dist/components/eui-page.js.map +1 -1
- package/dist/components/eui-pagination/button-wrapper.js +5 -27
- package/dist/components/eui-pagination/button-wrapper.js.map +1 -1
- package/dist/components/eui-pagination/next-button.js +5 -37
- package/dist/components/eui-pagination/next-button.js.map +1 -1
- package/dist/components/eui-pagination/previous-button.js +5 -37
- package/dist/components/eui-pagination/previous-button.js.map +1 -1
- package/dist/components/eui-pagination-button.js +5 -42
- package/dist/components/eui-pagination-button.js.map +1 -1
- package/dist/components/eui-pagination.js +62 -181
- package/dist/components/eui-pagination.js.map +1 -1
- package/dist/components/eui-panel.js +5 -68
- package/dist/components/eui-panel.js.map +1 -1
- package/dist/components/eui-popover-footer.js +5 -15
- package/dist/components/eui-popover-footer.js.map +1 -1
- package/dist/components/eui-popover-title.js +5 -15
- package/dist/components/eui-popover-title.js.map +1 -1
- package/dist/components/eui-popover.js +275 -403
- package/dist/components/eui-popover.js.map +1 -1
- package/dist/components/eui-portal.js +22 -28
- package/dist/components/eui-portal.js.map +1 -1
- package/dist/components/eui-progress.js +5 -59
- package/dist/components/eui-progress.js.map +1 -1
- package/dist/components/eui-radio-group.js +5 -45
- package/dist/components/eui-radio-group.js.map +1 -1
- package/dist/components/eui-radio.js +5 -47
- package/dist/components/eui-radio.js.map +1 -1
- package/dist/components/eui-range-highlight.js +5 -29
- package/dist/components/eui-range-highlight.js.map +1 -1
- package/dist/components/eui-range-input.js +5 -45
- package/dist/components/eui-range-input.js.map +1 -1
- package/dist/components/eui-range-label.js +5 -15
- package/dist/components/eui-range-label.js.map +1 -1
- package/dist/components/eui-range-levels.js +28 -49
- package/dist/components/eui-range-levels.js.map +1 -1
- package/dist/components/eui-range-slider.js +5 -24
- package/dist/components/eui-range-slider.js.map +1 -1
- package/dist/components/eui-range-thumb.js +5 -30
- package/dist/components/eui-range-thumb.js.map +1 -1
- package/dist/components/eui-range-ticks.js +20 -50
- package/dist/components/eui-range-ticks.js.map +1 -1
- package/dist/components/eui-range-tooltip.js +31 -47
- package/dist/components/eui-range-tooltip.js.map +1 -1
- package/dist/components/eui-range-track.js +77 -122
- package/dist/components/eui-range-track.js.map +1 -1
- package/dist/components/eui-range-wrapper.js +5 -16
- package/dist/components/eui-range-wrapper.js.map +1 -1
- package/dist/components/eui-range.js +120 -527
- package/dist/components/eui-range.js.map +1 -1
- package/dist/components/eui-select.js +5 -74
- package/dist/components/eui-select.js.map +1 -1
- package/dist/components/eui-selectable-list-item.js +5 -29
- package/dist/components/eui-selectable-list-item.js.map +1 -1
- package/dist/components/eui-show-for.js +26 -37
- package/dist/components/eui-show-for.js.map +1 -1
- package/dist/components/eui-side-nav-item/button.js +5 -33
- package/dist/components/eui-side-nav-item/button.js.map +1 -1
- package/dist/components/eui-side-nav-item.js +5 -119
- package/dist/components/eui-side-nav-item.js.map +1 -1
- package/dist/components/eui-side-nav.js +30 -189
- package/dist/components/eui-side-nav.js.map +1 -1
- package/dist/components/eui-spacer.js +5 -10
- package/dist/components/eui-spacer.js.map +1 -1
- package/dist/components/eui-split-panel/inner.js +5 -17
- package/dist/components/eui-split-panel/inner.js.map +1 -1
- package/dist/components/eui-split-panel/outer.js +5 -34
- package/dist/components/eui-split-panel/outer.js.map +1 -1
- package/dist/components/eui-stat/description.js +5 -22
- package/dist/components/eui-stat/description.js.map +1 -1
- package/dist/components/eui-stat/title.js +5 -27
- package/dist/components/eui-stat/title.js.map +1 -1
- package/dist/components/eui-stat.js +10 -90
- package/dist/components/eui-stat.js.map +1 -1
- package/dist/components/eui-step-horizontal.js +5 -48
- package/dist/components/eui-step-horizontal.js.map +1 -1
- package/dist/components/eui-step-number.js +6 -48
- package/dist/components/eui-step-number.js.map +1 -1
- package/dist/components/eui-step.js +5 -37
- package/dist/components/eui-step.js.map +1 -1
- package/dist/components/eui-steps-horizontal.js +4 -8
- package/dist/components/eui-steps-horizontal.js.map +1 -1
- package/dist/components/eui-steps.js +4 -8
- package/dist/components/eui-steps.js.map +1 -1
- package/dist/components/eui-sub-steps.js +4 -8
- package/dist/components/eui-sub-steps.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js +64 -96
- package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js +141 -284
- package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js +30 -83
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js +29 -70
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/now-tab.js +5 -51
- package/dist/components/eui-super-date-picker/date-popover/now-tab.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/relative-tab.js +74 -109
- package/dist/components/eui-super-date-picker/date-popover/relative-tab.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-date-picker-range.js +5 -28
- package/dist/components/eui-super-date-picker/eui-date-picker-range.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.js +5 -47
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js +69 -204
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.js +5 -47
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover.js +36 -85
- package/dist/components/eui-super-date-picker/eui-quick-select-popover.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-super-update-button.js +5 -42
- package/dist/components/eui-super-date-picker/eui-super-update-button.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/pretty-duration.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/quick-select.js.map +1 -1
- package/dist/components/eui-super-date-picker.js +110 -224
- package/dist/components/eui-super-date-picker.js.map +1 -1
- package/dist/components/eui-switch.js +25 -84
- package/dist/components/eui-switch.js.map +1 -1
- package/dist/components/eui-tab.js +5 -69
- package/dist/components/eui-tab.js.map +1 -1
- package/dist/components/eui-tabbed-content.js +88 -125
- package/dist/components/eui-tabbed-content.js.map +1 -1
- package/dist/components/eui-tabs.js +5 -25
- package/dist/components/eui-tabs.js.map +1 -1
- package/dist/components/eui-text-align.js +5 -15
- package/dist/components/eui-text-align.js.map +1 -1
- package/dist/components/eui-text-area.js +5 -30
- package/dist/components/eui-text-area.js.map +1 -1
- package/dist/components/eui-text-color.js +5 -27
- package/dist/components/eui-text-color.js.map +1 -1
- package/dist/components/eui-text.js +5 -40
- package/dist/components/eui-text.js.map +1 -1
- package/dist/components/eui-title.js +5 -17
- package/dist/components/eui-title.js.map +1 -1
- package/dist/components/eui-toast.js +5 -62
- package/dist/components/eui-toast.js.map +1 -1
- package/dist/components/eui-tool-tip-popover.js +27 -33
- package/dist/components/eui-tool-tip-popover.js.map +1 -1
- package/dist/components/eui-tool-tip.js +161 -218
- package/dist/components/eui-tool-tip.js.map +1 -1
- package/dist/components/text-block.js +5 -39
- package/dist/components/text-block.js.map +1 -1
- package/dist/helpers/class-names.js.map +1 -1
- package/dist/helpers/eui-palette.js.map +1 -1
- package/dist/helpers/get-eui-config.js +6 -12
- package/dist/helpers/get-eui-config.js.map +1 -1
- package/dist/helpers/get-range-tick.js.map +1 -1
- package/dist/helpers/inline-styles.js.map +1 -1
- package/dist/helpers/is-within-number.js.map +1 -1
- package/dist/helpers/use-state.js +10 -17
- package/dist/helpers/use-state.js.map +1 -1
- package/dist/i18n/util.js.map +1 -1
- package/dist/modifiers/outside-click-detector.js +16 -12
- package/dist/modifiers/outside-click-detector.js.map +1 -1
- package/dist/modifiers/resize-observer.js +9 -15
- package/dist/modifiers/resize-observer.js.map +1 -1
- package/dist/modifiers/use-is-within-breakpoints.js.map +1 -1
- package/dist/services/eui-config.js +8 -14
- package/dist/services/eui-config.js.map +1 -1
- package/dist/services/eui-i18n.js +13 -8
- package/dist/services/eui-i18n.js.map +1 -1
- package/dist/services/eui-toaster.js +13 -13
- package/dist/services/eui-toaster.js.map +1 -1
- package/dist/utils/accesibility/accessible-click-keys.js.map +1 -1
- package/dist/utils/accesibility/cascading-menu-keys.js.map +1 -1
- package/dist/utils/accesibility/combo-box-keys.js.map +1 -1
- package/dist/utils/breakpoint.js.map +1 -1
- package/dist/utils/code/utils.js.map +1 -1
- package/dist/utils/color/eui_palettes.js.map +1 -1
- package/dist/utils/css-mappings/eui-avatar.js.map +1 -1
- package/dist/utils/css-mappings/eui-badge.js.map +1 -1
- package/dist/utils/css-mappings/eui-button-group-button.js.map +1 -1
- package/dist/utils/css-mappings/eui-button-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-range-levels.js.map +1 -1
- package/dist/utils/css-mappings/index.js.map +1 -1
- package/dist/utils/markdown/markdown-actions.js +20 -3
- package/dist/utils/markdown/markdown-actions.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-add-components/processor.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/processing-plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/ui-plugins.js.map +1 -1
- package/dist/utils/markdown/remark/remark-prismjs.js.map +1 -1
- package/dist/utils/timer.js +26 -30
- package/dist/utils/timer.js.map +1 -1
- package/package.json +12 -10
- package/declarations/-private/random-id.d.ts +0 -9
- package/declarations/-private/random-id.d.ts.map +0 -1
- package/declarations/components/common.d.ts +0 -42
- package/declarations/components/common.d.ts.map +0 -1
- package/declarations/components/eui-accordion.d.ts +0 -101
- package/declarations/components/eui-accordion.d.ts.map +0 -1
- package/declarations/components/eui-auto-sizer.d.ts +0 -64
- package/declarations/components/eui-auto-sizer.d.ts.map +0 -1
- package/declarations/components/eui-avatar.d.ts +0 -22
- package/declarations/components/eui-avatar.d.ts.map +0 -1
- package/declarations/components/eui-badge-group.d.ts +0 -23
- package/declarations/components/eui-badge-group.d.ts.map +0 -1
- package/declarations/components/eui-badge.d.ts +0 -30
- package/declarations/components/eui-badge.d.ts.map +0 -1
- package/declarations/components/eui-beta-badge.d.ts +0 -63
- package/declarations/components/eui-beta-badge.d.ts.map +0 -1
- package/declarations/components/eui-bottom-bar.d.ts +0 -35
- package/declarations/components/eui-bottom-bar.d.ts.map +0 -1
- package/declarations/components/eui-breadcrumbs.d.ts +0 -70
- package/declarations/components/eui-breadcrumbs.d.ts.map +0 -1
- package/declarations/components/eui-button-content.d.ts +0 -21
- package/declarations/components/eui-button-content.d.ts.map +0 -1
- package/declarations/components/eui-button-empty.d.ts +0 -33
- package/declarations/components/eui-button-empty.d.ts.map +0 -1
- package/declarations/components/eui-button-group-button.d.ts +0 -29
- package/declarations/components/eui-button-group-button.d.ts.map +0 -1
- package/declarations/components/eui-button-group.d.ts +0 -41
- package/declarations/components/eui-button-group.d.ts.map +0 -1
- package/declarations/components/eui-button-icon.d.ts +0 -25
- package/declarations/components/eui-button-icon.d.ts.map +0 -1
- package/declarations/components/eui-button.d.ts +0 -34
- package/declarations/components/eui-button.d.ts.map +0 -1
- package/declarations/components/eui-call-out.d.ts +0 -21
- package/declarations/components/eui-call-out.d.ts.map +0 -1
- package/declarations/components/eui-card-select.d.ts +0 -29
- package/declarations/components/eui-card-select.d.ts.map +0 -1
- package/declarations/components/eui-card.d.ts +0 -68
- package/declarations/components/eui-card.d.ts.map +0 -1
- package/declarations/components/eui-checkable-card.d.ts +0 -21
- package/declarations/components/eui-checkable-card.d.ts.map +0 -1
- package/declarations/components/eui-checkbox-group.d.ts +0 -27
- package/declarations/components/eui-checkbox-group.d.ts.map +0 -1
- package/declarations/components/eui-checkbox.d.ts +0 -27
- package/declarations/components/eui-checkbox.d.ts.map +0 -1
- package/declarations/components/eui-code-block/controls.d.ts +0 -13
- package/declarations/components/eui-code-block/controls.d.ts.map +0 -1
- package/declarations/components/eui-code-block/full-screen-display.d.ts +0 -11
- package/declarations/components/eui-code-block/full-screen-display.d.ts.map +0 -1
- package/declarations/components/eui-code-block/virtualized.d.ts +0 -20
- package/declarations/components/eui-code-block/virtualized.d.ts.map +0 -1
- package/declarations/components/eui-code-block.d.ts +0 -92
- package/declarations/components/eui-code-block.d.ts.map +0 -1
- package/declarations/components/eui-code.d.ts +0 -21
- package/declarations/components/eui-code.d.ts.map +0 -1
- package/declarations/components/eui-collapsible-nav-group.d.ts +0 -26
- package/declarations/components/eui-collapsible-nav-group.d.ts.map +0 -1
- package/declarations/components/eui-collapsible-nav.d.ts +0 -66
- package/declarations/components/eui-collapsible-nav.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/create-option.d.ts +0 -16
- package/declarations/components/eui-combo-box/create-option.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/group.d.ts +0 -16
- package/declarations/components/eui-combo-box/group.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/no-matches-message.d.ts +0 -11
- package/declarations/components/eui-combo-box/no-matches-message.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/options.d.ts +0 -12
- package/declarations/components/eui-combo-box/options.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/search-message.d.ts +0 -11
- package/declarations/components/eui-combo-box/search-message.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/trigger/input.d.ts +0 -6
- package/declarations/components/eui-combo-box/trigger/input.d.ts.map +0 -1
- package/declarations/components/eui-combo-box/trigger.d.ts +0 -4
- package/declarations/components/eui-combo-box/trigger.d.ts.map +0 -1
- package/declarations/components/eui-combo-box-pill.d.ts +0 -22
- package/declarations/components/eui-combo-box-pill.d.ts.map +0 -1
- package/declarations/components/eui-combo-box.d.ts +0 -69
- package/declarations/components/eui-combo-box.d.ts.map +0 -1
- package/declarations/components/eui-comment-list.d.ts +0 -10
- package/declarations/components/eui-comment-list.d.ts.map +0 -1
- package/declarations/components/eui-comment-timeline.d.ts +0 -15
- package/declarations/components/eui-comment-timeline.d.ts.map +0 -1
- package/declarations/components/eui-comment.d.ts +0 -20
- package/declarations/components/eui-comment.d.ts.map +0 -1
- package/declarations/components/eui-confirm-modal.d.ts +0 -23
- package/declarations/components/eui-confirm-modal.d.ts.map +0 -1
- package/declarations/components/eui-context-menu-item.d.ts +0 -25
- package/declarations/components/eui-context-menu-item.d.ts.map +0 -1
- package/declarations/components/eui-context-menu-panel.d.ts +0 -10
- package/declarations/components/eui-context-menu-panel.d.ts.map +0 -1
- package/declarations/components/eui-copy.d.ts +0 -36
- package/declarations/components/eui-copy.d.ts.map +0 -1
- package/declarations/components/eui-described-form-group.d.ts +0 -27
- package/declarations/components/eui-described-form-group.d.ts.map +0 -1
- package/declarations/components/eui-description-list-description.d.ts +0 -10
- package/declarations/components/eui-description-list-description.d.ts.map +0 -1
- package/declarations/components/eui-description-list-title.d.ts +0 -10
- package/declarations/components/eui-description-list-title.d.ts.map +0 -1
- package/declarations/components/eui-description-list.d.ts +0 -27
- package/declarations/components/eui-description-list.d.ts.map +0 -1
- package/declarations/components/eui-dual-range.d.ts +0 -141
- package/declarations/components/eui-dual-range.d.ts.map +0 -1
- package/declarations/components/eui-empty-prompt.d.ts +0 -29
- package/declarations/components/eui-empty-prompt.d.ts.map +0 -1
- package/declarations/components/eui-field-number.d.ts +0 -57
- package/declarations/components/eui-field-number.d.ts.map +0 -1
- package/declarations/components/eui-field-password.d.ts +0 -28
- package/declarations/components/eui-field-password.d.ts.map +0 -1
- package/declarations/components/eui-field-search.d.ts +0 -52
- package/declarations/components/eui-field-search.d.ts.map +0 -1
- package/declarations/components/eui-field-text.d.ts +0 -29
- package/declarations/components/eui-field-text.d.ts.map +0 -1
- package/declarations/components/eui-file-picker.d.ts +0 -60
- package/declarations/components/eui-file-picker.d.ts.map +0 -1
- package/declarations/components/eui-flex-grid.d.ts +0 -33
- package/declarations/components/eui-flex-grid.d.ts.map +0 -1
- package/declarations/components/eui-flex-group.d.ts +0 -20
- package/declarations/components/eui-flex-group.d.ts.map +0 -1
- package/declarations/components/eui-flex-item.d.ts +0 -15
- package/declarations/components/eui-flex-item.d.ts.map +0 -1
- package/declarations/components/eui-flyout-body.d.ts +0 -12
- package/declarations/components/eui-flyout-body.d.ts.map +0 -1
- package/declarations/components/eui-flyout-footer.d.ts +0 -10
- package/declarations/components/eui-flyout-footer.d.ts.map +0 -1
- package/declarations/components/eui-flyout-header.d.ts +0 -13
- package/declarations/components/eui-flyout-header.d.ts.map +0 -1
- package/declarations/components/eui-flyout.d.ts +0 -87
- package/declarations/components/eui-flyout.d.ts.map +0 -1
- package/declarations/components/eui-form-control-layout-clear-button.d.ts +0 -14
- package/declarations/components/eui-form-control-layout-clear-button.d.ts.map +0 -1
- package/declarations/components/eui-form-control-layout-custom-icon.d.ts +0 -16
- package/declarations/components/eui-form-control-layout-custom-icon.d.ts.map +0 -1
- package/declarations/components/eui-form-control-layout-delimited.d.ts +0 -25
- package/declarations/components/eui-form-control-layout-delimited.d.ts.map +0 -1
- package/declarations/components/eui-form-control-layout-icons.d.ts +0 -17
- package/declarations/components/eui-form-control-layout-icons.d.ts.map +0 -1
- package/declarations/components/eui-form-control-layout.d.ts +0 -30
- package/declarations/components/eui-form-control-layout.d.ts.map +0 -1
- package/declarations/components/eui-form-error-text.d.ts +0 -10
- package/declarations/components/eui-form-error-text.d.ts.map +0 -1
- package/declarations/components/eui-form-fieldset.d.ts +0 -18
- package/declarations/components/eui-form-fieldset.d.ts.map +0 -1
- package/declarations/components/eui-form-help-text.d.ts +0 -13
- package/declarations/components/eui-form-help-text.d.ts.map +0 -1
- package/declarations/components/eui-form-label.d.ts +0 -17
- package/declarations/components/eui-form-label.d.ts.map +0 -1
- package/declarations/components/eui-form-legend.d.ts +0 -14
- package/declarations/components/eui-form-legend.d.ts.map +0 -1
- package/declarations/components/eui-form-row.d.ts +0 -35
- package/declarations/components/eui-form-row.d.ts.map +0 -1
- package/declarations/components/eui-form.d.ts +0 -20
- package/declarations/components/eui-form.d.ts.map +0 -1
- package/declarations/components/eui-global-toast-list.d.ts +0 -45
- package/declarations/components/eui-global-toast-list.d.ts.map +0 -1
- package/declarations/components/eui-header-alert.d.ts +0 -14
- package/declarations/components/eui-header-alert.d.ts.map +0 -1
- package/declarations/components/eui-header-breadcrumbs.d.ts +0 -14
- package/declarations/components/eui-header-breadcrumbs.d.ts.map +0 -1
- package/declarations/components/eui-header-link.d.ts +0 -14
- package/declarations/components/eui-header-link.d.ts.map +0 -1
- package/declarations/components/eui-header-links.d.ts +0 -20
- package/declarations/components/eui-header-links.d.ts.map +0 -1
- package/declarations/components/eui-header-logo.d.ts +0 -17
- package/declarations/components/eui-header-logo.d.ts.map +0 -1
- package/declarations/components/eui-header-section-item-button.d.ts +0 -26
- package/declarations/components/eui-header-section-item-button.d.ts.map +0 -1
- package/declarations/components/eui-header-section-item.d.ts +0 -14
- package/declarations/components/eui-header-section-item.d.ts.map +0 -1
- package/declarations/components/eui-header-section.d.ts +0 -15
- package/declarations/components/eui-header-section.d.ts.map +0 -1
- package/declarations/components/eui-header.d.ts +0 -23
- package/declarations/components/eui-header.d.ts.map +0 -1
- package/declarations/components/eui-health.d.ts +0 -21
- package/declarations/components/eui-health.d.ts.map +0 -1
- package/declarations/components/eui-hide-for.d.ts +0 -21
- package/declarations/components/eui-hide-for.d.ts.map +0 -1
- package/declarations/components/eui-horizontal-rule.d.ts +0 -12
- package/declarations/components/eui-horizontal-rule.d.ts.map +0 -1
- package/declarations/components/eui-i18n/render.d.ts +0 -12
- package/declarations/components/eui-i18n/render.d.ts.map +0 -1
- package/declarations/components/eui-i18n.d.ts +0 -32
- package/declarations/components/eui-i18n.d.ts.map +0 -1
- package/declarations/components/eui-icon-tip.d.ts +0 -29
- package/declarations/components/eui-icon-tip.d.ts.map +0 -1
- package/declarations/components/eui-icon.d.ts +0 -80
- package/declarations/components/eui-icon.d.ts.map +0 -1
- package/declarations/components/eui-image.d.ts +0 -62
- package/declarations/components/eui-image.d.ts.map +0 -1
- package/declarations/components/eui-inner-text.d.ts +0 -21
- package/declarations/components/eui-inner-text.d.ts.map +0 -1
- package/declarations/components/eui-input-popover.d.ts +0 -44
- package/declarations/components/eui-input-popover.d.ts.map +0 -1
- package/declarations/components/eui-key-pad-menu-item.d.ts +0 -26
- package/declarations/components/eui-key-pad-menu-item.d.ts.map +0 -1
- package/declarations/components/eui-key-pad-menu.d.ts +0 -23
- package/declarations/components/eui-key-pad-menu.d.ts.map +0 -1
- package/declarations/components/eui-link.d.ts +0 -18
- package/declarations/components/eui-link.d.ts.map +0 -1
- package/declarations/components/eui-list-group-item.d.ts +0 -26
- package/declarations/components/eui-list-group-item.d.ts.map +0 -1
- package/declarations/components/eui-list-group.d.ts +0 -16
- package/declarations/components/eui-list-group.d.ts.map +0 -1
- package/declarations/components/eui-loading-content.d.ts +0 -14
- package/declarations/components/eui-loading-content.d.ts.map +0 -1
- package/declarations/components/eui-loading-logo.d.ts +0 -13
- package/declarations/components/eui-loading-logo.d.ts.map +0 -1
- package/declarations/components/eui-loading-spinner.d.ts +0 -11
- package/declarations/components/eui-loading-spinner.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor-drop-zone.d.ts +0 -17
- package/declarations/components/eui-markdown-editor-drop-zone.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor-footer/icons/markdown-logo.d.ts +0 -10
- package/declarations/components/eui-markdown-editor-footer/icons/markdown-logo.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor-footer.d.ts +0 -13
- package/declarations/components/eui-markdown-editor-footer.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor-text-area.d.ts +0 -14
- package/declarations/components/eui-markdown-editor-text-area.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor-toolbar/icons/markdown-checkmark.d.ts +0 -11
- package/declarations/components/eui-markdown-editor-toolbar/icons/markdown-checkmark.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor-toolbar.d.ts +0 -50
- package/declarations/components/eui-markdown-editor-toolbar.d.ts.map +0 -1
- package/declarations/components/eui-markdown-editor.d.ts +0 -95
- package/declarations/components/eui-markdown-editor.d.ts.map +0 -1
- package/declarations/components/eui-markdown-format/markdown-checkbox.d.ts +0 -24
- package/declarations/components/eui-markdown-format/markdown-checkbox.d.ts.map +0 -1
- package/declarations/components/eui-markdown-format/markdown-code-block.d.ts +0 -15
- package/declarations/components/eui-markdown-format/markdown-code-block.d.ts.map +0 -1
- package/declarations/components/eui-markdown-format/markdown-code.d.ts +0 -13
- package/declarations/components/eui-markdown-format/markdown-code.d.ts.map +0 -1
- package/declarations/components/eui-markdown-format/markdown-tooltip.d.ts +0 -15
- package/declarations/components/eui-markdown-format/markdown-tooltip.d.ts.map +0 -1
- package/declarations/components/eui-markdown-format.d.ts +0 -23
- package/declarations/components/eui-markdown-format.d.ts.map +0 -1
- package/declarations/components/eui-modal-body.d.ts +0 -10
- package/declarations/components/eui-modal-body.d.ts.map +0 -1
- package/declarations/components/eui-modal-footer.d.ts +0 -10
- package/declarations/components/eui-modal-footer.d.ts.map +0 -1
- package/declarations/components/eui-modal-header-title.d.ts +0 -10
- package/declarations/components/eui-modal-header-title.d.ts.map +0 -1
- package/declarations/components/eui-modal-header.d.ts +0 -10
- package/declarations/components/eui-modal-header.d.ts.map +0 -1
- package/declarations/components/eui-modal.d.ts +0 -27
- package/declarations/components/eui-modal.d.ts.map +0 -1
- package/declarations/components/eui-notification-badge.d.ts +0 -15
- package/declarations/components/eui-notification-badge.d.ts.map +0 -1
- package/declarations/components/eui-notification-event-messages.d.ts +0 -13
- package/declarations/components/eui-notification-event-messages.d.ts.map +0 -1
- package/declarations/components/eui-notification-event-meta.d.ts +0 -24
- package/declarations/components/eui-notification-event-meta.d.ts.map +0 -1
- package/declarations/components/eui-notification-event-read-button.d.ts +0 -13
- package/declarations/components/eui-notification-event-read-button.d.ts.map +0 -1
- package/declarations/components/eui-notification-event-read-icon.d.ts +0 -14
- package/declarations/components/eui-notification-event-read-icon.d.ts.map +0 -1
- package/declarations/components/eui-notification-event.d.ts +0 -40
- package/declarations/components/eui-notification-event.d.ts.map +0 -1
- package/declarations/components/eui-overlay-mask.d.ts +0 -20
- package/declarations/components/eui-overlay-mask.d.ts.map +0 -1
- package/declarations/components/eui-page-body.d.ts +0 -22
- package/declarations/components/eui-page-body.d.ts.map +0 -1
- package/declarations/components/eui-page-content-body.d.ts +0 -18
- package/declarations/components/eui-page-content-body.d.ts.map +0 -1
- package/declarations/components/eui-page-content-header-section.d.ts +0 -10
- package/declarations/components/eui-page-content-header-section.d.ts.map +0 -1
- package/declarations/components/eui-page-content-header.d.ts +0 -13
- package/declarations/components/eui-page-content-header.d.ts.map +0 -1
- package/declarations/components/eui-page-content.d.ts +0 -22
- package/declarations/components/eui-page-content.d.ts.map +0 -1
- package/declarations/components/eui-page-header-content.d.ts +0 -98
- package/declarations/components/eui-page-header-content.d.ts.map +0 -1
- package/declarations/components/eui-page-header-section.d.ts +0 -10
- package/declarations/components/eui-page-header-section.d.ts.map +0 -1
- package/declarations/components/eui-page-header.d.ts +0 -89
- package/declarations/components/eui-page-header.d.ts.map +0 -1
- package/declarations/components/eui-page-side-bar.d.ts +0 -15
- package/declarations/components/eui-page-side-bar.d.ts.map +0 -1
- package/declarations/components/eui-page-template.d.ts +0 -77
- package/declarations/components/eui-page-template.d.ts.map +0 -1
- package/declarations/components/eui-page.d.ts +0 -17
- package/declarations/components/eui-page.d.ts.map +0 -1
- package/declarations/components/eui-pagination/button-wrapper.d.ts +0 -16
- package/declarations/components/eui-pagination/button-wrapper.d.ts.map +0 -1
- package/declarations/components/eui-pagination/next-button.d.ts +0 -19
- package/declarations/components/eui-pagination/next-button.d.ts.map +0 -1
- package/declarations/components/eui-pagination/previous-button.d.ts +0 -18
- package/declarations/components/eui-pagination/previous-button.d.ts.map +0 -1
- package/declarations/components/eui-pagination-button.d.ts +0 -20
- package/declarations/components/eui-pagination-button.d.ts.map +0 -1
- package/declarations/components/eui-pagination.d.ts +0 -79
- package/declarations/components/eui-pagination.d.ts.map +0 -1
- package/declarations/components/eui-panel.d.ts +0 -45
- package/declarations/components/eui-panel.d.ts.map +0 -1
- package/declarations/components/eui-popover-footer.d.ts +0 -14
- package/declarations/components/eui-popover-footer.d.ts.map +0 -1
- package/declarations/components/eui-popover-title.d.ts +0 -14
- package/declarations/components/eui-popover-title.d.ts.map +0 -1
- package/declarations/components/eui-popover.d.ts +0 -207
- package/declarations/components/eui-popover.d.ts.map +0 -1
- package/declarations/components/eui-portal.d.ts +0 -28
- package/declarations/components/eui-portal.d.ts.map +0 -1
- package/declarations/components/eui-progress.d.ts +0 -22
- package/declarations/components/eui-progress.d.ts.map +0 -1
- package/declarations/components/eui-radio-group.d.ts +0 -25
- package/declarations/components/eui-radio-group.d.ts.map +0 -1
- package/declarations/components/eui-radio.d.ts +0 -24
- package/declarations/components/eui-radio.d.ts.map +0 -1
- package/declarations/components/eui-range-highlight.d.ts +0 -16
- package/declarations/components/eui-range-highlight.d.ts.map +0 -1
- package/declarations/components/eui-range-input.d.ts +0 -25
- package/declarations/components/eui-range-input.d.ts.map +0 -1
- package/declarations/components/eui-range-label.d.ts +0 -13
- package/declarations/components/eui-range-label.d.ts.map +0 -1
- package/declarations/components/eui-range-levels.d.ts +0 -27
- package/declarations/components/eui-range-levels.d.ts.map +0 -1
- package/declarations/components/eui-range-slider.d.ts +0 -25
- package/declarations/components/eui-range-slider.d.ts.map +0 -1
- package/declarations/components/eui-range-thumb.d.ts +0 -15
- package/declarations/components/eui-range-thumb.d.ts.map +0 -1
- package/declarations/components/eui-range-ticks.d.ts +0 -29
- package/declarations/components/eui-range-ticks.d.ts.map +0 -1
- package/declarations/components/eui-range-tooltip.d.ts +0 -33
- package/declarations/components/eui-range-tooltip.d.ts.map +0 -1
- package/declarations/components/eui-range-track.d.ts +0 -43
- package/declarations/components/eui-range-track.d.ts.map +0 -1
- package/declarations/components/eui-range-wrapper.d.ts +0 -14
- package/declarations/components/eui-range-wrapper.d.ts.map +0 -1
- package/declarations/components/eui-range.d.ts +0 -112
- package/declarations/components/eui-range.d.ts.map +0 -1
- package/declarations/components/eui-select.d.ts +0 -31
- package/declarations/components/eui-select.d.ts.map +0 -1
- package/declarations/components/eui-selectable-list-item.d.ts +0 -15
- package/declarations/components/eui-selectable-list-item.d.ts.map +0 -1
- package/declarations/components/eui-show-for.d.ts +0 -30
- package/declarations/components/eui-show-for.d.ts.map +0 -1
- package/declarations/components/eui-side-nav-item/button.d.ts +0 -16
- package/declarations/components/eui-side-nav-item/button.d.ts.map +0 -1
- package/declarations/components/eui-side-nav-item.d.ts +0 -32
- package/declarations/components/eui-side-nav-item.d.ts.map +0 -1
- package/declarations/components/eui-side-nav.d.ts +0 -48
- package/declarations/components/eui-side-nav.d.ts.map +0 -1
- package/declarations/components/eui-spacer.d.ts +0 -11
- package/declarations/components/eui-spacer.d.ts.map +0 -1
- package/declarations/components/eui-split-panel/inner.d.ts +0 -18
- package/declarations/components/eui-split-panel/inner.d.ts.map +0 -1
- package/declarations/components/eui-split-panel/outer.d.ts +0 -22
- package/declarations/components/eui-split-panel/outer.d.ts.map +0 -1
- package/declarations/components/eui-stat/description.d.ts +0 -15
- package/declarations/components/eui-stat/description.d.ts.map +0 -1
- package/declarations/components/eui-stat/title.d.ts +0 -17
- package/declarations/components/eui-stat/title.d.ts.map +0 -1
- package/declarations/components/eui-stat.d.ts +0 -28
- package/declarations/components/eui-stat.d.ts.map +0 -1
- package/declarations/components/eui-step-horizontal.d.ts +0 -38
- package/declarations/components/eui-step-horizontal.d.ts.map +0 -1
- package/declarations/components/eui-step-number.d.ts +0 -31
- package/declarations/components/eui-step-number.d.ts.map +0 -1
- package/declarations/components/eui-step.d.ts +0 -18
- package/declarations/components/eui-step.d.ts.map +0 -1
- package/declarations/components/eui-steps-horizontal.d.ts +0 -10
- package/declarations/components/eui-steps-horizontal.d.ts.map +0 -1
- package/declarations/components/eui-steps.d.ts +0 -13
- package/declarations/components/eui-steps.d.ts.map +0 -1
- package/declarations/components/eui-sub-steps.d.ts +0 -10
- package/declarations/components/eui-sub-steps.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/date-popover/absolute-tab.d.ts +0 -27
- package/declarations/components/eui-super-date-picker/date-popover/absolute-tab.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/date-popover/datetime-picker.d.ts +0 -65
- package/declarations/components/eui-super-date-picker/date-popover/datetime-picker.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/date-popover/eui-date-popover-button.d.ts +0 -32
- package/declarations/components/eui-super-date-picker/date-popover/eui-date-popover-button.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/date-popover/eui-date-popover-content.d.ts +0 -48
- package/declarations/components/eui-super-date-picker/date-popover/eui-date-popover-content.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/date-popover/now-tab.d.ts +0 -10
- package/declarations/components/eui-super-date-picker/date-popover/now-tab.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/date-popover/relative-tab.d.ts +0 -31
- package/declarations/components/eui-super-date-picker/date-popover/relative-tab.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/eui-date-picker-range.d.ts +0 -18
- package/declarations/components/eui-super-date-picker/eui-date-picker-range.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.d.ts +0 -14
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.d.ts +0 -37
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.d.ts +0 -14
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover.d.ts +0 -30
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/eui-super-update-button.d.ts +0 -20
- package/declarations/components/eui-super-date-picker/eui-super-update-button.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/utils/date-utils.d.ts +0 -15
- package/declarations/components/eui-super-date-picker/utils/date-utils.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/utils/index.d.ts +0 -31
- package/declarations/components/eui-super-date-picker/utils/index.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/utils/pretty-duration.d.ts +0 -25
- package/declarations/components/eui-super-date-picker/utils/pretty-duration.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/utils/quick-select.d.ts +0 -14
- package/declarations/components/eui-super-date-picker/utils/quick-select.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker/utils/time-options.d.ts +0 -20
- package/declarations/components/eui-super-date-picker/utils/time-options.d.ts.map +0 -1
- package/declarations/components/eui-super-date-picker.d.ts +0 -93
- package/declarations/components/eui-super-date-picker.d.ts.map +0 -1
- package/declarations/components/eui-switch.d.ts +0 -30
- package/declarations/components/eui-switch.d.ts.map +0 -1
- package/declarations/components/eui-tab.d.ts +0 -21
- package/declarations/components/eui-tab.d.ts.map +0 -1
- package/declarations/components/eui-tabbed-content.d.ts +0 -65
- package/declarations/components/eui-tabbed-content.d.ts.map +0 -1
- package/declarations/components/eui-tabs.d.ts +0 -18
- package/declarations/components/eui-tabs.d.ts.map +0 -1
- package/declarations/components/eui-text-align.d.ts +0 -13
- package/declarations/components/eui-text-align.d.ts.map +0 -1
- package/declarations/components/eui-text-area.d.ts +0 -22
- package/declarations/components/eui-text-area.d.ts.map +0 -1
- package/declarations/components/eui-text-color.d.ts +0 -14
- package/declarations/components/eui-text-color.d.ts.map +0 -1
- package/declarations/components/eui-text.d.ts +0 -19
- package/declarations/components/eui-text.d.ts.map +0 -1
- package/declarations/components/eui-title.d.ts +0 -17
- package/declarations/components/eui-title.d.ts.map +0 -1
- package/declarations/components/eui-toast.d.ts +0 -35
- package/declarations/components/eui-toast.d.ts.map +0 -1
- package/declarations/components/eui-tool-tip-popover.d.ts +0 -26
- package/declarations/components/eui-tool-tip-popover.d.ts.map +0 -1
- package/declarations/components/eui-tool-tip.d.ts +0 -108
- package/declarations/components/eui-tool-tip.d.ts.map +0 -1
- package/declarations/components/text-block.d.ts +0 -13
- package/declarations/components/text-block.d.ts.map +0 -1
- package/declarations/components.d.ts +0 -150
- package/declarations/components.d.ts.map +0 -1
- package/declarations/helpers/arg-or-default.d.ts +0 -21
- package/declarations/helpers/arg-or-default.d.ts.map +0 -1
- package/declarations/helpers/cast-to.d.ts +0 -14
- package/declarations/helpers/cast-to.d.ts.map +0 -1
- package/declarations/helpers/class-names.d.ts +0 -47
- package/declarations/helpers/class-names.d.ts.map +0 -1
- package/declarations/helpers/eui-page-restrict-width.d.ts +0 -30
- package/declarations/helpers/eui-page-restrict-width.d.ts.map +0 -1
- package/declarations/helpers/eui-palette.d.ts +0 -25
- package/declarations/helpers/eui-palette.d.ts.map +0 -1
- package/declarations/helpers/get-eui-config.d.ts +0 -14
- package/declarations/helpers/get-eui-config.d.ts.map +0 -1
- package/declarations/helpers/get-range-tick.d.ts +0 -21
- package/declarations/helpers/get-range-tick.d.ts.map +0 -1
- package/declarations/helpers/hex-to-rgb.d.ts +0 -10
- package/declarations/helpers/hex-to-rgb.d.ts.map +0 -1
- package/declarations/helpers/inline-styles.d.ts +0 -19
- package/declarations/helpers/inline-styles.d.ts.map +0 -1
- package/declarations/helpers/is-color-dark.d.ts +0 -10
- package/declarations/helpers/is-color-dark.d.ts.map +0 -1
- package/declarations/helpers/is-item-open.d.ts +0 -16
- package/declarations/helpers/is-item-open.d.ts.map +0 -1
- package/declarations/helpers/is-valid-hex.d.ts +0 -10
- package/declarations/helpers/is-valid-hex.d.ts.map +0 -1
- package/declarations/helpers/is-within-number.d.ts +0 -15
- package/declarations/helpers/is-within-number.d.ts.map +0 -1
- package/declarations/helpers/merge.d.ts +0 -9
- package/declarations/helpers/merge.d.ts.map +0 -1
- package/declarations/helpers/nullish.d.ts +0 -10
- package/declarations/helpers/nullish.d.ts.map +0 -1
- package/declarations/helpers/starts-with.d.ts +0 -10
- package/declarations/helpers/starts-with.d.ts.map +0 -1
- package/declarations/helpers/to-initials.d.ts +0 -11
- package/declarations/helpers/to-initials.d.ts.map +0 -1
- package/declarations/helpers/type-of.d.ts +0 -10
- package/declarations/helpers/type-of.d.ts.map +0 -1
- package/declarations/helpers/unique-id.d.ts +0 -10
- package/declarations/helpers/unique-id.d.ts.map +0 -1
- package/declarations/helpers/use-state.d.ts +0 -21
- package/declarations/helpers/use-state.d.ts.map +0 -1
- package/declarations/helpers.d.ts +0 -9
- package/declarations/helpers.d.ts.map +0 -1
- package/declarations/i18n/util.d.ts +0 -12
- package/declarations/i18n/util.d.ts.map +0 -1
- package/declarations/modifiers/mutation-observer.d.ts +0 -12
- package/declarations/modifiers/mutation-observer.d.ts.map +0 -1
- package/declarations/modifiers/open-collapsible-nav.d.ts +0 -9
- package/declarations/modifiers/open-collapsible-nav.d.ts.map +0 -1
- package/declarations/modifiers/outside-click-detector.d.ts +0 -38
- package/declarations/modifiers/outside-click-detector.d.ts.map +0 -1
- package/declarations/modifiers/resize-observer.d.ts +0 -36
- package/declarations/modifiers/resize-observer.d.ts.map +0 -1
- package/declarations/modifiers/screen-reader-only.d.ts +0 -9
- package/declarations/modifiers/screen-reader-only.d.ts.map +0 -1
- package/declarations/modifiers/simple-style.d.ts +0 -12
- package/declarations/modifiers/simple-style.d.ts.map +0 -1
- package/declarations/modifiers/use-is-within-breakpoints.d.ts +0 -15
- package/declarations/modifiers/use-is-within-breakpoints.d.ts.map +0 -1
- package/declarations/modifiers/validatable-control.d.ts +0 -9
- package/declarations/modifiers/validatable-control.d.ts.map +0 -1
- package/declarations/modifiers.d.ts +0 -8
- package/declarations/modifiers.d.ts.map +0 -1
- package/declarations/services/eui-config.d.ts +0 -15
- package/declarations/services/eui-config.d.ts.map +0 -1
- package/declarations/services/eui-i18n.d.ts +0 -24
- package/declarations/services/eui-i18n.d.ts.map +0 -1
- package/declarations/services/eui-toaster.d.ts +0 -15
- package/declarations/services/eui-toaster.d.ts.map +0 -1
- package/declarations/template-registry.d.ts +0 -476
- package/declarations/template-registry.d.ts.map +0 -1
- package/declarations/utils/accesibility/accessible-click-keys.d.ts +0 -5
- package/declarations/utils/accesibility/accessible-click-keys.d.ts.map +0 -1
- package/declarations/utils/accesibility/cascading-menu-keys.d.ts +0 -9
- package/declarations/utils/accesibility/cascading-menu-keys.d.ts.map +0 -1
- package/declarations/utils/accesibility/combo-box-keys.d.ts +0 -8
- package/declarations/utils/accesibility/combo-box-keys.d.ts.map +0 -1
- package/declarations/utils/accesibility/index.d.ts +0 -4
- package/declarations/utils/accesibility/index.d.ts.map +0 -1
- package/declarations/utils/breakpoint.d.ts +0 -50
- package/declarations/utils/breakpoint.d.ts.map +0 -1
- package/declarations/utils/browser/browser.d.ts +0 -6
- package/declarations/utils/browser/browser.d.ts.map +0 -1
- package/declarations/utils/browser/index.d.ts +0 -2
- package/declarations/utils/browser/index.d.ts.map +0 -1
- package/declarations/utils/code/utils.d.ts +0 -32
- package/declarations/utils/code/utils.d.ts.map +0 -1
- package/declarations/utils/color/color_palette.d.ts +0 -24
- package/declarations/utils/color/color_palette.d.ts.map +0 -1
- package/declarations/utils/color/eui_palettes.d.ts +0 -37
- package/declarations/utils/color/eui_palettes.d.ts.map +0 -1
- package/declarations/utils/color/index.d.ts +0 -6
- package/declarations/utils/color/index.d.ts.map +0 -1
- package/declarations/utils/copy-to-clipboard.d.ts +0 -2
- package/declarations/utils/copy-to-clipboard.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-accordion.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-accordion.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-avatar.d.ts +0 -23
- package/declarations/utils/css-mappings/eui-avatar.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-badge-group.d.ts +0 -8
- package/declarations/utils/css-mappings/eui-badge-group.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-badge.d.ts +0 -31
- package/declarations/utils/css-mappings/eui-badge.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-beta-badge.d.ts +0 -13
- package/declarations/utils/css-mappings/eui-beta-badge.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-bottom-bar.d.ts +0 -4
- package/declarations/utils/css-mappings/eui-bottom-bar.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-button-empty.d.ts +0 -22
- package/declarations/utils/css-mappings/eui-button-empty.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-button-group-button.d.ts +0 -4
- package/declarations/utils/css-mappings/eui-button-group-button.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-button-group.d.ts +0 -4
- package/declarations/utils/css-mappings/eui-button-group.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-button-icon.d.ts +0 -23
- package/declarations/utils/css-mappings/eui-button-icon.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-button.d.ts +0 -13
- package/declarations/utils/css-mappings/eui-button.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-call-out.d.ts +0 -13
- package/declarations/utils/css-mappings/eui-call-out.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-card-select.d.ts +0 -4
- package/declarations/utils/css-mappings/eui-card-select.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-card.d.ts +0 -9
- package/declarations/utils/css-mappings/eui-card.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-code-block.d.ts +0 -15
- package/declarations/utils/css-mappings/eui-code-block.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-collapsible-nav-group.d.ts +0 -9
- package/declarations/utils/css-mappings/eui-collapsible-nav-group.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-comment-event.d.ts +0 -4
- package/declarations/utils/css-mappings/eui-comment-event.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-comment-timeline-icon.d.ts +0 -7
- package/declarations/utils/css-mappings/eui-comment-timeline-icon.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-context-menu-item.d.ts +0 -15
- package/declarations/utils/css-mappings/eui-context-menu-item.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-described-form-group.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-described-form-group.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-description-list.d.ts +0 -18
- package/declarations/utils/css-mappings/eui-description-list.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-empty-prompt.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-empty-prompt.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-file-picker.d.ts +0 -8
- package/declarations/utils/css-mappings/eui-file-picker.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-flex-grid.d.ts +0 -22
- package/declarations/utils/css-mappings/eui-flex-grid.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-flex-group.d.ts +0 -33
- package/declarations/utils/css-mappings/eui-flex-group.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-flex-item.d.ts +0 -17
- package/declarations/utils/css-mappings/eui-flex-item.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-flyout.d.ts +0 -23
- package/declarations/utils/css-mappings/eui-flyout.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-form-control-layout-clear-button.d.ts +0 -8
- package/declarations/utils/css-mappings/eui-form-control-layout-clear-button.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-form-row.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-form-row.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-global-toast-list.d.ts +0 -8
- package/declarations/utils/css-mappings/eui-global-toast-list.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-header-links.d.ts +0 -18
- package/declarations/utils/css-mappings/eui-header-links.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-header-section-item.d.ts +0 -9
- package/declarations/utils/css-mappings/eui-header-section-item.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-header-section.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-header-section.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-header.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-header.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-health.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-health.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-horizontal-rule.d.ts +0 -18
- package/declarations/utils/css-mappings/eui-horizontal-rule.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-icon.d.ts +0 -494
- package/declarations/utils/css-mappings/eui-icon.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-image.d.ts +0 -22
- package/declarations/utils/css-mappings/eui-image.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-link.d.ts +0 -14
- package/declarations/utils/css-mappings/eui-link.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-list-group-item.d.ts +0 -17
- package/declarations/utils/css-mappings/eui-list-group-item.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-list-group.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-list-group.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-loading-spinner.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-loading-spinner.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-modal.d.ts +0 -7
- package/declarations/utils/css-mappings/eui-modal.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-notification-badge.d.ts +0 -11
- package/declarations/utils/css-mappings/eui-notification-badge.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-page-body.d.ts +0 -16
- package/declarations/utils/css-mappings/eui-page-body.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-page-content-body.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-page-content-body.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-page-content.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-page-content.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-page-header.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-page-header.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-page-side-bar.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-page-side-bar.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-page.d.ts +0 -24
- package/declarations/utils/css-mappings/eui-page.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-panel.d.ts +0 -24
- package/declarations/utils/css-mappings/eui-panel.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-popover-footer.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-popover-footer.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-popover-title.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-popover-title.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-popover.d.ts +0 -22
- package/declarations/utils/css-mappings/eui-popover.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-progress-data.d.ts +0 -3
- package/declarations/utils/css-mappings/eui-progress-data.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-progress.d.ts +0 -50
- package/declarations/utils/css-mappings/eui-progress.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-range-highlight.d.ts +0 -11
- package/declarations/utils/css-mappings/eui-range-highlight.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-range-input.d.ts +0 -8
- package/declarations/utils/css-mappings/eui-range-input.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-range-levels.d.ts +0 -13
- package/declarations/utils/css-mappings/eui-range-levels.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-selectable-list-item.d.ts +0 -7
- package/declarations/utils/css-mappings/eui-selectable-list-item.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-spacer.d.ts +0 -12
- package/declarations/utils/css-mappings/eui-spacer.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-stat.d.ts +0 -17
- package/declarations/utils/css-mappings/eui-stat.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-step-number.d.ts +0 -11
- package/declarations/utils/css-mappings/eui-step-number.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-tabs.d.ts +0 -14
- package/declarations/utils/css-mappings/eui-tabs.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-text-align.d.ts +0 -9
- package/declarations/utils/css-mappings/eui-text-align.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-text-area.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-text-area.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-text-color.d.ts +0 -14
- package/declarations/utils/css-mappings/eui-text-color.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-text.d.ts +0 -9
- package/declarations/utils/css-mappings/eui-text.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-title.d.ts +0 -15
- package/declarations/utils/css-mappings/eui-title.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-toast.d.ts +0 -11
- package/declarations/utils/css-mappings/eui-toast.d.ts.map +0 -1
- package/declarations/utils/css-mappings/eui-tool-tip.d.ts +0 -10
- package/declarations/utils/css-mappings/eui-tool-tip.d.ts.map +0 -1
- package/declarations/utils/css-mappings/index.d.ts +0 -3
- package/declarations/utils/css-mappings/index.d.ts.map +0 -1
- package/declarations/utils/detect-element-resize.d.ts +0 -17
- package/declarations/utils/detect-element-resize.d.ts.map +0 -1
- package/declarations/utils/index.d.ts +0 -3
- package/declarations/utils/index.d.ts.map +0 -1
- package/declarations/utils/keys.d.ts +0 -31
- package/declarations/utils/keys.d.ts.map +0 -1
- package/declarations/utils/markdown/markdown-actions.d.ts +0 -45
- package/declarations/utils/markdown/markdown-actions.d.ts.map +0 -1
- package/declarations/utils/markdown/markdown-modes.d.ts +0 -4
- package/declarations/utils/markdown/markdown-modes.d.ts.map +0 -1
- package/declarations/utils/markdown/markdown-types.d.ts +0 -100
- package/declarations/utils/markdown/markdown-types.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-add-components/index.d.ts +0 -3
- package/declarations/utils/markdown/plugins/markdown-add-components/index.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-add-components/processor.d.ts +0 -6
- package/declarations/utils/markdown/plugins/markdown-add-components/processor.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-checkbox/index.d.ts +0 -2
- package/declarations/utils/markdown/plugins/markdown-checkbox/index.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-checkbox/parser.d.ts +0 -3
- package/declarations/utils/markdown/plugins/markdown-checkbox/parser.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-default-plugins/index.d.ts +0 -5
- package/declarations/utils/markdown/plugins/markdown-default-plugins/index.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.d.ts +0 -7
- package/declarations/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-default-plugins/plugins.d.ts +0 -11
- package/declarations/utils/markdown/plugins/markdown-default-plugins/plugins.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-default-plugins/processing-plugins.d.ts +0 -21
- package/declarations/utils/markdown/plugins/markdown-default-plugins/processing-plugins.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-default-plugins/ui-plugins.d.ts +0 -7
- package/declarations/utils/markdown/plugins/markdown-default-plugins/ui-plugins.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-tooltip/index.d.ts +0 -3
- package/declarations/utils/markdown/plugins/markdown-tooltip/index.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-tooltip/parser.d.ts +0 -3
- package/declarations/utils/markdown/plugins/markdown-tooltip/parser.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/markdown-tooltip/plugin.d.ts +0 -14
- package/declarations/utils/markdown/plugins/markdown-tooltip/plugin.d.ts.map +0 -1
- package/declarations/utils/markdown/plugins/to-dom.d.ts +0 -20
- package/declarations/utils/markdown/plugins/to-dom.d.ts.map +0 -1
- package/declarations/utils/markdown/remark/remark-prismjs.d.ts +0 -5
- package/declarations/utils/markdown/remark/remark-prismjs.d.ts.map +0 -1
- package/declarations/utils/maybe-unwrap-proxy.d.ts +0 -3
- package/declarations/utils/maybe-unwrap-proxy.d.ts.map +0 -1
- package/declarations/utils/number/index.d.ts +0 -2
- package/declarations/utils/number/index.d.ts.map +0 -1
- package/declarations/utils/number/number.d.ts +0 -3
- package/declarations/utils/number/number.d.ts.map +0 -1
- package/declarations/utils/popover/index.d.ts +0 -152
- package/declarations/utils/popover/index.d.ts.map +0 -1
- package/declarations/utils/popover/types.d.ts +0 -2
- package/declarations/utils/popover/types.d.ts.map +0 -1
- package/declarations/utils/predicate/common_predicates.d.ts +0 -6
- package/declarations/utils/predicate/common_predicates.d.ts.map +0 -1
- package/declarations/utils/predicate/index.d.ts +0 -3
- package/declarations/utils/predicate/index.d.ts.map +0 -1
- package/declarations/utils/predicate/lodash_predicates.d.ts +0 -8
- package/declarations/utils/predicate/lodash_predicates.d.ts.map +0 -1
- package/declarations/utils/range/index.d.ts +0 -2
- package/declarations/utils/range/index.d.ts.map +0 -1
- package/declarations/utils/timer.d.ts +0 -13
- package/declarations/utils/timer.d.ts.map +0 -1
- package/declarations/utils/transition.d.ts +0 -8
- package/declarations/utils/transition.d.ts.map +0 -1
- package/dist/_rollupPluginBabelHelpers-9wjJaosZ.js +0 -63
- package/dist/_rollupPluginBabelHelpers-9wjJaosZ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-page-template.js","sources":["../../src/components/eui-page-template.ts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nimport style from 'ember-style-modifier/modifiers/style';\n// import { tabbable } from 'tabbable';\n// import {\n// anchorPositionMapping,\n// displayMapping\n// } from '../../utils/css-mappings/eui-popover';\n// import { paddingSizeMapping } from '../../utils/css-mappings/eui-panel';\n// import { scheduleOnce, later, cancel } from '@ember/runloop';\n// import { assert } from '@ember/debug';\n// import { htmlSafe } from '@ember/template';\nimport { and, eq,or } from 'ember-truth-helpers';\n\n// import { action } from '@ember/object';\n// import { tracked } from '@glimmer/tracking';\n// import {\n// getTransitionTimings,\n// getWaitDuration,\n// performOnFrame\n// } from '../../utils/transition';\n// import { findPopoverPosition, getElementZIndex } from '../../utils/popover';\n// import { EuiPopoverPosition } from '../../utils/popover/types';\n// import { cascadingMenuKeys } from '../../utils/accesibility';\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default';\nimport classNames from '../helpers/class-names';\nimport inlineStyles from '../helpers/inline-styles';\nimport useIsWithinBreakpoints from '../modifiers/use-is-within-breakpoints';\nimport EuiBottomBar from './eui-bottom-bar.gts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiPage from './eui-page.gts';\nimport EuiPageBody from './eui-page-body.gts';\nimport EuiPageContent from './eui-page-content.gts';\nimport EuiPageContentBody from './eui-page-content-body.gts';\nimport EuiPageHeader from './eui-page-header.gts';\nimport EuiPageSideBar from './eui-page-side-bar.gts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint';\nimport type { EuiButtomBarArgs } from './eui-bottom-bar';\nimport type { EuiPageBodySignature } from './eui-page-body';\nimport type { EuiPageContentSignature } from './eui-page-content';\nimport type { EuiPageContentBodySignature } from './eui-page-content-body';\nimport type { EuiPageHeaderSignature } from './eui-page-header';\nimport type { EuiPageSideBarSignature } from './eui-page-side-bar';\n\nexport const TEMPLATES = [\n 'default',\n 'centeredBody',\n 'centeredContent',\n 'empty'\n] as const;\n\nconst BREAKPOINTS: EuiBreakpointSize[] = ['m', 'l', 'xl'];\n\ninterface NormalProps {\n className?: string;\n}\n\nexport type EuiPageTemplateProps = {\n template?: (typeof TEMPLATES)[number];\n\n pageBodyProps: NormalProps & EuiPageBodySignature['Args'];\n pageContentProps: NormalProps & EuiPageContentSignature['Args'];\n pageContentBodyProps: NormalProps & EuiPageContentBodySignature['Args'];\n\n pageHeader: NormalProps & EuiPageHeaderSignature['Args'];\n\n pageSideBarProps: NormalProps & EuiPageSideBarSignature['Args'];\n\n /**\n * Adds a bottom bar to the page template\n */\n bottomBar?: any;\n\n /**\n * Adds a bottom bar to the page template\n */\n hasBottomBarBlock?: boolean;\n\n /**\n * Gets passed along to the #EuiBottomBar component if `bottomBar` has contents\n */\n bottomBarProps?: EuiButtomBarArgs;\n /* Stretches or restricts the height to 100% of the parent;\n * `true`: scrolls the EuiPageContentBody;\n * `noscroll`: removes all scroll ability;\n * Only works when `template = 'default | empty'` and breakpoint is `m` and above\n */\n fullHeight?: boolean;\n /**\n * Minimum height in which to enforce scrolling\n */\n minHeight?: number;\n\n restrictWidth?: boolean | number | string;\n\n grow?: boolean;\n paddingSize?: EuiPageSideBarSignature['Args']['paddingSize'];\n hasPageSideBarBlock?: boolean;\n hasPageHeaderPageTitleBlock?: boolean;\n hasPageHeaderDefaultBlock?: boolean;\n hasPageHeaderRightSideItemsBlock?: boolean;\n hasPageHeaderDescriptionBlock?: boolean;\n hasPageHeader?: boolean;\n hasPageContent?: boolean;\n hasPageContentBody?: boolean;\n};\n\nexport interface EuiPageTemplateSignature {\n Element: HTMLElement;\n Args: EuiPageTemplateProps;\n Blocks: {\n default: [];\n pageSideBar: [];\n pageHeaderPageTitle: [];\n pageHeaderDefault: [];\n pageHeaderDescription: [];\n pageHeaderRightSideItems: EuiPageHeaderSignature['Blocks']['rightSideItems'];\n bottomBar: [];\n };\n}\n\nexport default class EuiPageTemplate extends Component<EuiPageTemplateSignature> {\n // Defaults\n @argOrDefaultDecorator(false) fullHeight!: boolean;\n @argOrDefaultDecorator('default') template!: (typeof TEMPLATES)[number];\n\n @tracked isWithinBreakpoints = false;\n\n setIsWithinBreakpoints = (value: boolean) => {\n this.isWithinBreakpoints = value;\n };\n\n get minHeight() {\n const minHeight = this.args.minHeight ?? 460;\n\n if (typeof this.args.minHeight === 'number') {\n return `${minHeight}px`;\n }\n\n return minHeight;\n }\n\n get restrictWidth() {\n const width = this.args.restrictWidth ?? true;\n\n if (typeof this.args.restrictWidth === 'number') {\n return `${width}px`;\n }\n\n return width;\n }\n\n get classes() {\n return `euiPageTemplate ${this.fullHeightClass}`;\n }\n\n get fullHeightClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-fullHeight ' : '';\n }\n\n get yScrollClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-yScroll ' : '';\n }\n\n get canFullHeight() {\n return (\n this.isWithinBreakpoints &&\n (this.template === 'default' || this.template === 'empty')\n );\n }\n\n get pageBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageBodyProps?.className}`;\n }\n\n get pageContentPropsClass() {\n return `${this.yScrollClass} ${this.args.pageContentProps?.className}`;\n }\n\n get pageContentBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageContentBodyProps?.className}`;\n }\n\n [__GLIMMER_TEMPLATE(`\n {{#let\n (argOrDefault @grow true)\n (argOrDefault @paddingSize \"l\")\n (and (argOrDefault @hasBottomBarBlock true) (has-block \"bottomBar\"))\n (and (argOrDefault @hasPageSideBarBlock true) (has-block \"pageSideBar\"))\n (and\n (argOrDefault @hasPageHeaderPageTitleBlock true)\n (has-block \"pageHeaderPageTitle\")\n )\n (and\n (argOrDefault @hasPageHeaderDefaultBlock true)\n (has-block \"pageHeaderDefault\")\n )\n (and\n (argOrDefault @hasPageHeaderRightSideItemsBlock true)\n (has-block \"pageHeaderRightSideItems\")\n )\n (and\n (argOrDefault @hasPageHeaderDescriptionBlock true)\n (has-block \"pageHeaderDescription\")\n )\n (modifier\n useIsWithinBreakpoints\n sizes=BREAKPOINTS\n isActive=true\n setIsWithinBreakpointsValue=this.setIsWithinBreakpoints\n )\n as |grow paddingSize hasBottomBarBlock hasPageSideBarBlock hasPageHeaderPageTitleBlock hasPageHeaderDefaultBlock hasPageHeaderRightSideItemsBlock hasPageHeaderDescriptionBlock isWithinBreakpointsModifier|\n }}\n {{#let\n (or\n @pageHeader\n hasPageHeaderPageTitleBlock\n hasPageHeaderDefaultBlock\n hasPageHeaderRightSideItemsBlock\n hasPageHeaderDescriptionBlock\n )\n as |hasPageHeader|\n }}\n {{#if (eq this.template \"centeredBody\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @restrictWidth={{false}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize=\"none\"\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageBody>\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasBorder={{@pageContentProps.hasBorder}}\n @hasShadow={{@pageContentProps.hasShadow}}\n @color={{@pageContentProps.color}}\n @borderRadius={{@pageContentProps.borderRadius}}\n @grow={{@pageContentProps.grow}}\n @role={{@pageContentProps.role}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"centeredContent\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n {{!template-lint-disable}}\n <EuiPageContent\n role={{null}}\n @borderRadius=\"none\"\n @hasShadow={{false}}\n @paddingSize={{paddingSize}}\n style=\"display: flex\"\n >\n {{!template-lint-enable}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"empty\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar @sticky={{true}} @paddingSize={{paddingSize}}>\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n @restrictWidth={{false}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n @restrictWidth={{false}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize=\"none\"\n class={{this.pageBodyPropsClass}}\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n @tagName=\"div\"\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasShadow={{false}}\n @hasBorder={{false}}\n @color=\"transparent\"\n @borderRadius=\"none\"\n @paddingSize=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{if hasPageHeader false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"plain\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/let}}\n `, { strictMode: true, scope: () => ({argOrDefault,and,useIsWithinBreakpoints,BREAKPOINTS,or,eq,EuiPage,style,inlineStyles,EuiPageSideBar,EuiPageBody,EuiPageHeader,EuiPageContent,EuiPageContentBody,EuiFlexGroup,EuiFlexItem,classNames,EuiBottomBar}) })]\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtdGVtcGxhdGUuanMiLCJzb3VyY2VzIjpbImV1aS1wYWdlLXRlbXBsYXRlLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbi8vIGltcG9ydCB7IHRhYmJhYmxlIH0gZnJvbSAndGFiYmFibGUnO1xuLy8gaW1wb3J0IHtcbi8vICAgYW5jaG9yUG9zaXRpb25NYXBwaW5nLFxuLy8gICBkaXNwbGF5TWFwcGluZ1xuLy8gfSBmcm9tICcuLi8uLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLXBvcG92ZXInO1xuLy8gaW1wb3J0IHsgcGFkZGluZ1NpemVNYXBwaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3NzLW1hcHBpbmdzL2V1aS1wYW5lbCc7XG4vLyBpbXBvcnQgeyBzY2hlZHVsZU9uY2UsIGxhdGVyLCBjYW5jZWwgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG4vLyBpbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAZW1iZXIvZGVidWcnO1xuLy8gaW1wb3J0IHsgaHRtbFNhZmUgfSBmcm9tICdAZW1iZXIvdGVtcGxhdGUnO1xuaW1wb3J0IHsgYW5kLCBlcSxvciB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG4vLyBpbXBvcnQgeyBhY3Rpb24gfSBmcm9tICdAZW1iZXIvb2JqZWN0Jztcbi8vIGltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG4vLyBpbXBvcnQge1xuLy8gICBnZXRUcmFuc2l0aW9uVGltaW5ncyxcbi8vICAgZ2V0V2FpdER1cmF0aW9uLFxuLy8gICBwZXJmb3JtT25GcmFtZVxuLy8gfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2l0aW9uJztcbi8vIGltcG9ydCB7IGZpbmRQb3BvdmVyUG9zaXRpb24sIGdldEVsZW1lbnRaSW5kZXggfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyJztcbi8vIGltcG9ydCB7IEV1aVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvdHlwZXMnO1xuLy8gaW1wb3J0IHsgY2FzY2FkaW5nTWVudUtleXMgfSBmcm9tICcuLi8uLi91dGlscy9hY2Nlc2liaWxpdHknO1xuaW1wb3J0IGFyZ09yRGVmYXVsdCwgeyBhcmdPckRlZmF1bHREZWNvcmF0b3IgfSBmcm9tICcuLi9oZWxwZXJzL2FyZy1vci1kZWZhdWx0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJy4uL2hlbHBlcnMvY2xhc3MtbmFtZXMnO1xuaW1wb3J0IGlubGluZVN0eWxlcyBmcm9tICcuLi9oZWxwZXJzL2lubGluZS1zdHlsZXMnO1xuaW1wb3J0IHVzZUlzV2l0aGluQnJlYWtwb2ludHMgZnJvbSAnLi4vbW9kaWZpZXJzL3VzZS1pcy13aXRoaW4tYnJlYWtwb2ludHMnO1xuaW1wb3J0IEV1aUJvdHRvbUJhciBmcm9tICcuL2V1aS1ib3R0b20tYmFyLmd0cyc7XG5pbXBvcnQgRXVpRmxleEdyb3VwIGZyb20gJy4vZXVpLWZsZXgtZ3JvdXAuZ3RzJztcbmltcG9ydCBFdWlGbGV4SXRlbSBmcm9tICcuL2V1aS1mbGV4LWl0ZW0uZ3RzJztcbmltcG9ydCBFdWlQYWdlIGZyb20gJy4vZXVpLXBhZ2UuZ3RzJztcbmltcG9ydCBFdWlQYWdlQm9keSBmcm9tICcuL2V1aS1wYWdlLWJvZHkuZ3RzJztcbmltcG9ydCBFdWlQYWdlQ29udGVudCBmcm9tICcuL2V1aS1wYWdlLWNvbnRlbnQuZ3RzJztcbmltcG9ydCBFdWlQYWdlQ29udGVudEJvZHkgZnJvbSAnLi9ldWktcGFnZS1jb250ZW50LWJvZHkuZ3RzJztcbmltcG9ydCBFdWlQYWdlSGVhZGVyIGZyb20gJy4vZXVpLXBhZ2UtaGVhZGVyLmd0cyc7XG5pbXBvcnQgRXVpUGFnZVNpZGVCYXIgZnJvbSAnLi9ldWktcGFnZS1zaWRlLWJhci5ndHMnO1xuXG5pbXBvcnQgdHlwZSB7IEV1aUJyZWFrcG9pbnRTaXplIH0gZnJvbSAnLi4vdXRpbHMvYnJlYWtwb2ludCc7XG5pbXBvcnQgdHlwZSB7IEV1aUJ1dHRvbUJhckFyZ3MgfSBmcm9tICcuL2V1aS1ib3R0b20tYmFyJztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUJvZHlTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLWJvZHknO1xuaW1wb3J0IHR5cGUgeyBFdWlQYWdlQ29udGVudFNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudCc7XG5pbXBvcnQgdHlwZSB7IEV1aVBhZ2VDb250ZW50Qm9keVNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudC1ib2R5JztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUhlYWRlclNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtaGVhZGVyJztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZVNpZGVCYXJTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLXNpZGUtYmFyJztcblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFUyA9IFtcbiAgJ2RlZmF1bHQnLFxuICAnY2VudGVyZWRCb2R5JyxcbiAgJ2NlbnRlcmVkQ29udGVudCcsXG4gICdlbXB0eSdcbl0gYXMgY29uc3Q7XG5cbmNvbnN0IEJSRUFLUE9JTlRTOiBFdWlCcmVha3BvaW50U2l6ZVtdID0gWydtJywgJ2wnLCAneGwnXTtcblxuaW50ZXJmYWNlIE5vcm1hbFByb3BzIHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBFdWlQYWdlVGVtcGxhdGVQcm9wcyA9IHtcbiAgdGVtcGxhdGU/OiAodHlwZW9mIFRFTVBMQVRFUylbbnVtYmVyXTtcblxuICBwYWdlQm9keVByb3BzOiBOb3JtYWxQcm9wcyAmIEV1aVBhZ2VCb2R5U2lnbmF0dXJlWydBcmdzJ107XG4gIHBhZ2VDb250ZW50UHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZUNvbnRlbnRTaWduYXR1cmVbJ0FyZ3MnXTtcbiAgcGFnZUNvbnRlbnRCb2R5UHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZUNvbnRlbnRCb2R5U2lnbmF0dXJlWydBcmdzJ107XG5cbiAgcGFnZUhlYWRlcjogTm9ybWFsUHJvcHMgJiBFdWlQYWdlSGVhZGVyU2lnbmF0dXJlWydBcmdzJ107XG5cbiAgcGFnZVNpZGVCYXJQcm9wczogTm9ybWFsUHJvcHMgJiBFdWlQYWdlU2lkZUJhclNpZ25hdHVyZVsnQXJncyddO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm90dG9tIGJhciB0byB0aGUgcGFnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgYm90dG9tQmFyPzogYW55O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm90dG9tIGJhciB0byB0aGUgcGFnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgaGFzQm90dG9tQmFyQmxvY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHZXRzIHBhc3NlZCBhbG9uZyB0byB0aGUgI0V1aUJvdHRvbUJhciBjb21wb25lbnQgaWYgYGJvdHRvbUJhcmAgaGFzIGNvbnRlbnRzXG4gICAqL1xuICBib3R0b21CYXJQcm9wcz86IEV1aUJ1dHRvbUJhckFyZ3M7XG4gIC8qIFN0cmV0Y2hlcyBvciByZXN0cmljdHMgdGhlIGhlaWdodCB0byAxMDAlIG9mIHRoZSBwYXJlbnQ7XG4gICAqIGB0cnVlYDogc2Nyb2xscyB0aGUgRXVpUGFnZUNvbnRlbnRCb2R5O1xuICAgKiBgbm9zY3JvbGxgOiByZW1vdmVzIGFsbCBzY3JvbGwgYWJpbGl0eTtcbiAgICogT25seSB3b3JrcyB3aGVuIGB0ZW1wbGF0ZSA9ICdkZWZhdWx0IHwgZW1wdHknYCBhbmQgYnJlYWtwb2ludCBpcyBgbWAgYW5kIGFib3ZlXG4gICAqL1xuICBmdWxsSGVpZ2h0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbmltdW0gaGVpZ2h0IGluIHdoaWNoIHRvIGVuZm9yY2Ugc2Nyb2xsaW5nXG4gICAqL1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG5cbiAgcmVzdHJpY3RXaWR0aD86IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmc7XG5cbiAgZ3Jvdz86IGJvb2xlYW47XG4gIHBhZGRpbmdTaXplPzogRXVpUGFnZVNpZGVCYXJTaWduYXR1cmVbJ0FyZ3MnXVsncGFkZGluZ1NpemUnXTtcbiAgaGFzUGFnZVNpZGVCYXJCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2s/OiBib29sZWFuO1xuICBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrPzogYm9vbGVhbjtcbiAgaGFzUGFnZUhlYWRlcj86IGJvb2xlYW47XG4gIGhhc1BhZ2VDb250ZW50PzogYm9vbGVhbjtcbiAgaGFzUGFnZUNvbnRlbnRCb2R5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpUGFnZVRlbXBsYXRlU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIEFyZ3M6IEV1aVBhZ2VUZW1wbGF0ZVByb3BzO1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXTtcbiAgICBwYWdlU2lkZUJhcjogW107XG4gICAgcGFnZUhlYWRlclBhZ2VUaXRsZTogW107XG4gICAgcGFnZUhlYWRlckRlZmF1bHQ6IFtdO1xuICAgIHBhZ2VIZWFkZXJEZXNjcmlwdGlvbjogW107XG4gICAgcGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zOiBFdWlQYWdlSGVhZGVyU2lnbmF0dXJlWydCbG9ja3MnXVsncmlnaHRTaWRlSXRlbXMnXTtcbiAgICBib3R0b21CYXI6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlQYWdlVGVtcGxhdGUgZXh0ZW5kcyBDb21wb25lbnQ8RXVpUGFnZVRlbXBsYXRlU2lnbmF0dXJlPiB7XG4gIC8vIERlZmF1bHRzXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZmFsc2UpIGZ1bGxIZWlnaHQhOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdkZWZhdWx0JykgdGVtcGxhdGUhOiAodHlwZW9mIFRFTVBMQVRFUylbbnVtYmVyXTtcblxuICBAdHJhY2tlZCBpc1dpdGhpbkJyZWFrcG9pbnRzID0gZmFsc2U7XG5cbiAgc2V0SXNXaXRoaW5CcmVha3BvaW50cyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHRoaXMuaXNXaXRoaW5CcmVha3BvaW50cyA9IHZhbHVlO1xuICB9O1xuXG4gIGdldCBtaW5IZWlnaHQoKSB7XG4gICAgY29uc3QgbWluSGVpZ2h0ID0gdGhpcy5hcmdzLm1pbkhlaWdodCA/PyA0NjA7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuYXJncy5taW5IZWlnaHQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gYCR7bWluSGVpZ2h0fXB4YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWluSGVpZ2h0O1xuICB9XG5cbiAgZ2V0IHJlc3RyaWN0V2lkdGgoKSB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmFyZ3MucmVzdHJpY3RXaWR0aCA/PyB0cnVlO1xuXG4gICAgaWYgKHR5cGVvZiB0aGlzLmFyZ3MucmVzdHJpY3RXaWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBgJHt3aWR0aH1weGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgZ2V0IGNsYXNzZXMoKSB7XG4gICAgcmV0dXJuIGBldWlQYWdlVGVtcGxhdGUgJHt0aGlzLmZ1bGxIZWlnaHRDbGFzc31gO1xuICB9XG5cbiAgZ2V0IGZ1bGxIZWlnaHRDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5mdWxsSGVpZ2h0ICYmIHRoaXMuY2FuRnVsbEhlaWdodCA/ICdldWktZnVsbEhlaWdodCAnIDogJyc7XG4gIH1cblxuICBnZXQgeVNjcm9sbENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmZ1bGxIZWlnaHQgJiYgdGhpcy5jYW5GdWxsSGVpZ2h0ID8gJ2V1aS15U2Nyb2xsICcgOiAnJztcbiAgfVxuXG4gIGdldCBjYW5GdWxsSGVpZ2h0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzV2l0aGluQnJlYWtwb2ludHMgJiZcbiAgICAgICh0aGlzLnRlbXBsYXRlID09PSAnZGVmYXVsdCcgfHwgdGhpcy50ZW1wbGF0ZSA9PT0gJ2VtcHR5JylcbiAgICApO1xuICB9XG5cbiAgZ2V0IHBhZ2VCb2R5UHJvcHNDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5mdWxsSGVpZ2h0Q2xhc3N9ICR7dGhpcy5hcmdzLnBhZ2VCb2R5UHJvcHM/LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgZ2V0IHBhZ2VDb250ZW50UHJvcHNDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy55U2Nyb2xsQ2xhc3N9ICR7dGhpcy5hcmdzLnBhZ2VDb250ZW50UHJvcHM/LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgZ2V0IHBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZnVsbEhlaWdodENsYXNzfSAke3RoaXMuYXJncy5wYWdlQ29udGVudEJvZHlQcm9wcz8uY2xhc3NOYW1lfWA7XG4gIH1cblxuICA8dGVtcGxhdGU+XG4gICAge3sjbGV0XG4gICAgICAoYXJnT3JEZWZhdWx0IEBncm93IHRydWUpXG4gICAgICAoYXJnT3JEZWZhdWx0IEBwYWRkaW5nU2l6ZSBcImxcIilcbiAgICAgIChhbmQgKGFyZ09yRGVmYXVsdCBAaGFzQm90dG9tQmFyQmxvY2sgdHJ1ZSkgKGhhcy1ibG9jayBcImJvdHRvbUJhclwiKSlcbiAgICAgIChhbmQgKGFyZ09yRGVmYXVsdCBAaGFzUGFnZVNpZGVCYXJCbG9jayB0cnVlKSAoaGFzLWJsb2NrIFwicGFnZVNpZGVCYXJcIikpXG4gICAgICAoYW5kXG4gICAgICAgIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlclBhZ2VUaXRsZVwiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrIHRydWUpXG4gICAgICAgIChoYXMtYmxvY2sgXCJwYWdlSGVhZGVyRGVmYXVsdFwiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCIpXG4gICAgICApXG4gICAgICAoYW5kXG4gICAgICAgIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrIHRydWUpXG4gICAgICAgIChoYXMtYmxvY2sgXCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIilcbiAgICAgIClcbiAgICAgIChtb2RpZmllclxuICAgICAgICB1c2VJc1dpdGhpbkJyZWFrcG9pbnRzXG4gICAgICAgIHNpemVzPUJSRUFLUE9JTlRTXG4gICAgICAgIGlzQWN0aXZlPXRydWVcbiAgICAgICAgc2V0SXNXaXRoaW5CcmVha3BvaW50c1ZhbHVlPXRoaXMuc2V0SXNXaXRoaW5CcmVha3BvaW50c1xuICAgICAgKVxuICAgICAgYXMgfGdyb3cgcGFkZGluZ1NpemUgaGFzQm90dG9tQmFyQmxvY2sgaGFzUGFnZVNpZGVCYXJCbG9jayBoYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2sgaGFzUGFnZUhlYWRlckRlZmF1bHRCbG9jayBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jayBoYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9jayBpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ8XG4gICAgfX1cbiAgICAgIHt7I2xldFxuICAgICAgICAob3JcbiAgICAgICAgICBAcGFnZUhlYWRlclxuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja1xuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2tcbiAgICAgICAgICBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja1xuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrXG4gICAgICAgIClcbiAgICAgICAgYXMgfGhhc1BhZ2VIZWFkZXJ8XG4gICAgICB9fVxuICAgICAgICB7eyNpZiAoZXEgdGhpcy50ZW1wbGF0ZSBcImNlbnRlcmVkQm9keVwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzUGFnZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUJvZHk+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhvcml6b250YWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tAcGFnZUNvbnRlbnRQcm9wcy5oYXNCb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7QHBhZ2VDb250ZW50UHJvcHMuaGFzU2hhZG93fX1cbiAgICAgICAgICAgICAgICAgICAgQGNvbG9yPXt7QHBhZ2VDb250ZW50UHJvcHMuY29sb3J9fVxuICAgICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPXt7QHBhZ2VDb250ZW50UHJvcHMuYm9yZGVyUmFkaXVzfX1cbiAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3tAcGFnZUNvbnRlbnRQcm9wcy5ncm93fX1cbiAgICAgICAgICAgICAgICAgICAgQHJvbGU9e3tAcGFnZUNvbnRlbnRQcm9wcy5yb2xlfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7ZWxzZSBpZiAoZXEgdGhpcy50ZW1wbGF0ZSBcImNlbnRlcmVkQ29udGVudFwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYW5lbGxlZD17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInN1YmR1ZWRcIlxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBkaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keSBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX0+XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzUGFnZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIHt7IXRlbXBsYXRlLWxpbnQtZGlzYWJsZX19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICByb2xlPXt7bnVsbH19XG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyF0ZW1wbGF0ZS1saW50LWVuYWJsZX19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgQHZlcnRpY2FsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBAaG9yaXpvbnRhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQGNvbG9yPVwic3ViZHVlZFwiXG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cblxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICB7e2Vsc2UgaWYgKGVxIHRoaXMudGVtcGxhdGUgXCJlbXB0eVwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyIEBzdGlja3k9e3t0cnVlfX0gQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fT5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3tAcGFnZUhlYWRlci5wYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgQGhhc0JvcmRlcj17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgIEBib3JkZXJSYWRpdXM9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICB7eyNpZiBoYXNQYWdlU2lkZUJhckJsb2NrfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZVNpZGVCYXJcbiAgICAgICAgICAgICAgICBjbGFzcz17e0BwYWdlU2lkZUJhclByb3BzLmNsYXNzTmFtZX19XG4gICAgICAgICAgICAgICAgQHN0aWNreT17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlU2lkZUJhclwifX1cbiAgICAgICAgICAgICAgPC9FdWlQYWdlU2lkZUJhcj5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgQHBhbmVsbGVkPXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgQHRhZ05hbWU9XCJkaXZcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgIEBib3R0b21Cb3JkZXI9e3tAcGFnZUhlYWRlci5ib3R0b21Cb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3tAcGFnZUhlYWRlci5wYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc0JvdHRvbUJhckJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlCb3R0b21CYXJcbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcG9zaXRpb249e3tpZlxuICAgICAgICAgICAgICAgICAgICAgIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgICBcInN0YXRpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgXCJzdGlja3lcIlxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImJvdHRvbUJhclwifX1cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgICA8L0V1aUJvdHRvbUJhcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHkgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBAaGFzQm9yZGVyPXt7aWYgaGFzUGFnZUhlYWRlciBmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJwbGFpblwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzQm90dG9tQmFyQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPEV1aUJvdHRvbUJhclxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEBwb3NpdGlvbj17e2lmXG4gICAgICAgICAgICAgICAgICAgICAgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KVxuICAgICAgICAgICAgICAgICAgICAgIFwic3RhdGljXCJcbiAgICAgICAgICAgICAgICAgICAgICBcInN0aWNreVwiXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiYm90dG9tQmFyXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpQm90dG9tQmFyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7L2lmfX1cbiAgICAgIHt7L2xldH19XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRTtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0w7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLHFCQUFVO0FBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0Ewd0JDLENBQUMsNFBBQVc7QUFDYixDQUFDOyJ9"],"names":["TEMPLATES","BREAKPOINTS","EuiPageTemplate","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","and","useIsWithinBreakpoints","or","eq","EuiPage","style","inlineStyles","EuiPageSideBar","EuiPageBody","EuiPageHeader","EuiPageContent","EuiPageContentBody","EuiFlexGroup","EuiFlexItem","classNames","EuiBottomBar","_dec","argOrDefaultDecorator","_dec2","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","value","isWithinBreakpoints","minHeight","restrictWidth","width","classes","fullHeightClass","fullHeight","canFullHeight","yScrollClass","template","pageBodyPropsClass","pageBodyProps","className","pageContentPropsClass","pageContentProps","pageContentBodyPropsClass","pageContentBodyProps","_applyDecoratedDescriptor","prototype","configurable","enumerable","writable","initializer","tracked"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA+CO,MAAMA,SAAS,GAAG,CACvB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,OAAO,EACC;AAEV,MAAMC,WAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAAC,IAsErCC,eAAe,GAAAC,oBAAA,CAAAC,kBAAA,CA8DxB,CAAA;AACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0wBE,EAAA,CAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,GAAA;IAAAC,sBAAA;IAAAR,WAAA;IAAAS,EAAA;IAAAC,EAAA;IAAAC,OAAA;IAAAC,KAAA;IAAAC,YAAA;IAAAC,cAAA;IAAAC,WAAA;IAAAC,aAAA;IAAAC,cAAA;IAAAC,kBAAA;IAAAC,YAAA;IAAAC,WAAA;IAAAC,UAAA;AAAAC,kBAAAA,qBAAAA;AAAA,GAAA,CAAA;AAAA,CAAAC,CAAAA,GAAAA,IAAA,GAv0BCC,qBAAqB,CAAC,KAAK,CAAC,EAAAC,KAAA,GAC5BD,qBAAqB,CAAC,SAAS,CAAC,GAAAE,MAAA,GAHpB,MAAMzB,eAAe,SAAS0B,SAAS,CAA2B;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAC/E;AAAAC,IAAAA,0BAAA,qBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAAD,IAAAA,0BAAA,mBAAAE,YAAA,EAAA,IAAA,CAAA,CAAA;AAAAF,IAAAA,0BAAA,8BAAAG,YAAA,EAAA,IAAA,CAAA,CAAA;IAAAC,eAAA,CAAA,IAAA,EAAA,wBAAA,EAM0BC,KAAc,IAAK;MAC3C,IAAI,CAACC,mBAAmB,GAAGD,KAAK,CAAA;KACjC,CAAA,CAAA;AAAA,GAAA;EAED,IAAIE,SAASA,GAAG;IACd,MAAMA,SAAS,GAAG,IAAI,CAACR,IAAI,CAACQ,SAAS,IAAI,GAAG,CAAA;IAE5C,IAAI,OAAO,IAAI,CAACR,IAAI,CAACQ,SAAS,KAAK,QAAQ,EAAE;MAC3C,OAAQ,CAAA,EAAEA,SAAU,CAAG,EAAA,CAAA,CAAA;AACzB,KAAA;AAEA,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;EAEA,IAAIC,aAAaA,GAAG;IAClB,MAAMC,KAAK,GAAG,IAAI,CAACV,IAAI,CAACS,aAAa,IAAI,IAAI,CAAA;IAE7C,IAAI,OAAO,IAAI,CAACT,IAAI,CAACS,aAAa,KAAK,QAAQ,EAAE;MAC/C,OAAQ,CAAA,EAAEC,KAAM,CAAG,EAAA,CAAA,CAAA;AACrB,KAAA;AAEA,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;EAEA,IAAIC,OAAOA,GAAG;AACZ,IAAA,OAAQ,CAAkB,gBAAA,EAAA,IAAI,CAACC,eAAgB,CAAC,CAAA,CAAA;AAClD,GAAA;EAEA,IAAIA,eAAeA,GAAG;IACpB,OAAO,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,aAAa,GAAG,iBAAiB,GAAG,EAAE,CAAA;AACvE,GAAA;EAEA,IAAIC,YAAYA,GAAG;IACjB,OAAO,IAAI,CAACF,UAAU,IAAI,IAAI,CAACC,aAAa,GAAG,cAAc,GAAG,EAAE,CAAA;AACpE,GAAA;EAEA,IAAIA,aAAaA,GAAG;AAClB,IAAA,OACE,IAAI,CAACP,mBAAmB,KACvB,IAAI,CAACS,QAAQ,KAAK,SAAS,IAAI,IAAI,CAACA,QAAQ,KAAK,OAAO,CAAC,CAAA;AAE9D,GAAA;EAEA,IAAIC,kBAAkBA,GAAG;AACvB,IAAA,OAAQ,CAAE,EAAA,IAAI,CAACL,eAAgB,CAAG,CAAA,EAAA,IAAI,CAACZ,IAAI,CAACkB,aAAa,EAAEC,SAAU,CAAC,CAAA,CAAA;AACxE,GAAA;EAEA,IAAIC,qBAAqBA,GAAG;AAC1B,IAAA,OAAQ,CAAE,EAAA,IAAI,CAACL,YAAa,CAAG,CAAA,EAAA,IAAI,CAACf,IAAI,CAACqB,gBAAgB,EAAEF,SAAU,CAAC,CAAA,CAAA;AACxE,GAAA;EAEA,IAAIG,yBAAyBA,GAAG;AAC9B,IAAA,OAAQ,CAAE,EAAA,IAAI,CAACV,eAAgB,CAAG,CAAA,EAAA,IAAI,CAACZ,IAAI,CAACuB,oBAAoB,EAAEJ,SAAU,CAAC,CAAA,CAAA;AAC/E,GAAA;AA8wBF,CAAC,GAAAjB,WAAA,GAAAsB,yBAAA,CAAA3B,MAAA,CAAA4B,SAAA,EAAA,YAAA,EAAA,CAAA/B,IAAA,CAAA,EAAA;EAAAgC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;EAAAC,WAAA,EAAA,IAAA;AAAA,CAAA1B,CAAAA,EAAAA,YAAA,GAAAqB,yBAAA,CAAA3B,MAAA,CAAA4B,SAAA,eAAA7B,KAAA,CAAA,EAAA;EAAA8B,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;EAAAC,WAAA,EAAA,IAAA;AAAA,CAAAzB,CAAAA,EAAAA,YAAA,GAAAoB,yBAAA,CAAA3B,MAAA,CAAA4B,SAAA,0BAr0BEK,OAAO,CAAA,EAAA;EAAAJ,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAuB,KAAK,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,GAAAhC,MAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-page-template.js","sources":["../../src/components/eui-page-template.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport style from 'ember-style-modifier/modifiers/style';\n// import { tabbable } from 'tabbable';\n// import {\n// anchorPositionMapping,\n// displayMapping\n// } from '../../utils/css-mappings/eui-popover.ts';\n// import { paddingSizeMapping } from '../../utils/css-mappings/eui-panel.ts';\n// import { scheduleOnce, later, cancel } from '@ember/runloop';\n// import { assert } from '@ember/debug';\n// import { htmlSafe } from '@ember/template';\nimport { and, eq, or } from 'ember-truth-helpers';\n// import { action } from '@ember/object';\n// import { tracked } from '@glimmer/tracking';\n// import {\n// getTransitionTimings,\n// getWaitDuration,\n// performOnFrame\n// } from '../../utils/transition';\n// import { findPopoverPosition, getElementZIndex } from '../../utils/popover';\n// import { EuiPopoverPosition } from '../../utils/popover/types';\n// import { cascadingMenuKeys } from '../../utils/accesibility';\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport inlineStyles from '../helpers/inline-styles.ts';\nimport useIsWithinBreakpoints from '../modifiers/use-is-within-breakpoints.ts';\nimport EuiBottomBar from './eui-bottom-bar.gts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiPage from './eui-page.gts';\nimport EuiPageBody from './eui-page-body.gts';\nimport EuiPageContent from './eui-page-content.gts';\nimport EuiPageContentBody from './eui-page-content-body.gts';\nimport EuiPageHeader from './eui-page-header.gts';\nimport EuiPageSideBar from './eui-page-side-bar.gts';\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\nimport type { EuiButtomBarArgs } from './eui-bottom-bar';\nimport type { EuiPageBodySignature } from './eui-page-body';\nimport type { EuiPageContentSignature } from './eui-page-content';\nimport type { EuiPageContentBodySignature } from './eui-page-content-body';\nimport type { EuiPageHeaderSignature } from './eui-page-header';\nimport type { EuiPageSideBarSignature } from './eui-page-side-bar';\nexport const TEMPLATES = [\n 'default',\n 'centeredBody',\n 'centeredContent',\n 'empty'\n] as const;\nconst BREAKPOINTS: EuiBreakpointSize[] = [\n 'm',\n 'l',\n 'xl'\n];\ninterface NormalProps {\n className?: string;\n}\nexport type EuiPageTemplateProps = {\n template?: (typeof TEMPLATES)[number];\n pageBodyProps: NormalProps & EuiPageBodySignature['Args'];\n pageContentProps: NormalProps & EuiPageContentSignature['Args'];\n pageContentBodyProps: NormalProps & EuiPageContentBodySignature['Args'];\n pageHeader: NormalProps & EuiPageHeaderSignature['Args'];\n pageSideBarProps: NormalProps & EuiPageSideBarSignature['Args'];\n /**\n * Adds a bottom bar to the page template\n */ bottomBar?: any;\n /**\n * Adds a bottom bar to the page template\n */ hasBottomBarBlock?: boolean;\n /**\n * Gets passed along to the #EuiBottomBar component if `bottomBar` has contents\n */ bottomBarProps?: EuiButtomBarArgs;\n /* Stretches or restricts the height to 100% of the parent;\n * `true`: scrolls the EuiPageContentBody;\n * `noscroll`: removes all scroll ability;\n * Only works when `template = 'default | empty'` and breakpoint is `m` and above\n */ fullHeight?: boolean;\n /**\n * Minimum height in which to enforce scrolling\n */ minHeight?: number;\n restrictWidth?: boolean | number | string;\n grow?: boolean;\n paddingSize?: EuiPageSideBarSignature['Args']['paddingSize'];\n hasPageSideBarBlock?: boolean;\n hasPageHeaderPageTitleBlock?: boolean;\n hasPageHeaderDefaultBlock?: boolean;\n hasPageHeaderRightSideItemsBlock?: boolean;\n hasPageHeaderDescriptionBlock?: boolean;\n hasPageHeader?: boolean;\n hasPageContent?: boolean;\n hasPageContentBody?: boolean;\n};\nexport interface EuiPageTemplateSignature {\n Element: HTMLElement;\n Args: EuiPageTemplateProps;\n Blocks: {\n default: [];\n pageSideBar: [];\n pageHeaderPageTitle: [];\n pageHeaderDefault: [];\n pageHeaderDescription: [];\n pageHeaderRightSideItems: EuiPageHeaderSignature['Blocks']['rightSideItems'];\n bottomBar: [];\n };\n}\nexport default class EuiPageTemplate extends Component<EuiPageTemplateSignature> {\n // Defaults\n @argOrDefaultDecorator(false)\n fullHeight: boolean;\n @argOrDefaultDecorator('default')\n template: (typeof TEMPLATES)[number];\n @tracked\n isWithinBreakpoints = false;\n setIsWithinBreakpoints = (value1: boolean)=>{\n this.isWithinBreakpoints = value1;\n };\n get minHeight() {\n const minHeight1 = this.args.minHeight ?? 460;\n if (typeof this.args.minHeight === 'number') {\n return `${minHeight1}px`;\n }\n return minHeight1;\n }\n get restrictWidth() {\n const width1 = this.args.restrictWidth ?? true;\n if (typeof this.args.restrictWidth === 'number') {\n return `${width1}px`;\n }\n return width1;\n }\n get classes() {\n return `euiPageTemplate ${this.fullHeightClass}`;\n }\n get fullHeightClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-fullHeight ' : '';\n }\n get yScrollClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-yScroll ' : '';\n }\n get canFullHeight() {\n return (this.isWithinBreakpoints && (this.template === 'default' || this.template === 'empty'));\n }\n get pageBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageBodyProps?.className}`;\n }\n get pageContentPropsClass() {\n return `${this.yScrollClass} ${this.args.pageContentProps?.className}`;\n }\n get pageContentBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageContentBodyProps?.className}`;\n }\n static{\n template(`\n {{#let\n (argOrDefault @grow true)\n (argOrDefault @paddingSize \"l\")\n (and (argOrDefault @hasBottomBarBlock true) (has-block \"bottomBar\"))\n (and (argOrDefault @hasPageSideBarBlock true) (has-block \"pageSideBar\"))\n (and\n (argOrDefault @hasPageHeaderPageTitleBlock true)\n (has-block \"pageHeaderPageTitle\")\n )\n (and\n (argOrDefault @hasPageHeaderDefaultBlock true)\n (has-block \"pageHeaderDefault\")\n )\n (and\n (argOrDefault @hasPageHeaderRightSideItemsBlock true)\n (has-block \"pageHeaderRightSideItems\")\n )\n (and\n (argOrDefault @hasPageHeaderDescriptionBlock true)\n (has-block \"pageHeaderDescription\")\n )\n (modifier\n useIsWithinBreakpoints\n sizes=BREAKPOINTS\n isActive=true\n setIsWithinBreakpointsValue=this.setIsWithinBreakpoints\n )\n as |grow paddingSize hasBottomBarBlock hasPageSideBarBlock hasPageHeaderPageTitleBlock hasPageHeaderDefaultBlock hasPageHeaderRightSideItemsBlock hasPageHeaderDescriptionBlock isWithinBreakpointsModifier|\n }}\n {{#let\n (or\n @pageHeader\n hasPageHeaderPageTitleBlock\n hasPageHeaderDefaultBlock\n hasPageHeaderRightSideItemsBlock\n hasPageHeaderDescriptionBlock\n )\n as |hasPageHeader|\n }}\n {{#if (eq this.template \"centeredBody\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @restrictWidth={{false}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize=\"none\"\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageBody>\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasBorder={{@pageContentProps.hasBorder}}\n @hasShadow={{@pageContentProps.hasShadow}}\n @color={{@pageContentProps.color}}\n @borderRadius={{@pageContentProps.borderRadius}}\n @grow={{@pageContentProps.grow}}\n @role={{@pageContentProps.role}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"centeredContent\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n {{!template-lint-disable}}\n <EuiPageContent\n role={{null}}\n @borderRadius=\"none\"\n @hasShadow={{false}}\n @paddingSize={{paddingSize}}\n style=\"display: flex\"\n >\n {{!template-lint-enable}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"empty\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar @sticky={{true}} @paddingSize={{paddingSize}}>\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n @restrictWidth={{false}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n @restrictWidth={{false}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize=\"none\"\n class={{this.pageBodyPropsClass}}\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n @tagName=\"div\"\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasShadow={{false}}\n @hasBorder={{false}}\n @color=\"transparent\"\n @borderRadius=\"none\"\n @paddingSize=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{if hasPageHeader false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"plain\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1wYWdlLXRlbXBsYXRlLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbi8vIGltcG9ydCB7IHRhYmJhYmxlIH0gZnJvbSAndGFiYmFibGUnO1xuLy8gaW1wb3J0IHtcbi8vICAgYW5jaG9yUG9zaXRpb25NYXBwaW5nLFxuLy8gICBkaXNwbGF5TWFwcGluZ1xuLy8gfSBmcm9tICcuLi8uLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLXBvcG92ZXIudHMnO1xuLy8gaW1wb3J0IHsgcGFkZGluZ1NpemVNYXBwaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3NzLW1hcHBpbmdzL2V1aS1wYW5lbC50cyc7XG4vLyBpbXBvcnQgeyBzY2hlZHVsZU9uY2UsIGxhdGVyLCBjYW5jZWwgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG4vLyBpbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAZW1iZXIvZGVidWcnO1xuLy8gaW1wb3J0IHsgaHRtbFNhZmUgfSBmcm9tICdAZW1iZXIvdGVtcGxhdGUnO1xuaW1wb3J0IHsgYW5kLCBlcSxvciB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG4vLyBpbXBvcnQgeyBhY3Rpb24gfSBmcm9tICdAZW1iZXIvb2JqZWN0Jztcbi8vIGltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG4vLyBpbXBvcnQge1xuLy8gICBnZXRUcmFuc2l0aW9uVGltaW5ncyxcbi8vICAgZ2V0V2FpdER1cmF0aW9uLFxuLy8gICBwZXJmb3JtT25GcmFtZVxuLy8gfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2l0aW9uJztcbi8vIGltcG9ydCB7IGZpbmRQb3BvdmVyUG9zaXRpb24sIGdldEVsZW1lbnRaSW5kZXggfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyJztcbi8vIGltcG9ydCB7IEV1aVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvdHlwZXMnO1xuLy8gaW1wb3J0IHsgY2FzY2FkaW5nTWVudUtleXMgfSBmcm9tICcuLi8uLi91dGlscy9hY2Nlc2liaWxpdHknO1xuaW1wb3J0IGFyZ09yRGVmYXVsdCwgeyBhcmdPckRlZmF1bHREZWNvcmF0b3IgfSBmcm9tICcuLi9oZWxwZXJzL2FyZy1vci1kZWZhdWx0LnRzJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJy4uL2hlbHBlcnMvY2xhc3MtbmFtZXMudHMnO1xuaW1wb3J0IGlubGluZVN0eWxlcyBmcm9tICcuLi9oZWxwZXJzL2lubGluZS1zdHlsZXMudHMnO1xuaW1wb3J0IHVzZUlzV2l0aGluQnJlYWtwb2ludHMgZnJvbSAnLi4vbW9kaWZpZXJzL3VzZS1pcy13aXRoaW4tYnJlYWtwb2ludHMudHMnO1xuaW1wb3J0IEV1aUJvdHRvbUJhciBmcm9tICcuL2V1aS1ib3R0b20tYmFyLmd0cyc7XG5pbXBvcnQgRXVpRmxleEdyb3VwIGZyb20gJy4vZXVpLWZsZXgtZ3JvdXAuZ3RzJztcbmltcG9ydCBFdWlGbGV4SXRlbSBmcm9tICcuL2V1aS1mbGV4LWl0ZW0uZ3RzJztcbmltcG9ydCBFdWlQYWdlIGZyb20gJy4vZXVpLXBhZ2UuZ3RzJztcbmltcG9ydCBFdWlQYWdlQm9keSBmcm9tICcuL2V1aS1wYWdlLWJvZHkuZ3RzJztcbmltcG9ydCBFdWlQYWdlQ29udGVudCBmcm9tICcuL2V1aS1wYWdlLWNvbnRlbnQuZ3RzJztcbmltcG9ydCBFdWlQYWdlQ29udGVudEJvZHkgZnJvbSAnLi9ldWktcGFnZS1jb250ZW50LWJvZHkuZ3RzJztcbmltcG9ydCBFdWlQYWdlSGVhZGVyIGZyb20gJy4vZXVpLXBhZ2UtaGVhZGVyLmd0cyc7XG5pbXBvcnQgRXVpUGFnZVNpZGVCYXIgZnJvbSAnLi9ldWktcGFnZS1zaWRlLWJhci5ndHMnO1xuXG5pbXBvcnQgdHlwZSB7IEV1aUJyZWFrcG9pbnRTaXplIH0gZnJvbSAnLi4vdXRpbHMvYnJlYWtwb2ludC50cyc7XG5pbXBvcnQgdHlwZSB7IEV1aUJ1dHRvbUJhckFyZ3MgfSBmcm9tICcuL2V1aS1ib3R0b20tYmFyJztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUJvZHlTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLWJvZHknO1xuaW1wb3J0IHR5cGUgeyBFdWlQYWdlQ29udGVudFNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudCc7XG5pbXBvcnQgdHlwZSB7IEV1aVBhZ2VDb250ZW50Qm9keVNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudC1ib2R5JztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUhlYWRlclNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtaGVhZGVyJztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZVNpZGVCYXJTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLXNpZGUtYmFyJztcblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFUyA9IFtcbiAgJ2RlZmF1bHQnLFxuICAnY2VudGVyZWRCb2R5JyxcbiAgJ2NlbnRlcmVkQ29udGVudCcsXG4gICdlbXB0eSdcbl0gYXMgY29uc3Q7XG5cbmNvbnN0IEJSRUFLUE9JTlRTOiBFdWlCcmVha3BvaW50U2l6ZVtdID0gWydtJywgJ2wnLCAneGwnXTtcblxuaW50ZXJmYWNlIE5vcm1hbFByb3BzIHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBFdWlQYWdlVGVtcGxhdGVQcm9wcyA9IHtcbiAgdGVtcGxhdGU_OiAodHlwZW9mIFRFTVBMQVRFUylbbnVtYmVyXTtcblxuICBwYWdlQm9keVByb3BzOiBOb3JtYWxQcm9wcyAmIEV1aVBhZ2VCb2R5U2lnbmF0dXJlWydBcmdzJ107XG4gIHBhZ2VDb250ZW50UHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZUNvbnRlbnRTaWduYXR1cmVbJ0FyZ3MnXTtcbiAgcGFnZUNvbnRlbnRCb2R5UHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZUNvbnRlbnRCb2R5U2lnbmF0dXJlWydBcmdzJ107XG5cbiAgcGFnZUhlYWRlcjogTm9ybWFsUHJvcHMgJiBFdWlQYWdlSGVhZGVyU2lnbmF0dXJlWydBcmdzJ107XG5cbiAgcGFnZVNpZGVCYXJQcm9wczogTm9ybWFsUHJvcHMgJiBFdWlQYWdlU2lkZUJhclNpZ25hdHVyZVsnQXJncyddO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm90dG9tIGJhciB0byB0aGUgcGFnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgYm90dG9tQmFyPzogYW55O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm90dG9tIGJhciB0byB0aGUgcGFnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgaGFzQm90dG9tQmFyQmxvY2s_OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHZXRzIHBhc3NlZCBhbG9uZyB0byB0aGUgI0V1aUJvdHRvbUJhciBjb21wb25lbnQgaWYgYGJvdHRvbUJhcmAgaGFzIGNvbnRlbnRzXG4gICAqL1xuICBib3R0b21CYXJQcm9wcz86IEV1aUJ1dHRvbUJhckFyZ3M7XG4gIC8qIFN0cmV0Y2hlcyBvciByZXN0cmljdHMgdGhlIGhlaWdodCB0byAxMDAlIG9mIHRoZSBwYXJlbnQ7XG4gICAqIGB0cnVlYDogc2Nyb2xscyB0aGUgRXVpUGFnZUNvbnRlbnRCb2R5O1xuICAgKiBgbm9zY3JvbGxgOiByZW1vdmVzIGFsbCBzY3JvbGwgYWJpbGl0eTtcbiAgICogT25seSB3b3JrcyB3aGVuIGB0ZW1wbGF0ZSA9ICdkZWZhdWx0IHwgZW1wdHknYCBhbmQgYnJlYWtwb2ludCBpcyBgbWAgYW5kIGFib3ZlXG4gICAqL1xuICBmdWxsSGVpZ2h0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbmltdW0gaGVpZ2h0IGluIHdoaWNoIHRvIGVuZm9yY2Ugc2Nyb2xsaW5nXG4gICAqL1xuICBtaW5IZWlnaHQ_OiBudW1iZXI7XG5cbiAgcmVzdHJpY3RXaWR0aD86IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmc7XG5cbiAgZ3Jvdz86IGJvb2xlYW47XG4gIHBhZGRpbmdTaXplPzogRXVpUGFnZVNpZGVCYXJTaWduYXR1cmVbJ0FyZ3MnXVsncGFkZGluZ1NpemUnXTtcbiAgaGFzUGFnZVNpZGVCYXJCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2s_OiBib29sZWFuO1xuICBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrPzogYm9vbGVhbjtcbiAgaGFzUGFnZUhlYWRlcj86IGJvb2xlYW47XG4gIGhhc1BhZ2VDb250ZW50PzogYm9vbGVhbjtcbiAgaGFzUGFnZUNvbnRlbnRCb2R5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpUGFnZVRlbXBsYXRlU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIEFyZ3M6IEV1aVBhZ2VUZW1wbGF0ZVByb3BzO1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXTtcbiAgICBwYWdlU2lkZUJhcjogW107XG4gICAgcGFnZUhlYWRlclBhZ2VUaXRsZTogW107XG4gICAgcGFnZUhlYWRlckRlZmF1bHQ6IFtdO1xuICAgIHBhZ2VIZWFkZXJEZXNjcmlwdGlvbjogW107XG4gICAgcGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zOiBFdWlQYWdlSGVhZGVyU2lnbmF0dXJlWydCbG9ja3MnXVsncmlnaHRTaWRlSXRlbXMnXTtcbiAgICBib3R0b21CYXI6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlQYWdlVGVtcGxhdGUgZXh0ZW5kcyBDb21wb25lbnQ8RXVpUGFnZVRlbXBsYXRlU2lnbmF0dXJlPiB7XG4gIC8vIERlZmF1bHRzXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZmFsc2UpIGZ1bGxIZWlnaHQhOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdkZWZhdWx0JykgdGVtcGxhdGUhOiAodHlwZW9mIFRFTVBMQVRFUylbbnVtYmVyXTtcblxuICBAdHJhY2tlZCBpc1dpdGhpbkJyZWFrcG9pbnRzID0gZmFsc2U7XG5cbiAgc2V0SXNXaXRoaW5CcmVha3BvaW50cyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHRoaXMuaXNXaXRoaW5CcmVha3BvaW50cyA9IHZhbHVlO1xuICB9O1xuXG4gIGdldCBtaW5IZWlnaHQoKSB7XG4gICAgY29uc3QgbWluSGVpZ2h0ID0gdGhpcy5hcmdzLm1pbkhlaWdodCA_PyA0NjA7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuYXJncy5taW5IZWlnaHQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gYCR7bWluSGVpZ2h0fXB4YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWluSGVpZ2h0O1xuICB9XG5cbiAgZ2V0IHJlc3RyaWN0V2lkdGgoKSB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmFyZ3MucmVzdHJpY3RXaWR0aCA_PyB0cnVlO1xuXG4gICAgaWYgKHR5cGVvZiB0aGlzLmFyZ3MucmVzdHJpY3RXaWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBgJHt3aWR0aH1weGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgZ2V0IGNsYXNzZXMoKSB7XG4gICAgcmV0dXJuIGBldWlQYWdlVGVtcGxhdGUgJHt0aGlzLmZ1bGxIZWlnaHRDbGFzc31gO1xuICB9XG5cbiAgZ2V0IGZ1bGxIZWlnaHRDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5mdWxsSGVpZ2h0ICYmIHRoaXMuY2FuRnVsbEhlaWdodCA_ICdldWktZnVsbEhlaWdodCAnIDogJyc7XG4gIH1cblxuICBnZXQgeVNjcm9sbENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmZ1bGxIZWlnaHQgJiYgdGhpcy5jYW5GdWxsSGVpZ2h0ID8gJ2V1aS15U2Nyb2xsICcgOiAnJztcbiAgfVxuXG4gIGdldCBjYW5GdWxsSGVpZ2h0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzV2l0aGluQnJlYWtwb2ludHMgJiZcbiAgICAgICh0aGlzLnRlbXBsYXRlID09PSAnZGVmYXVsdCcgfHwgdGhpcy50ZW1wbGF0ZSA9PT0gJ2VtcHR5JylcbiAgICApO1xuICB9XG5cbiAgZ2V0IHBhZ2VCb2R5UHJvcHNDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5mdWxsSGVpZ2h0Q2xhc3N9ICR7dGhpcy5hcmdzLnBhZ2VCb2R5UHJvcHM_LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgZ2V0IHBhZ2VDb250ZW50UHJvcHNDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy55U2Nyb2xsQ2xhc3N9ICR7dGhpcy5hcmdzLnBhZ2VDb250ZW50UHJvcHM_LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgZ2V0IHBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZnVsbEhlaWdodENsYXNzfSAke3RoaXMuYXJncy5wYWdlQ29udGVudEJvZHlQcm9wcz8uY2xhc3NOYW1lfWA7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAge3sjbGV0XG4gICAgICAoYXJnT3JEZWZhdWx0IEBncm93IHRydWUpXG4gICAgICAoYXJnT3JEZWZhdWx0IEBwYWRkaW5nU2l6ZSBcImxcIilcbiAgICAgIChhbmQgKGFyZ09yRGVmYXVsdCBAaGFzQm90dG9tQmFyQmxvY2sgdHJ1ZSkgKGhhcy1ibG9jayBcImJvdHRvbUJhclwiKSlcbiAgICAgIChhbmQgKGFyZ09yRGVmYXVsdCBAaGFzUGFnZVNpZGVCYXJCbG9jayB0cnVlKSAoaGFzLWJsb2NrIFwicGFnZVNpZGVCYXJcIikpXG4gICAgICAoYW5kXG4gICAgICAgIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlclBhZ2VUaXRsZVwiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrIHRydWUpXG4gICAgICAgIChoYXMtYmxvY2sgXCJwYWdlSGVhZGVyRGVmYXVsdFwiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCIpXG4gICAgICApXG4gICAgICAoYW5kXG4gICAgICAgIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrIHRydWUpXG4gICAgICAgIChoYXMtYmxvY2sgXCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIilcbiAgICAgIClcbiAgICAgIChtb2RpZmllclxuICAgICAgICB1c2VJc1dpdGhpbkJyZWFrcG9pbnRzXG4gICAgICAgIHNpemVzPUJSRUFLUE9JTlRTXG4gICAgICAgIGlzQWN0aXZlPXRydWVcbiAgICAgICAgc2V0SXNXaXRoaW5CcmVha3BvaW50c1ZhbHVlPXRoaXMuc2V0SXNXaXRoaW5CcmVha3BvaW50c1xuICAgICAgKVxuICAgICAgYXMgfGdyb3cgcGFkZGluZ1NpemUgaGFzQm90dG9tQmFyQmxvY2sgaGFzUGFnZVNpZGVCYXJCbG9jayBoYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2sgaGFzUGFnZUhlYWRlckRlZmF1bHRCbG9jayBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jayBoYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9jayBpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ8XG4gICAgfX1cbiAgICAgIHt7I2xldFxuICAgICAgICAob3JcbiAgICAgICAgICBAcGFnZUhlYWRlclxuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja1xuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2tcbiAgICAgICAgICBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja1xuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrXG4gICAgICAgIClcbiAgICAgICAgYXMgfGhhc1BhZ2VIZWFkZXJ8XG4gICAgICB9fVxuICAgICAgICB7eyNpZiAoZXEgdGhpcy50ZW1wbGF0ZSBcImNlbnRlcmVkQm9keVwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI-XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU-XG4gICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24-XG4gICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM-XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0-XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA-XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ-XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk-XG4gICAgICAgICAgICA8L0V1aVBhZ2U-XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzUGFnZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUJvZHk-XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhvcml6b250YWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tAcGFnZUNvbnRlbnRQcm9wcy5oYXNCb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7QHBhZ2VDb250ZW50UHJvcHMuaGFzU2hhZG93fX1cbiAgICAgICAgICAgICAgICAgICAgQGNvbG9yPXt7QHBhZ2VDb250ZW50UHJvcHMuY29sb3J9fVxuICAgICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPXt7QHBhZ2VDb250ZW50UHJvcHMuYm9yZGVyUmFkaXVzfX1cbiAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3tAcGFnZUNvbnRlbnRQcm9wcy5ncm93fX1cbiAgICAgICAgICAgICAgICAgICAgQHJvbGU9e3tAcGFnZUNvbnRlbnRQcm9wcy5yb2xlfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0-XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ-XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7ZWxzZSBpZiAoZXEgdGhpcy50ZW1wbGF0ZSBcImNlbnRlcmVkQ29udGVudFwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI-XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYW5lbGxlZD17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInN1YmR1ZWRcIlxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBkaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk-XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA-XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keSBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX0-XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzUGFnZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU-XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24-XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM-XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI-XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIHt7IXRlbXBsYXRlLWxpbnQtZGlzYWJsZX19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICByb2xlPXt7bnVsbH19XG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCJcbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7eyF0ZW1wbGF0ZS1saW50LWVuYWJsZX19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgQHZlcnRpY2FsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBAaG9yaXpvbnRhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQGNvbG9yPVwic3ViZHVlZFwiXG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cblxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ-XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk-XG4gICAgICAgICAgICA8L0V1aVBhZ2U-XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICB7e2Vsc2UgaWYgKGVxIHRoaXMudGVtcGxhdGUgXCJlbXB0eVwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyIEBzdGlja3k9e3t0cnVlfX0gQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fT5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI-XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA-XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3tAcGFnZUhlYWRlci5wYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU-XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24-XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM-XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI-XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgQGhhc0JvcmRlcj17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgIEBib3JkZXJSYWRpdXM9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICB7eyNpZiBoYXNQYWdlU2lkZUJhckJsb2NrfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZVNpZGVCYXJcbiAgICAgICAgICAgICAgICBjbGFzcz17e0BwYWdlU2lkZUJhclByb3BzLmNsYXNzTmFtZX19XG4gICAgICAgICAgICAgICAgQHN0aWNreT17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlU2lkZUJhclwifX1cbiAgICAgICAgICAgICAgPC9FdWlQYWdlU2lkZUJhcj5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgQHBhbmVsbGVkPXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgQHRhZ05hbWU9XCJkaXZcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgIEBib3R0b21Cb3JkZXI9e3tAcGFnZUhlYWRlci5ib3R0b21Cb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3tAcGFnZUhlYWRlci5wYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ-XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc0JvdHRvbUJhckJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlCb3R0b21CYXJcbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcG9zaXRpb249e3tpZlxuICAgICAgICAgICAgICAgICAgICAgIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgICBcInN0YXRpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgXCJzdGlja3lcIlxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImJvdHRvbUJhclwifX1cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk-XG4gICAgICAgICAgICAgICAgICA8L0V1aUJvdHRvbUJhcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk-XG4gICAgICAgICAgICA8L0V1aVBhZ2U-XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHkgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw-XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBAaGFzQm9yZGVyPXt7aWYgaGFzUGFnZUhlYWRlciBmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJwbGFpblwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0-XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA-XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ-XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzQm90dG9tQmFyQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPEV1aUJvdHRvbUJhclxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEBwb3NpdGlvbj17e2lmXG4gICAgICAgICAgICAgICAgICAgICAgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KVxuICAgICAgICAgICAgICAgICAgICAgIFwic3RhdGljXCJcbiAgICAgICAgICAgICAgICAgICAgICBcInN0aWNreVwiXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiYm90dG9tQmFyXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpQm90dG9tQmFyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7L2lmfX1cbiAgICAgIHt7L2xldH19XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE9BQU8sUUFBUSxvQkFBb0I7QUFFNUMsT0FBTyxXQUFXLHVDQUF1QztBQUN6RCx1Q0FBdUM7QUFDdkMsV0FBVztBQUNYLDJCQUEyQjtBQUMzQixtQkFBbUI7QUFDbkIsb0RBQW9EO0FBQ3BELDhFQUE4RTtBQUM5RSxnRUFBZ0U7QUFDaEUseUNBQXlDO0FBQ3pDLDhDQUE4QztBQUM5QyxTQUFTLEdBQUcsRUFBRSxFQUFFLEVBQUMsRUFBRSxRQUFRLHNCQUFzQjtBQUVqRCwwQ0FBMEM7QUFDMUMsK0NBQStDO0FBQy9DLFdBQVc7QUFDWCwwQkFBMEI7QUFDMUIscUJBQXFCO0FBQ3JCLG1CQUFtQjtBQUNuQixtQ0FBbUM7QUFDbkMsK0VBQStFO0FBQy9FLGtFQUFrRTtBQUNsRSxnRUFBZ0U7QUFDaEUsT0FBTyxnQkFBZ0IscUJBQXFCLFFBQVEsK0JBQStCO0FBQ25GLE9BQU8sZ0JBQWdCLDRCQUE0QjtBQUNuRCxPQUFPLGtCQUFrQiw4QkFBOEI7QUFDdkQsT0FBTyw0QkFBNEIsNENBQTRDO0FBQy9FLE9BQU8sa0JBQWtCLHVCQUF1QjtBQUNoRCxPQUFPLGtCQUFrQix1QkFBdUI7QUFDaEQsT0FBTyxpQkFBaUIsc0JBQXNCO0FBQzlDLE9BQU8sYUFBYSxpQkFBaUI7QUFDckMsT0FBTyxpQkFBaUIsc0JBQXNCO0FBQzlDLE9BQU8sb0JBQW9CLHlCQUF5QjtBQUNwRCxPQUFPLHdCQUF3Qiw4QkFBOEI7QUFDN0QsT0FBTyxtQkFBbUIsd0JBQXdCO0FBQ2xELE9BQU8sb0JBQW9CLDBCQUEwQjtBQUVyRCxjQUFjLGlCQUFpQixRQUFRLHlCQUF5QjtBQUNoRSxjQUFjLGdCQUFnQixRQUFRLG1CQUFtQjtBQUN6RCxjQUFjLG9CQUFvQixRQUFRLGtCQUFrQjtBQUM1RCxjQUFjLHVCQUF1QixRQUFRLHFCQUFxQjtBQUNsRSxjQUFjLDJCQUEyQixRQUFRLDBCQUEwQjtBQUMzRSxjQUFjLHNCQUFzQixRQUFRLG9CQUFvQjtBQUNoRSxjQUFjLHVCQUF1QixRQUFRLHNCQUFzQjtBQUVuRSxPQUFPLE1BQU0sWUFBWTtJQUN2QjtJQUNBO0lBQ0E7SUFDQTtDQUNELFVBQVU7QUFFWCxNQUFNLGFBQWEsc0JBQXNCO0lBQUM7SUFBSztJQUFLO0NBQUs7VUFFL0M7SUFDUixZQUFZLE1BQU07O0FBR3BCLFlBQVk7SUFDVixtQkFBbUIsV0FBVyxNQUFNO0lBRXBDLGVBQWUsY0FBYyxxQkFBcUI7SUFDbEQsa0JBQWtCLGNBQWMsd0JBQXdCO0lBQ3hELHNCQUFzQixjQUFjLDRCQUE0QjtJQUVoRSxZQUFZLGNBQWMsdUJBQXVCO0lBRWpELGtCQUFrQixjQUFjLHdCQUF3QjtJQUV4RDs7R0FFQyxHQUNELFlBQVksR0FBRztJQUVmOztHQUVDLEdBQ0Qsb0JBQW9CLE9BQU87SUFFM0I7O0dBRUMsR0FDRCxpQkFBaUI7SUFDakI7Ozs7R0FJQyxHQUNELGFBQWEsT0FBTztJQUNwQjs7R0FFQyxHQUNELFlBQVksTUFBTTtJQUVsQixnQkFBZ0IsT0FBTyxHQUFHLE1BQU0sR0FBRyxNQUFNO0lBRXpDLE9BQU8sT0FBTztJQUNkLGNBQWMsd0JBQXdCLFFBQVE7SUFDOUMsc0JBQXNCLE9BQU87SUFDN0IsOEJBQThCLE9BQU87SUFDckMsNEJBQTRCLE9BQU87SUFDbkMsbUNBQW1DLE9BQU87SUFDMUMsZ0NBQWdDLE9BQU87SUFDdkMsZ0JBQWdCLE9BQU87SUFDdkIsaUJBQWlCLE9BQU87SUFDeEIscUJBQXFCLE9BQU87O0FBRzlCLGlCQUFpQjtJQUNmLFNBQVM7SUFDVCxNQUFNO0lBQ047UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EsMEJBQTBCLHVCQUF1QixVQUFVO1FBQzNEOzs7QUFJSixlQUFlLE1BQU0sd0JBQXdCLFVBQVU7SUFDckQsV0FBVztJQUNYLENBQUMsc0JBQXNCO0lBQU8sWUFBYSxPQUFPLENBQUM7SUFDbkQsQ0FBQyxzQkFBc0I7SUFBVyxrQkFBbUIsV0FBVyxNQUFNLEVBQUU7SUFFeEUsQ0FBQztJQUFRLHNCQUFzQixNQUFNO0lBRXJDLHlCQUF5QixDQUFDLFFBQU8sT0FBTztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUc7SUFDN0IsRUFBRTtJQUVGLElBQUksWUFBWTtRQUNkLE1BQU0sYUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSTtRQUV6QyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVTtZQUMzQyxPQUFPLENBQUMsRUFBRSxXQUFVLEVBQUUsQ0FBQztRQUN6QjtRQUVBLE9BQU87SUFDVDtJQUVBLElBQUksZ0JBQWdCO1FBQ2xCLE1BQU0sU0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSTtRQUV6QyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVTtZQUMvQyxPQUFPLENBQUMsRUFBRSxPQUFNLEVBQUUsQ0FBQztRQUNyQjtRQUVBLE9BQU87SUFDVDtJQUVBLElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEQ7SUFFQSxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxvQkFBb0I7SUFDckU7SUFFQSxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsaUJBQWlCO0lBQ2xFO0lBRUEsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxDQUNMLElBQUksQ0FBQyxtQkFBbUIsSUFDeEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQzNEO0lBQ0Y7SUFFQSxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7SUFDeEU7SUFFQSxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQztJQUN4RTtJQUVBLElBQUksNEJBQTRCO1FBQzlCLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDO0lBQy9FO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEyd0JWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQTN3QkE7QUE0d0JaIn0"],"names":["TEMPLATES","BREAKPOINTS","EuiPageTemplate","Component","g","this","prototype","argOrDefaultDecorator","i","void 0","tracked","setIsWithinBreakpoints","value1","isWithinBreakpoints","minHeight","minHeight1","args","restrictWidth","width1","classes","fullHeightClass","fullHeight","canFullHeight","yScrollClass","template","pageBodyPropsClass","pageBodyProps","className","pageContentPropsClass","pageContentProps","pageContentBodyPropsClass","pageContentBodyProps","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","and","useIsWithinBreakpoints","or","eq","EuiPage","style","inlineStyles","EuiPageSideBar","EuiPageBody","EuiPageHeader","EuiPageContent","EuiPageContentBody","EuiFlexGroup","EuiFlexItem","classNames","EuiBottomBar"],"mappings":";;;;;;;;;;;;;;;;;;;;;MA+CaA,SAAA,GAAY,CACvB,SACA,EAAA,cAAA,EACA,mBACA,OACD,EAAA;AAED,MAAMC,WAAa,GAAsB,CAAC,GAAA,EAAK,KAAK,IAAK,CAAA,CAAA;AAsE1C,MAAMC,eAAA,SAAwBC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,EAAA,YAAA,EAAA,CAEpDC,qBAAA,CAAsB,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAAH,IAAA,EAAA,YAAA,CAAA,EAAAI,MAAA,EADvB;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CAECC,qBAAA,CAAsB,SAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,SAAA,IAAAC,CAAA,CAAAH,IAAA,eAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,0BAEtBI,OAAA,CAAA,EAAA,YAAA;MAAA,OAA8B,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,oBAAA,IAAAF,CAAA,CAAAH,IAAA,0BAAAI,KAAA,CAAA,EAAA;AAE/BE,EAAAA,sBAAA,GAA0BC,MAAc,IAAA;IACtC,IAAI,CAACC,mBAAmB,GAAGD,MAAA,CAAA;AAC7B,GAAA,CAAA;AAEA,EAAA,IAAIE,YAAY;AACd,IAAA,MAAMC,UAAA,GAAY,IAAI,CAACC,IAAI,CAACF,SAAS,IAAI,GAAA,CAAA;AAEzC,IAAA,IAAI,OAAO,IAAI,CAACE,IAAI,CAACF,SAAS,KAAK,QAAU,EAAA;MAC3C,OAAQ,CAAA,EAAEC,UAAU,CAAG,EAAA,CAAA,CAAA;AACzB,KAAA;AAEA,IAAA,OAAOA,UAAA,CAAA;AACT,GAAA;AAEA,EAAA,IAAIE,gBAAgB;AAClB,IAAA,MAAMC,MAAA,GAAQ,IAAI,CAACF,IAAI,CAACC,aAAa,IAAI,IAAA,CAAA;AAEzC,IAAA,IAAI,OAAO,IAAI,CAACD,IAAI,CAACC,aAAa,KAAK,QAAU,EAAA;MAC/C,OAAQ,CAAA,EAAEC,MAAM,CAAG,EAAA,CAAA,CAAA;AACrB,KAAA;AAEA,IAAA,OAAOA,MAAA,CAAA;AACT,GAAA;AAEA,EAAA,IAAIC,UAAU;AACZ,IAAA,OAAQ,CAAkB,gBAAA,EAAA,IAAI,CAACC,eAAgB,CAAC,CAAA,CAAA;AAClD,GAAA;AAEA,EAAA,IAAIA,kBAAkB;IACpB,OAAO,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,aAAa,GAAG,iBAAoB,GAAA,EAAA,CAAA;AACrE,GAAA;AAEA,EAAA,IAAIC,eAAe;IACjB,OAAO,IAAI,CAACF,UAAU,IAAI,IAAI,CAACC,aAAa,GAAG,cAAiB,GAAA,EAAA,CAAA;AAClE,GAAA;AAEA,EAAA,IAAIA,gBAAgB;AAClB,IAAA,OACE,IAAI,CAACT,mBAAmB,KACvB,IAAI,CAACW,QAAQ,KAAK,SAAA,IAAa,IAAI,CAACA,QAAQ,KAAK,OAAO,CAC3D,CAAA;AACF,GAAA;AAEA,EAAA,IAAIC,qBAAqB;AACvB,IAAA,OAAQ,CAAE,EAAA,IAAI,CAACL,eAAgB,CAAG,CAAA,EAAA,IAAI,CAACJ,IAAI,CAACU,aAAa,EAAEC,SAAU,CAAC,CAAA,CAAA;AACxE,GAAA;AAEA,EAAA,IAAIC,wBAAwB;AAC1B,IAAA,OAAQ,CAAE,EAAA,IAAI,CAACL,YAAa,CAAG,CAAA,EAAA,IAAI,CAACP,IAAI,CAACa,gBAAgB,EAAEF,SAAU,CAAC,CAAA,CAAA;AACxE,GAAA;AAEA,EAAA,IAAIG,4BAA4B;AAC9B,IAAA,OAAQ,CAAE,EAAA,IAAI,CAACV,eAAgB,CAAG,CAAA,EAAA,IAAI,CAACJ,IAAI,CAACe,oBAAoB,EAAEJ,SAAU,CAAC,CAAA,CAAA;AAC/E,GAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CA2wBA,szvBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAC,GAAA;QAAAC,sBAAA;QAAArC,WAAA;QAAAsC,EAAA;QAAAC,EAAA;QAAAC,OAAA;QAAAC,KAAA;QAAAC,YAAA;QAAAC,cAAA;QAAAC,WAAA;QAAAC,aAAA;QAAAC,cAAA;QAAAC,kBAAA;QAAAC,YAAA;QAAAC,WAAA;QAAAC,UAAA;AAAAC,sBAAAA,qBAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|