@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-popover.js","sources":["../../src/components/eui-popover.ts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { hash } from '@ember/helper';\nimport { concat } from '@ember/helper';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { cancel, later, scheduleOnce } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport { and, not, or } from 'ember-truth-helpers';\nimport { tabbable } from 'tabbable';\n\nimport randomId from '../-private/random-id';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default';\nimport classNames from '../helpers/class-names';\nimport merge from '../helpers/merge';\nimport mutationObserver from '../modifiers/mutation-observer';\nimport outsideClickDetector from '../modifiers/outside-click-detector';\nimport screenReaderOnly from '../modifiers/screen-reader-only';\nimport simpleStyle from '../modifiers/simple-style';\nimport { cascadingMenuKeys } from '../utils/accesibility';\nimport {\n anchorPositionMapping,\n displayMapping\n} from '../utils/css-mappings/eui-popover';\nimport { findPopoverPosition, getElementZIndex } from '../utils/popover';\nimport {\n getTransitionTimings,\n getWaitDuration,\n performOnFrame\n} from '../utils/transition';\nimport EuiPanel from './eui-panel.gts';\nimport EuiPortal from './eui-portal.gts';\n\nimport type { paddingSizeMapping } from '../utils/css-mappings/eui-panel';\nimport type { EuiPopoverPosition } from '../utils/popover/types';\nimport type { EmberKeyboardEvent } from 'ember-keyboard/modifiers/on-key';\n\ntype PanelPaddingSize = keyof typeof paddingSizeMapping;\n\nexport type PopoverAnchorPosition =\n | 'upCenter'\n | 'upLeft'\n | 'upRight'\n | 'downCenter'\n | 'downLeft'\n | 'downRight'\n | 'leftCenter'\n | 'leftUp'\n | 'leftDown'\n | 'rightCenter'\n | 'rightUp'\n | 'rightDown';\n\nexport type EuiPopoverArgs = {\n panelClasses?: string;\n /**\n * Class name passed to the direct parent of the button\n */\n anchorClassName?: string;\n /**\n * Alignment of the popover and arrow relative to the button\n */\n anchorPosition?: PopoverAnchorPosition;\n /**\n * Style and position alteration for arrow-less, left-aligned\n * attachment. Intended for use with inputs as anchors, e.g.\n * EuiInputPopover\n */\n attachToAnchor?: boolean;\n /**\n * Triggering element for which to align the popover to\n */\n button?: Component;\n buttonRef?: (e: HTMLDivElement) => unknown;\n /**\n * Callback to handle hiding of the popover\n */\n closePopover: () => void;\n /**\n * Restrict the popover's position within this element\n */\n container?: HTMLElement;\n /**\n * CSS display type for both the popover and anchor\n */\n display?: keyof typeof displayMapping;\n /**\n * Show arrow indicating to originating button\n */\n hasArrow?: boolean;\n /**\n * Specifies what element should initially have focus; Can be a DOM\n * node, or a selector string (which will be passed to\n * document.querySelector() to find the DOM node), or a function that\n * returns a DOM node\n */\n initialFocus?: FocusTarget | false;\n /**\n * Passed directly to EuiPortal for DOM positioning. Both properties are\n * required if prop is specified\n */\n insert?: {\n sibling: HTMLElement;\n position: 'before' | 'after';\n };\n /**\n * Visibility state of the popover\n */\n isOpen?: boolean;\n /**\n * Traps tab focus within the popover contents\n */\n ownFocus?: boolean;\n /**\n * Custom class added to the EuiPanel containing the popover contents\n */\n panelClassName?: string;\n /**\n * EuiPanel padding on all sides\n */\n panelPaddingSize?: PanelPaddingSize;\n /**\n * Standard DOM `style` attribute. Passed to the EuiPanel\n */\n panelStyle?: { [i: string]: string };\n panelRef?: (e: HTMLElement | null) => unknown;\n popoverRef?: (e: HTMLElement) => unknown;\n /**\n * When `true`, the popover's position is re-calculated when the user\n * scrolls, this supports having fixed-position popover anchors\n */\n repositionOnScroll?: boolean;\n /**\n * By default, popover content inherits the z-index of the anchor\n * component; pass `zIndex` to override\n */\n zIndex?: number;\n /**\n * Function callback for when the focus trap is deactivated\n */\n onTrapDeactivation?: () => void;\n /**\n * Distance away from the anchor that the popover will render\n */\n offset?: number;\n /**\n * Minimum distance between the popover and the bounding container;\n * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`\n * Default is 16\n */\n buffer?: number | [number, number, number, number];\n /**\n * Element to pass as the child element of the arrow;\n * Use case is typically limited to an accompanying `EuiBeacon`\n */\n arrowChildren?: Component;\n /**\n * Provide a name to the popover panel\n */\n ariaLabel?: string;\n /**\n * Alternative option to `aria-label` that takes an `id`.\n * Usually takes the `id` of the popover title\n */\n ariaLabelledBy?: string;\n\n tabindex?: string | number;\n\n shouldSelfFocus?: boolean;\n\n isFocusTrapPaused?: boolean;\n\n focusTrapOptions?: {\n onClickOutside?: (e: Event) => void;\n };\n\n mutationObserverOptions?: {\n attributes?: boolean;\n childList?: boolean;\n characterData?: boolean;\n subtree?: boolean;\n };\n};\n\ntype AnchorPosition = 'up' | 'right' | 'down' | 'left';\n\nconst anchorPositionToPopoverPositionMap: {\n [position in AnchorPosition]: EuiPopoverPosition;\n} = {\n up: 'top',\n right: 'right',\n down: 'bottom',\n left: 'left'\n};\n\nexport function getPopoverPositionFromAnchorPosition(\n anchorPosition: PopoverAnchorPosition\n): EuiPopoverPosition {\n // maps the anchor position to the matching popover position\n // e.g. \"upLeft\" -> \"top\", \"downRight\" -> \"bottom\"\n\n // extract the first positional word from anchorPosition:\n // starts at the beginning (\" ^ \") of anchorPosition and\n // captures all of the characters (\" (.*?) \") until the\n // first capital letter (\" [A-Z] \") is encountered\n const match = anchorPosition.match(/^(.*?)[A-Z]/);\n\n if (match?.length && match.length > 1) {\n return anchorPositionToPopoverPositionMap[match[1] as AnchorPosition];\n }\n\n return anchorPositionToPopoverPositionMap['up'];\n}\n\nexport function getPopoverAlignFromAnchorPosition(\n anchorPosition: PopoverAnchorPosition\n): EuiPopoverPosition {\n // maps the gravity to the matching popover position\n // e.g. \"upLeft\" -> \"left\", \"rightDown\" -> \"bottom\"\n\n // extract the second positional word from anchorPosition:\n // starts a capture group at the first capital letter\n // and includes everything after it\n const match = anchorPosition.match(/([A-Z].*)/);\n\n // this performs two tasks:\n // 1. normalizes the align position by lowercasing it\n // 2. `center` doesn't exist in the lookup map which converts it to `undefined` meaning no align\n if (match?.length && match.length > 1) {\n return anchorPositionToPopoverPositionMap[\n match[1]?.toLowerCase() as AnchorPosition\n ];\n }\n\n return anchorPositionToPopoverPositionMap['left'];\n}\n\nexport const ANCHOR_POSITIONS = Object.keys(anchorPositionMapping);\nexport const DISPLAY = Object.keys(displayMapping);\nexport type FocusTarget = HTMLElement | string | (() => HTMLElement);\n\nconst DEFAULT_POPOVER_STYLES = {\n top: 50,\n left: 50\n};\n\nfunction getElementFromInitialFocus(\n initialFocus?: FocusTarget\n): HTMLElement | null {\n const initialFocusType = typeof initialFocus;\n\n if (initialFocusType === 'string') {\n return document.querySelector(initialFocus as string);\n }\n\n if (initialFocusType === 'function') {\n return (initialFocus as () => HTMLElement | null)();\n }\n\n return initialFocus as HTMLElement | null;\n}\n\ntype CssProps = {\n top?: number;\n left?: number;\n right?: number;\n bottom?: number;\n zIndex?: number;\n};\n\nexport interface EuiPopoverSignature {\n Element: HTMLDivElement;\n Args: EuiPopoverArgs;\n Blocks: {\n button: [];\n content: [];\n arrowChildren: [];\n };\n}\n\nexport default class EuiPopoverComponent extends Component<EuiPopoverSignature> {\n // Defaults\n @argOrDefaultDecorator(false) isOpen!: boolean;\n @argOrDefaultDecorator(true) ownFocus!: boolean;\n @argOrDefaultDecorator('downCenter') anchorPosition!: PopoverAnchorPosition;\n @argOrDefaultDecorator('m') panelPaddingSize!: PanelPaddingSize;\n @argOrDefaultDecorator(true) hasArrow!: boolean;\n @argOrDefaultDecorator('inlineBlock') display!: string;\n @argOrDefaultDecorator(true) shouldSelfFocus!: boolean;\n @argOrDefaultDecorator(false) isFocusTrapPaused!: boolean;\n\n //State\n @tracked prevIsOpen: boolean | undefined;\n @tracked suppressingPopover: boolean | undefined;\n @tracked isClosing = false;\n @tracked isOpening = false;\n @tracked popoverStyles: CssProps = {};\n @tracked arrowStyles: CssProps | undefined = {};\n @tracked arrowPosition: EuiPopoverPosition | null = null;\n @tracked openPosition: EuiPopoverPosition | null = null;\n @tracked isOpenStable = false;\n @tracked isCurrentlyOpen: boolean | undefined;\n ///\n\n private respositionTimeout: ReturnType<typeof later> | null = null;\n private closingTransitionTimeout: ReturnType<typeof later> | null = null;\n private closingTransitionAnimationFrame: number | undefined;\n private updateFocusAnimationFrame: number | undefined;\n private hasSetInitialFocus: boolean = false;\n @tracked button: HTMLElement | null = null;\n @tracked panel: HTMLElement | null = null;\n\n constructor(owner: unknown, args: EuiPopoverArgs) {\n super(owner, args);\n assert(`Must provide closePopover function`, this.args.closePopover);\n this.prevIsOpen = this.isOpen;\n this.suppressingPopover = this.isOpen;\n this.isCurrentlyOpen = this.isOpen;\n }\n\n @action\n closePopover(): void {\n if (this.isOpen) {\n this.args.closePopover();\n }\n }\n\n @action\n onEscapeKey(event: Event, ekEvent?: EmberKeyboardEvent): void {\n if (this.isOpen) {\n ekEvent?.stopPropagation();\n ekEvent?.stopImmediatePropagation();\n event.preventDefault();\n event.stopPropagation();\n this.closePopover();\n }\n }\n\n @action\n onKeyDown(event: KeyboardEvent, ekEvent: EmberKeyboardEvent): void {\n if (event.key === cascadingMenuKeys.ESCAPE) {\n this.onEscapeKey(event as unknown as Event, ekEvent as unknown as Event);\n }\n }\n\n @action\n onClickOutside(event: Event): void {\n if (this.args.focusTrapOptions?.onClickOutside) {\n this.args.focusTrapOptions.onClickOutside(event);\n } else {\n // only close the popover if the event source isn't the anchor button\n // otherwise, it is up to the anchor to toggle the popover's open status\n if (this.button && this.button.contains(event.target as Node) === false) {\n this.closePopover();\n }\n }\n }\n\n updateFocus(): void {\n // Wait for the DOM to update.\n this.updateFocusAnimationFrame = window.requestAnimationFrame(() => {\n if (!this.ownFocus || !this.panel || this.args.initialFocus === false) {\n return;\n }\n\n // If we've already focused on something inside the panel, everything's fine.\n if (\n this.hasSetInitialFocus &&\n this.panel.contains(document.activeElement)\n ) {\n return;\n }\n\n // Otherwise let's focus the first tabbable item and expedite input from the user.\n let focusTarget;\n\n if (this.args.initialFocus != null) {\n focusTarget = getElementFromInitialFocus(this.args.initialFocus);\n } else {\n const tabbableItems = tabbable(this.panel);\n\n if (tabbableItems.length) {\n focusTarget = tabbableItems[0];\n }\n }\n\n // there's a race condition between the popover content becoming visible and this function call\n // if the element isn't visible yet (due to css styling) then it can't accept focus\n // so wait for another render and try again\n if (focusTarget == null) {\n // there isn't a focus target, one of two reasons:\n // #1 is the whole panel hidden? If so, schedule another check\n // #2 panel is visible but no tabbables exist, move focus to the panel\n const panelVisibility = window.getComputedStyle(this.panel).opacity;\n\n if (panelVisibility === '0') {\n // #1\n this.updateFocus();\n } else {\n // #2\n focusTarget = this.panel;\n }\n } else {\n // found an element to focus, but is it visible?\n const visibility = window.getComputedStyle(focusTarget).visibility;\n\n if (visibility === 'hidden') {\n // not visible, check again next render frame\n this.updateFocus();\n }\n }\n\n if (focusTarget != null) {\n this.hasSetInitialFocus = true;\n focusTarget.focus();\n }\n });\n }\n\n @action\n onOpenPopover(): void {\n cancel(this.closingTransitionTimeout as ReturnType<typeof later>);\n // We need to set this state a beat after the render takes place, so that the CSS\n // transition can take effect.\n this.closingTransitionAnimationFrame = window.requestAnimationFrame(() => {\n this.isOpening = true;\n });\n\n // for each child element of `this.panel`, find any transition duration we should wait for before stabilizing\n const { durationMatch, delayMatch } = Array.prototype.slice\n .call(this.panel ? this.panel.children : [])\n .reduce(\n (\n {\n durationMatch,\n delayMatch\n }: { durationMatch: number; delayMatch: number },\n element: HTMLElement\n ) => {\n const transitionTimings = getTransitionTimings(element);\n\n return {\n durationMatch: Math.max(\n durationMatch,\n transitionTimings.durationMatch\n ),\n delayMatch: Math.max(delayMatch, transitionTimings.delayMatch)\n };\n },\n { durationMatch: 0, delayMatch: 0 }\n );\n\n this.respositionTimeout = later(\n this,\n () => {\n this.isOpenStable = true;\n\n const fn = (): void => {\n this.positionPopoverFixed();\n this.updateFocus();\n };\n\n scheduleOnce('afterRender', this, fn);\n },\n durationMatch + delayMatch\n );\n }\n\n @action\n didInsertPopover(): void {\n if (this.suppressingPopover) {\n // component was created with isOpen=true; now that it's inserted\n // stop suppressing and start opening\n this.suppressingPopover = false;\n this.isOpening = true;\n\n const fn = (): void => this.onOpenPopover();\n\n scheduleOnce('afterRender', this, fn);\n }\n\n if (this.args.repositionOnScroll) {\n window.addEventListener('scroll', this.positionPopoverFixed, true);\n }\n\n this.updateFocus();\n }\n\n @action\n didUpdateRepositionOnScroll(): void {\n if (this.args.repositionOnScroll) {\n window.addEventListener('scroll', this.positionPopoverFixed, true);\n } else {\n window.removeEventListener('scroll', this.positionPopoverFixed, true);\n }\n }\n\n @action\n didUpdateIsOpen(): void {\n this.isCurrentlyOpen = this.isOpen;\n\n if (!this.prevIsOpen && this.args.isOpen) {\n this.onOpenPopover();\n }\n\n if (this.prevIsOpen && !this.args.isOpen) {\n // If the user has just closed the popover, queue up the removal of the content after the\n // transition is complete.\n this.isClosing = true;\n this.isOpening = false;\n this.closingTransitionTimeout = later(\n this,\n () => {\n this.isClosing = false;\n },\n 250\n );\n }\n\n this.prevIsOpen = this.args.isOpen;\n }\n\n willDestroy(): void {\n super.willDestroy();\n window.removeEventListener('scroll', this.positionPopoverFixed, true);\n cancel(this.respositionTimeout as ReturnType<typeof later>);\n cancel(this.closingTransitionTimeout as ReturnType<typeof later>);\n cancelAnimationFrame(this.closingTransitionAnimationFrame as number);\n cancelAnimationFrame(this.updateFocusAnimationFrame as number);\n }\n\n @action\n onMutation(records: MutationRecord[]): void {\n const waitDuration = getWaitDuration(records);\n\n this.positionPopoverFixed();\n\n performOnFrame(waitDuration, this.positionPopoverFixed);\n }\n\n @action\n positionPopover(allowEnforcePosition: boolean): void {\n if (this.button == null || this.panel == null) return;\n\n let position = getPopoverPositionFromAnchorPosition(this.anchorPosition);\n let forcePosition = undefined;\n\n if (\n allowEnforcePosition &&\n this.isOpenStable &&\n this.openPosition != null\n ) {\n position = this.openPosition;\n forcePosition = true;\n }\n\n const {\n top,\n left,\n position: foundPosition,\n arrow,\n anchorBoundingBox\n } = findPopoverPosition({\n container: this.args.container,\n position,\n forcePosition,\n align: getPopoverAlignFromAnchorPosition(this.anchorPosition),\n anchor: this.button,\n popover: this.panel,\n offset:\n !this.args.attachToAnchor && this.hasArrow\n ? 16 + (this.args.offset || 0)\n : 8 + (this.args.offset || 0),\n arrowConfig: {\n arrowWidth: 24,\n arrowBuffer: 10\n },\n returnBoundingBox: this.args.attachToAnchor,\n buffer: this.args.buffer\n });\n\n // the popover's z-index must inherit from the button\n // this keeps a button's popover under a flyout that would cover the button\n // but a popover triggered inside a flyout will appear over that flyout\n const { zIndex: zIndexProp } = this.args;\n const zIndex =\n zIndexProp == null\n ? getElementZIndex(this.button, this.panel) + 2000\n : zIndexProp;\n\n const popoverStyles = {\n top,\n left:\n this.args.attachToAnchor && anchorBoundingBox\n ? anchorBoundingBox.left\n : left,\n zIndex\n };\n\n const willRenderArrow = !this.args.attachToAnchor && this.hasArrow;\n const arrowStyles = willRenderArrow ? arrow : undefined;\n const arrowPosition = foundPosition;\n\n this.popoverStyles = popoverStyles;\n this.arrowStyles = arrowStyles;\n this.arrowPosition = arrowPosition;\n this.openPosition = foundPosition;\n }\n\n get _arrowStyles(): ReturnType<typeof htmlSafe> | undefined {\n const { arrowStyles } = this;\n\n return arrowStyles\n ? htmlSafe(`top: ${arrowStyles?.top}px; left: ${arrowStyles?.left}px;`)\n : undefined;\n }\n\n get _popoverStyles(): { [i: string]: string } {\n const { panelStyle } = this.args;\n const { popoverStyles } = this;\n\n return {\n ...panelStyle,\n top: `${popoverStyles.top}px`,\n left: `${popoverStyles.left}px`,\n zIndex: `${popoverStyles.zIndex}`\n };\n }\n\n get tabindex() {\n if (this.ownFocus) {\n return this.args.tabindex ?? '0';\n }\n\n return '-1';\n }\n\n @action\n positionPopoverFixed(): void {\n this.positionPopover(true);\n }\n\n @action\n positionPopoverFluid(): void {\n this.positionPopover(false);\n }\n\n @action\n registerButton(btn: HTMLDivElement): void {\n this.button = btn;\n this.args.buttonRef?.(btn);\n }\n\n @action\n registerPanel(panel: HTMLElement): void {\n this.panel = panel;\n this.args.panelRef?.(panel);\n\n if (panel === null) {\n // panel has unmounted, restore the state defaults\n this.popoverStyles = DEFAULT_POPOVER_STYLES;\n this.arrowStyles = {};\n this.arrowPosition = null;\n this.openPosition = null;\n this.isOpenStable = false;\n window.removeEventListener('resize', this.positionPopoverFluid);\n } else {\n // panel is coming into existence\n this.positionPopoverFluid();\n window.addEventListener('resize', this.positionPopoverFluid);\n }\n }\n\n [__GLIMMER_TEMPLATE(`\n {{#let\n (randomId)\n (classNames\n (if this.isOpening \"euiPopover-isOpen\")\n position=this.anchorPosition\n display=this.display\n componentName=\"EuiPopover\"\n )\n (classNames\n \"euiPopover__panel\"\n (concat \"euiPopover__panel--\" this.arrowPosition)\n (if this.isOpening \"euiPopover__panel-isOpen\")\n (if\n (or (not this.hasArrow) @attachToAnchor) \"euiPopover__panel-noArrow\"\n )\n (if @attachToAnchor \"euiPopover__panel-isAttached\")\n @panelClasses\n )\n as |descriptionId classes panelClasses|\n }}\n <div\n class={{classes}}\n {{onKey \"_all\" this.onKeyDown priority=1}}\n {{didInsert this.didInsertPopover}}\n {{didUpdate this.didUpdateIsOpen @isOpen}}\n {{didUpdate this.didUpdateRepositionOnScroll @repositionOnScroll}}\n {{didInsert (optional @popoverRef)}}\n ...attributes\n >\n\n {{! button }}\n <div\n class=\"euiPopover__anchor {{@anchorClassName}}\"\n {{didInsert this.registerButton}}\n >\n {{yield to=\"button\"}}\n </div>\n\n {{! content }}\n {{#if\n (and\n (not this.suppressingPopover)\n (or this.isCurrentlyOpen this.isClosing)\n )\n }}\n <EuiPortal @insert={{@insert}}>\n {{#let (randomId) as |panelId|}}\n <EuiPanel\n id={{panelId}}\n class={{panelClasses}}\n aria-live={{if this.ownFocus \"off\" \"assertive\"}}\n role=\"dialog\"\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-modal=\"true\"\n aria-describedby={{if this.ownFocus descriptionId}}\n tabindex={{this.tabindex}}\n @hasShadow={{false}}\n @paddingSize={{this.panelPaddingSize}}\n {{simpleStyle this._popoverStyles}}\n {{didInsert this.registerPanel}}\n {{outsideClickDetector onOutsideClick=this.onClickOutside}}\n {{onKey \"Escape\" this.onEscapeKey}}\n {{focusTrap\n isActive=(not\n (or\n (not this.ownFocus) (not this.isOpenStable) this.isClosing\n )\n )\n shouldSelfFocus=this.shouldSelfFocus\n isPaused=this.isFocusTrapPaused\n focusTrapOptions=(merge\n (hash\n returnFocusOnDeactivate=this.isOpenStable\n initialFocus=(or @initialFocus this.panel)\n onDeactivate=(optional @onTrapDeactivation)\n preventScroll=true\n clickOutsideDeactivates=true\n fallbackFocus=(concat \"#\" panelId)\n )\n @focusTrapOptions\n )\n }}\n >\n <div\n class={{concat\n \"euiPopover__panelArrow euiPopover__panelArrow--\"\n this.arrowPosition\n }}\n style={{this._arrowStyles}}\n >\n {{yield to=\"arrowChildren\"}}\n </div>\n {{#if this.ownFocus}}\n <p id={{descriptionId}} {{screenReaderOnly}}>\n You are in a dialog. To close this dialog, hit escape.\n </p>\n {{/if}}\n <div\n {{mutationObserver\n onMutation=this.onMutation\n observerOptions=(merge\n (hash\n attributes=true\n childList=true\n characterData=true\n subtree=true\n )\n @mutationObserverOptions\n )\n }}\n >\n {{yield to=\"content\"}}\n </div>\n </EuiPanel>\n {{/let}}\n </EuiPortal>\n {{/if}}\n\n </div>\n {{/let}}\n `, { strictMode: true, scope: () => ({randomId,classNames,concat,or,not,onKey,didInsert,didUpdate,optional,and,EuiPortal,EuiPanel,simpleStyle,outsideClickDetector,focusTrap,merge,hash,screenReaderOnly,mutationObserver}) })]\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBvcG92ZXIuanMiLCJzb3VyY2VzIjpbImV1aS1wb3BvdmVyLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG5pbXBvcnQgZGlkSW5zZXJ0IGZyb20gJ0BlbWJlci9yZW5kZXItbW9kaWZpZXJzL21vZGlmaWVycy9kaWQtaW5zZXJ0JztcbmltcG9ydCBkaWRVcGRhdGUgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC11cGRhdGUnO1xuaW1wb3J0IHsgY2FuY2VsLCBsYXRlciwgc2NoZWR1bGVPbmNlIH0gZnJvbSAnQGVtYmVyL3J1bmxvb3AnO1xuaW1wb3J0IHsgaHRtbFNhZmUgfSBmcm9tICdAZW1iZXIvdGVtcGxhdGUnO1xuXG5pbXBvcnQgb3B0aW9uYWwgZnJvbSAnZW1iZXItY29tcG9zYWJsZS1oZWxwZXJzL2hlbHBlcnMvb3B0aW9uYWwnO1xuaW1wb3J0IHsgZm9jdXNUcmFwIH0gZnJvbSAnZW1iZXItZm9jdXMtdHJhcCc7XG5pbXBvcnQgb25LZXkgZnJvbSAnZW1iZXIta2V5Ym9hcmQvbW9kaWZpZXJzL29uLWtleSc7XG5pbXBvcnQgeyBhbmQsIG5vdCwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IHRhYmJhYmxlIH0gZnJvbSAndGFiYmFibGUnO1xuXG5pbXBvcnQgcmFuZG9tSWQgZnJvbSAnLi4vLXByaXZhdGUvcmFuZG9tLWlkJztcbmltcG9ydCB7IGFyZ09yRGVmYXVsdERlY29yYXRvciB9IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcyc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnLi4vaGVscGVycy9tZXJnZSc7XG5pbXBvcnQgbXV0YXRpb25PYnNlcnZlciBmcm9tICcuLi9tb2RpZmllcnMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IG91dHNpZGVDbGlja0RldGVjdG9yIGZyb20gJy4uL21vZGlmaWVycy9vdXRzaWRlLWNsaWNrLWRldGVjdG9yJztcbmltcG9ydCBzY3JlZW5SZWFkZXJPbmx5IGZyb20gJy4uL21vZGlmaWVycy9zY3JlZW4tcmVhZGVyLW9ubHknO1xuaW1wb3J0IHNpbXBsZVN0eWxlIGZyb20gJy4uL21vZGlmaWVycy9zaW1wbGUtc3R5bGUnO1xuaW1wb3J0IHsgY2FzY2FkaW5nTWVudUtleXMgfSBmcm9tICcuLi91dGlscy9hY2Nlc2liaWxpdHknO1xuaW1wb3J0IHtcbiAgYW5jaG9yUG9zaXRpb25NYXBwaW5nLFxuICBkaXNwbGF5TWFwcGluZ1xufSBmcm9tICcuLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLXBvcG92ZXInO1xuaW1wb3J0IHsgZmluZFBvcG92ZXJQb3NpdGlvbiwgZ2V0RWxlbWVudFpJbmRleCB9IGZyb20gJy4uL3V0aWxzL3BvcG92ZXInO1xuaW1wb3J0IHtcbiAgZ2V0VHJhbnNpdGlvblRpbWluZ3MsXG4gIGdldFdhaXREdXJhdGlvbixcbiAgcGVyZm9ybU9uRnJhbWVcbn0gZnJvbSAnLi4vdXRpbHMvdHJhbnNpdGlvbic7XG5pbXBvcnQgRXVpUGFuZWwgZnJvbSAnLi9ldWktcGFuZWwuZ3RzJztcbmltcG9ydCBFdWlQb3J0YWwgZnJvbSAnLi9ldWktcG9ydGFsLmd0cyc7XG5cbmltcG9ydCB0eXBlIHsgcGFkZGluZ1NpemVNYXBwaW5nIH0gZnJvbSAnLi4vdXRpbHMvY3NzLW1hcHBpbmdzL2V1aS1wYW5lbCc7XG5pbXBvcnQgdHlwZSB7IEV1aVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzL3BvcG92ZXIvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBFbWJlcktleWJvYXJkRXZlbnQgfSBmcm9tICdlbWJlci1rZXlib2FyZC9tb2RpZmllcnMvb24ta2V5JztcblxudHlwZSBQYW5lbFBhZGRpbmdTaXplID0ga2V5b2YgdHlwZW9mIHBhZGRpbmdTaXplTWFwcGluZztcblxuZXhwb3J0IHR5cGUgUG9wb3ZlckFuY2hvclBvc2l0aW9uID1cbiAgfCAndXBDZW50ZXInXG4gIHwgJ3VwTGVmdCdcbiAgfCAndXBSaWdodCdcbiAgfCAnZG93bkNlbnRlcidcbiAgfCAnZG93bkxlZnQnXG4gIHwgJ2Rvd25SaWdodCdcbiAgfCAnbGVmdENlbnRlcidcbiAgfCAnbGVmdFVwJ1xuICB8ICdsZWZ0RG93bidcbiAgfCAncmlnaHRDZW50ZXInXG4gIHwgJ3JpZ2h0VXAnXG4gIHwgJ3JpZ2h0RG93bic7XG5cbmV4cG9ydCB0eXBlIEV1aVBvcG92ZXJBcmdzID0ge1xuICBwYW5lbENsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDbGFzcyBuYW1lIHBhc3NlZCB0byB0aGUgZGlyZWN0IHBhcmVudCBvZiB0aGUgYnV0dG9uXG4gICAqL1xuICBhbmNob3JDbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGlnbm1lbnQgb2YgdGhlIHBvcG92ZXIgYW5kIGFycm93IHJlbGF0aXZlIHRvIHRoZSBidXR0b25cbiAgICovXG4gIGFuY2hvclBvc2l0aW9uPzogUG9wb3ZlckFuY2hvclBvc2l0aW9uO1xuICAvKipcbiAgICogU3R5bGUgYW5kIHBvc2l0aW9uIGFsdGVyYXRpb24gZm9yIGFycm93LWxlc3MsIGxlZnQtYWxpZ25lZFxuICAgKiBhdHRhY2htZW50LiBJbnRlbmRlZCBmb3IgdXNlIHdpdGggaW5wdXRzIGFzIGFuY2hvcnMsIGUuZy5cbiAgICogRXVpSW5wdXRQb3BvdmVyXG4gICAqL1xuICBhdHRhY2hUb0FuY2hvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUcmlnZ2VyaW5nIGVsZW1lbnQgZm9yIHdoaWNoIHRvIGFsaWduIHRoZSBwb3BvdmVyIHRvXG4gICAqL1xuICBidXR0b24/OiBDb21wb25lbnQ7XG4gIGJ1dHRvblJlZj86IChlOiBIVE1MRGl2RWxlbWVudCkgPT4gdW5rbm93bjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGhhbmRsZSBoaWRpbmcgb2YgdGhlIHBvcG92ZXJcbiAgICovXG4gIGNsb3NlUG9wb3ZlcjogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHRoZSBwb3BvdmVyJ3MgcG9zaXRpb24gd2l0aGluIHRoaXMgZWxlbWVudFxuICAgKi9cbiAgY29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBDU1MgZGlzcGxheSB0eXBlIGZvciBib3RoIHRoZSBwb3BvdmVyIGFuZCBhbmNob3JcbiAgICovXG4gIGRpc3BsYXk/OiBrZXlvZiB0eXBlb2YgZGlzcGxheU1hcHBpbmc7XG4gIC8qKlxuICAgKiBTaG93IGFycm93IGluZGljYXRpbmcgdG8gb3JpZ2luYXRpbmcgYnV0dG9uXG4gICAqL1xuICBoYXNBcnJvdz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hhdCBlbGVtZW50IHNob3VsZCBpbml0aWFsbHkgaGF2ZSBmb2N1czsgQ2FuIGJlIGEgRE9NXG4gICAqIG5vZGUsIG9yIGEgc2VsZWN0b3Igc3RyaW5nICh3aGljaCB3aWxsIGJlIHBhc3NlZCB0b1xuICAgKiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCkgdG8gZmluZCB0aGUgRE9NIG5vZGUpLCBvciBhIGZ1bmN0aW9uIHRoYXRcbiAgICogcmV0dXJucyBhIERPTSBub2RlXG4gICAqL1xuICBpbml0aWFsRm9jdXM/OiBGb2N1c1RhcmdldCB8IGZhbHNlO1xuICAvKipcbiAgICogUGFzc2VkIGRpcmVjdGx5IHRvIEV1aVBvcnRhbCBmb3IgRE9NIHBvc2l0aW9uaW5nLiBCb3RoIHByb3BlcnRpZXMgYXJlXG4gICAqIHJlcXVpcmVkIGlmIHByb3AgaXMgc3BlY2lmaWVkXG4gICAqL1xuICBpbnNlcnQ/OiB7XG4gICAgc2libGluZzogSFRNTEVsZW1lbnQ7XG4gICAgcG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJztcbiAgfTtcbiAgLyoqXG4gICAqIFZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBvcG92ZXJcbiAgICovXG4gIGlzT3Blbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUcmFwcyB0YWIgZm9jdXMgd2l0aGluIHRoZSBwb3BvdmVyIGNvbnRlbnRzXG4gICAqL1xuICBvd25Gb2N1cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gY2xhc3MgYWRkZWQgdG8gdGhlIEV1aVBhbmVsIGNvbnRhaW5pbmcgdGhlIHBvcG92ZXIgY29udGVudHNcbiAgICovXG4gIHBhbmVsQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRXVpUGFuZWwgcGFkZGluZyBvbiBhbGwgc2lkZXNcbiAgICovXG4gIHBhbmVsUGFkZGluZ1NpemU/OiBQYW5lbFBhZGRpbmdTaXplO1xuICAvKipcbiAgICogU3RhbmRhcmQgRE9NIGBzdHlsZWAgYXR0cmlidXRlLiBQYXNzZWQgdG8gdGhlIEV1aVBhbmVsXG4gICAqL1xuICBwYW5lbFN0eWxlPzogeyBbaTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHBhbmVsUmVmPzogKGU6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdW5rbm93bjtcbiAgcG9wb3ZlclJlZj86IChlOiBIVE1MRWxlbWVudCkgPT4gdW5rbm93bjtcbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCB0aGUgcG9wb3ZlcidzIHBvc2l0aW9uIGlzIHJlLWNhbGN1bGF0ZWQgd2hlbiB0aGUgdXNlclxuICAgKiBzY3JvbGxzLCB0aGlzIHN1cHBvcnRzIGhhdmluZyBmaXhlZC1wb3NpdGlvbiBwb3BvdmVyIGFuY2hvcnNcbiAgICovXG4gIHJlcG9zaXRpb25PblNjcm9sbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBwb3BvdmVyIGNvbnRlbnQgaW5oZXJpdHMgdGhlIHotaW5kZXggb2YgdGhlIGFuY2hvclxuICAgKiBjb21wb25lbnQ7IHBhc3MgYHpJbmRleGAgdG8gb3ZlcnJpZGVcbiAgICovXG4gIHpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGNhbGxiYWNrIGZvciB3aGVuIHRoZSBmb2N1cyB0cmFwIGlzIGRlYWN0aXZhdGVkXG4gICAqL1xuICBvblRyYXBEZWFjdGl2YXRpb24/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRGlzdGFuY2UgYXdheSBmcm9tIHRoZSBhbmNob3IgdGhhdCB0aGUgcG9wb3ZlciB3aWxsIHJlbmRlclxuICAgKi9cbiAgb2Zmc2V0PzogbnVtYmVyO1xuICAvKipcbiAgICogTWluaW11bSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwb3BvdmVyIGFuZCB0aGUgYm91bmRpbmcgY29udGFpbmVyO1xuICAgKiBQYXNzIGFuIGFycmF5IG9mIDQgdmFsdWVzIHRvIGFkanVzdCBlYWNoIHNpZGUgZGlmZmVyZW50bHk6IGBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XWBcbiAgICogRGVmYXVsdCBpcyAxNlxuICAgKi9cbiAgYnVmZmVyPzogbnVtYmVyIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBFbGVtZW50IHRvIHBhc3MgYXMgdGhlIGNoaWxkIGVsZW1lbnQgb2YgdGhlIGFycm93O1xuICAgKiBVc2UgY2FzZSBpcyB0eXBpY2FsbHkgbGltaXRlZCB0byBhbiBhY2NvbXBhbnlpbmcgYEV1aUJlYWNvbmBcbiAgICovXG4gIGFycm93Q2hpbGRyZW4/OiBDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgbmFtZSB0byB0aGUgcG9wb3ZlciBwYW5lbFxuICAgKi9cbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgb3B0aW9uIHRvIGBhcmlhLWxhYmVsYCB0aGF0IHRha2VzIGFuIGBpZGAuXG4gICAqIFVzdWFsbHkgdGFrZXMgdGhlIGBpZGAgb2YgdGhlIHBvcG92ZXIgdGl0bGVcbiAgICovXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIHRhYmluZGV4Pzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIHNob3VsZFNlbGZGb2N1cz86IGJvb2xlYW47XG5cbiAgaXNGb2N1c1RyYXBQYXVzZWQ/OiBib29sZWFuO1xuXG4gIGZvY3VzVHJhcE9wdGlvbnM/OiB7XG4gICAgb25DbGlja091dHNpZGU/OiAoZTogRXZlbnQpID0+IHZvaWQ7XG4gIH07XG5cbiAgbXV0YXRpb25PYnNlcnZlck9wdGlvbnM/OiB7XG4gICAgYXR0cmlidXRlcz86IGJvb2xlYW47XG4gICAgY2hpbGRMaXN0PzogYm9vbGVhbjtcbiAgICBjaGFyYWN0ZXJEYXRhPzogYm9vbGVhbjtcbiAgICBzdWJ0cmVlPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbnR5cGUgQW5jaG9yUG9zaXRpb24gPSAndXAnIHwgJ3JpZ2h0JyB8ICdkb3duJyB8ICdsZWZ0JztcblxuY29uc3QgYW5jaG9yUG9zaXRpb25Ub1BvcG92ZXJQb3NpdGlvbk1hcDoge1xuICBbcG9zaXRpb24gaW4gQW5jaG9yUG9zaXRpb25dOiBFdWlQb3BvdmVyUG9zaXRpb247XG59ID0ge1xuICB1cDogJ3RvcCcsXG4gIHJpZ2h0OiAncmlnaHQnLFxuICBkb3duOiAnYm90dG9tJyxcbiAgbGVmdDogJ2xlZnQnXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9wb3ZlclBvc2l0aW9uRnJvbUFuY2hvclBvc2l0aW9uKFxuICBhbmNob3JQb3NpdGlvbjogUG9wb3ZlckFuY2hvclBvc2l0aW9uXG4pOiBFdWlQb3BvdmVyUG9zaXRpb24ge1xuICAvLyBtYXBzIHRoZSBhbmNob3IgcG9zaXRpb24gdG8gdGhlIG1hdGNoaW5nIHBvcG92ZXIgcG9zaXRpb25cbiAgLy8gZS5nLiBcInVwTGVmdFwiIC0+IFwidG9wXCIsIFwiZG93blJpZ2h0XCIgLT4gXCJib3R0b21cIlxuXG4gIC8vIGV4dHJhY3QgdGhlIGZpcnN0IHBvc2l0aW9uYWwgd29yZCBmcm9tIGFuY2hvclBvc2l0aW9uOlxuICAvLyBzdGFydHMgYXQgdGhlIGJlZ2lubmluZyAoXCIgXiBcIikgb2YgYW5jaG9yUG9zaXRpb24gYW5kXG4gIC8vIGNhcHR1cmVzIGFsbCBvZiB0aGUgY2hhcmFjdGVycyAoXCIgKC4qPykgXCIpIHVudGlsIHRoZVxuICAvLyBmaXJzdCBjYXBpdGFsIGxldHRlciAoXCIgW0EtWl0gXCIpIGlzIGVuY291bnRlcmVkXG4gIGNvbnN0IG1hdGNoID0gYW5jaG9yUG9zaXRpb24ubWF0Y2goL14oLio/KVtBLVpdLyk7XG5cbiAgaWYgKG1hdGNoPy5sZW5ndGggJiYgbWF0Y2gubGVuZ3RoID4gMSkge1xuICAgIHJldHVybiBhbmNob3JQb3NpdGlvblRvUG9wb3ZlclBvc2l0aW9uTWFwW21hdGNoWzFdIGFzIEFuY2hvclBvc2l0aW9uXTtcbiAgfVxuXG4gIHJldHVybiBhbmNob3JQb3NpdGlvblRvUG9wb3ZlclBvc2l0aW9uTWFwWyd1cCddO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9wb3ZlckFsaWduRnJvbUFuY2hvclBvc2l0aW9uKFxuICBhbmNob3JQb3NpdGlvbjogUG9wb3ZlckFuY2hvclBvc2l0aW9uXG4pOiBFdWlQb3BvdmVyUG9zaXRpb24ge1xuICAvLyBtYXBzIHRoZSBncmF2aXR5IHRvIHRoZSBtYXRjaGluZyBwb3BvdmVyIHBvc2l0aW9uXG4gIC8vIGUuZy4gXCJ1cExlZnRcIiAtPiBcImxlZnRcIiwgXCJyaWdodERvd25cIiAtPiBcImJvdHRvbVwiXG5cbiAgLy8gZXh0cmFjdCB0aGUgc2Vjb25kIHBvc2l0aW9uYWwgd29yZCBmcm9tIGFuY2hvclBvc2l0aW9uOlxuICAvLyBzdGFydHMgYSBjYXB0dXJlIGdyb3VwIGF0IHRoZSBmaXJzdCBjYXBpdGFsIGxldHRlclxuICAvLyBhbmQgaW5jbHVkZXMgZXZlcnl0aGluZyBhZnRlciBpdFxuICBjb25zdCBtYXRjaCA9IGFuY2hvclBvc2l0aW9uLm1hdGNoKC8oW0EtWl0uKikvKTtcblxuICAvLyB0aGlzIHBlcmZvcm1zIHR3byB0YXNrczpcbiAgLy8gMS4gbm9ybWFsaXplcyB0aGUgYWxpZ24gcG9zaXRpb24gYnkgbG93ZXJjYXNpbmcgaXRcbiAgLy8gMi4gYGNlbnRlcmAgZG9lc24ndCBleGlzdCBpbiB0aGUgbG9va3VwIG1hcCB3aGljaCBjb252ZXJ0cyBpdCB0byBgdW5kZWZpbmVkYCBtZWFuaW5nIG5vIGFsaWduXG4gIGlmIChtYXRjaD8ubGVuZ3RoICYmIG1hdGNoLmxlbmd0aCA+IDEpIHtcbiAgICByZXR1cm4gYW5jaG9yUG9zaXRpb25Ub1BvcG92ZXJQb3NpdGlvbk1hcFtcbiAgICAgIG1hdGNoWzFdPy50b0xvd2VyQ2FzZSgpIGFzIEFuY2hvclBvc2l0aW9uXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBhbmNob3JQb3NpdGlvblRvUG9wb3ZlclBvc2l0aW9uTWFwWydsZWZ0J107XG59XG5cbmV4cG9ydCBjb25zdCBBTkNIT1JfUE9TSVRJT05TID0gT2JqZWN0LmtleXMoYW5jaG9yUG9zaXRpb25NYXBwaW5nKTtcbmV4cG9ydCBjb25zdCBESVNQTEFZID0gT2JqZWN0LmtleXMoZGlzcGxheU1hcHBpbmcpO1xuZXhwb3J0IHR5cGUgRm9jdXNUYXJnZXQgPSBIVE1MRWxlbWVudCB8IHN0cmluZyB8ICgoKSA9PiBIVE1MRWxlbWVudCk7XG5cbmNvbnN0IERFRkFVTFRfUE9QT1ZFUl9TVFlMRVMgPSB7XG4gIHRvcDogNTAsXG4gIGxlZnQ6IDUwXG59O1xuXG5mdW5jdGlvbiBnZXRFbGVtZW50RnJvbUluaXRpYWxGb2N1cyhcbiAgaW5pdGlhbEZvY3VzPzogRm9jdXNUYXJnZXRcbik6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IGluaXRpYWxGb2N1c1R5cGUgPSB0eXBlb2YgaW5pdGlhbEZvY3VzO1xuXG4gIGlmIChpbml0aWFsRm9jdXNUeXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGluaXRpYWxGb2N1cyBhcyBzdHJpbmcpO1xuICB9XG5cbiAgaWYgKGluaXRpYWxGb2N1c1R5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gKGluaXRpYWxGb2N1cyBhcyAoKSA9PiBIVE1MRWxlbWVudCB8IG51bGwpKCk7XG4gIH1cblxuICByZXR1cm4gaW5pdGlhbEZvY3VzIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbn1cblxudHlwZSBDc3NQcm9wcyA9IHtcbiAgdG9wPzogbnVtYmVyO1xuICBsZWZ0PzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICB6SW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aVBvcG92ZXJTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczogRXVpUG9wb3ZlckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGJ1dHRvbjogW107XG4gICAgY29udGVudDogW107XG4gICAgYXJyb3dDaGlsZHJlbjogW107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aVBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RXVpUG9wb3ZlclNpZ25hdHVyZT4ge1xuICAvLyBEZWZhdWx0c1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKGZhbHNlKSBpc09wZW4hOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKHRydWUpIG93bkZvY3VzITogYm9vbGVhbjtcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcignZG93bkNlbnRlcicpIGFuY2hvclBvc2l0aW9uITogUG9wb3ZlckFuY2hvclBvc2l0aW9uO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdtJykgcGFuZWxQYWRkaW5nU2l6ZSE6IFBhbmVsUGFkZGluZ1NpemU7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IodHJ1ZSkgaGFzQXJyb3chOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdpbmxpbmVCbG9jaycpIGRpc3BsYXkhOiBzdHJpbmc7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IodHJ1ZSkgc2hvdWxkU2VsZkZvY3VzITogYm9vbGVhbjtcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihmYWxzZSkgaXNGb2N1c1RyYXBQYXVzZWQhOiBib29sZWFuO1xuXG4gIC8vU3RhdGVcbiAgQHRyYWNrZWQgcHJldklzT3BlbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQHRyYWNrZWQgc3VwcHJlc3NpbmdQb3BvdmVyOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBAdHJhY2tlZCBpc0Nsb3NpbmcgPSBmYWxzZTtcbiAgQHRyYWNrZWQgaXNPcGVuaW5nID0gZmFsc2U7XG4gIEB0cmFja2VkIHBvcG92ZXJTdHlsZXM6IENzc1Byb3BzID0ge307XG4gIEB0cmFja2VkIGFycm93U3R5bGVzOiBDc3NQcm9wcyB8IHVuZGVmaW5lZCA9IHt9O1xuICBAdHJhY2tlZCBhcnJvd1Bvc2l0aW9uOiBFdWlQb3BvdmVyUG9zaXRpb24gfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgb3BlblBvc2l0aW9uOiBFdWlQb3BvdmVyUG9zaXRpb24gfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgaXNPcGVuU3RhYmxlID0gZmFsc2U7XG4gIEB0cmFja2VkIGlzQ3VycmVudGx5T3BlbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLy8vXG5cbiAgcHJpdmF0ZSByZXNwb3NpdGlvblRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIGxhdGVyPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNsb3NpbmdUcmFuc2l0aW9uVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2xvc2luZ1RyYW5zaXRpb25BbmltYXRpb25GcmFtZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHVwZGF0ZUZvY3VzQW5pbWF0aW9uRnJhbWU6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBoYXNTZXRJbml0aWFsRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQHRyYWNrZWQgYnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBwYW5lbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihvd25lcjogdW5rbm93biwgYXJnczogRXVpUG9wb3ZlckFyZ3MpIHtcbiAgICBzdXBlcihvd25lciwgYXJncyk7XG4gICAgYXNzZXJ0KGBNdXN0IHByb3ZpZGUgY2xvc2VQb3BvdmVyIGZ1bmN0aW9uYCwgdGhpcy5hcmdzLmNsb3NlUG9wb3Zlcik7XG4gICAgdGhpcy5wcmV2SXNPcGVuID0gdGhpcy5pc09wZW47XG4gICAgdGhpcy5zdXBwcmVzc2luZ1BvcG92ZXIgPSB0aGlzLmlzT3BlbjtcbiAgICB0aGlzLmlzQ3VycmVudGx5T3BlbiA9IHRoaXMuaXNPcGVuO1xuICB9XG5cbiAgQGFjdGlvblxuICBjbG9zZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmFyZ3MuY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBvbkVzY2FwZUtleShldmVudDogRXZlbnQsIGVrRXZlbnQ/OiBFbWJlcktleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIGVrRXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZWtFdmVudD8uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBla0V2ZW50OiBFbWJlcktleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBjYXNjYWRpbmdNZW51S2V5cy5FU0NBUEUpIHtcbiAgICAgIHRoaXMub25Fc2NhcGVLZXkoZXZlbnQgYXMgdW5rbm93biBhcyBFdmVudCwgZWtFdmVudCBhcyB1bmtub3duIGFzIEV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFyZ3MuZm9jdXNUcmFwT3B0aW9ucz8ub25DbGlja091dHNpZGUpIHtcbiAgICAgIHRoaXMuYXJncy5mb2N1c1RyYXBPcHRpb25zLm9uQ2xpY2tPdXRzaWRlKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gb25seSBjbG9zZSB0aGUgcG9wb3ZlciBpZiB0aGUgZXZlbnQgc291cmNlIGlzbid0IHRoZSBhbmNob3IgYnV0dG9uXG4gICAgICAvLyBvdGhlcndpc2UsIGl0IGlzIHVwIHRvIHRoZSBhbmNob3IgdG8gdG9nZ2xlIHRoZSBwb3BvdmVyJ3Mgb3BlbiBzdGF0dXNcbiAgICAgIGlmICh0aGlzLmJ1dHRvbiAmJiB0aGlzLmJ1dHRvbi5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIERPTSB0byB1cGRhdGUuXG4gICAgdGhpcy51cGRhdGVGb2N1c0FuaW1hdGlvbkZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMub3duRm9jdXMgfHwgIXRoaXMucGFuZWwgfHwgdGhpcy5hcmdzLmluaXRpYWxGb2N1cyA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZvY3VzZWQgb24gc29tZXRoaW5nIGluc2lkZSB0aGUgcGFuZWwsIGV2ZXJ5dGhpbmcncyBmaW5lLlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmhhc1NldEluaXRpYWxGb2N1cyAmJlxuICAgICAgICB0aGlzLnBhbmVsLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBPdGhlcndpc2UgbGV0J3MgZm9jdXMgdGhlIGZpcnN0IHRhYmJhYmxlIGl0ZW0gYW5kIGV4cGVkaXRlIGlucHV0IGZyb20gdGhlIHVzZXIuXG4gICAgICBsZXQgZm9jdXNUYXJnZXQ7XG5cbiAgICAgIGlmICh0aGlzLmFyZ3MuaW5pdGlhbEZvY3VzICE9IG51bGwpIHtcbiAgICAgICAgZm9jdXNUYXJnZXQgPSBnZXRFbGVtZW50RnJvbUluaXRpYWxGb2N1cyh0aGlzLmFyZ3MuaW5pdGlhbEZvY3VzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRhYmJhYmxlSXRlbXMgPSB0YWJiYWJsZSh0aGlzLnBhbmVsKTtcblxuICAgICAgICBpZiAodGFiYmFibGVJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICBmb2N1c1RhcmdldCA9IHRhYmJhYmxlSXRlbXNbMF07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhlcmUncyBhIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gdGhlIHBvcG92ZXIgY29udGVudCBiZWNvbWluZyB2aXNpYmxlIGFuZCB0aGlzIGZ1bmN0aW9uIGNhbGxcbiAgICAgIC8vIGlmIHRoZSBlbGVtZW50IGlzbid0IHZpc2libGUgeWV0IChkdWUgdG8gY3NzIHN0eWxpbmcpIHRoZW4gaXQgY2FuJ3QgYWNjZXB0IGZvY3VzXG4gICAgICAvLyBzbyB3YWl0IGZvciBhbm90aGVyIHJlbmRlciBhbmQgdHJ5IGFnYWluXG4gICAgICBpZiAoZm9jdXNUYXJnZXQgPT0gbnVsbCkge1xuICAgICAgICAvLyB0aGVyZSBpc24ndCBhIGZvY3VzIHRhcmdldCwgb25lIG9mIHR3byByZWFzb25zOlxuICAgICAgICAvLyAjMSBpcyB0aGUgd2hvbGUgcGFuZWwgaGlkZGVuPyBJZiBzbywgc2NoZWR1bGUgYW5vdGhlciBjaGVja1xuICAgICAgICAvLyAjMiBwYW5lbCBpcyB2aXNpYmxlIGJ1dCBubyB0YWJiYWJsZXMgZXhpc3QsIG1vdmUgZm9jdXMgdG8gdGhlIHBhbmVsXG4gICAgICAgIGNvbnN0IHBhbmVsVmlzaWJpbGl0eSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucGFuZWwpLm9wYWNpdHk7XG5cbiAgICAgICAgaWYgKHBhbmVsVmlzaWJpbGl0eSA9PT0gJzAnKSB7XG4gICAgICAgICAgLy8gIzFcbiAgICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gIzJcbiAgICAgICAgICBmb2N1c1RhcmdldCA9IHRoaXMucGFuZWw7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGZvdW5kIGFuIGVsZW1lbnQgdG8gZm9jdXMsIGJ1dCBpcyBpdCB2aXNpYmxlP1xuICAgICAgICBjb25zdCB2aXNpYmlsaXR5ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9jdXNUYXJnZXQpLnZpc2liaWxpdHk7XG5cbiAgICAgICAgaWYgKHZpc2liaWxpdHkgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgLy8gbm90IHZpc2libGUsIGNoZWNrIGFnYWluIG5leHQgcmVuZGVyIGZyYW1lXG4gICAgICAgICAgdGhpcy51cGRhdGVGb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmb2N1c1RhcmdldCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuaGFzU2V0SW5pdGlhbEZvY3VzID0gdHJ1ZTtcbiAgICAgICAgZm9jdXNUYXJnZXQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25PcGVuUG9wb3ZlcigpOiB2b2lkIHtcbiAgICBjYW5jZWwodGhpcy5jbG9zaW5nVHJhbnNpdGlvblRpbWVvdXQgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI+KTtcbiAgICAvLyBXZSBuZWVkIHRvIHNldCB0aGlzIHN0YXRlIGEgYmVhdCBhZnRlciB0aGUgcmVuZGVyIHRha2VzIHBsYWNlLCBzbyB0aGF0IHRoZSBDU1NcbiAgICAvLyB0cmFuc2l0aW9uIGNhbiB0YWtlIGVmZmVjdC5cbiAgICB0aGlzLmNsb3NpbmdUcmFuc2l0aW9uQW5pbWF0aW9uRnJhbWUgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIC8vIGZvciBlYWNoIGNoaWxkIGVsZW1lbnQgb2YgYHRoaXMucGFuZWxgLCBmaW5kIGFueSB0cmFuc2l0aW9uIGR1cmF0aW9uIHdlIHNob3VsZCB3YWl0IGZvciBiZWZvcmUgc3RhYmlsaXppbmdcbiAgICBjb25zdCB7IGR1cmF0aW9uTWF0Y2gsIGRlbGF5TWF0Y2ggfSA9IEFycmF5LnByb3RvdHlwZS5zbGljZVxuICAgICAgLmNhbGwodGhpcy5wYW5lbCA/IHRoaXMucGFuZWwuY2hpbGRyZW4gOiBbXSlcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkdXJhdGlvbk1hdGNoLFxuICAgICAgICAgICAgZGVsYXlNYXRjaFxuICAgICAgICAgIH06IHsgZHVyYXRpb25NYXRjaDogbnVtYmVyOyBkZWxheU1hdGNoOiBudW1iZXIgfSxcbiAgICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudFxuICAgICAgICApID0+IHtcbiAgICAgICAgICBjb25zdCB0cmFuc2l0aW9uVGltaW5ncyA9IGdldFRyYW5zaXRpb25UaW1pbmdzKGVsZW1lbnQpO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGR1cmF0aW9uTWF0Y2g6IE1hdGgubWF4KFxuICAgICAgICAgICAgICBkdXJhdGlvbk1hdGNoLFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uVGltaW5ncy5kdXJhdGlvbk1hdGNoXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGVsYXlNYXRjaDogTWF0aC5tYXgoZGVsYXlNYXRjaCwgdHJhbnNpdGlvblRpbWluZ3MuZGVsYXlNYXRjaClcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICB7IGR1cmF0aW9uTWF0Y2g6IDAsIGRlbGF5TWF0Y2g6IDAgfVxuICAgICAgKTtcblxuICAgIHRoaXMucmVzcG9zaXRpb25UaW1lb3V0ID0gbGF0ZXIoXG4gICAgICB0aGlzLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlblN0YWJsZSA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5wb3NpdGlvblBvcG92ZXJGaXhlZCgpO1xuICAgICAgICAgIHRoaXMudXBkYXRlRm9jdXMoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgZm4pO1xuICAgICAgfSxcbiAgICAgIGR1cmF0aW9uTWF0Y2ggKyBkZWxheU1hdGNoXG4gICAgKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgZGlkSW5zZXJ0UG9wb3ZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdXBwcmVzc2luZ1BvcG92ZXIpIHtcbiAgICAgIC8vIGNvbXBvbmVudCB3YXMgY3JlYXRlZCB3aXRoIGlzT3Blbj10cnVlOyBub3cgdGhhdCBpdCdzIGluc2VydGVkXG4gICAgICAvLyBzdG9wIHN1cHByZXNzaW5nIGFuZCBzdGFydCBvcGVuaW5nXG4gICAgICB0aGlzLnN1cHByZXNzaW5nUG9wb3ZlciA9IGZhbHNlO1xuICAgICAgdGhpcy5pc09wZW5pbmcgPSB0cnVlO1xuXG4gICAgICBjb25zdCBmbiA9ICgpOiB2b2lkID0+IHRoaXMub25PcGVuUG9wb3ZlcigpO1xuXG4gICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgZm4pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFyZ3MucmVwb3NpdGlvbk9uU2Nyb2xsKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5wb3NpdGlvblBvcG92ZXJGaXhlZCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVGb2N1cygpO1xuICB9XG5cbiAgQGFjdGlvblxuICBkaWRVcGRhdGVSZXBvc2l0aW9uT25TY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJncy5yZXBvc2l0aW9uT25TY3JvbGwpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZpeGVkLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMucG9zaXRpb25Qb3BvdmVyRml4ZWQsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgZGlkVXBkYXRlSXNPcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDdXJyZW50bHlPcGVuID0gdGhpcy5pc09wZW47XG5cbiAgICBpZiAoIXRoaXMucHJldklzT3BlbiAmJiB0aGlzLmFyZ3MuaXNPcGVuKSB7XG4gICAgICB0aGlzLm9uT3BlblBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcmV2SXNPcGVuICYmICF0aGlzLmFyZ3MuaXNPcGVuKSB7XG4gICAgICAvLyBJZiB0aGUgdXNlciBoYXMganVzdCBjbG9zZWQgdGhlIHBvcG92ZXIsIHF1ZXVlIHVwIHRoZSByZW1vdmFsIG9mIHRoZSBjb250ZW50IGFmdGVyIHRoZVxuICAgICAgLy8gdHJhbnNpdGlvbiBpcyBjb21wbGV0ZS5cbiAgICAgIHRoaXMuaXNDbG9zaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmNsb3NpbmdUcmFuc2l0aW9uVGltZW91dCA9IGxhdGVyKFxuICAgICAgICB0aGlzLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Nsb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgMjUwXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucHJldklzT3BlbiA9IHRoaXMuYXJncy5pc09wZW47XG4gIH1cblxuICB3aWxsRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsRGVzdHJveSgpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZpeGVkLCB0cnVlKTtcbiAgICBjYW5jZWwodGhpcy5yZXNwb3NpdGlvblRpbWVvdXQgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI+KTtcbiAgICBjYW5jZWwodGhpcy5jbG9zaW5nVHJhbnNpdGlvblRpbWVvdXQgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI+KTtcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmNsb3NpbmdUcmFuc2l0aW9uQW5pbWF0aW9uRnJhbWUgYXMgbnVtYmVyKTtcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZUZvY3VzQW5pbWF0aW9uRnJhbWUgYXMgbnVtYmVyKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25NdXRhdGlvbihyZWNvcmRzOiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgY29uc3Qgd2FpdER1cmF0aW9uID0gZ2V0V2FpdER1cmF0aW9uKHJlY29yZHMpO1xuXG4gICAgdGhpcy5wb3NpdGlvblBvcG92ZXJGaXhlZCgpO1xuXG4gICAgcGVyZm9ybU9uRnJhbWUod2FpdER1cmF0aW9uLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZpeGVkKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgcG9zaXRpb25Qb3BvdmVyKGFsbG93RW5mb3JjZVBvc2l0aW9uOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYnV0dG9uID09IG51bGwgfHwgdGhpcy5wYW5lbCA9PSBudWxsKSByZXR1cm47XG5cbiAgICBsZXQgcG9zaXRpb24gPSBnZXRQb3BvdmVyUG9zaXRpb25Gcm9tQW5jaG9yUG9zaXRpb24odGhpcy5hbmNob3JQb3NpdGlvbik7XG4gICAgbGV0IGZvcmNlUG9zaXRpb24gPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoXG4gICAgICBhbGxvd0VuZm9yY2VQb3NpdGlvbiAmJlxuICAgICAgdGhpcy5pc09wZW5TdGFibGUgJiZcbiAgICAgIHRoaXMub3BlblBvc2l0aW9uICE9IG51bGxcbiAgICApIHtcbiAgICAgIHBvc2l0aW9uID0gdGhpcy5vcGVuUG9zaXRpb247XG4gICAgICBmb3JjZVBvc2l0aW9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICB0b3AsXG4gICAgICBsZWZ0LFxuICAgICAgcG9zaXRpb246IGZvdW5kUG9zaXRpb24sXG4gICAgICBhcnJvdyxcbiAgICAgIGFuY2hvckJvdW5kaW5nQm94XG4gICAgfSA9IGZpbmRQb3BvdmVyUG9zaXRpb24oe1xuICAgICAgY29udGFpbmVyOiB0aGlzLmFyZ3MuY29udGFpbmVyLFxuICAgICAgcG9zaXRpb24sXG4gICAgICBmb3JjZVBvc2l0aW9uLFxuICAgICAgYWxpZ246IGdldFBvcG92ZXJBbGlnbkZyb21BbmNob3JQb3NpdGlvbih0aGlzLmFuY2hvclBvc2l0aW9uKSxcbiAgICAgIGFuY2hvcjogdGhpcy5idXR0b24sXG4gICAgICBwb3BvdmVyOiB0aGlzLnBhbmVsLFxuICAgICAgb2Zmc2V0OlxuICAgICAgICAhdGhpcy5hcmdzLmF0dGFjaFRvQW5jaG9yICYmIHRoaXMuaGFzQXJyb3dcbiAgICAgICAgICA/IDE2ICsgKHRoaXMuYXJncy5vZmZzZXQgfHwgMClcbiAgICAgICAgICA6IDggKyAodGhpcy5hcmdzLm9mZnNldCB8fCAwKSxcbiAgICAgIGFycm93Q29uZmlnOiB7XG4gICAgICAgIGFycm93V2lkdGg6IDI0LFxuICAgICAgICBhcnJvd0J1ZmZlcjogMTBcbiAgICAgIH0sXG4gICAgICByZXR1cm5Cb3VuZGluZ0JveDogdGhpcy5hcmdzLmF0dGFjaFRvQW5jaG9yLFxuICAgICAgYnVmZmVyOiB0aGlzLmFyZ3MuYnVmZmVyXG4gICAgfSk7XG5cbiAgICAvLyB0aGUgcG9wb3ZlcidzIHotaW5kZXggbXVzdCBpbmhlcml0IGZyb20gdGhlIGJ1dHRvblxuICAgIC8vIHRoaXMga2VlcHMgYSBidXR0b24ncyBwb3BvdmVyIHVuZGVyIGEgZmx5b3V0IHRoYXQgd291bGQgY292ZXIgdGhlIGJ1dHRvblxuICAgIC8vIGJ1dCBhIHBvcG92ZXIgdHJpZ2dlcmVkIGluc2lkZSBhIGZseW91dCB3aWxsIGFwcGVhciBvdmVyIHRoYXQgZmx5b3V0XG4gICAgY29uc3QgeyB6SW5kZXg6IHpJbmRleFByb3AgfSA9IHRoaXMuYXJncztcbiAgICBjb25zdCB6SW5kZXggPVxuICAgICAgekluZGV4UHJvcCA9PSBudWxsXG4gICAgICAgID8gZ2V0RWxlbWVudFpJbmRleCh0aGlzLmJ1dHRvbiwgdGhpcy5wYW5lbCkgKyAyMDAwXG4gICAgICAgIDogekluZGV4UHJvcDtcblxuICAgIGNvbnN0IHBvcG92ZXJTdHlsZXMgPSB7XG4gICAgICB0b3AsXG4gICAgICBsZWZ0OlxuICAgICAgICB0aGlzLmFyZ3MuYXR0YWNoVG9BbmNob3IgJiYgYW5jaG9yQm91bmRpbmdCb3hcbiAgICAgICAgICA/IGFuY2hvckJvdW5kaW5nQm94LmxlZnRcbiAgICAgICAgICA6IGxlZnQsXG4gICAgICB6SW5kZXhcbiAgICB9O1xuXG4gICAgY29uc3Qgd2lsbFJlbmRlckFycm93ID0gIXRoaXMuYXJncy5hdHRhY2hUb0FuY2hvciAmJiB0aGlzLmhhc0Fycm93O1xuICAgIGNvbnN0IGFycm93U3R5bGVzID0gd2lsbFJlbmRlckFycm93ID8gYXJyb3cgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgYXJyb3dQb3NpdGlvbiA9IGZvdW5kUG9zaXRpb247XG5cbiAgICB0aGlzLnBvcG92ZXJTdHlsZXMgPSBwb3BvdmVyU3R5bGVzO1xuICAgIHRoaXMuYXJyb3dTdHlsZXMgPSBhcnJvd1N0eWxlcztcbiAgICB0aGlzLmFycm93UG9zaXRpb24gPSBhcnJvd1Bvc2l0aW9uO1xuICAgIHRoaXMub3BlblBvc2l0aW9uID0gZm91bmRQb3NpdGlvbjtcbiAgfVxuXG4gIGdldCBfYXJyb3dTdHlsZXMoKTogUmV0dXJuVHlwZTx0eXBlb2YgaHRtbFNhZmU+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB7IGFycm93U3R5bGVzIH0gPSB0aGlzO1xuXG4gICAgcmV0dXJuIGFycm93U3R5bGVzXG4gICAgICA/IGh0bWxTYWZlKGB0b3A6ICR7YXJyb3dTdHlsZXM/LnRvcH1weDsgbGVmdDogJHthcnJvd1N0eWxlcz8ubGVmdH1weDtgKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgX3BvcG92ZXJTdHlsZXMoKTogeyBbaTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHsgcGFuZWxTdHlsZSB9ID0gdGhpcy5hcmdzO1xuICAgIGNvbnN0IHsgcG9wb3ZlclN0eWxlcyB9ID0gdGhpcztcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5wYW5lbFN0eWxlLFxuICAgICAgdG9wOiBgJHtwb3BvdmVyU3R5bGVzLnRvcH1weGAsXG4gICAgICBsZWZ0OiBgJHtwb3BvdmVyU3R5bGVzLmxlZnR9cHhgLFxuICAgICAgekluZGV4OiBgJHtwb3BvdmVyU3R5bGVzLnpJbmRleH1gXG4gICAgfTtcbiAgfVxuXG4gIGdldCB0YWJpbmRleCgpIHtcbiAgICBpZiAodGhpcy5vd25Gb2N1cykge1xuICAgICAgcmV0dXJuIHRoaXMuYXJncy50YWJpbmRleCA/PyAnMCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICctMSc7XG4gIH1cblxuICBAYWN0aW9uXG4gIHBvc2l0aW9uUG9wb3ZlckZpeGVkKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25Qb3BvdmVyKHRydWUpO1xuICB9XG5cbiAgQGFjdGlvblxuICBwb3NpdGlvblBvcG92ZXJGbHVpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9uUG9wb3ZlcihmYWxzZSk7XG4gIH1cblxuICBAYWN0aW9uXG4gIHJlZ2lzdGVyQnV0dG9uKGJ0bjogSFRNTERpdkVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbiA9IGJ0bjtcbiAgICB0aGlzLmFyZ3MuYnV0dG9uUmVmPy4oYnRuKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgcmVnaXN0ZXJQYW5lbChwYW5lbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBhbmVsID0gcGFuZWw7XG4gICAgdGhpcy5hcmdzLnBhbmVsUmVmPy4ocGFuZWwpO1xuXG4gICAgaWYgKHBhbmVsID09PSBudWxsKSB7XG4gICAgICAvLyBwYW5lbCBoYXMgdW5tb3VudGVkLCByZXN0b3JlIHRoZSBzdGF0ZSBkZWZhdWx0c1xuICAgICAgdGhpcy5wb3BvdmVyU3R5bGVzID0gREVGQVVMVF9QT1BPVkVSX1NUWUxFUztcbiAgICAgIHRoaXMuYXJyb3dTdHlsZXMgPSB7fTtcbiAgICAgIHRoaXMuYXJyb3dQb3NpdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLm9wZW5Qb3NpdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLmlzT3BlblN0YWJsZSA9IGZhbHNlO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucG9zaXRpb25Qb3BvdmVyRmx1aWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBwYW5lbCBpcyBjb21pbmcgaW50byBleGlzdGVuY2VcbiAgICAgIHRoaXMucG9zaXRpb25Qb3BvdmVyRmx1aWQoKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZsdWlkKTtcbiAgICB9XG4gIH1cblxuICA8dGVtcGxhdGU+XG4gICAge3sjbGV0XG4gICAgICAocmFuZG9tSWQpXG4gICAgICAoY2xhc3NOYW1lc1xuICAgICAgICAoaWYgdGhpcy5pc09wZW5pbmcgXCJldWlQb3BvdmVyLWlzT3BlblwiKVxuICAgICAgICBwb3NpdGlvbj10aGlzLmFuY2hvclBvc2l0aW9uXG4gICAgICAgIGRpc3BsYXk9dGhpcy5kaXNwbGF5XG4gICAgICAgIGNvbXBvbmVudE5hbWU9XCJFdWlQb3BvdmVyXCJcbiAgICAgIClcbiAgICAgIChjbGFzc05hbWVzXG4gICAgICAgIFwiZXVpUG9wb3Zlcl9fcGFuZWxcIlxuICAgICAgICAoY29uY2F0IFwiZXVpUG9wb3Zlcl9fcGFuZWwtLVwiIHRoaXMuYXJyb3dQb3NpdGlvbilcbiAgICAgICAgKGlmIHRoaXMuaXNPcGVuaW5nIFwiZXVpUG9wb3Zlcl9fcGFuZWwtaXNPcGVuXCIpXG4gICAgICAgIChpZlxuICAgICAgICAgIChvciAobm90IHRoaXMuaGFzQXJyb3cpIEBhdHRhY2hUb0FuY2hvcikgXCJldWlQb3BvdmVyX19wYW5lbC1ub0Fycm93XCJcbiAgICAgICAgKVxuICAgICAgICAoaWYgQGF0dGFjaFRvQW5jaG9yIFwiZXVpUG9wb3Zlcl9fcGFuZWwtaXNBdHRhY2hlZFwiKVxuICAgICAgICBAcGFuZWxDbGFzc2VzXG4gICAgICApXG4gICAgICBhcyB8ZGVzY3JpcHRpb25JZCBjbGFzc2VzIHBhbmVsQ2xhc3Nlc3xcbiAgICB9fVxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz17e2NsYXNzZXN9fVxuICAgICAgICB7e29uS2V5IFwiX2FsbFwiIHRoaXMub25LZXlEb3duIHByaW9yaXR5PTF9fVxuICAgICAgICB7e2RpZEluc2VydCB0aGlzLmRpZEluc2VydFBvcG92ZXJ9fVxuICAgICAgICB7e2RpZFVwZGF0ZSB0aGlzLmRpZFVwZGF0ZUlzT3BlbiBAaXNPcGVufX1cbiAgICAgICAge3tkaWRVcGRhdGUgdGhpcy5kaWRVcGRhdGVSZXBvc2l0aW9uT25TY3JvbGwgQHJlcG9zaXRpb25PblNjcm9sbH19XG4gICAgICAgIHt7ZGlkSW5zZXJ0IChvcHRpb25hbCBAcG9wb3ZlclJlZil9fVxuICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICA+XG5cbiAgICAgICAge3shIGJ1dHRvbiB9fVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJldWlQb3BvdmVyX19hbmNob3Ige3tAYW5jaG9yQ2xhc3NOYW1lfX1cIlxuICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMucmVnaXN0ZXJCdXR0b259fVxuICAgICAgICA+XG4gICAgICAgICAge3t5aWVsZCB0bz1cImJ1dHRvblwifX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge3shIGNvbnRlbnQgfX1cbiAgICAgICAge3sjaWZcbiAgICAgICAgICAoYW5kXG4gICAgICAgICAgICAobm90IHRoaXMuc3VwcHJlc3NpbmdQb3BvdmVyKVxuICAgICAgICAgICAgKG9yIHRoaXMuaXNDdXJyZW50bHlPcGVuIHRoaXMuaXNDbG9zaW5nKVxuICAgICAgICAgIClcbiAgICAgICAgfX1cbiAgICAgICAgICA8RXVpUG9ydGFsIEBpbnNlcnQ9e3tAaW5zZXJ0fX0+XG4gICAgICAgICAgICB7eyNsZXQgKHJhbmRvbUlkKSBhcyB8cGFuZWxJZHx9fVxuICAgICAgICAgICAgICA8RXVpUGFuZWxcbiAgICAgICAgICAgICAgICBpZD17e3BhbmVsSWR9fVxuICAgICAgICAgICAgICAgIGNsYXNzPXt7cGFuZWxDbGFzc2VzfX1cbiAgICAgICAgICAgICAgICBhcmlhLWxpdmU9e3tpZiB0aGlzLm93bkZvY3VzIFwib2ZmXCIgXCJhc3NlcnRpdmVcIn19XG4gICAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e0BhcmlhTGFiZWx9fVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17e0BhcmlhTGFiZWxsZWRCeX19XG4gICAgICAgICAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e3tpZiB0aGlzLm93bkZvY3VzIGRlc2NyaXB0aW9uSWR9fVxuICAgICAgICAgICAgICAgIHRhYmluZGV4PXt7dGhpcy50YWJpbmRleH19XG4gICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3t0aGlzLnBhbmVsUGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgIHt7c2ltcGxlU3R5bGUgdGhpcy5fcG9wb3ZlclN0eWxlc319XG4gICAgICAgICAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5yZWdpc3RlclBhbmVsfX1cbiAgICAgICAgICAgICAgICB7e291dHNpZGVDbGlja0RldGVjdG9yIG9uT3V0c2lkZUNsaWNrPXRoaXMub25DbGlja091dHNpZGV9fVxuICAgICAgICAgICAgICAgIHt7b25LZXkgXCJFc2NhcGVcIiB0aGlzLm9uRXNjYXBlS2V5fX1cbiAgICAgICAgICAgICAgICB7e2ZvY3VzVHJhcFxuICAgICAgICAgICAgICAgICAgaXNBY3RpdmU9KG5vdFxuICAgICAgICAgICAgICAgICAgICAob3JcbiAgICAgICAgICAgICAgICAgICAgICAobm90IHRoaXMub3duRm9jdXMpIChub3QgdGhpcy5pc09wZW5TdGFibGUpIHRoaXMuaXNDbG9zaW5nXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIHNob3VsZFNlbGZGb2N1cz10aGlzLnNob3VsZFNlbGZGb2N1c1xuICAgICAgICAgICAgICAgICAgaXNQYXVzZWQ9dGhpcy5pc0ZvY3VzVHJhcFBhdXNlZFxuICAgICAgICAgICAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz0obWVyZ2VcbiAgICAgICAgICAgICAgICAgICAgKGhhc2hcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZT10aGlzLmlzT3BlblN0YWJsZVxuICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxGb2N1cz0ob3IgQGluaXRpYWxGb2N1cyB0aGlzLnBhbmVsKVxuICAgICAgICAgICAgICAgICAgICAgIG9uRGVhY3RpdmF0ZT0ob3B0aW9uYWwgQG9uVHJhcERlYWN0aXZhdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50U2Nyb2xsPXRydWVcbiAgICAgICAgICAgICAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlcz10cnVlXG4gICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2tGb2N1cz0oY29uY2F0IFwiI1wiIHBhbmVsSWQpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgQGZvY3VzVHJhcE9wdGlvbnNcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjb25jYXRcbiAgICAgICAgICAgICAgICAgICAgXCJldWlQb3BvdmVyX19wYW5lbEFycm93IGV1aVBvcG92ZXJfX3BhbmVsQXJyb3ctLVwiXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dQb3NpdGlvblxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7dGhpcy5fYXJyb3dTdHlsZXN9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJhcnJvd0NoaWxkcmVuXCJ9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHt7I2lmIHRoaXMub3duRm9jdXN9fVxuICAgICAgICAgICAgICAgICAgPHAgaWQ9e3tkZXNjcmlwdGlvbklkfX0ge3tzY3JlZW5SZWFkZXJPbmx5fX0+XG4gICAgICAgICAgICAgICAgICAgIFlvdSBhcmUgaW4gYSBkaWFsb2cuIFRvIGNsb3NlIHRoaXMgZGlhbG9nLCBoaXQgZXNjYXBlLlxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICB7e211dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgICAgICAgICAgICAgb25NdXRhdGlvbj10aGlzLm9uTXV0YXRpb25cbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXJPcHRpb25zPShtZXJnZVxuICAgICAgICAgICAgICAgICAgICAgIChoYXNoXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzPXRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTGlzdD10cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJEYXRhPXRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRyZWU9dHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBAbXV0YXRpb25PYnNlcnZlck9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiY29udGVudFwifX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9FdWlQYW5lbD5cbiAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAgPC9FdWlQb3J0YWw+XG4gICAgICAgIHt7L2lmfX1cblxuICAgICAgPC9kaXY+XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0M7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFDRjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUM7QUFDRjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBQ0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBQ0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JFO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0M7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBQ0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFDRjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBQ0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25EO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRTtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRTtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1I7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1Y7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0w7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0w7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9GLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1A7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxxQkFBVTtBQUNaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBeUhDLENBQUMsK05BQVc7QUFDYixDQUFDOyJ9"],"names":["anchorPositionToPopoverPositionMap","up","right","down","left","getPopoverPositionFromAnchorPosition","anchorPosition","match","length","getPopoverAlignFromAnchorPosition","toLowerCase","ANCHOR_POSITIONS","Object","keys","anchorPositionMapping","DISPLAY","displayMapping","DEFAULT_POPOVER_STYLES","top","getElementFromInitialFocus","initialFocus","initialFocusType","document","querySelector","EuiPopoverComponent","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","classNames","concat","or","not","onKey","didInsert","didUpdate","optional","and","EuiPortal","EuiPanel","simpleStyle","outsideClickDetector","focusTrap","merge","hash","screenReaderOnly","mutationObserver","_dec","argOrDefaultDecorator","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","Component","constructor","owner","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_defineProperty","_descriptor19","_descriptor20","assert","closePopover","prevIsOpen","isOpen","suppressingPopover","isCurrentlyOpen","onEscapeKey","event","ekEvent","stopPropagation","stopImmediatePropagation","preventDefault","onKeyDown","key","cascadingMenuKeys","ESCAPE","onClickOutside","focusTrapOptions","button","contains","target","updateFocus","updateFocusAnimationFrame","window","requestAnimationFrame","ownFocus","panel","hasSetInitialFocus","activeElement","focusTarget","tabbableItems","tabbable","panelVisibility","getComputedStyle","opacity","visibility","focus","onOpenPopover","cancel","closingTransitionTimeout","closingTransitionAnimationFrame","isOpening","durationMatch","delayMatch","Array","prototype","slice","call","children","reduce","element","transitionTimings","getTransitionTimings","Math","max","respositionTimeout","later","isOpenStable","fn","positionPopoverFixed","scheduleOnce","didInsertPopover","repositionOnScroll","addEventListener","didUpdateRepositionOnScroll","removeEventListener","didUpdateIsOpen","isClosing","willDestroy","cancelAnimationFrame","onMutation","records","waitDuration","getWaitDuration","performOnFrame","positionPopover","allowEnforcePosition","position","forcePosition","undefined","openPosition","foundPosition","arrow","anchorBoundingBox","findPopoverPosition","container","align","anchor","popover","offset","attachToAnchor","hasArrow","arrowConfig","arrowWidth","arrowBuffer","returnBoundingBox","buffer","zIndex","zIndexProp","getElementZIndex","popoverStyles","willRenderArrow","arrowStyles","arrowPosition","_arrowStyles","htmlSafe","_popoverStyles","panelStyle","tabindex","positionPopoverFluid","registerButton","btn","buttonRef","registerPanel","panelRef","_applyDecoratedDescriptor","configurable","enumerable","writable","initializer","tracked","action","getOwnPropertyDescriptor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-popover.js","sources":["../../src/components/eui-popover.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { hash } from '@ember/helper';\nimport { concat } from '@ember/helper';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { cancel, later, scheduleOnce } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport { and, not, or } from 'ember-truth-helpers';\nimport { tabbable } from 'tabbable';\nimport randomId from '../-private/random-id.ts';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport merge from '../helpers/merge.ts';\nimport mutationObserver from '../modifiers/mutation-observer.ts';\nimport outsideClickDetector from '../modifiers/outside-click-detector.ts';\nimport screenReaderOnly from '../modifiers/screen-reader-only.ts';\nimport simpleStyle from '../modifiers/simple-style.ts';\nimport { cascadingMenuKeys } from '../utils/accesibility/index.ts';\nimport { anchorPositionMapping, displayMapping } from '../utils/css-mappings/eui-popover.ts';\nimport { findPopoverPosition, getElementZIndex } from '../utils/popover/index.ts';\nimport { getTransitionTimings, getWaitDuration, performOnFrame } from '../utils/transition.ts';\nimport EuiPanel from './eui-panel.gts';\nimport EuiPortal from './eui-portal.gts';\nimport type { paddingSizeMapping } from '../utils/css-mappings/eui-panel.ts';\nimport type { EuiPopoverPosition } from '../utils/popover/types';\nimport type { EmberKeyboardEvent } from 'ember-keyboard/modifiers/on-key';\ntype PanelPaddingSize = keyof typeof paddingSizeMapping;\nexport type PopoverAnchorPosition = 'upCenter' | 'upLeft' | 'upRight' | 'downCenter' | 'downLeft' | 'downRight' | 'leftCenter' | 'leftUp' | 'leftDown' | 'rightCenter' | 'rightUp' | 'rightDown';\nexport type EuiPopoverArgs = {\n panelClasses?: string;\n /**\n * Class name passed to the direct parent of the button\n */ anchorClassName?: string;\n /**\n * Alignment of the popover and arrow relative to the button\n */ anchorPosition?: PopoverAnchorPosition;\n /**\n * Style and position alteration for arrow-less, left-aligned\n * attachment. Intended for use with inputs as anchors, e.g.\n * EuiInputPopover\n */ attachToAnchor?: boolean;\n /**\n * Triggering element for which to align the popover to\n */ button?: Component;\n buttonRef?: (e: HTMLDivElement) => unknown;\n /**\n * Callback to handle hiding of the popover\n */ closePopover: () => void;\n /**\n * Restrict the popover's position within this element\n */ container?: HTMLElement;\n /**\n * CSS display type for both the popover and anchor\n */ display?: keyof typeof displayMapping;\n /**\n * Show arrow indicating to originating button\n */ hasArrow?: boolean;\n /**\n * Specifies what element should initially have focus; Can be a DOM\n * node, or a selector string (which will be passed to\n * document.querySelector() to find the DOM node), or a function that\n * returns a DOM node\n */ initialFocus?: FocusTarget | false;\n /**\n * Passed directly to EuiPortal for DOM positioning. Both properties are\n * required if prop is specified\n */ insert?: {\n sibling: HTMLElement;\n position: 'before' | 'after';\n };\n /**\n * Visibility state of the popover\n */ isOpen?: boolean;\n /**\n * Traps tab focus within the popover contents\n */ ownFocus?: boolean;\n /**\n * Custom class added to the EuiPanel containing the popover contents\n */ panelClassName?: string;\n /**\n * EuiPanel padding on all sides\n */ panelPaddingSize?: PanelPaddingSize;\n /**\n * Standard DOM `style` attribute. Passed to the EuiPanel\n */ panelStyle?: {\n [i: string]: string;\n };\n panelRef?: (e: HTMLElement | null) => unknown;\n popoverRef?: (e: HTMLElement) => unknown;\n /**\n * When `true`, the popover's position is re-calculated when the user\n * scrolls, this supports having fixed-position popover anchors\n */ repositionOnScroll?: boolean;\n /**\n * By default, popover content inherits the z-index of the anchor\n * component; pass `zIndex` to override\n */ zIndex?: number;\n /**\n * Function callback for when the focus trap is deactivated\n */ onTrapDeactivation?: () => void;\n /**\n * Distance away from the anchor that the popover will render\n */ offset?: number;\n /**\n * Minimum distance between the popover and the bounding container;\n * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`\n * Default is 16\n */ buffer?: number | [number, number, number, number];\n /**\n * Element to pass as the child element of the arrow;\n * Use case is typically limited to an accompanying `EuiBeacon`\n */ arrowChildren?: Component;\n /**\n * Provide a name to the popover panel\n */ ariaLabel?: string;\n /**\n * Alternative option to `aria-label` that takes an `id`.\n * Usually takes the `id` of the popover title\n */ ariaLabelledBy?: string;\n tabindex?: string | number;\n shouldSelfFocus?: boolean;\n isFocusTrapPaused?: boolean;\n focusTrapOptions?: {\n onClickOutside?: (e: Event) => void;\n };\n mutationObserverOptions?: {\n attributes?: boolean;\n childList?: boolean;\n characterData?: boolean;\n subtree?: boolean;\n };\n};\ntype AnchorPosition = 'up' | 'right' | 'down' | 'left';\nconst anchorPositionToPopoverPositionMap: {\n [position in AnchorPosition]: EuiPopoverPosition;\n} = {\n up: 'top',\n right: 'right',\n down: 'bottom',\n left: 'left'\n};\nexport function getPopoverPositionFromAnchorPosition(anchorPosition1: PopoverAnchorPosition): EuiPopoverPosition {\n // maps the anchor position to the matching popover position\n // e.g. \"upLeft\" -> \"top\", \"downRight\" -> \"bottom\"\n // extract the first positional word from anchorPosition:\n // starts at the beginning (\" ^ \") of anchorPosition and\n // captures all of the characters (\" (.*?) \") until the\n // first capital letter (\" [A-Z] \") is encountered\n const match1 = anchorPosition1.match(/^(.*?)[A-Z]/);\n if (match1?.length && match1.length > 1) {\n return anchorPositionToPopoverPositionMap[match1[1] as AnchorPosition];\n }\n return anchorPositionToPopoverPositionMap['up'];\n}\nexport function getPopoverAlignFromAnchorPosition(anchorPosition1: PopoverAnchorPosition): EuiPopoverPosition {\n // maps the gravity to the matching popover position\n // e.g. \"upLeft\" -> \"left\", \"rightDown\" -> \"bottom\"\n // extract the second positional word from anchorPosition:\n // starts a capture group at the first capital letter\n // and includes everything after it\n const match1 = anchorPosition1.match(/([A-Z].*)/);\n // this performs two tasks:\n // 1. normalizes the align position by lowercasing it\n // 2. `center` doesn't exist in the lookup map which converts it to `undefined` meaning no align\n if (match1?.length && match1.length > 1) {\n return anchorPositionToPopoverPositionMap[match1[1]?.toLowerCase() as AnchorPosition];\n }\n return anchorPositionToPopoverPositionMap['left'];\n}\nexport const ANCHOR_POSITIONS = Object.keys(anchorPositionMapping);\nexport const DISPLAY = Object.keys(displayMapping);\nexport type FocusTarget = HTMLElement | string | (() => HTMLElement);\nconst DEFAULT_POPOVER_STYLES = {\n top: 50,\n left: 50\n};\nfunction getElementFromInitialFocus(initialFocus1?: FocusTarget): HTMLElement | null {\n const initialFocusType1 = typeof initialFocus1;\n if (initialFocusType1 === 'string') {\n return document.querySelector(initialFocus1 as string);\n }\n if (initialFocusType1 === 'function') {\n return (initialFocus1 as () => HTMLElement | null)();\n }\n return initialFocus1 as HTMLElement | null;\n}\ntype CssProps = {\n top?: number;\n left?: number;\n right?: number;\n bottom?: number;\n zIndex?: number;\n};\nexport interface EuiPopoverSignature {\n Element: HTMLDivElement;\n Args: EuiPopoverArgs;\n Blocks: {\n button: [];\n content: [];\n arrowChildren: [];\n };\n}\nexport default class EuiPopoverComponent extends Component<EuiPopoverSignature> {\n // Defaults\n @argOrDefaultDecorator(false)\n isOpen: boolean;\n @argOrDefaultDecorator(true)\n ownFocus: boolean;\n @argOrDefaultDecorator('downCenter')\n anchorPosition: PopoverAnchorPosition;\n @argOrDefaultDecorator('m')\n panelPaddingSize: PanelPaddingSize;\n @argOrDefaultDecorator(true)\n hasArrow: boolean;\n @argOrDefaultDecorator('inlineBlock')\n display: string;\n @argOrDefaultDecorator(true)\n shouldSelfFocus: boolean;\n @argOrDefaultDecorator(false)\n isFocusTrapPaused: boolean;\n //State\n @tracked\n prevIsOpen: boolean | undefined;\n @tracked\n suppressingPopover: boolean | undefined;\n @tracked\n isClosing = false;\n @tracked\n isOpening = false;\n @tracked\n popoverStyles: CssProps = {};\n @tracked\n arrowStyles: CssProps | undefined = {};\n @tracked\n arrowPosition: EuiPopoverPosition | null = null;\n @tracked\n openPosition: EuiPopoverPosition | null = null;\n @tracked\n isOpenStable = false;\n @tracked\n isCurrentlyOpen: boolean | undefined;\n ///\n private respositionTimeout: ReturnType<typeof later> | null = null;\n private closingTransitionTimeout: ReturnType<typeof later> | null = null;\n private closingTransitionAnimationFrame: number | undefined;\n private updateFocusAnimationFrame: number | undefined;\n private hasSetInitialFocus: boolean = false;\n @tracked\n button: HTMLElement | null = null;\n @tracked\n panel: HTMLElement | null = null;\n constructor(owner1: unknown, args1: EuiPopoverArgs){\n super(owner1, args1);\n assert(`Must provide closePopover function`, this.args.closePopover);\n this.prevIsOpen = this.isOpen;\n this.suppressingPopover = this.isOpen;\n this.isCurrentlyOpen = this.isOpen;\n }\n @action\n closePopover(): void {\n if (this.isOpen) {\n this.args.closePopover();\n }\n }\n @action\n onEscapeKey(event1: Event, ekEvent1?: EmberKeyboardEvent): void {\n if (this.isOpen) {\n ekEvent1?.stopPropagation();\n ekEvent1?.stopImmediatePropagation();\n event1.preventDefault();\n event1.stopPropagation();\n this.closePopover();\n }\n }\n @action\n onKeyDown(event1: KeyboardEvent, ekEvent1: EmberKeyboardEvent): void {\n if (event1.key === cascadingMenuKeys.ESCAPE) {\n this.onEscapeKey(event1 as unknown as Event, ekEvent1 as unknown as Event);\n }\n }\n @action\n onClickOutside(event1: Event): void {\n if (this.args.focusTrapOptions?.onClickOutside) {\n this.args.focusTrapOptions.onClickOutside(event1);\n } else {\n // only close the popover if the event source isn't the anchor button\n // otherwise, it is up to the anchor to toggle the popover's open status\n if (this.button && this.button.contains(event1.target as Node) === false) {\n this.closePopover();\n }\n }\n }\n updateFocus(): void {\n // Wait for the DOM to update.\n this.updateFocusAnimationFrame = window.requestAnimationFrame(()=>{\n if (!this.ownFocus || !this.panel || this.args.initialFocus === false) {\n return;\n }\n // If we've already focused on something inside the panel, everything's fine.\n if (this.hasSetInitialFocus && this.panel.contains(document.activeElement)) {\n return;\n }\n // Otherwise let's focus the first tabbable item and expedite input from the user.\n let focusTarget1;\n if (this.args.initialFocus != null) {\n focusTarget1 = getElementFromInitialFocus(this.args.initialFocus);\n } else {\n const tabbableItems1 = tabbable(this.panel);\n if (tabbableItems1.length) {\n focusTarget1 = tabbableItems1[0];\n }\n }\n // there's a race condition between the popover content becoming visible and this function call\n // if the element isn't visible yet (due to css styling) then it can't accept focus\n // so wait for another render and try again\n if (focusTarget1 == null) {\n // there isn't a focus target, one of two reasons:\n // #1 is the whole panel hidden? If so, schedule another check\n // #2 panel is visible but no tabbables exist, move focus to the panel\n const panelVisibility1 = window.getComputedStyle(this.panel).opacity;\n if (panelVisibility1 === '0') {\n // #1\n this.updateFocus();\n } else {\n // #2\n focusTarget1 = this.panel;\n }\n } else {\n // found an element to focus, but is it visible?\n const visibility1 = window.getComputedStyle(focusTarget1).visibility;\n if (visibility1 === 'hidden') {\n // not visible, check again next render frame\n this.updateFocus();\n }\n }\n if (focusTarget1 != null) {\n this.hasSetInitialFocus = true;\n focusTarget1.focus();\n }\n });\n }\n @action\n onOpenPopover(): void {\n cancel(this.closingTransitionTimeout as ReturnType<typeof later>);\n // We need to set this state a beat after the render takes place, so that the CSS\n // transition can take effect.\n this.closingTransitionAnimationFrame = window.requestAnimationFrame(()=>{\n this.isOpening = true;\n });\n // for each child element of `this.panel`, find any transition duration we should wait for before stabilizing\n const { durationMatch: durationMatch1, delayMatch: delayMatch1 } = Array.prototype.slice.call(this.panel ? this.panel.children : []).reduce(({ durationMatch: durationMatch1, delayMatch: delayMatch1 }: {\n durationMatch: number;\n delayMatch: number;\n }, element1: HTMLElement)=>{\n const transitionTimings1 = getTransitionTimings(element1);\n return {\n durationMatch: Math.max(durationMatch1, transitionTimings1.durationMatch),\n delayMatch: Math.max(delayMatch1, transitionTimings1.delayMatch)\n };\n }, {\n durationMatch: 0,\n delayMatch: 0\n });\n this.respositionTimeout = later(this, ()=>{\n this.isOpenStable = true;\n const fn1 = (): void =>{\n this.positionPopoverFixed();\n this.updateFocus();\n };\n scheduleOnce('afterRender', this, fn1);\n }, durationMatch1 + delayMatch1);\n }\n @action\n didInsertPopover(): void {\n if (this.suppressingPopover) {\n // component was created with isOpen=true; now that it's inserted\n // stop suppressing and start opening\n this.suppressingPopover = false;\n this.isOpening = true;\n const fn1 = (): void =>this.onOpenPopover();\n scheduleOnce('afterRender', this, fn1);\n }\n if (this.args.repositionOnScroll) {\n window.addEventListener('scroll', this.positionPopoverFixed, true);\n }\n this.updateFocus();\n }\n @action\n didUpdateRepositionOnScroll(): void {\n if (this.args.repositionOnScroll) {\n window.addEventListener('scroll', this.positionPopoverFixed, true);\n } else {\n window.removeEventListener('scroll', this.positionPopoverFixed, true);\n }\n }\n @action\n didUpdateIsOpen(): void {\n this.isCurrentlyOpen = this.isOpen;\n if (!this.prevIsOpen && this.args.isOpen) {\n this.onOpenPopover();\n }\n if (this.prevIsOpen && !this.args.isOpen) {\n // If the user has just closed the popover, queue up the removal of the content after the\n // transition is complete.\n this.isClosing = true;\n this.isOpening = false;\n this.closingTransitionTimeout = later(this, ()=>{\n this.isClosing = false;\n }, 250);\n }\n this.prevIsOpen = this.args.isOpen;\n }\n willDestroy(): void {\n super.willDestroy();\n window.removeEventListener('scroll', this.positionPopoverFixed, true);\n cancel(this.respositionTimeout as ReturnType<typeof later>);\n cancel(this.closingTransitionTimeout as ReturnType<typeof later>);\n cancelAnimationFrame(this.closingTransitionAnimationFrame as number);\n cancelAnimationFrame(this.updateFocusAnimationFrame as number);\n }\n @action\n onMutation(records1: MutationRecord[]): void {\n const waitDuration1 = getWaitDuration(records1);\n this.positionPopoverFixed();\n performOnFrame(waitDuration1, this.positionPopoverFixed);\n }\n @action\n positionPopover(allowEnforcePosition1: boolean): void {\n if (this.button == null || this.panel == null) return;\n let position1 = getPopoverPositionFromAnchorPosition(this.anchorPosition);\n let forcePosition1 = undefined;\n if (allowEnforcePosition1 && this.isOpenStable && this.openPosition != null) {\n position1 = this.openPosition;\n forcePosition1 = true;\n }\n const { top: top1, left: left1, position: foundPosition1, arrow: arrow1, anchorBoundingBox: anchorBoundingBox1 } = findPopoverPosition({\n container: this.args.container,\n position: position1,\n forcePosition: forcePosition1,\n align: getPopoverAlignFromAnchorPosition(this.anchorPosition),\n anchor: this.button,\n popover: this.panel,\n offset: !this.args.attachToAnchor && this.hasArrow ? 16 + (this.args.offset || 0) : 8 + (this.args.offset || 0),\n arrowConfig: {\n arrowWidth: 24,\n arrowBuffer: 10\n },\n returnBoundingBox: this.args.attachToAnchor,\n buffer: this.args.buffer\n });\n // the popover's z-index must inherit from the button\n // this keeps a button's popover under a flyout that would cover the button\n // but a popover triggered inside a flyout will appear over that flyout\n const { zIndex: zIndexProp1 } = this.args;\n const zIndex1 = zIndexProp1 == null ? getElementZIndex(this.button, this.panel) + 2000 : zIndexProp1;\n const popoverStyles1 = {\n top: top1,\n left: this.args.attachToAnchor && anchorBoundingBox1 ? anchorBoundingBox1.left : left1,\n zIndex: zIndex1\n };\n const willRenderArrow1 = !this.args.attachToAnchor && this.hasArrow;\n const arrowStyles1 = willRenderArrow1 ? arrow1 : undefined;\n const arrowPosition1 = foundPosition1;\n this.popoverStyles = popoverStyles1;\n this.arrowStyles = arrowStyles1;\n this.arrowPosition = arrowPosition1;\n this.openPosition = foundPosition1;\n }\n get _arrowStyles(): ReturnType<typeof htmlSafe> | undefined {\n const { arrowStyles: arrowStyles1 } = this;\n return arrowStyles1 ? htmlSafe(`top: ${arrowStyles1?.top}px; left: ${arrowStyles1?.left}px;`) : undefined;\n }\n get _popoverStyles(): {\n [i: string]: string;\n } {\n const { panelStyle: panelStyle1 } = this.args;\n const { popoverStyles: popoverStyles1 } = this;\n return {\n ...panelStyle1,\n top: `${popoverStyles1.top}px`,\n left: `${popoverStyles1.left}px`,\n zIndex: `${popoverStyles1.zIndex}`\n };\n }\n get tabindex() {\n if (this.ownFocus) {\n return this.args.tabindex ?? '0';\n }\n return '-1';\n }\n @action\n positionPopoverFixed(): void {\n this.positionPopover(true);\n }\n @action\n positionPopoverFluid(): void {\n this.positionPopover(false);\n }\n @action\n registerButton(btn1: HTMLDivElement): void {\n this.button = btn1;\n this.args.buttonRef?.(btn1);\n }\n @action\n registerPanel(panel1: HTMLElement): void {\n this.panel = panel1;\n this.args.panelRef?.(panel1);\n if (panel1 === null) {\n // panel has unmounted, restore the state defaults\n this.popoverStyles = DEFAULT_POPOVER_STYLES;\n this.arrowStyles = {};\n this.arrowPosition = null;\n this.openPosition = null;\n this.isOpenStable = false;\n window.removeEventListener('resize', this.positionPopoverFluid);\n } else {\n // panel is coming into existence\n this.positionPopoverFluid();\n window.addEventListener('resize', this.positionPopoverFluid);\n }\n }\n static{\n template(`\n {{#let\n (randomId)\n (classNames\n (if this.isOpening \"euiPopover-isOpen\")\n position=this.anchorPosition\n display=this.display\n componentName=\"EuiPopover\"\n )\n (classNames\n \"euiPopover__panel\"\n (concat \"euiPopover__panel--\" this.arrowPosition)\n (if this.isOpening \"euiPopover__panel-isOpen\")\n (if\n (or (not this.hasArrow) @attachToAnchor) \"euiPopover__panel-noArrow\"\n )\n (if @attachToAnchor \"euiPopover__panel-isAttached\")\n @panelClasses\n )\n as |descriptionId classes panelClasses|\n }}\n <div\n class={{classes}}\n {{onKey \"_all\" this.onKeyDown priority=1}}\n {{didInsert this.didInsertPopover}}\n {{didUpdate this.didUpdateIsOpen @isOpen}}\n {{didUpdate this.didUpdateRepositionOnScroll @repositionOnScroll}}\n {{didInsert (optional @popoverRef)}}\n ...attributes\n >\n\n {{! button }}\n <div\n class=\"euiPopover__anchor {{@anchorClassName}}\"\n {{didInsert this.registerButton}}\n >\n {{yield to=\"button\"}}\n </div>\n\n {{! content }}\n {{#if\n (and\n (not this.suppressingPopover)\n (or this.isCurrentlyOpen this.isClosing)\n )\n }}\n <EuiPortal @insert={{@insert}}>\n {{#let (randomId) as |panelId|}}\n <EuiPanel\n id={{panelId}}\n class={{panelClasses}}\n aria-live={{if this.ownFocus \"off\" \"assertive\"}}\n role=\"dialog\"\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-modal=\"true\"\n aria-describedby={{if this.ownFocus descriptionId}}\n tabindex={{this.tabindex}}\n @hasShadow={{false}}\n @paddingSize={{this.panelPaddingSize}}\n {{simpleStyle this._popoverStyles}}\n {{didInsert this.registerPanel}}\n {{outsideClickDetector onOutsideClick=this.onClickOutside}}\n {{onKey \"Escape\" this.onEscapeKey}}\n {{focusTrap\n isActive=(not\n (or\n (not this.ownFocus) (not this.isOpenStable) this.isClosing\n )\n )\n shouldSelfFocus=this.shouldSelfFocus\n isPaused=this.isFocusTrapPaused\n focusTrapOptions=(merge\n (hash\n returnFocusOnDeactivate=this.isOpenStable\n initialFocus=(or @initialFocus this.panel)\n onDeactivate=(optional @onTrapDeactivation)\n preventScroll=true\n clickOutsideDeactivates=true\n fallbackFocus=(concat \"#\" panelId)\n )\n @focusTrapOptions\n )\n }}\n >\n <div\n class={{concat\n \"euiPopover__panelArrow euiPopover__panelArrow--\"\n this.arrowPosition\n }}\n style={{this._arrowStyles}}\n >\n {{yield to=\"arrowChildren\"}}\n </div>\n {{#if this.ownFocus}}\n <p id={{descriptionId}} {{screenReaderOnly}}>\n You are in a dialog. To close this dialog, hit escape.\n </p>\n {{/if}}\n <div\n {{mutationObserver\n onMutation=this.onMutation\n observerOptions=(merge\n (hash\n attributes=true\n childList=true\n characterData=true\n subtree=true\n )\n @mutationObserverOptions\n )\n }}\n >\n {{yield to=\"content\"}}\n </div>\n </EuiPanel>\n {{/let}}\n </EuiPortal>\n {{/if}}\n\n </div>\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1wb3BvdmVyLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGVtYmVyL2RlYnVnJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG5pbXBvcnQgZGlkSW5zZXJ0IGZyb20gJ0BlbWJlci9yZW5kZXItbW9kaWZpZXJzL21vZGlmaWVycy9kaWQtaW5zZXJ0JztcbmltcG9ydCBkaWRVcGRhdGUgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC11cGRhdGUnO1xuaW1wb3J0IHsgY2FuY2VsLCBsYXRlciwgc2NoZWR1bGVPbmNlIH0gZnJvbSAnQGVtYmVyL3J1bmxvb3AnO1xuaW1wb3J0IHsgaHRtbFNhZmUgfSBmcm9tICdAZW1iZXIvdGVtcGxhdGUnO1xuXG5pbXBvcnQgb3B0aW9uYWwgZnJvbSAnZW1iZXItY29tcG9zYWJsZS1oZWxwZXJzL2hlbHBlcnMvb3B0aW9uYWwnO1xuaW1wb3J0IHsgZm9jdXNUcmFwIH0gZnJvbSAnZW1iZXItZm9jdXMtdHJhcCc7XG5pbXBvcnQgb25LZXkgZnJvbSAnZW1iZXIta2V5Ym9hcmQvbW9kaWZpZXJzL29uLWtleSc7XG5pbXBvcnQgeyBhbmQsIG5vdCwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IHRhYmJhYmxlIH0gZnJvbSAndGFiYmFibGUnO1xuXG5pbXBvcnQgcmFuZG9tSWQgZnJvbSAnLi4vLXByaXZhdGUvcmFuZG9tLWlkLnRzJztcbmltcG9ydCB7IGFyZ09yRGVmYXVsdERlY29yYXRvciB9IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQudHMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcy50cyc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnLi4vaGVscGVycy9tZXJnZS50cyc7XG5pbXBvcnQgbXV0YXRpb25PYnNlcnZlciBmcm9tICcuLi9tb2RpZmllcnMvbXV0YXRpb24tb2JzZXJ2ZXIudHMnO1xuaW1wb3J0IG91dHNpZGVDbGlja0RldGVjdG9yIGZyb20gJy4uL21vZGlmaWVycy9vdXRzaWRlLWNsaWNrLWRldGVjdG9yLnRzJztcbmltcG9ydCBzY3JlZW5SZWFkZXJPbmx5IGZyb20gJy4uL21vZGlmaWVycy9zY3JlZW4tcmVhZGVyLW9ubHkudHMnO1xuaW1wb3J0IHNpbXBsZVN0eWxlIGZyb20gJy4uL21vZGlmaWVycy9zaW1wbGUtc3R5bGUudHMnO1xuaW1wb3J0IHsgY2FzY2FkaW5nTWVudUtleXMgfSBmcm9tICcuLi91dGlscy9hY2Nlc2liaWxpdHkvaW5kZXgudHMnO1xuaW1wb3J0IHtcbiAgYW5jaG9yUG9zaXRpb25NYXBwaW5nLFxuICBkaXNwbGF5TWFwcGluZ1xufSBmcm9tICcuLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLXBvcG92ZXIudHMnO1xuaW1wb3J0IHsgZmluZFBvcG92ZXJQb3NpdGlvbiwgZ2V0RWxlbWVudFpJbmRleCB9IGZyb20gJy4uL3V0aWxzL3BvcG92ZXIvaW5kZXgudHMnO1xuaW1wb3J0IHtcbiAgZ2V0VHJhbnNpdGlvblRpbWluZ3MsXG4gIGdldFdhaXREdXJhdGlvbixcbiAgcGVyZm9ybU9uRnJhbWVcbn0gZnJvbSAnLi4vdXRpbHMvdHJhbnNpdGlvbi50cyc7XG5pbXBvcnQgRXVpUGFuZWwgZnJvbSAnLi9ldWktcGFuZWwuZ3RzJztcbmltcG9ydCBFdWlQb3J0YWwgZnJvbSAnLi9ldWktcG9ydGFsLmd0cyc7XG5cbmltcG9ydCB0eXBlIHsgcGFkZGluZ1NpemVNYXBwaW5nIH0gZnJvbSAnLi4vdXRpbHMvY3NzLW1hcHBpbmdzL2V1aS1wYW5lbC50cyc7XG5pbXBvcnQgdHlwZSB7IEV1aVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzL3BvcG92ZXIvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBFbWJlcktleWJvYXJkRXZlbnQgfSBmcm9tICdlbWJlci1rZXlib2FyZC9tb2RpZmllcnMvb24ta2V5JztcblxudHlwZSBQYW5lbFBhZGRpbmdTaXplID0ga2V5b2YgdHlwZW9mIHBhZGRpbmdTaXplTWFwcGluZztcblxuZXhwb3J0IHR5cGUgUG9wb3ZlckFuY2hvclBvc2l0aW9uID1cbiAgfCAndXBDZW50ZXInXG4gIHwgJ3VwTGVmdCdcbiAgfCAndXBSaWdodCdcbiAgfCAnZG93bkNlbnRlcidcbiAgfCAnZG93bkxlZnQnXG4gIHwgJ2Rvd25SaWdodCdcbiAgfCAnbGVmdENlbnRlcidcbiAgfCAnbGVmdFVwJ1xuICB8ICdsZWZ0RG93bidcbiAgfCAncmlnaHRDZW50ZXInXG4gIHwgJ3JpZ2h0VXAnXG4gIHwgJ3JpZ2h0RG93bic7XG5cbmV4cG9ydCB0eXBlIEV1aVBvcG92ZXJBcmdzID0ge1xuICBwYW5lbENsYXNzZXM_OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDbGFzcyBuYW1lIHBhc3NlZCB0byB0aGUgZGlyZWN0IHBhcmVudCBvZiB0aGUgYnV0dG9uXG4gICAqL1xuICBhbmNob3JDbGFzc05hbWU_OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGlnbm1lbnQgb2YgdGhlIHBvcG92ZXIgYW5kIGFycm93IHJlbGF0aXZlIHRvIHRoZSBidXR0b25cbiAgICovXG4gIGFuY2hvclBvc2l0aW9uPzogUG9wb3ZlckFuY2hvclBvc2l0aW9uO1xuICAvKipcbiAgICogU3R5bGUgYW5kIHBvc2l0aW9uIGFsdGVyYXRpb24gZm9yIGFycm93LWxlc3MsIGxlZnQtYWxpZ25lZFxuICAgKiBhdHRhY2htZW50LiBJbnRlbmRlZCBmb3IgdXNlIHdpdGggaW5wdXRzIGFzIGFuY2hvcnMsIGUuZy5cbiAgICogRXVpSW5wdXRQb3BvdmVyXG4gICAqL1xuICBhdHRhY2hUb0FuY2hvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUcmlnZ2VyaW5nIGVsZW1lbnQgZm9yIHdoaWNoIHRvIGFsaWduIHRoZSBwb3BvdmVyIHRvXG4gICAqL1xuICBidXR0b24_OiBDb21wb25lbnQ7XG4gIGJ1dHRvblJlZj86IChlOiBIVE1MRGl2RWxlbWVudCkgPT4gdW5rbm93bjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGhhbmRsZSBoaWRpbmcgb2YgdGhlIHBvcG92ZXJcbiAgICovXG4gIGNsb3NlUG9wb3ZlcjogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHRoZSBwb3BvdmVyJ3MgcG9zaXRpb24gd2l0aGluIHRoaXMgZWxlbWVudFxuICAgKi9cbiAgY29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBDU1MgZGlzcGxheSB0eXBlIGZvciBib3RoIHRoZSBwb3BvdmVyIGFuZCBhbmNob3JcbiAgICovXG4gIGRpc3BsYXk_OiBrZXlvZiB0eXBlb2YgZGlzcGxheU1hcHBpbmc7XG4gIC8qKlxuICAgKiBTaG93IGFycm93IGluZGljYXRpbmcgdG8gb3JpZ2luYXRpbmcgYnV0dG9uXG4gICAqL1xuICBoYXNBcnJvdz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hhdCBlbGVtZW50IHNob3VsZCBpbml0aWFsbHkgaGF2ZSBmb2N1czsgQ2FuIGJlIGEgRE9NXG4gICAqIG5vZGUsIG9yIGEgc2VsZWN0b3Igc3RyaW5nICh3aGljaCB3aWxsIGJlIHBhc3NlZCB0b1xuICAgKiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCkgdG8gZmluZCB0aGUgRE9NIG5vZGUpLCBvciBhIGZ1bmN0aW9uIHRoYXRcbiAgICogcmV0dXJucyBhIERPTSBub2RlXG4gICAqL1xuICBpbml0aWFsRm9jdXM_OiBGb2N1c1RhcmdldCB8IGZhbHNlO1xuICAvKipcbiAgICogUGFzc2VkIGRpcmVjdGx5IHRvIEV1aVBvcnRhbCBmb3IgRE9NIHBvc2l0aW9uaW5nLiBCb3RoIHByb3BlcnRpZXMgYXJlXG4gICAqIHJlcXVpcmVkIGlmIHByb3AgaXMgc3BlY2lmaWVkXG4gICAqL1xuICBpbnNlcnQ_OiB7XG4gICAgc2libGluZzogSFRNTEVsZW1lbnQ7XG4gICAgcG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJztcbiAgfTtcbiAgLyoqXG4gICAqIFZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBvcG92ZXJcbiAgICovXG4gIGlzT3Blbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUcmFwcyB0YWIgZm9jdXMgd2l0aGluIHRoZSBwb3BvdmVyIGNvbnRlbnRzXG4gICAqL1xuICBvd25Gb2N1cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gY2xhc3MgYWRkZWQgdG8gdGhlIEV1aVBhbmVsIGNvbnRhaW5pbmcgdGhlIHBvcG92ZXIgY29udGVudHNcbiAgICovXG4gIHBhbmVsQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRXVpUGFuZWwgcGFkZGluZyBvbiBhbGwgc2lkZXNcbiAgICovXG4gIHBhbmVsUGFkZGluZ1NpemU_OiBQYW5lbFBhZGRpbmdTaXplO1xuICAvKipcbiAgICogU3RhbmRhcmQgRE9NIGBzdHlsZWAgYXR0cmlidXRlLiBQYXNzZWQgdG8gdGhlIEV1aVBhbmVsXG4gICAqL1xuICBwYW5lbFN0eWxlPzogeyBbaTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHBhbmVsUmVmPzogKGU6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdW5rbm93bjtcbiAgcG9wb3ZlclJlZj86IChlOiBIVE1MRWxlbWVudCkgPT4gdW5rbm93bjtcbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCB0aGUgcG9wb3ZlcidzIHBvc2l0aW9uIGlzIHJlLWNhbGN1bGF0ZWQgd2hlbiB0aGUgdXNlclxuICAgKiBzY3JvbGxzLCB0aGlzIHN1cHBvcnRzIGhhdmluZyBmaXhlZC1wb3NpdGlvbiBwb3BvdmVyIGFuY2hvcnNcbiAgICovXG4gIHJlcG9zaXRpb25PblNjcm9sbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBwb3BvdmVyIGNvbnRlbnQgaW5oZXJpdHMgdGhlIHotaW5kZXggb2YgdGhlIGFuY2hvclxuICAgKiBjb21wb25lbnQ7IHBhc3MgYHpJbmRleGAgdG8gb3ZlcnJpZGVcbiAgICovXG4gIHpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGNhbGxiYWNrIGZvciB3aGVuIHRoZSBmb2N1cyB0cmFwIGlzIGRlYWN0aXZhdGVkXG4gICAqL1xuICBvblRyYXBEZWFjdGl2YXRpb24_OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRGlzdGFuY2UgYXdheSBmcm9tIHRoZSBhbmNob3IgdGhhdCB0aGUgcG9wb3ZlciB3aWxsIHJlbmRlclxuICAgKi9cbiAgb2Zmc2V0PzogbnVtYmVyO1xuICAvKipcbiAgICogTWluaW11bSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwb3BvdmVyIGFuZCB0aGUgYm91bmRpbmcgY29udGFpbmVyO1xuICAgKiBQYXNzIGFuIGFycmF5IG9mIDQgdmFsdWVzIHRvIGFkanVzdCBlYWNoIHNpZGUgZGlmZmVyZW50bHk6IGBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XWBcbiAgICogRGVmYXVsdCBpcyAxNlxuICAgKi9cbiAgYnVmZmVyPzogbnVtYmVyIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBFbGVtZW50IHRvIHBhc3MgYXMgdGhlIGNoaWxkIGVsZW1lbnQgb2YgdGhlIGFycm93O1xuICAgKiBVc2UgY2FzZSBpcyB0eXBpY2FsbHkgbGltaXRlZCB0byBhbiBhY2NvbXBhbnlpbmcgYEV1aUJlYWNvbmBcbiAgICovXG4gIGFycm93Q2hpbGRyZW4_OiBDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgbmFtZSB0byB0aGUgcG9wb3ZlciBwYW5lbFxuICAgKi9cbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgb3B0aW9uIHRvIGBhcmlhLWxhYmVsYCB0aGF0IHRha2VzIGFuIGBpZGAuXG4gICAqIFVzdWFsbHkgdGFrZXMgdGhlIGBpZGAgb2YgdGhlIHBvcG92ZXIgdGl0bGVcbiAgICovXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIHRhYmluZGV4Pzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIHNob3VsZFNlbGZGb2N1cz86IGJvb2xlYW47XG5cbiAgaXNGb2N1c1RyYXBQYXVzZWQ_OiBib29sZWFuO1xuXG4gIGZvY3VzVHJhcE9wdGlvbnM_OiB7XG4gICAgb25DbGlja091dHNpZGU_OiAoZTogRXZlbnQpID0-IHZvaWQ7XG4gIH07XG5cbiAgbXV0YXRpb25PYnNlcnZlck9wdGlvbnM_OiB7XG4gICAgYXR0cmlidXRlcz86IGJvb2xlYW47XG4gICAgY2hpbGRMaXN0PzogYm9vbGVhbjtcbiAgICBjaGFyYWN0ZXJEYXRhPzogYm9vbGVhbjtcbiAgICBzdWJ0cmVlPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbnR5cGUgQW5jaG9yUG9zaXRpb24gPSAndXAnIHwgJ3JpZ2h0JyB8ICdkb3duJyB8ICdsZWZ0JztcblxuY29uc3QgYW5jaG9yUG9zaXRpb25Ub1BvcG92ZXJQb3NpdGlvbk1hcDoge1xuICBbcG9zaXRpb24gaW4gQW5jaG9yUG9zaXRpb25dOiBFdWlQb3BvdmVyUG9zaXRpb247XG59ID0ge1xuICB1cDogJ3RvcCcsXG4gIHJpZ2h0OiAncmlnaHQnLFxuICBkb3duOiAnYm90dG9tJyxcbiAgbGVmdDogJ2xlZnQnXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9wb3ZlclBvc2l0aW9uRnJvbUFuY2hvclBvc2l0aW9uKFxuICBhbmNob3JQb3NpdGlvbjogUG9wb3ZlckFuY2hvclBvc2l0aW9uXG4pOiBFdWlQb3BvdmVyUG9zaXRpb24ge1xuICAvLyBtYXBzIHRoZSBhbmNob3IgcG9zaXRpb24gdG8gdGhlIG1hdGNoaW5nIHBvcG92ZXIgcG9zaXRpb25cbiAgLy8gZS5nLiBcInVwTGVmdFwiIC0-IFwidG9wXCIsIFwiZG93blJpZ2h0XCIgLT4gXCJib3R0b21cIlxuXG4gIC8vIGV4dHJhY3QgdGhlIGZpcnN0IHBvc2l0aW9uYWwgd29yZCBmcm9tIGFuY2hvclBvc2l0aW9uOlxuICAvLyBzdGFydHMgYXQgdGhlIGJlZ2lubmluZyAoXCIgXiBcIikgb2YgYW5jaG9yUG9zaXRpb24gYW5kXG4gIC8vIGNhcHR1cmVzIGFsbCBvZiB0aGUgY2hhcmFjdGVycyAoXCIgKC4qPykgXCIpIHVudGlsIHRoZVxuICAvLyBmaXJzdCBjYXBpdGFsIGxldHRlciAoXCIgW0EtWl0gXCIpIGlzIGVuY291bnRlcmVkXG4gIGNvbnN0IG1hdGNoID0gYW5jaG9yUG9zaXRpb24ubWF0Y2goL14oLio_KVtBLVpdLyk7XG5cbiAgaWYgKG1hdGNoPy5sZW5ndGggJiYgbWF0Y2gubGVuZ3RoID4gMSkge1xuICAgIHJldHVybiBhbmNob3JQb3NpdGlvblRvUG9wb3ZlclBvc2l0aW9uTWFwW21hdGNoWzFdIGFzIEFuY2hvclBvc2l0aW9uXTtcbiAgfVxuXG4gIHJldHVybiBhbmNob3JQb3NpdGlvblRvUG9wb3ZlclBvc2l0aW9uTWFwWyd1cCddO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9wb3ZlckFsaWduRnJvbUFuY2hvclBvc2l0aW9uKFxuICBhbmNob3JQb3NpdGlvbjogUG9wb3ZlckFuY2hvclBvc2l0aW9uXG4pOiBFdWlQb3BvdmVyUG9zaXRpb24ge1xuICAvLyBtYXBzIHRoZSBncmF2aXR5IHRvIHRoZSBtYXRjaGluZyBwb3BvdmVyIHBvc2l0aW9uXG4gIC8vIGUuZy4gXCJ1cExlZnRcIiAtPiBcImxlZnRcIiwgXCJyaWdodERvd25cIiAtPiBcImJvdHRvbVwiXG5cbiAgLy8gZXh0cmFjdCB0aGUgc2Vjb25kIHBvc2l0aW9uYWwgd29yZCBmcm9tIGFuY2hvclBvc2l0aW9uOlxuICAvLyBzdGFydHMgYSBjYXB0dXJlIGdyb3VwIGF0IHRoZSBmaXJzdCBjYXBpdGFsIGxldHRlclxuICAvLyBhbmQgaW5jbHVkZXMgZXZlcnl0aGluZyBhZnRlciBpdFxuICBjb25zdCBtYXRjaCA9IGFuY2hvclBvc2l0aW9uLm1hdGNoKC8oW0EtWl0uKikvKTtcblxuICAvLyB0aGlzIHBlcmZvcm1zIHR3byB0YXNrczpcbiAgLy8gMS4gbm9ybWFsaXplcyB0aGUgYWxpZ24gcG9zaXRpb24gYnkgbG93ZXJjYXNpbmcgaXRcbiAgLy8gMi4gYGNlbnRlcmAgZG9lc24ndCBleGlzdCBpbiB0aGUgbG9va3VwIG1hcCB3aGljaCBjb252ZXJ0cyBpdCB0byBgdW5kZWZpbmVkYCBtZWFuaW5nIG5vIGFsaWduXG4gIGlmIChtYXRjaD8ubGVuZ3RoICYmIG1hdGNoLmxlbmd0aCA-IDEpIHtcbiAgICByZXR1cm4gYW5jaG9yUG9zaXRpb25Ub1BvcG92ZXJQb3NpdGlvbk1hcFtcbiAgICAgIG1hdGNoWzFdPy50b0xvd2VyQ2FzZSgpIGFzIEFuY2hvclBvc2l0aW9uXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBhbmNob3JQb3NpdGlvblRvUG9wb3ZlclBvc2l0aW9uTWFwWydsZWZ0J107XG59XG5cbmV4cG9ydCBjb25zdCBBTkNIT1JfUE9TSVRJT05TID0gT2JqZWN0LmtleXMoYW5jaG9yUG9zaXRpb25NYXBwaW5nKTtcbmV4cG9ydCBjb25zdCBESVNQTEFZID0gT2JqZWN0LmtleXMoZGlzcGxheU1hcHBpbmcpO1xuZXhwb3J0IHR5cGUgRm9jdXNUYXJnZXQgPSBIVE1MRWxlbWVudCB8IHN0cmluZyB8ICgoKSA9PiBIVE1MRWxlbWVudCk7XG5cbmNvbnN0IERFRkFVTFRfUE9QT1ZFUl9TVFlMRVMgPSB7XG4gIHRvcDogNTAsXG4gIGxlZnQ6IDUwXG59O1xuXG5mdW5jdGlvbiBnZXRFbGVtZW50RnJvbUluaXRpYWxGb2N1cyhcbiAgaW5pdGlhbEZvY3VzPzogRm9jdXNUYXJnZXRcbik6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IGluaXRpYWxGb2N1c1R5cGUgPSB0eXBlb2YgaW5pdGlhbEZvY3VzO1xuXG4gIGlmIChpbml0aWFsRm9jdXNUeXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGluaXRpYWxGb2N1cyBhcyBzdHJpbmcpO1xuICB9XG5cbiAgaWYgKGluaXRpYWxGb2N1c1R5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gKGluaXRpYWxGb2N1cyBhcyAoKSA9PiBIVE1MRWxlbWVudCB8IG51bGwpKCk7XG4gIH1cblxuICByZXR1cm4gaW5pdGlhbEZvY3VzIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbn1cblxudHlwZSBDc3NQcm9wcyA9IHtcbiAgdG9wPzogbnVtYmVyO1xuICBsZWZ0PzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICB6SW5kZXg_OiBudW1iZXI7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aVBvcG92ZXJTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczogRXVpUG9wb3ZlckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGJ1dHRvbjogW107XG4gICAgY29udGVudDogW107XG4gICAgYXJyb3dDaGlsZHJlbjogW107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aVBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RXVpUG9wb3ZlclNpZ25hdHVyZT4ge1xuICAvLyBEZWZhdWx0c1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKGZhbHNlKSBpc09wZW4hOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKHRydWUpIG93bkZvY3VzITogYm9vbGVhbjtcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcignZG93bkNlbnRlcicpIGFuY2hvclBvc2l0aW9uITogUG9wb3ZlckFuY2hvclBvc2l0aW9uO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdtJykgcGFuZWxQYWRkaW5nU2l6ZSE6IFBhbmVsUGFkZGluZ1NpemU7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IodHJ1ZSkgaGFzQXJyb3chOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdpbmxpbmVCbG9jaycpIGRpc3BsYXkhOiBzdHJpbmc7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IodHJ1ZSkgc2hvdWxkU2VsZkZvY3VzITogYm9vbGVhbjtcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihmYWxzZSkgaXNGb2N1c1RyYXBQYXVzZWQhOiBib29sZWFuO1xuXG4gIC8vU3RhdGVcbiAgQHRyYWNrZWQgcHJldklzT3BlbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQHRyYWNrZWQgc3VwcHJlc3NpbmdQb3BvdmVyOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBAdHJhY2tlZCBpc0Nsb3NpbmcgPSBmYWxzZTtcbiAgQHRyYWNrZWQgaXNPcGVuaW5nID0gZmFsc2U7XG4gIEB0cmFja2VkIHBvcG92ZXJTdHlsZXM6IENzc1Byb3BzID0ge307XG4gIEB0cmFja2VkIGFycm93U3R5bGVzOiBDc3NQcm9wcyB8IHVuZGVmaW5lZCA9IHt9O1xuICBAdHJhY2tlZCBhcnJvd1Bvc2l0aW9uOiBFdWlQb3BvdmVyUG9zaXRpb24gfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgb3BlblBvc2l0aW9uOiBFdWlQb3BvdmVyUG9zaXRpb24gfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgaXNPcGVuU3RhYmxlID0gZmFsc2U7XG4gIEB0cmFja2VkIGlzQ3VycmVudGx5T3BlbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLy8vXG5cbiAgcHJpdmF0ZSByZXNwb3NpdGlvblRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIGxhdGVyPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNsb3NpbmdUcmFuc2l0aW9uVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI-IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2xvc2luZ1RyYW5zaXRpb25BbmltYXRpb25GcmFtZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHVwZGF0ZUZvY3VzQW5pbWF0aW9uRnJhbWU6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBoYXNTZXRJbml0aWFsRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQHRyYWNrZWQgYnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBwYW5lbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihvd25lcjogdW5rbm93biwgYXJnczogRXVpUG9wb3ZlckFyZ3MpIHtcbiAgICBzdXBlcihvd25lciwgYXJncyk7XG4gICAgYXNzZXJ0KGBNdXN0IHByb3ZpZGUgY2xvc2VQb3BvdmVyIGZ1bmN0aW9uYCwgdGhpcy5hcmdzLmNsb3NlUG9wb3Zlcik7XG4gICAgdGhpcy5wcmV2SXNPcGVuID0gdGhpcy5pc09wZW47XG4gICAgdGhpcy5zdXBwcmVzc2luZ1BvcG92ZXIgPSB0aGlzLmlzT3BlbjtcbiAgICB0aGlzLmlzQ3VycmVudGx5T3BlbiA9IHRoaXMuaXNPcGVuO1xuICB9XG5cbiAgQGFjdGlvblxuICBjbG9zZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmFyZ3MuY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBvbkVzY2FwZUtleShldmVudDogRXZlbnQsIGVrRXZlbnQ_OiBFbWJlcktleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIGVrRXZlbnQ_LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZWtFdmVudD8uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBla0V2ZW50OiBFbWJlcktleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBjYXNjYWRpbmdNZW51S2V5cy5FU0NBUEUpIHtcbiAgICAgIHRoaXMub25Fc2NhcGVLZXkoZXZlbnQgYXMgdW5rbm93biBhcyBFdmVudCwgZWtFdmVudCBhcyB1bmtub3duIGFzIEV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFyZ3MuZm9jdXNUcmFwT3B0aW9ucz8ub25DbGlja091dHNpZGUpIHtcbiAgICAgIHRoaXMuYXJncy5mb2N1c1RyYXBPcHRpb25zLm9uQ2xpY2tPdXRzaWRlKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gb25seSBjbG9zZSB0aGUgcG9wb3ZlciBpZiB0aGUgZXZlbnQgc291cmNlIGlzbid0IHRoZSBhbmNob3IgYnV0dG9uXG4gICAgICAvLyBvdGhlcndpc2UsIGl0IGlzIHVwIHRvIHRoZSBhbmNob3IgdG8gdG9nZ2xlIHRoZSBwb3BvdmVyJ3Mgb3BlbiBzdGF0dXNcbiAgICAgIGlmICh0aGlzLmJ1dHRvbiAmJiB0aGlzLmJ1dHRvbi5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIERPTSB0byB1cGRhdGUuXG4gICAgdGhpcy51cGRhdGVGb2N1c0FuaW1hdGlvbkZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMub3duRm9jdXMgfHwgIXRoaXMucGFuZWwgfHwgdGhpcy5hcmdzLmluaXRpYWxGb2N1cyA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZvY3VzZWQgb24gc29tZXRoaW5nIGluc2lkZSB0aGUgcGFuZWwsIGV2ZXJ5dGhpbmcncyBmaW5lLlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmhhc1NldEluaXRpYWxGb2N1cyAmJlxuICAgICAgICB0aGlzLnBhbmVsLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBPdGhlcndpc2UgbGV0J3MgZm9jdXMgdGhlIGZpcnN0IHRhYmJhYmxlIGl0ZW0gYW5kIGV4cGVkaXRlIGlucHV0IGZyb20gdGhlIHVzZXIuXG4gICAgICBsZXQgZm9jdXNUYXJnZXQ7XG5cbiAgICAgIGlmICh0aGlzLmFyZ3MuaW5pdGlhbEZvY3VzICE9IG51bGwpIHtcbiAgICAgICAgZm9jdXNUYXJnZXQgPSBnZXRFbGVtZW50RnJvbUluaXRpYWxGb2N1cyh0aGlzLmFyZ3MuaW5pdGlhbEZvY3VzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRhYmJhYmxlSXRlbXMgPSB0YWJiYWJsZSh0aGlzLnBhbmVsKTtcblxuICAgICAgICBpZiAodGFiYmFibGVJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICBmb2N1c1RhcmdldCA9IHRhYmJhYmxlSXRlbXNbMF07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdGhlcmUncyBhIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gdGhlIHBvcG92ZXIgY29udGVudCBiZWNvbWluZyB2aXNpYmxlIGFuZCB0aGlzIGZ1bmN0aW9uIGNhbGxcbiAgICAgIC8vIGlmIHRoZSBlbGVtZW50IGlzbid0IHZpc2libGUgeWV0IChkdWUgdG8gY3NzIHN0eWxpbmcpIHRoZW4gaXQgY2FuJ3QgYWNjZXB0IGZvY3VzXG4gICAgICAvLyBzbyB3YWl0IGZvciBhbm90aGVyIHJlbmRlciBhbmQgdHJ5IGFnYWluXG4gICAgICBpZiAoZm9jdXNUYXJnZXQgPT0gbnVsbCkge1xuICAgICAgICAvLyB0aGVyZSBpc24ndCBhIGZvY3VzIHRhcmdldCwgb25lIG9mIHR3byByZWFzb25zOlxuICAgICAgICAvLyAjMSBpcyB0aGUgd2hvbGUgcGFuZWwgaGlkZGVuPyBJZiBzbywgc2NoZWR1bGUgYW5vdGhlciBjaGVja1xuICAgICAgICAvLyAjMiBwYW5lbCBpcyB2aXNpYmxlIGJ1dCBubyB0YWJiYWJsZXMgZXhpc3QsIG1vdmUgZm9jdXMgdG8gdGhlIHBhbmVsXG4gICAgICAgIGNvbnN0IHBhbmVsVmlzaWJpbGl0eSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucGFuZWwpLm9wYWNpdHk7XG5cbiAgICAgICAgaWYgKHBhbmVsVmlzaWJpbGl0eSA9PT0gJzAnKSB7XG4gICAgICAgICAgLy8gIzFcbiAgICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gIzJcbiAgICAgICAgICBmb2N1c1RhcmdldCA9IHRoaXMucGFuZWw7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGZvdW5kIGFuIGVsZW1lbnQgdG8gZm9jdXMsIGJ1dCBpcyBpdCB2aXNpYmxlP1xuICAgICAgICBjb25zdCB2aXNpYmlsaXR5ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9jdXNUYXJnZXQpLnZpc2liaWxpdHk7XG5cbiAgICAgICAgaWYgKHZpc2liaWxpdHkgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgLy8gbm90IHZpc2libGUsIGNoZWNrIGFnYWluIG5leHQgcmVuZGVyIGZyYW1lXG4gICAgICAgICAgdGhpcy51cGRhdGVGb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmb2N1c1RhcmdldCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuaGFzU2V0SW5pdGlhbEZvY3VzID0gdHJ1ZTtcbiAgICAgICAgZm9jdXNUYXJnZXQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25PcGVuUG9wb3ZlcigpOiB2b2lkIHtcbiAgICBjYW5jZWwodGhpcy5jbG9zaW5nVHJhbnNpdGlvblRpbWVvdXQgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI-KTtcbiAgICAvLyBXZSBuZWVkIHRvIHNldCB0aGlzIHN0YXRlIGEgYmVhdCBhZnRlciB0aGUgcmVuZGVyIHRha2VzIHBsYWNlLCBzbyB0aGF0IHRoZSBDU1NcbiAgICAvLyB0cmFuc2l0aW9uIGNhbiB0YWtlIGVmZmVjdC5cbiAgICB0aGlzLmNsb3NpbmdUcmFuc2l0aW9uQW5pbWF0aW9uRnJhbWUgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0-IHtcbiAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIC8vIGZvciBlYWNoIGNoaWxkIGVsZW1lbnQgb2YgYHRoaXMucGFuZWxgLCBmaW5kIGFueSB0cmFuc2l0aW9uIGR1cmF0aW9uIHdlIHNob3VsZCB3YWl0IGZvciBiZWZvcmUgc3RhYmlsaXppbmdcbiAgICBjb25zdCB7IGR1cmF0aW9uTWF0Y2gsIGRlbGF5TWF0Y2ggfSA9IEFycmF5LnByb3RvdHlwZS5zbGljZVxuICAgICAgLmNhbGwodGhpcy5wYW5lbCA_IHRoaXMucGFuZWwuY2hpbGRyZW4gOiBbXSlcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkdXJhdGlvbk1hdGNoLFxuICAgICAgICAgICAgZGVsYXlNYXRjaFxuICAgICAgICAgIH06IHsgZHVyYXRpb25NYXRjaDogbnVtYmVyOyBkZWxheU1hdGNoOiBudW1iZXIgfSxcbiAgICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudFxuICAgICAgICApID0-IHtcbiAgICAgICAgICBjb25zdCB0cmFuc2l0aW9uVGltaW5ncyA9IGdldFRyYW5zaXRpb25UaW1pbmdzKGVsZW1lbnQpO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGR1cmF0aW9uTWF0Y2g6IE1hdGgubWF4KFxuICAgICAgICAgICAgICBkdXJhdGlvbk1hdGNoLFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uVGltaW5ncy5kdXJhdGlvbk1hdGNoXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGVsYXlNYXRjaDogTWF0aC5tYXgoZGVsYXlNYXRjaCwgdHJhbnNpdGlvblRpbWluZ3MuZGVsYXlNYXRjaClcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICB7IGR1cmF0aW9uTWF0Y2g6IDAsIGRlbGF5TWF0Y2g6IDAgfVxuICAgICAgKTtcblxuICAgIHRoaXMucmVzcG9zaXRpb25UaW1lb3V0ID0gbGF0ZXIoXG4gICAgICB0aGlzLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlblN0YWJsZSA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5wb3NpdGlvblBvcG92ZXJGaXhlZCgpO1xuICAgICAgICAgIHRoaXMudXBkYXRlRm9jdXMoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgZm4pO1xuICAgICAgfSxcbiAgICAgIGR1cmF0aW9uTWF0Y2ggKyBkZWxheU1hdGNoXG4gICAgKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgZGlkSW5zZXJ0UG9wb3ZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdXBwcmVzc2luZ1BvcG92ZXIpIHtcbiAgICAgIC8vIGNvbXBvbmVudCB3YXMgY3JlYXRlZCB3aXRoIGlzT3Blbj10cnVlOyBub3cgdGhhdCBpdCdzIGluc2VydGVkXG4gICAgICAvLyBzdG9wIHN1cHByZXNzaW5nIGFuZCBzdGFydCBvcGVuaW5nXG4gICAgICB0aGlzLnN1cHByZXNzaW5nUG9wb3ZlciA9IGZhbHNlO1xuICAgICAgdGhpcy5pc09wZW5pbmcgPSB0cnVlO1xuXG4gICAgICBjb25zdCBmbiA9ICgpOiB2b2lkID0-IHRoaXMub25PcGVuUG9wb3ZlcigpO1xuXG4gICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgZm4pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFyZ3MucmVwb3NpdGlvbk9uU2Nyb2xsKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5wb3NpdGlvblBvcG92ZXJGaXhlZCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVGb2N1cygpO1xuICB9XG5cbiAgQGFjdGlvblxuICBkaWRVcGRhdGVSZXBvc2l0aW9uT25TY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJncy5yZXBvc2l0aW9uT25TY3JvbGwpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZpeGVkLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMucG9zaXRpb25Qb3BvdmVyRml4ZWQsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgZGlkVXBkYXRlSXNPcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDdXJyZW50bHlPcGVuID0gdGhpcy5pc09wZW47XG5cbiAgICBpZiAoIXRoaXMucHJldklzT3BlbiAmJiB0aGlzLmFyZ3MuaXNPcGVuKSB7XG4gICAgICB0aGlzLm9uT3BlblBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcmV2SXNPcGVuICYmICF0aGlzLmFyZ3MuaXNPcGVuKSB7XG4gICAgICAvLyBJZiB0aGUgdXNlciBoYXMganVzdCBjbG9zZWQgdGhlIHBvcG92ZXIsIHF1ZXVlIHVwIHRoZSByZW1vdmFsIG9mIHRoZSBjb250ZW50IGFmdGVyIHRoZVxuICAgICAgLy8gdHJhbnNpdGlvbiBpcyBjb21wbGV0ZS5cbiAgICAgIHRoaXMuaXNDbG9zaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmNsb3NpbmdUcmFuc2l0aW9uVGltZW91dCA9IGxhdGVyKFxuICAgICAgICB0aGlzLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Nsb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgMjUwXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucHJldklzT3BlbiA9IHRoaXMuYXJncy5pc09wZW47XG4gIH1cblxuICB3aWxsRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsRGVzdHJveSgpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZpeGVkLCB0cnVlKTtcbiAgICBjYW5jZWwodGhpcy5yZXNwb3NpdGlvblRpbWVvdXQgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI-KTtcbiAgICBjYW5jZWwodGhpcy5jbG9zaW5nVHJhbnNpdGlvblRpbWVvdXQgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbGF0ZXI-KTtcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmNsb3NpbmdUcmFuc2l0aW9uQW5pbWF0aW9uRnJhbWUgYXMgbnVtYmVyKTtcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZUZvY3VzQW5pbWF0aW9uRnJhbWUgYXMgbnVtYmVyKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25NdXRhdGlvbihyZWNvcmRzOiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgY29uc3Qgd2FpdER1cmF0aW9uID0gZ2V0V2FpdER1cmF0aW9uKHJlY29yZHMpO1xuXG4gICAgdGhpcy5wb3NpdGlvblBvcG92ZXJGaXhlZCgpO1xuXG4gICAgcGVyZm9ybU9uRnJhbWUod2FpdER1cmF0aW9uLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZpeGVkKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgcG9zaXRpb25Qb3BvdmVyKGFsbG93RW5mb3JjZVBvc2l0aW9uOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYnV0dG9uID09IG51bGwgfHwgdGhpcy5wYW5lbCA9PSBudWxsKSByZXR1cm47XG5cbiAgICBsZXQgcG9zaXRpb24gPSBnZXRQb3BvdmVyUG9zaXRpb25Gcm9tQW5jaG9yUG9zaXRpb24odGhpcy5hbmNob3JQb3NpdGlvbik7XG4gICAgbGV0IGZvcmNlUG9zaXRpb24gPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoXG4gICAgICBhbGxvd0VuZm9yY2VQb3NpdGlvbiAmJlxuICAgICAgdGhpcy5pc09wZW5TdGFibGUgJiZcbiAgICAgIHRoaXMub3BlblBvc2l0aW9uICE9IG51bGxcbiAgICApIHtcbiAgICAgIHBvc2l0aW9uID0gdGhpcy5vcGVuUG9zaXRpb247XG4gICAgICBmb3JjZVBvc2l0aW9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICB0b3AsXG4gICAgICBsZWZ0LFxuICAgICAgcG9zaXRpb246IGZvdW5kUG9zaXRpb24sXG4gICAgICBhcnJvdyxcbiAgICAgIGFuY2hvckJvdW5kaW5nQm94XG4gICAgfSA9IGZpbmRQb3BvdmVyUG9zaXRpb24oe1xuICAgICAgY29udGFpbmVyOiB0aGlzLmFyZ3MuY29udGFpbmVyLFxuICAgICAgcG9zaXRpb24sXG4gICAgICBmb3JjZVBvc2l0aW9uLFxuICAgICAgYWxpZ246IGdldFBvcG92ZXJBbGlnbkZyb21BbmNob3JQb3NpdGlvbih0aGlzLmFuY2hvclBvc2l0aW9uKSxcbiAgICAgIGFuY2hvcjogdGhpcy5idXR0b24sXG4gICAgICBwb3BvdmVyOiB0aGlzLnBhbmVsLFxuICAgICAgb2Zmc2V0OlxuICAgICAgICAhdGhpcy5hcmdzLmF0dGFjaFRvQW5jaG9yICYmIHRoaXMuaGFzQXJyb3dcbiAgICAgICAgICA_IDE2ICsgKHRoaXMuYXJncy5vZmZzZXQgfHwgMClcbiAgICAgICAgICA6IDggKyAodGhpcy5hcmdzLm9mZnNldCB8fCAwKSxcbiAgICAgIGFycm93Q29uZmlnOiB7XG4gICAgICAgIGFycm93V2lkdGg6IDI0LFxuICAgICAgICBhcnJvd0J1ZmZlcjogMTBcbiAgICAgIH0sXG4gICAgICByZXR1cm5Cb3VuZGluZ0JveDogdGhpcy5hcmdzLmF0dGFjaFRvQW5jaG9yLFxuICAgICAgYnVmZmVyOiB0aGlzLmFyZ3MuYnVmZmVyXG4gICAgfSk7XG5cbiAgICAvLyB0aGUgcG9wb3ZlcidzIHotaW5kZXggbXVzdCBpbmhlcml0IGZyb20gdGhlIGJ1dHRvblxuICAgIC8vIHRoaXMga2VlcHMgYSBidXR0b24ncyBwb3BvdmVyIHVuZGVyIGEgZmx5b3V0IHRoYXQgd291bGQgY292ZXIgdGhlIGJ1dHRvblxuICAgIC8vIGJ1dCBhIHBvcG92ZXIgdHJpZ2dlcmVkIGluc2lkZSBhIGZseW91dCB3aWxsIGFwcGVhciBvdmVyIHRoYXQgZmx5b3V0XG4gICAgY29uc3QgeyB6SW5kZXg6IHpJbmRleFByb3AgfSA9IHRoaXMuYXJncztcbiAgICBjb25zdCB6SW5kZXggPVxuICAgICAgekluZGV4UHJvcCA9PSBudWxsXG4gICAgICAgID8gZ2V0RWxlbWVudFpJbmRleCh0aGlzLmJ1dHRvbiwgdGhpcy5wYW5lbCkgKyAyMDAwXG4gICAgICAgIDogekluZGV4UHJvcDtcblxuICAgIGNvbnN0IHBvcG92ZXJTdHlsZXMgPSB7XG4gICAgICB0b3AsXG4gICAgICBsZWZ0OlxuICAgICAgICB0aGlzLmFyZ3MuYXR0YWNoVG9BbmNob3IgJiYgYW5jaG9yQm91bmRpbmdCb3hcbiAgICAgICAgICA_IGFuY2hvckJvdW5kaW5nQm94LmxlZnRcbiAgICAgICAgICA6IGxlZnQsXG4gICAgICB6SW5kZXhcbiAgICB9O1xuXG4gICAgY29uc3Qgd2lsbFJlbmRlckFycm93ID0gIXRoaXMuYXJncy5hdHRhY2hUb0FuY2hvciAmJiB0aGlzLmhhc0Fycm93O1xuICAgIGNvbnN0IGFycm93U3R5bGVzID0gd2lsbFJlbmRlckFycm93ID8gYXJyb3cgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgYXJyb3dQb3NpdGlvbiA9IGZvdW5kUG9zaXRpb247XG5cbiAgICB0aGlzLnBvcG92ZXJTdHlsZXMgPSBwb3BvdmVyU3R5bGVzO1xuICAgIHRoaXMuYXJyb3dTdHlsZXMgPSBhcnJvd1N0eWxlcztcbiAgICB0aGlzLmFycm93UG9zaXRpb24gPSBhcnJvd1Bvc2l0aW9uO1xuICAgIHRoaXMub3BlblBvc2l0aW9uID0gZm91bmRQb3NpdGlvbjtcbiAgfVxuXG4gIGdldCBfYXJyb3dTdHlsZXMoKTogUmV0dXJuVHlwZTx0eXBlb2YgaHRtbFNhZmU-IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB7IGFycm93U3R5bGVzIH0gPSB0aGlzO1xuXG4gICAgcmV0dXJuIGFycm93U3R5bGVzXG4gICAgICA_IGh0bWxTYWZlKGB0b3A6ICR7YXJyb3dTdHlsZXM_LnRvcH1weDsgbGVmdDogJHthcnJvd1N0eWxlcz8ubGVmdH1weDtgKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgX3BvcG92ZXJTdHlsZXMoKTogeyBbaTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHsgcGFuZWxTdHlsZSB9ID0gdGhpcy5hcmdzO1xuICAgIGNvbnN0IHsgcG9wb3ZlclN0eWxlcyB9ID0gdGhpcztcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5wYW5lbFN0eWxlLFxuICAgICAgdG9wOiBgJHtwb3BvdmVyU3R5bGVzLnRvcH1weGAsXG4gICAgICBsZWZ0OiBgJHtwb3BvdmVyU3R5bGVzLmxlZnR9cHhgLFxuICAgICAgekluZGV4OiBgJHtwb3BvdmVyU3R5bGVzLnpJbmRleH1gXG4gICAgfTtcbiAgfVxuXG4gIGdldCB0YWJpbmRleCgpIHtcbiAgICBpZiAodGhpcy5vd25Gb2N1cykge1xuICAgICAgcmV0dXJuIHRoaXMuYXJncy50YWJpbmRleCA_PyAnMCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICctMSc7XG4gIH1cblxuICBAYWN0aW9uXG4gIHBvc2l0aW9uUG9wb3ZlckZpeGVkKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25Qb3BvdmVyKHRydWUpO1xuICB9XG5cbiAgQGFjdGlvblxuICBwb3NpdGlvblBvcG92ZXJGbHVpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9uUG9wb3ZlcihmYWxzZSk7XG4gIH1cblxuICBAYWN0aW9uXG4gIHJlZ2lzdGVyQnV0dG9uKGJ0bjogSFRNTERpdkVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbiA9IGJ0bjtcbiAgICB0aGlzLmFyZ3MuYnV0dG9uUmVmPy4oYnRuKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgcmVnaXN0ZXJQYW5lbChwYW5lbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBhbmVsID0gcGFuZWw7XG4gICAgdGhpcy5hcmdzLnBhbmVsUmVmPy4ocGFuZWwpO1xuXG4gICAgaWYgKHBhbmVsID09PSBudWxsKSB7XG4gICAgICAvLyBwYW5lbCBoYXMgdW5tb3VudGVkLCByZXN0b3JlIHRoZSBzdGF0ZSBkZWZhdWx0c1xuICAgICAgdGhpcy5wb3BvdmVyU3R5bGVzID0gREVGQVVMVF9QT1BPVkVSX1NUWUxFUztcbiAgICAgIHRoaXMuYXJyb3dTdHlsZXMgPSB7fTtcbiAgICAgIHRoaXMuYXJyb3dQb3NpdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLm9wZW5Qb3NpdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLmlzT3BlblN0YWJsZSA9IGZhbHNlO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucG9zaXRpb25Qb3BvdmVyRmx1aWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBwYW5lbCBpcyBjb21pbmcgaW50byBleGlzdGVuY2VcbiAgICAgIHRoaXMucG9zaXRpb25Qb3BvdmVyRmx1aWQoKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnBvc2l0aW9uUG9wb3ZlckZsdWlkKTtcbiAgICB9XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAge3sjbGV0XG4gICAgICAocmFuZG9tSWQpXG4gICAgICAoY2xhc3NOYW1lc1xuICAgICAgICAoaWYgdGhpcy5pc09wZW5pbmcgXCJldWlQb3BvdmVyLWlzT3BlblwiKVxuICAgICAgICBwb3NpdGlvbj10aGlzLmFuY2hvclBvc2l0aW9uXG4gICAgICAgIGRpc3BsYXk9dGhpcy5kaXNwbGF5XG4gICAgICAgIGNvbXBvbmVudE5hbWU9XCJFdWlQb3BvdmVyXCJcbiAgICAgIClcbiAgICAgIChjbGFzc05hbWVzXG4gICAgICAgIFwiZXVpUG9wb3Zlcl9fcGFuZWxcIlxuICAgICAgICAoY29uY2F0IFwiZXVpUG9wb3Zlcl9fcGFuZWwtLVwiIHRoaXMuYXJyb3dQb3NpdGlvbilcbiAgICAgICAgKGlmIHRoaXMuaXNPcGVuaW5nIFwiZXVpUG9wb3Zlcl9fcGFuZWwtaXNPcGVuXCIpXG4gICAgICAgIChpZlxuICAgICAgICAgIChvciAobm90IHRoaXMuaGFzQXJyb3cpIEBhdHRhY2hUb0FuY2hvcikgXCJldWlQb3BvdmVyX19wYW5lbC1ub0Fycm93XCJcbiAgICAgICAgKVxuICAgICAgICAoaWYgQGF0dGFjaFRvQW5jaG9yIFwiZXVpUG9wb3Zlcl9fcGFuZWwtaXNBdHRhY2hlZFwiKVxuICAgICAgICBAcGFuZWxDbGFzc2VzXG4gICAgICApXG4gICAgICBhcyB8ZGVzY3JpcHRpb25JZCBjbGFzc2VzIHBhbmVsQ2xhc3Nlc3xcbiAgICB9fVxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz17e2NsYXNzZXN9fVxuICAgICAgICB7e29uS2V5IFwiX2FsbFwiIHRoaXMub25LZXlEb3duIHByaW9yaXR5PTF9fVxuICAgICAgICB7e2RpZEluc2VydCB0aGlzLmRpZEluc2VydFBvcG92ZXJ9fVxuICAgICAgICB7e2RpZFVwZGF0ZSB0aGlzLmRpZFVwZGF0ZUlzT3BlbiBAaXNPcGVufX1cbiAgICAgICAge3tkaWRVcGRhdGUgdGhpcy5kaWRVcGRhdGVSZXBvc2l0aW9uT25TY3JvbGwgQHJlcG9zaXRpb25PblNjcm9sbH19XG4gICAgICAgIHt7ZGlkSW5zZXJ0IChvcHRpb25hbCBAcG9wb3ZlclJlZil9fVxuICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICA-XG5cbiAgICAgICAge3shIGJ1dHRvbiB9fVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJldWlQb3BvdmVyX19hbmNob3Ige3tAYW5jaG9yQ2xhc3NOYW1lfX1cIlxuICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMucmVnaXN0ZXJCdXR0b259fVxuICAgICAgICA-XG4gICAgICAgICAge3t5aWVsZCB0bz1cImJ1dHRvblwifX1cbiAgICAgICAgPC9kaXY-XG5cbiAgICAgICAge3shIGNvbnRlbnQgfX1cbiAgICAgICAge3sjaWZcbiAgICAgICAgICAoYW5kXG4gICAgICAgICAgICAobm90IHRoaXMuc3VwcHJlc3NpbmdQb3BvdmVyKVxuICAgICAgICAgICAgKG9yIHRoaXMuaXNDdXJyZW50bHlPcGVuIHRoaXMuaXNDbG9zaW5nKVxuICAgICAgICAgIClcbiAgICAgICAgfX1cbiAgICAgICAgICA8RXVpUG9ydGFsIEBpbnNlcnQ9e3tAaW5zZXJ0fX0-XG4gICAgICAgICAgICB7eyNsZXQgKHJhbmRvbUlkKSBhcyB8cGFuZWxJZHx9fVxuICAgICAgICAgICAgICA8RXVpUGFuZWxcbiAgICAgICAgICAgICAgICBpZD17e3BhbmVsSWR9fVxuICAgICAgICAgICAgICAgIGNsYXNzPXt7cGFuZWxDbGFzc2VzfX1cbiAgICAgICAgICAgICAgICBhcmlhLWxpdmU9e3tpZiB0aGlzLm93bkZvY3VzIFwib2ZmXCIgXCJhc3NlcnRpdmVcIn19XG4gICAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e0BhcmlhTGFiZWx9fVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17e0BhcmlhTGFiZWxsZWRCeX19XG4gICAgICAgICAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e3tpZiB0aGlzLm93bkZvY3VzIGRlc2NyaXB0aW9uSWR9fVxuICAgICAgICAgICAgICAgIHRhYmluZGV4PXt7dGhpcy50YWJpbmRleH19XG4gICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3t0aGlzLnBhbmVsUGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgIHt7c2ltcGxlU3R5bGUgdGhpcy5fcG9wb3ZlclN0eWxlc319XG4gICAgICAgICAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5yZWdpc3RlclBhbmVsfX1cbiAgICAgICAgICAgICAgICB7e291dHNpZGVDbGlja0RldGVjdG9yIG9uT3V0c2lkZUNsaWNrPXRoaXMub25DbGlja091dHNpZGV9fVxuICAgICAgICAgICAgICAgIHt7b25LZXkgXCJFc2NhcGVcIiB0aGlzLm9uRXNjYXBlS2V5fX1cbiAgICAgICAgICAgICAgICB7e2ZvY3VzVHJhcFxuICAgICAgICAgICAgICAgICAgaXNBY3RpdmU9KG5vdFxuICAgICAgICAgICAgICAgICAgICAob3JcbiAgICAgICAgICAgICAgICAgICAgICAobm90IHRoaXMub3duRm9jdXMpIChub3QgdGhpcy5pc09wZW5TdGFibGUpIHRoaXMuaXNDbG9zaW5nXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIHNob3VsZFNlbGZGb2N1cz10aGlzLnNob3VsZFNlbGZGb2N1c1xuICAgICAgICAgICAgICAgICAgaXNQYXVzZWQ9dGhpcy5pc0ZvY3VzVHJhcFBhdXNlZFxuICAgICAgICAgICAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz0obWVyZ2VcbiAgICAgICAgICAgICAgICAgICAgKGhhc2hcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZT10aGlzLmlzT3BlblN0YWJsZVxuICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxGb2N1cz0ob3IgQGluaXRpYWxGb2N1cyB0aGlzLnBhbmVsKVxuICAgICAgICAgICAgICAgICAgICAgIG9uRGVhY3RpdmF0ZT0ob3B0aW9uYWwgQG9uVHJhcERlYWN0aXZhdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50U2Nyb2xsPXRydWVcbiAgICAgICAgICAgICAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlcz10cnVlXG4gICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2tGb2N1cz0oY29uY2F0IFwiI1wiIHBhbmVsSWQpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgQGZvY3VzVHJhcE9wdGlvbnNcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjb25jYXRcbiAgICAgICAgICAgICAgICAgICAgXCJldWlQb3BvdmVyX19wYW5lbEFycm93IGV1aVBvcG92ZXJfX3BhbmVsQXJyb3ctLVwiXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dQb3NpdGlvblxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7dGhpcy5fYXJyb3dTdHlsZXN9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJhcnJvd0NoaWxkcmVuXCJ9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHt7I2lmIHRoaXMub3duRm9jdXN9fVxuICAgICAgICAgICAgICAgICAgPHAgaWQ9e3tkZXNjcmlwdGlvbklkfX0ge3tzY3JlZW5SZWFkZXJPbmx5fX0-XG4gICAgICAgICAgICAgICAgICAgIFlvdSBhcmUgaW4gYSBkaWFsb2cuIFRvIGNsb3NlIHRoaXMgZGlhbG9nLCBoaXQgZXNjYXBlLlxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICB7e211dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgICAgICAgICAgICAgb25NdXRhdGlvbj10aGlzLm9uTXV0YXRpb25cbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXJPcHRpb25zPShtZXJnZVxuICAgICAgICAgICAgICAgICAgICAgIChoYXNoXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzPXRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTGlzdD10cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJEYXRhPXRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRyZWU9dHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBAbXV0YXRpb25PYnNlcnZlck9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiY29udGVudFwifX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9FdWlQYW5lbD5cbiAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAgPC9FdWlQb3J0YWw-XG4gICAgICAgIHt7L2lmfX1cblxuICAgICAgPC9kaXY-XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE9BQU8sUUFBUSxvQkFBb0I7QUFDNUMsU0FBUyxNQUFNLFFBQVEsZUFBZTtBQUN0QyxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFDckMsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxPQUFPLGVBQWUsK0NBQStDO0FBQ3JFLE9BQU8sZUFBZSwrQ0FBK0M7QUFDckUsU0FBUyxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksUUFBUSxpQkFBaUI7QUFDN0QsU0FBUyxRQUFRLFFBQVEsa0JBQWtCO0FBRTNDLE9BQU8sY0FBYyw0Q0FBNEM7QUFDakUsU0FBUyxTQUFTLFFBQVEsbUJBQW1CO0FBQzdDLE9BQU8sV0FBVyxrQ0FBa0M7QUFDcEQsU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsUUFBUSxzQkFBc0I7QUFDbkQsU0FBUyxRQUFRLFFBQVEsV0FBVztBQUVwQyxPQUFPLGNBQWMsMkJBQTJCO0FBQ2hELFNBQVMscUJBQXFCLFFBQVEsK0JBQStCO0FBQ3JFLE9BQU8sZ0JBQWdCLDRCQUE0QjtBQUNuRCxPQUFPLFdBQVcsc0JBQXNCO0FBQ3hDLE9BQU8sc0JBQXNCLG9DQUFvQztBQUNqRSxPQUFPLDBCQUEwQix5Q0FBeUM7QUFDMUUsT0FBTyxzQkFBc0IscUNBQXFDO0FBQ2xFLE9BQU8saUJBQWlCLCtCQUErQjtBQUN2RCxTQUFTLGlCQUFpQixRQUFRLGlDQUFpQztBQUNuRSxTQUNFLHFCQUFxQixFQUNyQixjQUFjLFFBQ1QsdUNBQXVDO0FBQzlDLFNBQVMsbUJBQW1CLEVBQUUsZ0JBQWdCLFFBQVEsNEJBQTRCO0FBQ2xGLFNBQ0Usb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixjQUFjLFFBQ1QseUJBQXlCO0FBQ2hDLE9BQU8sY0FBYyxrQkFBa0I7QUFDdkMsT0FBTyxlQUFlLG1CQUFtQjtBQUV6QyxjQUFjLGtCQUFrQixRQUFRLHFDQUFxQztBQUM3RSxjQUFjLGtCQUFrQixRQUFRLHlCQUF5QjtBQUNqRSxjQUFjLGtCQUFrQixRQUFRLGtDQUFrQztLQUVyRSxnQ0FBZ0M7QUFFckMsWUFBWSx3QkFDUixhQUNBLFdBQ0EsWUFDQSxlQUNBLGFBQ0EsY0FDQSxlQUNBLFdBQ0EsYUFDQSxnQkFDQSxZQUNBO0FBRUosWUFBWTtJQUNWLGVBQWUsTUFBTTtJQUNyQjs7R0FFQyxHQUNELGtCQUFrQixNQUFNO0lBQ3hCOztHQUVDLEdBQ0QsaUJBQWlCO0lBQ2pCOzs7O0dBSUMsR0FDRCxpQkFBaUIsT0FBTztJQUN4Qjs7R0FFQyxHQUNELFNBQVM7SUFDVCxhQUFhLEdBQUcsbUJBQW1CLE9BQU87SUFDMUM7O0dBRUMsR0FDRCxvQkFBb0IsSUFBSTtJQUN4Qjs7R0FFQyxHQUNELFlBQVk7SUFDWjs7R0FFQyxHQUNELHVCQUF1QjtJQUN2Qjs7R0FFQyxHQUNELFdBQVcsT0FBTztJQUNsQjs7Ozs7R0FLQyxHQUNELGVBQWUsY0FBYyxLQUFLO0lBQ2xDOzs7R0FHQyxHQUNEO1FBQ0UsU0FBUztRQUNULFVBQVUsV0FBVzs7SUFFdkI7O0dBRUMsR0FDRCxTQUFTLE9BQU87SUFDaEI7O0dBRUMsR0FDRCxXQUFXLE9BQU87SUFDbEI7O0dBRUMsR0FDRCxpQkFBaUIsTUFBTTtJQUN2Qjs7R0FFQyxHQUNELG1CQUFtQjtJQUNuQjs7R0FFQyxHQUNEO1NBQWdCLEdBQUcsTUFBTSxHQUFHLE1BQU07O0lBQ2xDLFlBQVksR0FBRyxjQUFjLElBQUksS0FBSyxPQUFPO0lBQzdDLGNBQWMsR0FBRyxnQkFBZ0IsT0FBTztJQUN4Qzs7O0dBR0MsR0FDRCxxQkFBcUIsT0FBTztJQUM1Qjs7O0dBR0MsR0FDRCxTQUFTLE1BQU07SUFDZjs7R0FFQyxHQUNELDJCQUEyQixJQUFJO0lBQy9COztHQUVDLEdBQ0QsU0FBUyxNQUFNO0lBQ2Y7Ozs7R0FJQyxHQUNELFNBQVMsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU07SUFDakQ7OztHQUdDLEdBQ0QsZ0JBQWdCO0lBQ2hCOztHQUVDLEdBQ0QsWUFBWSxNQUFNO0lBQ2xCOzs7R0FHQyxHQUNELGlCQUFpQixNQUFNO0lBRXZCLFdBQVcsTUFBTSxHQUFHLE1BQU07SUFFMUIsa0JBQWtCLE9BQU87SUFFekIsb0JBQW9CLE9BQU87SUFFM0I7UUFDRSxrQkFBa0IsR0FBRyxVQUFVLElBQUk7O0lBR3JDO1FBQ0UsYUFBYSxPQUFPO1FBQ3BCLFlBQVksT0FBTztRQUNuQixnQkFBZ0IsT0FBTztRQUN2QixVQUFVLE9BQU87OztLQUloQixpQkFBaUIsT0FBTyxVQUFVLFNBQVM7QUFFaEQsTUFBTTtLQUNILFlBQVksaUJBQWlCO0lBQzVCO0lBQ0YsSUFBSTtJQUNKLE9BQU87SUFDUCxNQUFNO0lBQ04sTUFBTTtBQUNSO0FBRUEsT0FBTyxTQUFTLHFDQUNkLGlCQUFnQixxQkFBcUIsR0FDcEM7SUFDRCw0REFBNEQ7SUFDNUQsa0RBQWtEO0lBRWxELHlEQUF5RDtJQUN6RCx3REFBd0Q7SUFDeEQsdURBQXVEO0lBQ3ZELGtEQUFrRDtJQUNsRCxNQUFNLFNBQVEsZ0JBQWUsS0FBSyxDQUFDO0lBRW5DLElBQUksUUFBTyxVQUFVLE9BQU0sTUFBTSxHQUFHLEdBQUc7UUFDckMsT0FBTyxrQ0FBa0MsQ0FBQyxNQUFLLENBQUMsRUFBRSxJQUFJLGVBQWU7SUFDdkU7SUFFQSxPQUFPLGtDQUFrQyxDQUFDLEtBQUs7QUFDakQ7QUFFQSxPQUFPLFNBQVMsa0NBQ2QsaUJBQWdCLHFCQUFxQixHQUNwQztJQUNELG9EQUFvRDtJQUNwRCxtREFBbUQ7SUFFbkQsMERBQTBEO0lBQzFELHFEQUFxRDtJQUNyRCxtQ0FBbUM7SUFDbkMsTUFBTSxTQUFRLGdCQUFlLEtBQUssQ0FBQztJQUVuQywyQkFBMkI7SUFDM0IscURBQXFEO0lBQ3JELGdHQUFnRztJQUNoRyxJQUFJLFFBQU8sVUFBVSxPQUFNLE1BQU0sR0FBRyxHQUFHO1FBQ3JDLE9BQU8sa0NBQWtDLENBQ3ZDLE1BQUssQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLGVBQzVCO0lBQ0g7SUFFQSxPQUFPLGtDQUFrQyxDQUFDLE9BQU87QUFDbkQ7QUFFQSxPQUFPLE1BQU0sbUJBQW1CLE9BQU8sSUFBSSxDQUFDLHVCQUF1QjtBQUNuRSxPQUFPLE1BQU0sVUFBVSxPQUFPLElBQUksQ0FBQyxnQkFBZ0I7QUFDbkQsWUFBWSxjQUFjLGNBQWMsTUFBTSxVQUFVO0FBRXhELE1BQU0seUJBQXlCO0lBQzdCLEtBQUs7SUFDTCxNQUFNO0FBQ1I7QUFFQSxTQUFTLDJCQUNQLGdCQUFlLFdBQVcsR0FDekIsY0FBYyxJQUFJO0lBQ25CLE1BQU0sb0JBQW1CLE9BQU87SUFFaEMsSUFBSSxzQkFBcUIsVUFBVTtRQUNqQyxPQUFPLFNBQVMsYUFBYSxDQUFDLGlCQUFnQixNQUFNO0lBQ3REO0lBRUEsSUFBSSxzQkFBcUIsWUFBWTtRQUNuQyxPQUFPLENBQUMsdUJBQXNCLGNBQWMsSUFBSTtJQUNsRDtJQUVBLE9BQU8saUJBQWdCLGNBQWMsSUFBSTtBQUMzQztLQUVLO0lBQ0gsTUFBTSxNQUFNO0lBQ1osT0FBTyxNQUFNO0lBQ2IsUUFBUSxNQUFNO0lBQ2QsU0FBUyxNQUFNO0lBQ2YsU0FBUyxNQUFNOztBQUdqQixpQkFBaUI7SUFDZixTQUFTO0lBQ1QsTUFBTTtJQUNOO1FBQ0U7UUFDQTtRQUNBOzs7QUFJSixlQUFlLE1BQU0sNEJBQTRCLFVBQVU7SUFDekQsV0FBVztJQUNYLENBQUMsc0JBQXNCO0lBQU8sUUFBUyxPQUFPLENBQUM7SUFDL0MsQ0FBQyxzQkFBc0I7SUFBTSxVQUFXLE9BQU8sQ0FBQztJQUNoRCxDQUFDLHNCQUFzQjtJQUFjLGdCQUFpQixzQkFBc0I7SUFDNUUsQ0FBQyxzQkFBc0I7SUFBSyxrQkFBbUIsaUJBQWlCO0lBQ2hFLENBQUMsc0JBQXNCO0lBQU0sVUFBVyxPQUFPLENBQUM7SUFDaEQsQ0FBQyxzQkFBc0I7SUFBZSxTQUFVLE1BQU0sQ0FBQztJQUN2RCxDQUFDLHNCQUFzQjtJQUFNLGlCQUFrQixPQUFPLENBQUM7SUFDdkQsQ0FBQyxzQkFBc0I7SUFBTyxtQkFBb0IsT0FBTyxDQUFDO0lBRTFELE9BQU87SUFDUCxDQUFDO0lBQVEsWUFBWSxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFBUSxvQkFBb0IsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBQVEsWUFBWSxNQUFNO0lBQzNCLENBQUM7SUFBUSxZQUFZLE1BQU07SUFDM0IsQ0FBQztJQUFRLGVBQWUsV0FBVyxDQUFDLEVBQUU7SUFDdEMsQ0FBQztJQUFRLGFBQWEsV0FBVyxTQUFTLEdBQUcsQ0FBQyxFQUFFO0lBQ2hELENBQUM7SUFBUSxlQUFlLHFCQUFxQixJQUFJLEdBQUcsS0FBSztJQUN6RCxDQUFDO0lBQVEsY0FBYyxxQkFBcUIsSUFBSSxHQUFHLEtBQUs7SUFDeEQsQ0FBQztJQUFRLGVBQWUsTUFBTTtJQUM5QixDQUFDO0lBQVEsaUJBQWlCLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDOUMsR0FBRztJQUVILFFBQVEsb0JBQW9CLGtCQUFrQixTQUFTLElBQUksR0FBRyxLQUFLO0lBQ25FLFFBQVEsMEJBQTBCLGtCQUFrQixTQUFTLElBQUksR0FBRyxLQUFLO0lBQ3pFLFFBQVEsaUNBQWlDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDNUQsUUFBUSwyQkFBMkIsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN0RCxRQUFRLG9CQUFvQixPQUFPLEdBQUcsTUFBTTtJQUM1QyxDQUFDO0lBQVEsUUFBUSxjQUFjLElBQUksR0FBRyxLQUFLO0lBQzNDLENBQUM7SUFBUSxPQUFPLGNBQWMsSUFBSSxHQUFHLEtBQUs7SUFFMUMsWUFBWSxRQUFPLE9BQU8sRUFBRSxPQUFNLGNBQWMsQ0FBRTtRQUNoRCxLQUFLLENBQUMsUUFBTztRQUNiLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtRQUNuRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTTtRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNO0lBQ3BDO0lBRUEsQ0FBQztJQUNELGdCQUFnQixJQUFJLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1FBQ3hCO0lBQ0Y7SUFFQSxDQUFDO0lBQ0QsWUFBWSxRQUFPLEtBQUssRUFBRSxXQUFVLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUM1RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixVQUFTO1lBQ1QsVUFBUztZQUNULE9BQU0sY0FBYztZQUNwQixPQUFNLGVBQWU7WUFDckIsSUFBSSxDQUFDLFlBQVk7UUFDbkI7SUFDRjtJQUVBLENBQUM7SUFDRCxVQUFVLFFBQU8sYUFBYSxFQUFFLFVBQVMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pFLElBQUksT0FBTSxHQUFHLEtBQUssa0JBQWtCLE1BQU0sRUFBRTtZQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVMsT0FBTyxJQUFJLE9BQU8sWUFBVyxPQUFPLElBQUk7UUFDcEU7SUFDRjtJQUVBLENBQUM7SUFDRCxlQUFlLFFBQU8sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQzVDLE9BQU87WUFDTCxxRUFBcUU7WUFDckUsd0VBQXdFO1lBQ3hFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFNLE1BQU0sSUFBSSxVQUFVLE9BQU87Z0JBQ3ZFLElBQUksQ0FBQyxZQUFZO1lBQ25CO1FBQ0Y7SUFDRjtJQUVBLGVBQWUsSUFBSSxDQUFDO1FBQ2xCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMseUJBQXlCLEdBQUcsT0FBTyxxQkFBcUIsQ0FBQztZQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTztnQkFDckU7WUFDRjtZQUVBLDZFQUE2RTtZQUM3RSxJQUNFLElBQUksQ0FBQyxrQkFBa0IsSUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxhQUFhLEdBQzFDO2dCQUNBO1lBQ0Y7WUFFQSxrRkFBa0Y7WUFDbEYsSUFBSTtZQUVKLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTTtnQkFDbEMsZUFBYywyQkFBMkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ2pFLE9BQU87Z0JBQ0wsTUFBTSxpQkFBZ0IsU0FBUyxJQUFJLENBQUMsS0FBSztnQkFFekMsSUFBSSxlQUFjLE1BQU0sRUFBRTtvQkFDeEIsZUFBYyxjQUFhLENBQUMsRUFBRTtnQkFDaEM7WUFDRjtZQUVBLCtGQUErRjtZQUMvRixtRkFBbUY7WUFDbkYsMkNBQTJDO1lBQzNDLElBQUksZ0JBQWUsTUFBTTtnQkFDdkIsa0RBQWtEO2dCQUNsRCw4REFBOEQ7Z0JBQzlELHNFQUFzRTtnQkFDdEUsTUFBTSxtQkFBa0IsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU87Z0JBRW5FLElBQUkscUJBQW9CLEtBQUs7b0JBQzNCLEtBQUs7b0JBQ0wsSUFBSSxDQUFDLFdBQVc7Z0JBQ2xCLE9BQU87b0JBQ0wsS0FBSztvQkFDTCxlQUFjLElBQUksQ0FBQyxLQUFLO2dCQUMxQjtZQUNGLE9BQU87Z0JBQ0wsZ0RBQWdEO2dCQUNoRCxNQUFNLGNBQWEsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFhLFVBQVU7Z0JBRWxFLElBQUksZ0JBQWUsVUFBVTtvQkFDM0IsNkNBQTZDO29CQUM3QyxJQUFJLENBQUMsV0FBVztnQkFDbEI7WUFDRjtZQUVBLElBQUksZ0JBQWUsTUFBTTtnQkFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHO2dCQUMxQixhQUFZLEtBQUs7WUFDbkI7UUFDRjtJQUNGO0lBRUEsQ0FBQztJQUNELGlCQUFpQixJQUFJLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLElBQUksa0JBQWtCO1FBQzFELGlGQUFpRjtRQUNqRiw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLCtCQUErQixHQUFHLE9BQU8scUJBQXFCLENBQUM7WUFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRztRQUNuQjtRQUVBLDZHQUE2RztRQUM3RyxNQUFNLEVBQUUsZUFBQSxjQUFhLEVBQUUsWUFBQSxXQUFVLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLENBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsRUFDMUMsTUFBTSxDQUNMLENBQ0UsRUFDRSxlQUFBLGNBQWEsRUFDYixZQUFBLFdBQVU7WUFDUCxlQUFlLE1BQU07WUFBRSxZQUFZLE1BQU07U0FBRSxFQUNoRCxVQUFTO1lBRVQsTUFBTSxxQkFBb0IscUJBQXFCO1lBRS9DLE9BQU87Z0JBQ0wsZUFBZSxLQUFLLEdBQUcsQ0FDckIsZ0JBQ0EsbUJBQWtCLGFBQWE7Z0JBRWpDLFlBQVksS0FBSyxHQUFHLENBQUMsYUFBWSxtQkFBa0IsVUFBVTtZQUMvRDtRQUNGLEdBQ0E7WUFBRSxlQUFlO1lBQUcsWUFBWTtRQUFFO1FBR3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUN4QixJQUFJLEVBQ0o7WUFDRSxJQUFJLENBQUMsWUFBWSxHQUFHO1lBRXBCLE1BQU0sTUFBSyxJQUFJLElBQUk7Z0JBQ2pCLElBQUksQ0FBQyxvQkFBb0I7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXO1lBQ2xCO1lBRUEsYUFBYSxlQUFlLElBQUksRUFBRTtRQUNwQyxHQUNBLGlCQUFnQjtJQUVwQjtJQUVBLENBQUM7SUFDRCxvQkFBb0IsSUFBSSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLGlFQUFpRTtZQUNqRSxxQ0FBcUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFFakIsTUFBTSxNQUFLLElBQUksSUFBSSxHQUFJLElBQUksQ0FBQyxhQUFhO1lBRXpDLGFBQWEsZUFBZSxJQUFJLEVBQUU7UUFDcEM7UUFFQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtRQUMvRDtRQUVBLElBQUksQ0FBQyxXQUFXO0lBQ2xCO0lBRUEsQ0FBQztJQUNELCtCQUErQixJQUFJLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7UUFDL0QsT0FBTztZQUNMLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7UUFDbEU7SUFDRjtJQUVBLENBQUM7SUFDRCxtQkFBbUIsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU07UUFFbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWE7UUFDcEI7UUFFQSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN4Qyx5RkFBeUY7WUFDekYsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNqQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsTUFDOUIsSUFBSSxFQUNKO2dCQUNFLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDbkIsR0FDQTtRQUVKO1FBRUEsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDcEM7SUFFQSxlQUFlLElBQUksQ0FBQztRQUNsQixLQUFLLENBQUM7UUFDTixPQUFPLG1CQUFtQixDQUFDLFVBQVUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixJQUFJLGtCQUFrQjtRQUNwRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsSUFBSSxrQkFBa0I7UUFDMUQscUJBQXFCLElBQUksQ0FBQywrQkFBK0IsSUFBSSxNQUFNO1FBQ25FLHFCQUFxQixJQUFJLENBQUMseUJBQXlCLElBQUksTUFBTTtJQUMvRDtJQUVBLENBQUM7SUFDRCxXQUFXLFVBQVMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzFDLE1BQU0sZ0JBQWUsZ0JBQWdCO1FBRXJDLElBQUksQ0FBQyxvQkFBb0I7UUFFekIsZUFBZSxlQUFjLElBQUksQ0FBQyxvQkFBb0I7SUFDeEQ7SUFFQSxDQUFDO0lBQ0QsZ0JBQWdCLHVCQUFzQixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLElBQUksTUFBTTtRQUUvQyxJQUFJLFlBQVcscUNBQXFDLElBQUksQ0FBQyxjQUFjO1FBQ3ZFLElBQUksaUJBQWdCO1FBRXBCLElBQ0UseUJBQ0EsSUFBSSxDQUFDLFlBQVksSUFDakIsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUNyQjtZQUNBLFlBQVcsSUFBSSxDQUFDLFlBQVk7WUFDNUIsaUJBQWdCO1FBQ2xCO1FBRUEsTUFBTSxFQUNKLEtBQUEsSUFBRyxFQUNILE1BQUEsS0FBSSxFQUNKLFVBQVUsY0FBYSxFQUN2QixPQUFBLE1BQUssRUFDTCxtQkFBQSxrQkFBaUIsRUFDbEIsR0FBRyxvQkFBb0I7WUFDdEIsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDOUIsVUFBQTtZQUNBLGVBQUE7WUFDQSxPQUFPLGtDQUFrQyxJQUFJLENBQUMsY0FBYztZQUM1RCxRQUFRLElBQUksQ0FBQyxNQUFNO1lBQ25CLFNBQVMsSUFBSSxDQUFDLEtBQUs7WUFDbkIsUUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQ3RDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2hDLGFBQWE7Z0JBQ1gsWUFBWTtnQkFDWixhQUFhO1lBQ2Y7WUFDQSxtQkFBbUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQzNDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1FBQzFCO1FBRUEscURBQXFEO1FBQ3JELDJFQUEyRTtRQUMzRSx1RUFBdUU7UUFDdkUsTUFBTSxFQUFFLFFBQVEsV0FBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFDeEMsTUFBTSxVQUNKLGVBQWMsT0FDVixpQkFBaUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQzVDO1FBRU4sTUFBTSxpQkFBZ0I7WUFDcEIsS0FBQTtZQUNBLE1BQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUkscUJBQ3hCLG1CQUFrQixJQUFJLEdBQ3RCO1lBQ04sUUFBQTtRQUNGO1FBRUEsTUFBTSxtQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsUUFBUTtRQUNsRSxNQUFNLGVBQWMsbUJBQWtCLFNBQVE7UUFDOUMsTUFBTSxpQkFBZ0I7UUFFdEIsSUFBSSxDQUFDLGFBQWEsR0FBRztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUc7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRztJQUN0QjtJQUVBLElBQUksZ0JBQWdCLGtCQUFrQixZQUFZLFNBQVMsQ0FBQztRQUMxRCxNQUFNLEVBQUUsYUFBQSxZQUFXLEVBQUUsR0FBRyxJQUFJO1FBRTVCLE9BQU8sZUFDSCxTQUFTLENBQUMsS0FBSyxFQUFFLGNBQWEsSUFBSSxVQUFVLEVBQUUsY0FBYSxLQUFLLEdBQUcsQ0FBQyxJQUNwRTtJQUNOO0lBRUEsSUFBSTtTQUFxQixHQUFHLE1BQU0sR0FBRyxNQUFNO01BQUc7UUFDNUMsTUFBTSxFQUFFLFlBQUEsV0FBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFDaEMsTUFBTSxFQUFFLGVBQUEsY0FBYSxFQUFFLEdBQUcsSUFBSTtRQUU5QixPQUFPO1lBQ0wsR0FBRyxXQUFVO1lBQ2IsS0FBSyxDQUFDLEVBQUUsZUFBYyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxFQUFFLGVBQWMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQixRQUFRLENBQUMsRUFBRSxlQUFjLE1BQU0sQ0FBQyxDQUFDO1FBQ25DO0lBQ0Y7SUFFQSxJQUFJLFdBQVc7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSTtRQUMvQjtRQUVBLE9BQU87SUFDVDtJQUVBLENBQUM7SUFDRCx3QkFBd0IsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDdkI7SUFFQSxDQUFDO0lBQ0Qsd0JBQXdCLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3ZCO0lBRUEsQ0FBQztJQUNELGVBQWUsTUFBSyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUc7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRztJQUN4QjtJQUVBLENBQUM7SUFDRCxjQUFjLFFBQU8sV0FBVyxHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUc7UUFFckIsSUFBSSxXQUFVLE1BQU07WUFDbEIsa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ3BCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxJQUFJLENBQUMsb0JBQW9CO1FBQ2hFLE9BQU87WUFDTCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLG9CQUFvQjtZQUN6QixPQUFPLGdCQUFnQixDQUFDLFVBQVUsSUFBSSxDQUFDLG9CQUFvQjtRQUM3RDtJQUNGO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEwSFYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBMUhBO0FBMkhaIn0"],"names":["anchorPositionToPopoverPositionMap","up","right","down","left","getPopoverPositionFromAnchorPosition","anchorPosition1","match1","match","length","getPopoverAlignFromAnchorPosition","toLowerCase","ANCHOR_POSITIONS","Object","keys","anchorPositionMapping","DISPLAY","displayMapping","DEFAULT_POPOVER_STYLES","top","getElementFromInitialFocus","initialFocus1","initialFocusType1","document","querySelector","EuiPopoverComponent","Component","g","this","prototype","argOrDefaultDecorator","i","void 0","tracked","respositionTimeout","closingTransitionTimeout","closingTransitionAnimationFrame","updateFocusAnimationFrame","hasSetInitialFocus","constructor","owner1","args1","assert","args","closePopover","prevIsOpen","isOpen","suppressingPopover","isCurrentlyOpen","n","action","onEscapeKey","event1","ekEvent1","stopPropagation","stopImmediatePropagation","preventDefault","onKeyDown","key","cascadingMenuKeys","ESCAPE","onClickOutside","focusTrapOptions","button","contains","target","updateFocus","window","requestAnimationFrame","ownFocus","panel","initialFocus","activeElement","focusTarget1","tabbableItems1","tabbable","panelVisibility1","getComputedStyle","opacity","visibility1","visibility","focus","onOpenPopover","cancel","isOpening","durationMatch","durationMatch1","delayMatch","delayMatch1","Array","slice","call","children","reduce","element1","transitionTimings1","getTransitionTimings","Math","max","later","isOpenStable","fn1","positionPopoverFixed","scheduleOnce","didInsertPopover","repositionOnScroll","addEventListener","didUpdateRepositionOnScroll","removeEventListener","didUpdateIsOpen","isClosing","willDestroy","cancelAnimationFrame","onMutation","records1","waitDuration1","getWaitDuration","performOnFrame","positionPopover","allowEnforcePosition1","position1","anchorPosition","forcePosition1","undefined","openPosition","top1","left1","position","foundPosition1","arrow","arrow1","anchorBoundingBox","anchorBoundingBox1","findPopoverPosition","container","forcePosition","align","anchor","popover","offset","attachToAnchor","hasArrow","arrowConfig","arrowWidth","arrowBuffer","returnBoundingBox","buffer","zIndex","zIndexProp1","zIndex1","getElementZIndex","popoverStyles1","willRenderArrow1","arrowStyles1","arrowPosition1","popoverStyles","arrowStyles","arrowPosition","_arrowStyles","htmlSafe","_popoverStyles","panelStyle","panelStyle1","tabindex","positionPopoverFluid","registerButton","btn1","buttonRef","registerPanel","panel1","panelRef","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","classNames","concat","or","not","onKey","didInsert","didUpdate","optional","and","EuiPortal","EuiPanel","simpleStyle","outsideClickDetector","focusTrap","merge","hash","screenReaderOnly","mutationObserver"],"mappings":"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"}
|