{"version":3,"sources":["webpack:///./front/components/core/Button/types.ts","webpack:///./front/components/core/Button/index.tsx","webpack:///./front/components/core/FrequencyOptions/constants.js","webpack:///./front/components/core/Notification/components/AlertType/index.jsx","webpack:///./front/components/core/Notification/components/CloseButton/index.jsx","webpack:///./front/components/core/Notification/utils/animations.js","webpack:///./front/components/core/Notification/utils/notificationTypes.js","webpack:///./front/components/core/Notification/utils/index.js","webpack:///./front/components/core/Notification/index.jsx","webpack:///./front/components/core/Link/components/Core/index.jsx","webpack:///./front/components/core/Link/components/BackTo/index.jsx","webpack:///./front/components/core/Link/components/LinkList/index.jsx","webpack:///./front/components/core/Link/components/Mark/index.jsx","webpack:///./front/components/core/Link/index.js","webpack:///./front/components/core/FrequencyOptions/shapes.js","webpack:///./front/components/core/Placeholder/components/TextInput/index.jsx","webpack:///./front/components/core/Placeholder/components/InputPlaceholder/index.jsx","webpack:///./front/components/core/Placeholder/components/ButtonGroup/index.jsx","webpack:///./front/components/core/Placeholder/components/PageHeader/index.jsx","webpack:///./front/components/core/Placeholder/components/Paginator/index.jsx","webpack:///./front/components/core/Placeholder/components/Tabs/components/MobileTabs/index.jsx","webpack:///./front/components/core/Placeholder/components/Tabs/index.jsx","webpack:///./front/components/core/Placeholder/components/Tags/index.jsx","webpack:///./front/components/core/Placeholder/components/Card/components/CardTable/index.jsx","webpack:///./front/components/core/Placeholder/components/Card/components/CardNewsStory/index.jsx","webpack:///./front/components/core/Placeholder/components/Card/index.jsx","webpack:///./front/components/core/Placeholder/index.jsx","webpack:///./front/components/core/Validators/components/TextValidator/utils/index.js","webpack:///./front/components/core/Validators/components/TextValidator/utils/useTextValidator.js","webpack:///./front/components/core/Validators/components/TextValidator/components/LetterInput/index.jsx","webpack:///./front/components/core/Validators/components/TextValidator/index.jsx","webpack:///./front/components/core/Validators/components/TextInputValidator/utils/index.js","webpack:///./front/components/core/Validators/components/TextInputValidator/index.jsx","webpack:///./front/components/core/Modal/components/TextConfirmation/index.jsx","webpack:///./front/components/core/Modal/components/Disclaimer/index.jsx","webpack:///./front/components/core/Modal/components/Confirmation/index.jsx","webpack:///./front/components/core/Modal/utils/notifications.js","webpack:///./front/components/core/Modal/utils/api.js","webpack:///./front/components/core/Modal/utils/transformers.js","webpack:///./front/components/core/Modal/components/EditorialAlert/index.jsx","webpack:///./front/components/core/Modal/index.jsx","webpack:///./front/components/core/ExportDocument/utils/colors.scss","webpack:///./front/components/core/Loader/helpers.js","webpack:///./front/components/core/Loader/index.jsx","webpack:///./front/components/core/Select/components/DropdownIndicator.jsx","webpack:///./front/components/core/Select/index.jsx","webpack:///./front/components/core/Modal/useModal.js","webpack:///./front/components/core/Label/index.jsx","webpack:///./front/components/core/Input/components/Input/index.tsx","webpack:///./front/components/core/Input/components/InputSelect/theme.js","webpack:///./front/components/core/Input/components/InputSelect/index.jsx","webpack:///./front/components/core/Input/index.jsx","webpack:///./front/components/core/Map/utils/constants.js","webpack:///./front/components/core/Checkbox/components/Checkbox/index.jsx","webpack:///./front/components/core/Checkbox/components/IndeterminateCheckbox/index.jsx","webpack:///./front/components/core/Checkbox/components/IndeterminateCheckbox/useIndeterminateCheckbox.js","webpack:///./front/components/core/Checkbox/components/CheckboxButton/index.jsx","webpack:///./front/components/core/Checkbox/index.jsx","webpack:///./front/components/core/AdvancedSearch/utils/withSearch.jsx","webpack:///./front/components/core/AdvancedSearch/utils/constants.js","webpack:///./front/components/core/AdvancedSearch/utils/useActiveItem.js","webpack:///./front/components/core/AdvancedSearch/components/SearchInput/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/Options/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/OptionsSection.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/TopBar/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/utils/useSearchItem.js","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/utils/index.js","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/ItemInfo/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/ItemActions.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/SearchesPaginator.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/ListItems.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/FooterActions/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/DesktopView.jsx","webpack:///./front/components/core/AdvancedSearch/components/MobileView/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseLabelGroup/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseButtonGroup/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseRange/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseLabelInputGroup/index.jsx","webpack:///./front/components/core/AdvancedSearch/index.jsx","webpack:///./front/components/core/Table/components/Placeholder/HeaderPlaceholder.jsx","webpack:///./front/components/core/Table/components/Header/index.jsx","webpack:///./front/components/core/Table/components/Dimensions/components/EmptyMessage.jsx","webpack:///./front/components/core/Table/components/Dimensions/components/CustomFieldsIcon.jsx","webpack:///./front/components/core/Table/components/Dimensions/index.jsx","webpack:///./front/components/core/Table/components/Placeholder/BodyPlaceholder.jsx","webpack:///./front/components/core/Table/components/Body/useExpander.js","webpack:///./front/components/core/Table/components/Body/index.jsx","webpack:///./front/components/core/Table/utils/constants.js","webpack:///./front/components/core/Table/index.jsx","webpack:///./front/components/core/Select/utils.js","webpack:///./front/components/core/Badge/components/ButtonBadge/index.jsx","webpack:///./front/components/core/Badge/index.jsx","webpack:///./front/components/core/Card/components/ProgressCard/index.jsx","webpack:///./front/components/core/Card/index.jsx","webpack:///./front/components/core/CustomFields/utils/constants.js","webpack:///./front/components/core/Select/components/RichOption/constants.js","webpack:///./front/components/core/ExportDocument/components/BaseDocument/index.jsx","webpack:///./front/components/core/ExportDocument/components/BasePage/index.jsx","webpack:///./front/components/core/ExportDocument/components/DocumentFooter/index.jsx","webpack:///./front/components/core/ExportDocument/components/DocumentTitle/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabelTitle/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabelLink/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabelText/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabelTextArray/index.jsx","webpack:///./front/components/core/ExportDocument/components/MultipleLabelArray/index.jsx","webpack:///./front/components/core/ExportDocument/components/TableView/styles.js","webpack:///./front/components/core/ExportDocument/components/TableView/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabelItemList/index.jsx","webpack:///./front/components/core/ExportDocument/components/PartyIcon/index.jsx","webpack:///./front/components/core/ExportDocument/components/LegislatorName/styles.js","webpack:///./front/components/core/ExportDocument/components/LegislatorName/index.jsx","webpack:///./front/components/core/ExportDocument/components/ReportSummary/styles.js","webpack:///./front/components/core/ExportDocument/components/ReportSummary/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabeledProgressBar/styles.js","webpack:///./front/components/core/ExportDocument/components/LabeledProgressBar/index.jsx","webpack:///./front/components/core/ExportDocument/components/LabeledProgressBar/themes.js","webpack:///./front/components/core/ExportDocument/components/RowsLabelValues/styles.js","webpack:///./front/components/core/ExportDocument/components/RowsLabelValues/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExternalLink/index.jsx","webpack:///./front/components/core/ExportDocument/components/Tags.jsx","webpack:///./front/components/core/ExportDocument/index.jsx","webpack:///./front/components/core/Profile/components/DataCard/index.jsx","webpack:///./front/components/core/Accordion/components/Collapse/index.jsx","webpack:///./front/components/core/Accordion/components/Item.jsx","webpack:///./front/components/core/Accordion/components/CaretTitle/index.jsx","webpack:///./front/components/core/Accordion/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/LinkListItem/components/ListItem.jsx","webpack:///./front/components/core/Table/components/ColumnItem/ViewMoreItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/EmailItem/validators/EmailValidator/validateEmail.ts","webpack:///./front/components/core/Table/components/ColumnItem/EmailItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/LegislatorItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/LinkListItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/CapitalizedItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/PhoneItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/DateItem.jsx","webpack:///./front/components/core/Table/components/ColumnItem/EmptyItem.jsx","webpack:///./front/components/core/Table/components/ColumnItem/TrimTextItem/components/TrimTextHtmlItem.jsx","webpack:///./front/components/core/Table/components/ColumnItem/LinkItem.jsx","webpack:///./front/components/core/Table/components/ColumnItem/OfficeItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/LegislatorListItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/LegislatorListItem/utils.js","webpack:///./front/components/core/Table/components/ColumnItem/BillTitleItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/CustomFieldsItem.jsx","webpack:///./front/components/core/Table/components/ColumnItem/DraggableItem/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/index.js","webpack:///./front/components/core/TagInput/components/CreatableInput.jsx","webpack:///./front/components/core/TagInput/optionsParser.js","webpack:///./front/components/core/TagInput/index.jsx","webpack:///./front/components/core/Asterisk/index.jsx","webpack:///./front/components/core/LabelGroup/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/styles.module.scss","webpack:///./front/components/core/ButtonTagManager/utils.js","webpack:///./front/components/core/Paginator/utils.js","webpack:///./front/components/core/Paginator/usePaginator.js","webpack:///./front/components/core/Paginator/components/LoadMore/index.jsx","webpack:///./front/components/core/Paginator/components/InfiniteLoad/useInfiniteLoad.js","webpack:///./front/components/core/Paginator/components/InfiniteLoad/index.jsx","webpack:///./front/components/core/Paginator/index.jsx","webpack:///./front/components/core/Placeholder/components/Text/index.jsx","webpack:///./front/components/core/Button/styles.module.scss","webpack:///./front/components/core/ButtonGroup/components/ButtonGroupTooltip/index.jsx","webpack:///./front/components/core/ButtonGroup/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/utils/styles.js","webpack:///./front/components/core/Profile/components/KeyDetailsFields/DataField/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/LinkField/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/BiographyField/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/DataArrayField/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/DataFieldPlaceholder/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/LegislatorBadgeField/components/Items.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/LegislatorBadgeField/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/TitleField/LinkTitleField.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/TitleField/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/index.jsx","webpack:///./front/components/core/Icons/components/ContextualMenu/index.jsx","webpack:///./front/components/core/Icons/components/Icon/index.jsx","webpack:///./front/components/core/Icons/components/PartyIcon/index.jsx","webpack:///./front/components/core/Icons/components/QuestionMark/index.jsx","webpack:///./front/components/core/Icons/index.jsx","webpack:///./front/components/core/DatePicker/constants.js","webpack:///./front/components/core/EmptyPlaceholder/components/NoSubscriptionMessage/index.jsx","webpack:///./front/components/core/EmptyPlaceholder/index.jsx","webpack:///./front/components/core/Profile/utils/constants.jsx","webpack:///./front/components/core/RadioBox/index.jsx","webpack:///./front/components/core/ErrorMessage/index.jsx","webpack:///./front/components/core/Table/styles.module.scss","webpack:///./front/components/core/PageNotFound/index.jsx","webpack:///./front/components/core/Profile/utils/shapes.js","webpack:///./front/components/core/Select/theme.js","webpack:///./front/components/core/Select/components/Option.jsx","webpack:///./front/components/core/FrequencyOptions/index.jsx","webpack:///./front/components/core/PageHeader/components/TitleContainer/index.tsx","webpack:///./front/components/core/PageHeader/components/Container/index.jsx","webpack:///./front/components/core/PageHeader/components/ActionPageHeader/index.jsx","webpack:///./front/components/core/PageHeader/components/SettingsButton/shapes.js","webpack:///./front/components/core/PageHeader/components/SettingsButton/index.jsx","webpack:///./front/components/core/PageHeader/components/BackToHeaderBar/index.jsx","webpack:///./front/components/core/PageHeader/index.jsx","webpack:///./front/components/core/Profile/utils/index.js","webpack:///./front/components/core/Avatar/index.jsx","webpack:///./front/components/core/Paginator/shapes.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/styles.module.scss","webpack:///./front/components/core/Profile/utils/withProfile.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/Placeholder/styles.module.scss","webpack:///./front/components/core/TrackButton/shapes.js","webpack:///./front/components/core/Map/utils/withMap.jsx","webpack:///./front/components/core/Map/utils/index.js","webpack:///./front/components/core/Loader/constants.js","webpack:///./front/components/core/AddressAutocomplete/components/Input.jsx","webpack:///./front/components/core/AddressAutocomplete/components/Dropdown.jsx","webpack:///./front/components/core/AddressAutocomplete/useAddressAutocomplete.js","webpack:///./front/components/core/AddressAutocomplete/index.jsx","webpack:///./front/components/core/Profile/components/Placeholders/EmptyTable/index.jsx","webpack:///./front/components/core/Profile/components/Placeholders/Loading/index.jsx","webpack:///./front/components/core/Profile/components/Placeholders/ClearableEmptyPlaceholder/index.jsx","webpack:///./front/components/core/Profile/components/Placeholders/index.jsx","webpack:///./front/components/core/Input/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/BadgeInfo/styles.module.scss","webpack:///./front/components/core/CustomFields/components/TableView/styles.module.scss","webpack:///./front/components/core/Logo/index.jsx","webpack:///./front/components/core/Link/shapes.js","webpack:///./front/components/core/ProductBar/utils.js","webpack:///./front/components/core/TagInput/theme.js","webpack:///./front/components/core/Profile/components/Cards/Positions/utils/index.jsx","webpack:///./front/components/core/Modal/components/MultiStep/styles.module.scss","webpack:///./front/components/core/Sort/shapes.js","webpack:///./front/components/core/Table/components/ColumnItem/ViewMoreItem/styles.module.scss","webpack:///./front/components/core/CardGroup/styles.module.scss","webpack:///./front/components/core/MaskedInput/helpers.js","webpack:///./front/components/core/MaskedInput/mask-mapping.js","webpack:///./front/components/core/MaskedInput/index.jsx","webpack:///./front/components/core/Profile/components/ContentDoubleColumn/components/Content.jsx","webpack:///./front/components/core/Profile/components/ContentDoubleColumn/components/Info.jsx","webpack:///./front/components/core/Profile/components/ContentDoubleColumn/components/ArrayInfo.jsx","webpack:///./front/components/core/Profile/components/ContentDoubleColumn/components/LinkList.jsx","webpack:///./front/components/core/Profile/components/ContentDoubleColumn/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/utils/index.jsx","webpack:///./front/components/core/CustomFields/components/PreviewFields/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Timeline/styles.module.scss","webpack:///./front/components/core/Moneyball/components/ReceiptModal/styles.module.scss","webpack:///./front/components/core/Select/settings.scss","webpack:///./front/components/core/Map/utils/settings.scss","webpack:///./front/components/core/TipMessage/components/Kbd/index.jsx","webpack:///./front/components/core/TipMessage/index.jsx","webpack:///./front/components/core/TrackButton/components/Placeholder/index.jsx","webpack:///./front/components/core/TrackButton/components/UntrackModal.jsx","webpack:///./front/components/core/TrackButton/index.jsx","webpack:///./front/components/core/ViewTags/constants.js","webpack:///./front/components/core/Notifications/utils/constants.js","webpack:///./front/components/core/HearingCalendars/utils/constants.js","webpack:///./front/components/core/DatePicker/utils.js","webpack:///./front/components/core/CustomFields/utils/notifications.js","webpack:///./front/components/core/SearchHeader/components/Actions/components/styles.module.scss","webpack:///./front/components/core/ActionBar/components/Description/index.jsx","webpack:///./front/components/core/ActionBar/components/OpenIcon/index.jsx","webpack:///./front/components/core/ActionBar/components/Transition/index.jsx","webpack:///./front/components/core/ActionBar/index.jsx","webpack:///./front/components/core/ActionBar/utils.js","webpack:///./front/components/core/SmartSearchBuilder/utils/withSmartSearch.jsx","webpack:///./front/components/core/News/components/Cards/common/BaseCard/index.jsx","webpack:///./front/components/core/News/components/Cards/common/FooterContainer/index.jsx","webpack:///./front/components/core/News/components/Cards/common/Sentiment/index.jsx","webpack:///./front/components/core/News/components/Cards/common/Mentions/index.jsx","webpack:///./front/components/core/News/components/Cards/common/SourceLabel/index.jsx","webpack:///./front/components/core/News/components/Cards/common/Header/index.jsx","webpack:///./front/components/core/News/components/Cards/common/ShowClusterLink/index.jsx","webpack:///./front/components/core/News/components/Cards/common/index.jsx","webpack:///./front/components/core/TitleWithTooltip/index.jsx","webpack:///./front/components/core/Profile/components/Title/index.jsx","webpack:///./front/components/core/HearingCalendars/utils/withCalendar.jsx","webpack:///./front/components/core/Profile/components/Cards/utils/index.js","webpack:///./front/components/core/Map/components/Popup/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/styles.module.scss","webpack:///./front/components/core/Notifications/components/Container/styles.module.scss","webpack:///./front/components/core/Notifications/components/AlertsPanel/styles.module.scss","webpack:///./front/components/core/Paginator/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Calendar/components/Placeholder/styles.module.scss","webpack:///./front/components/core/ButtonPosition/utils/constants.js","webpack:///./front/components/core/Table/components/Header/components/Tooltip/index.jsx","webpack:///./front/components/core/DatePicker/components/DatePickerInput/index.jsx","webpack:///./front/components/core/DatePicker/components/NavigationButton/index.jsx","webpack:///./front/components/core/DatePicker/components/Header/components/MonthsRange/index.jsx","webpack:///./front/components/core/DatePicker/components/Header/components/YearsRange/index.jsx","webpack:///./front/components/core/DatePicker/components/Header/index.jsx","webpack:///./front/components/core/DatePicker/index.tsx","webpack:///./front/components/core/FileUpload/utils.js","webpack:///./front/components/core/Card/styles.module.scss","webpack:///./front/components/core/TagInput/settings.scss","webpack:///./front/components/core/SearchBox/styles.module.scss","webpack:///./front/components/core/SearchHeader/components/MobileView/styles.module.scss","webpack:///./front/components/core/SearchBox/index.jsx","webpack:///./front/components/core/ButtonTagManager/useTagManager.js","webpack:///./front/components/core/ButtonTagManager/api.js","webpack:///./front/components/core/ButtonTagManager/index.jsx","webpack:///./front/components/core/Modal/components/MultiStep/components/FooterActions.jsx","webpack:///./front/components/core/Modal/components/CloseConfirmation/useCloseConfirmModal.js","webpack:///./front/components/core/Modal/components/MultiStep/useMultiStepModal.js","webpack:///./front/components/core/Modal/components/MultiStep/index.jsx","webpack:///./front/components/core/ButtonTag/index.jsx","webpack:///./front/components/core/WorkspaceTiles/index.jsx","webpack:///./front/components/core/ViewTags/index.jsx","webpack:///./front/components/core/Textarea/components/AutosizeTextarea/index.jsx","webpack:///./front/components/core/Textarea/index.jsx","webpack:///./front/components/core/Modal/components/Modal/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/utils/useExportModal.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/LabelItem.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Sections/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/SuggesterItem/useSuggesterItem.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/SuggesterItem/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/CustomNote/useCustomNote.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/CustomNote/index.jsx","webpack:///./front/components/core/AdvancedSearch/utils/useRadioGroup.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/FileFormat/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Customization/components/DocumentSummary.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Customization/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Actions/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/ExportPreview/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/index.jsx","webpack:///./front/components/core/Table/components/Dimensions/styles.module.scss","webpack:///./front/components/core/LegislatorCard/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Container/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/Container/styles.module.scss","webpack:///./front/components/core/Comments/api/transformers.js","webpack:///./front/components/core/Comments/utils/notifications.js","webpack:///./front/components/core/Comments/api/comments.js","webpack:///./front/components/core/Comments/api/replies.js","webpack:///./front/components/core/Comments/api/index.js","webpack:///./front/components/core/Placeholder/components/Card/components/CardNewsStory/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Options/styles.module.scss","webpack:///./front/components/core/PDF/styles.module.scss","webpack:///./front/components/core/Profile/components/ContentDoubleColumn/components/styles.module.scss","webpack:///./front/components/core/RightSideBar/styles.module.scss","webpack:///./front/components/core/SmartSearchBuilder/components/AddedDraggableItem/styles.module.scss","webpack:///./front/components/core/Input/components/InputSelect/settings.scss","webpack:///./front/components/core/CustomField/shapes/customField.js","webpack:///./front/components/core/CustomField/shapes/controlState.js","webpack:///./front/components/core/CustomField/utils/normalizeControlValue.js","webpack:///./front/components/core/CustomField/utils/normalizeEventTarget.js","webpack:///./front/components/core/CustomField/components/Tooltip.jsx","webpack:///./front/components/core/CustomField/controls/InputControl/index.jsx","webpack:///./front/components/core/CustomField/controls/CheckboxControl/index.jsx","webpack:///./front/components/core/CustomField/controls/RadioboxControl/index.jsx","webpack:///./front/components/core/CustomField/controls/TextareaControl/index.jsx","webpack:///./front/components/core/CustomField/utils/formatStringToDate.js","webpack:///./front/components/core/CustomField/controls/DateControl/index.jsx","webpack:///./front/components/core/CustomField/controls/Autocomplete/index.jsx","webpack:///./front/components/core/CustomField/index.jsx","webpack:///./front/components/core/ButtonBackToTop/index.tsx","webpack:///./front/components/core/DateRange/index.jsx","webpack:///./front/components/core/Profile/components/CallToActions/index.jsx","webpack:///./front/components/core/Filter/styles.module.scss","webpack:///./front/components/core/TextareaWithMentions/utils/shapes.js","webpack:///./front/components/core/TextareaWithMentions/utils/index.jsx","webpack:///./front/components/core/TextareaWithMentions/utils/styles.js","webpack:///./front/components/core/TextareaWithMentions/components/TextWithMentions/constants.js","webpack:///./front/components/core/TextareaWithMentions/components/TextWithMentions/utils.jsx","webpack:///./front/components/core/TextareaWithMentions/components/TextWithMentions/index.jsx","webpack:///./front/components/core/TextareaWithMentions/index.jsx","webpack:///./front/components/core/Paginator/constants.js","webpack:///./front/components/core/Table/components/ColumnItem/styles.module.scss","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/DroppableItem/styles.module.scss","webpack:///./front/components/core/StickyContainer/styles.module.scss","webpack:///./front/components/core/LinkPreview/constants.js","webpack:///./front/components/core/LinkPreview/api.js","webpack:///./front/components/core/LinkPreview/utils.js","webpack:///./front/components/core/LinkPreview/components/Placeholder/index.jsx","webpack:///./front/components/core/LinkPreview/index.jsx","webpack:///./front/components/core/Drawer/components/Header/index.jsx","webpack:///./front/components/core/Drawer/components/Body/index.jsx","webpack:///./front/components/core/Drawer/components/Footer/index.jsx","webpack:///./front/components/core/Drawer/index.jsx","webpack:///./front/components/core/Loader/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/LegislatorBadgeField/styles.module.scss","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/Header/styles.module.scss","webpack:///./front/components/core/ButtonDropdown/settings.scss","webpack:///./front/components/core/PageLookup/utils/constants.js","webpack:///./front/components/core/Table/components/ColumnItem/TrimTextItem/index.jsx","webpack:///./front/components/core/Tabs/components/FixedTabs/components/MobileTabs/styles.module.scss","webpack:///./front/components/core/DatePicker/components/Header/styles.module.scss","webpack:///./front/components/core/CustomFields/components/MobileCardView/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/ListField/components/ListItem/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/FilterButton/styles.module.scss","webpack:///./front/components/core/Tabs/components/FixedTabs/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/SearchInput/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/Placeholder/styles.module.scss","webpack:///./front/components/core/ButtonShare/shapes.js","webpack:///./front/components/core/ButtonShare/components/ShareTooltip/index.jsx","webpack:///./front/components/core/ButtonShare/components/ShareModal/useShare.js","webpack:///./front/components/core/ButtonShare/components/ShareModal/index.jsx","webpack:///./front/components/core/ButtonShare/index.jsx","webpack:///./front/components/core/ButtonShare/api.js","webpack:///./front/components/core/ButtonBackToTop/useBackToTop.js","webpack:///./front/components/core/CheatSheet/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/components/BaseFilter/index.jsx","webpack:///./front/components/core/Map/components/Filters/components/MapType/index.jsx","webpack:///./front/components/core/Map/components/Filters/components/Heatmap/index.jsx","webpack:///./front/components/core/Map/components/Filters/components/Heatmap/components/Legend.jsx","webpack:///./front/components/core/Map/components/Filters/components/DesktopView/index.jsx","webpack:///./front/components/core/Map/components/Filters/components/MobileView/index.jsx","webpack:///./front/components/core/Map/components/Filters/index.jsx","webpack:///./front/components/core/Map/components/Placeholder/index.jsx","webpack:///./front/components/core/Map/components/Container/index.jsx","webpack:///./front/components/core/Map/components/SimpleStatesMap/utils/constants.js","webpack:///./front/components/core/Map/components/SimpleStatesMap/utils/index.jsx","webpack:///./front/components/core/Map/components/SimpleStatesMap/components/Legend/FederalBillsLegend.jsx","webpack:///./front/components/core/Map/components/SimpleStatesMap/components/Legend/index.jsx","webpack:///./front/components/core/Map/components/SimpleStatesMap/components/MapState/index.jsx","webpack:///./front/components/core/Map/components/SimpleStatesMap/useSimpleStatesMap.js","webpack:///./front/components/core/Map/components/SimpleStatesMap/index.jsx","webpack:///./front/components/core/Map/index.jsx","webpack:///./front/components/core/Box/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/utils/titles.js","webpack:///./front/components/core/AddressAutocomplete/styles.module.scss","webpack:///./front/components/core/Modal/components/Modal/styles.module.scss","webpack:///./front/components/core/TextareaWithMentions/styles/styles.module.scss","webpack:///./front/components/core/Badge/styles.module.scss","webpack:///./front/components/core/Profile/components/Export/components/Button/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/TableSection/styles.js","webpack:///./front/components/core/Profile/components/Export/components/TableSection/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/Awards/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/Education/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/EmploymentHistory/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/Membership/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/MilitaryService/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/PersonalDetails/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/PoliticalHistory/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/Position/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/Positions/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/Publications/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Sections/WebAddresses/index.jsx","webpack:///./front/components/core/Profile/components/Export/index.jsx","webpack:///./front/components/core/HearingCalendars/utils/index.js","webpack:///./front/components/core/Profile/components/KeyDetailsFields/DataField/styles.module.scss","webpack:///./front/components/core/ButtonPosition/components/DropdownPosition/styles.module.scss","webpack:///./front/components/core/CustomFields/components/TableView/components/EditForm/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/LegislatorListItem/styles.module.scss","webpack:///./front/components/core/SearchHeader/components/AdvancedSearch/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/styles.module.scss","webpack:///./front/components/core/SmartSearchBuilder/components/Container/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Export/components/ExportLookupModal/utils/useExportLookupModal.js","webpack:///./front/components/core/PageLookup/components/Export/components/ExportLookupModal/index.jsx","webpack:///./front/components/core/Tooltip/index.jsx","webpack:///./front/components/core/ButtonTagManager/styles.module.scss","webpack:///./front/components/core/PriorityTooltip/constants.js","webpack:///./front/components/core/Table/components/ColumnItem/AddedToItem/index.jsx","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/utils/constants.js","webpack:///./front/components/core/ProgressBar/components/LabeledProgressBar/components/LabelDot.jsx","webpack:///./front/components/core/ProgressBar/components/LabeledProgressBar/index.jsx","webpack:///./front/components/core/ProgressBar/index.jsx","webpack:///./front/components/core/ButtonPosition/components/DropdownPosition/TooltipButton.jsx","webpack:///./front/components/core/ButtonPosition/components/DropdownPosition/useDropdownPosition.js","webpack:///./front/components/core/ButtonPosition/components/DropdownPosition/index.jsx","webpack:///./front/components/core/ButtonPosition/utils/index.js","webpack:///./front/components/core/ButtonPosition/index.jsx","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/utils/notification.js","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/utils/useConfirmBeforeLeave.js","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/utils/useSummary.js","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/components/SummaryButton.jsx","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/components/SummaryContent.jsx","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/index.jsx","webpack:///./front/components/core/Select/components/RichOption/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/AddedToItem/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/styles.module.scss","webpack:///./front/components/core/Tooltip/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Card/styles.module.scss","webpack:///./front/components/core/ViewTags/styles.module.scss","webpack:///./front/components/core/CustomFields/components/FieldsData/styles.module.scss","webpack:///./front/components/core/PageLookup/components/TableView/styles.module.scss","webpack:///./front/components/core/RadioBox/styles.module.scss","webpack:///./front/components/core/LinkPreview/styles.module.scss","webpack:///./front/components/core/ActionBar/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Export/components/ExportLookupModal/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Filters/components/Placeholder/styles.module.scss","webpack:///./front/components/core/News/components/Cards/components/Story/components/Footer/styles.module.scss","webpack:///./front/components/core/DocumentContent/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/constants.js","webpack:///./front/components/core/Tabs/useTabs.js","webpack:///./front/components/core/ScrollSection/utils/scrollContext.jsx","webpack:///./front/components/core/ScrollSection/utils/useScrollProvider.js","webpack:///./front/components/core/ScrollSection/components/ScrollingProvider.jsx","webpack:///./front/components/core/ScrollSection/components/Section.jsx","webpack:///./front/components/core/ScrollSection/components/SectionLink.jsx","webpack:///./front/components/core/StickyContainer/index.jsx","webpack:///./front/components/core/Tabs/components/FixedTabs/components/MobileTabs/components/MenuItem.jsx","webpack:///./front/components/core/Tabs/components/FixedTabs/components/MobileTabs/components/ActiveItem.jsx","webpack:///./front/components/core/Tabs/components/FixedTabs/components/MobileTabs/useMobileTabs.js","webpack:///./front/components/core/Tabs/components/FixedTabs/components/MobileTabs/index.jsx","webpack:///./front/components/core/Tabs/components/FixedTabs/useTabs.js","webpack:///./front/components/core/Tabs/components/FixedTabs/index.jsx","webpack:///./front/components/core/Tabs/components/Tab/index.jsx","webpack:///./front/components/core/Tabs/components/MobileView/components/AccordionLayout/components/Header/index.jsx","webpack:///./front/components/core/Tabs/components/MobileView/components/AccordionLayout/index.jsx","webpack:///./front/components/core/Tabs/components/MobileView/components/TabsLayout/components/Header/index.jsx","webpack:///./front/components/core/Tabs/components/MobileView/components/TabsLayout/index.jsx","webpack:///./front/components/core/Tabs/components/MobileView/index.jsx","webpack:///./front/components/core/Tabs/components/DesktopView/components/Header/index.jsx","webpack:///./front/components/core/Tabs/components/DesktopView/index.jsx","webpack:///./front/components/core/Tabs/index.jsx","webpack:///./front/components/core/Profile/components/News/utils/constants.js","webpack:///./front/components/core/Profile/components/Table/components/Column/Link/index.jsx","webpack:///./front/components/core/Profile/components/Table/components/Column/Default/index.jsx","webpack:///./front/components/core/Profile/components/Table/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/styles.module.scss","webpack:///./front/components/core/Table/components/Placeholder/styles.module.scss","webpack:///./front/components/core/ProgressBar/components/LabeledProgressBar/styles.module.scss","webpack:///./front/components/core/Checkbox/components/SearchableCheckboxGroup/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/TrimTextItem/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/ListField/styles.module.scss","webpack:///./front/components/core/TrackButton/styles.module.scss","webpack:///./front/components/core/CustomFields/components/FieldsOptions/styles.module.scss","webpack:///./front/components/core/Profile/components/Actions/styles.module.scss","webpack:///./front/components/core/SearchHeader/components/CustomToggleView/styles.module.scss","webpack:///./front/components/core/ProgressBar/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/LinkListItem/styles.module.scss","webpack:///./front/components/core/Link/components/Mark/styles.module.scss","webpack:///./front/components/core/TextareaWithMentions/styles/invalid.module.scss","webpack:///./front/components/core/Comments/components/Comment/components/Actions/styles.module.scss","webpack:///./front/components/core/Comments/components/Comment/components/CommentPlaceholder/styles.module.scss","webpack:///./front/components/core/ButtonTag/styles.module.scss","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/components/Account/components/Panel/styles.module.scss","webpack:///./front/components/core/PageHeader/components/SettingsButton/styles.module.scss","webpack:///./front/components/core/Map/components/SimpleStatesMap/utils/settings.scss","webpack:///./front/components/core/Table/components/ColumnItem/ActionsItem/styles.module.scss","webpack:///./front/components/core/SearchHeader/components/DesktopView/styles.module.scss","webpack:///./front/components/core/AvatarGroup/styles.module.scss","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/DistrictMap/utils/useMapProfile.js","webpack:///./front/components/core/Profile/components/Cards/DistrictMap/components/MapContent.jsx","webpack:///./front/components/core/Profile/components/Cards/DistrictMap/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/shapes.js","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/useTable.js","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/StafferColumn/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/IssueAreaColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/AddressColumn/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/TitlesColumn/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/RoleColumn/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/OfficeColumn/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/TableView/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/FilterButton/components/TooltipContent.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/FilterButton/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/Notifications.js","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/useStaffers.js","webpack:///./front/components/core/Profile/components/Cards/Staffers/Container.jsx","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/trackingActions.js","webpack:///./front/components/core/Profile/components/Cards/Staffers/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Timeline/utils/useTimeline.js","webpack:///./front/components/core/Profile/components/Cards/Timeline/components/ItemCards.jsx","webpack:///./front/components/core/Profile/components/Cards/Timeline/components/TimeGroup.jsx","webpack:///./front/components/core/Profile/components/Cards/Timeline/components/AsyncTimeline/useAsyncTimeline.js","webpack:///./front/components/core/Profile/components/Cards/Timeline/components/AsyncTimeline/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Timeline/index.jsx","webpack:///./front/components/core/Profile/components/Separator/index.jsx","webpack:///./front/components/core/Profile/components/Cards/ItemName/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/Avatar/ImageModal.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/Avatar/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/Placeholder/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/StateBadge/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/PartyColorBar/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/ViewBiography/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/ElectionInfo/index.jsx","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Separator/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/utils/withStakeholders.jsx","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/utils/shapes.js","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/utils/Notifications.js","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/utils/useTable.js","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/components/TableView/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/components/LookupLink/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/Container.jsx","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/utils/trackingActions.js","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Details/shapes.js","webpack:///./front/components/core/Profile/components/Cards/Details/index.jsx","webpack:///./front/components/core/Profile/components/Cards/WebAddresses/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PoliticalHistory/index.jsx","webpack:///./front/components/core/Profile/components/Cards/EmploymentHistory/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Education/index.jsx","webpack:///./front/components/core/Profile/components/Cards/MilitaryService/Medals.jsx","webpack:///./front/components/core/Profile/components/Cards/MilitaryService/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Membership/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Publications/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Awards/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PersonalDetails/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Positions/Position.jsx","webpack:///./front/components/core/Profile/components/Cards/Positions/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Card/Biography.jsx","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Card/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Tables/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Actions/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Overview/index.jsx","webpack:///./front/components/core/Profile/components/Cards/OtherPositions/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/OtherPositions/index.jsx","webpack:///./front/components/core/Profile/components/Cards/index.jsx","webpack:///./front/components/core/Profile/components/Actions/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/ActionsItem/index.jsx","webpack:///./front/components/core/CardGroup/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseOption/index.jsx","webpack:///./front/components/core/ActionBar/useChatPosition.js","webpack:///./front/components/core/CharInfo/components/TextareaWithCharInfo/index.jsx","webpack:///./front/components/core/CharInfo/components/InputWithCharInfo/index.jsx","webpack:///./front/components/core/CharInfo/getCharInfo.js","webpack:///./front/components/core/CharInfo/index.jsx","webpack:///./front/components/core/LegislatorCard/components/Placeholder/index.jsx","webpack:///./front/components/core/LegislatorCard/index.jsx","webpack:///./front/components/core/LegislatorCard/utils/index.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/utils/constants.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Preview/components/ReportTitlePreview/index.jsx","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Preview/index.jsx","webpack:///./front/components/core/Placeholder/components/Table/index.jsx","webpack:///./front/components/core/Modal/components/SlideUpModal/index.jsx","webpack:///./front/components/core/Notifications/index.jsx","webpack:///./front/components/core/AdvancedSearch/utils/useCheckedItems.js","webpack:///./front/components/core/TrackButton/utils/useWorkspaces.js","webpack:///./front/components/core/HelpButton/components/TooltipContent/index.jsx","webpack:///./front/components/core/HelpButton/components/MobileView/index.jsx","webpack:///./front/components/core/HelpButton/components/DesktopView/index.jsx","webpack:///./front/components/core/HelpButton/index.jsx","webpack:///./front/components/core/HelpButton/components/TooltipContent/constants.js","webpack:///./front/components/core/TrackButton/utils/index.js","webpack:///./front/components/core/Tabs/components/DesktopView/styles.module.scss","webpack:///./front/components/core/Notification/styles.module.scss","webpack:///./front/components/core/Validators/components/TextValidator/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/components/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/TitleField/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/Avatar/styles.module.scss","webpack:///./front/components/core/PageLookup/utils/Notifications.js","webpack:///./front/components/core/KanbanBoard/components/Column/constants.js","webpack:///./front/components/core/KanbanBoard/components/Column/components/CardPlaceholder/index.jsx","webpack:///./front/components/core/KanbanBoard/components/Column/useRenderPlaceholders.js","webpack:///./front/components/core/KanbanBoard/components/Column/components/Header/index.jsx","webpack:///./front/components/core/KanbanBoard/components/Column/components/Footer/index.jsx","webpack:///./front/components/core/KanbanBoard/components/Column/components/DraggableCard/index.jsx","webpack:///./front/components/core/KanbanBoard/components/Column/components/EmptyPlaceholder/index.jsx","webpack:///./front/components/core/KanbanBoard/components/Column/index.jsx","webpack:///./front/components/core/KanbanBoard/index.jsx","webpack:///./front/components/core/Comments/utils/shapes.js","webpack:///./front/components/core/Comments/components/Comment/components/Actions/index.jsx","webpack:///./front/components/core/Comments/components/Comment/components/CommentBox/components/Options/index.jsx","webpack:///./front/components/core/Comments/components/Comment/components/CommentBox/utils.js","webpack:///./front/components/core/Comments/components/Comment/components/CommentBox/index.jsx","webpack:///./front/components/core/Comments/components/Comment/useComment.js","webpack:///./front/components/core/Comments/components/Comment/useReplies.js","webpack:///./front/components/core/Comments/components/Comment/components/CommentPlaceholder/index.jsx","webpack:///./front/components/core/Comments/components/Comment/index.jsx","webpack:///./front/components/core/Checkbox/components/Checkbox/styles.module.scss","webpack:///./front/components/core/ButtonGroup/components/ButtonGroupTooltip/styles.module.scss","webpack:///./front/components/core/Notification/components/Push/styles.module.scss","webpack:///./front/components/core/Modal/components/TextConfirmation/styles.module.scss","webpack:///./front/components/core/FileUpload/styles.module.scss","webpack:///./front/components/core/Comments/components/NewComment/styles.module.scss","webpack:///./front/components/core/Comments/components/Comment/components/CommentBox/components/Options/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseOption/styles.module.scss","webpack:///./front/components/core/FrequencyOptions/styles.module.scss","webpack:///./front/components/core/CustomFields/components/Form/styles.module.scss","webpack:///./front/components/core/PageHeader/components/Container/styles.module.scss","webpack:///./front/components/core/Profile/components/Title/styles.module.scss","webpack:///./front/components/core/LegislatorCard/components/Placeholder/styles.module.scss","webpack:///./front/components/core/Sort/components/Tooltip/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Tags/styles.module.scss","webpack:///./front/components/core/Profile/components/Export/components/Modal/styles.module.scss","webpack:///./front/components/core/DocumentPlaceholder/styles.module.scss","webpack:///./front/components/core/DetailRow/styles.module.scss","webpack:///./front/components/core/HearingCalendars/utils/shapes.js","webpack:///./front/components/core/Accordion/utils/useAccordionState.jsx","webpack:///./front/components/core/DocumentContainer/utils.js","webpack:///./front/components/core/DocumentContainer/api.js","webpack:///./front/components/core/Tabs/components/MobileView/components/AccordionLayout/styles.module.scss","webpack:///./front/components/core/Highlighter/styles.module.scss","webpack:///./front/components/core/MaskedInput/styles.module.scss","webpack:///./front/components/core/Map/components/SimpleStatesMap/components/Legend/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/RecordTypesButton/styles.module.scss","webpack:///./front/components/core/ActionCard/styles.module.scss","webpack:///./front/components/core/News/components/Cards/components/Story/components/Footer/index.jsx","webpack:///./front/components/core/News/components/Cards/components/Story/index.jsx","webpack:///./front/components/core/News/components/Cards/components/StoryCluster/components/StoryItem/index.jsx","webpack:///./front/components/core/News/components/Cards/components/StoryCluster/index.jsx","webpack:///./front/components/core/News/components/Cards/components/StoryFeedCard/index.jsx","webpack:///./front/components/core/News/components/Placeholder/index.jsx","webpack:///./front/components/core/News/index.jsx","webpack:///./front/components/core/Icons/components/ContextualMenu/styles.module.scss","webpack:///./front/components/core/Link/components/LinkList/styles.module.scss","webpack:///./front/components/core/Modal/components/CloseConfirmation/styles.module.scss","webpack:///./front/components/core/LinkPreview/components/Placeholder/styles.module.scss","webpack:///./front/components/core/Label/styles.module.scss","webpack:///./front/components/core/Comments/components/Comment/components/CommentBox/styles.module.scss","webpack:///./front/components/core/PriorityTooltip/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/ItemInfo/styles.module.scss","webpack:///./front/components/core/DateRange/styles.module.scss","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Preview/components/ReportTitlePreview/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/components/Heatmap/components/styles.module.scss","webpack:///./front/components/core/Profile/components/ActionsItem/styles.module.scss","webpack:///./front/components/core/Profile/components/Table/styles.module.scss","webpack:///./front/components/core/SearchHeader/components/PageViewToggle/styles.module.scss","webpack:///./front/components/core/News/components/Cards/components/StoryCluster/components/StoryItem/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Details/styles.module.scss","webpack:///./front/components/core/Profile/components/Export/components/ExportPreview/styles.module.scss","webpack:///./front/components/core/CheatSheet/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillFooter/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillFooter/index.jsx","webpack:///./front/components/core/ViewMoreButton/index.jsx","webpack:///./front/components/core/Filter/SelectAll/index.jsx","webpack:///./front/components/core/Table/components/Column/constants.js","webpack:///./front/components/core/Map/utils/useMapFilters.js","webpack:///./front/components/core/Map/utils/useMap.js","webpack:///./front/components/core/Link/components/BackTo/utils/index.js","webpack:///./front/components/core/Highlighter/components/HighlighterFuzzy.jsx","webpack:///./front/components/core/Highlighter/components/HighlighterSequential.jsx","webpack:///./front/components/core/Highlighter/contants.js","webpack:///./front/components/core/Highlighter/index.jsx","webpack:///./front/components/core/ProgressBar/components/LabeledProgressBar/utils.js","webpack:///./front/components/core/Accordion/components/Caret.jsx","webpack:///./front/components/core/Paginator/TablePaginator.jsx","webpack:///./front/components/core/Avatar/useAvatar.ts","webpack:///./front/components/core/Table/components/Dimensions/components/Title.jsx","webpack:///./front/components/core/Table/utils/withDimensionLocking.jsx","webpack:///./front/components/core/Banner/index.jsx","webpack:///./front/components/core/AddressAutocomplete/utils.js","webpack:///./front/components/core/Profile/components/Table/components/Column/Link/utils.js","webpack:///./front/components/core/Profile/components/Export/components/Tags/components/Tag/index.jsx","webpack:///./front/components/core/PDF/components/Placeholder.jsx","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/utils/constants.js","webpack:///./front/components/core/AdvancedSearch/transformers.js","webpack:///./front/components/core/AdvancedSearch/Api.js","webpack:///./front/components/core/ProgressBar/components/LabeledProgressBar/themes.module.scss","webpack:///./front/components/core/Sort/utils/constants.js","webpack:///./front/components/core/ButtonShare/styles.module.scss","webpack:///./front/components/core/ButtonSlideGroup/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Graphs/components/TimeSeriesChart/constants.js","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Card/styles.module.scss","webpack:///./front/components/core/Profile/components/News/styles.module.scss","webpack:///./front/components/core/Link/components/Core/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Table/styles.module.scss","webpack:///./front/components/core/Placeholder/components/PageHeader/styles.module.scss","webpack:///./front/components/core/Card/components/ProgressCard/styles.module.scss","webpack:///./front/components/core/Notification/components/TypeTitle/styles.module.scss","webpack:///./front/components/core/Modal/components/EditorialAlert/styles.module.scss","webpack:///./front/components/core/DismissibleAlert/components/styles.module.scss","webpack:///./front/components/core/Comments/components/Comment/styles.module.scss","webpack:///./front/components/core/ViewMoreButton/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseLabelGroup/styles.module.scss","webpack:///./front/components/core/PageHeader/components/TitleContainer/styles.module.scss","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/ExportPreview/styles.module.scss","webpack:///./front/components/core/KanbanBoard/components/Column/components/Header/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/components/BaseFilter/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/BaseCard/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Staffers/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/ItemName/styles.module.scss","webpack:///./front/components/core/ExportAllWarning/styles.module.scss","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/ConfidenceColumn/styles.module.scss","webpack:///./front/components/core/SmartSearchBuilder/components/GeneralDetails/styles.module.scss","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/FooterName.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/PageLayout.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/LegislatorBills/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/LegislatorBills/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Tags/styles.js","webpack:///./front/components/core/Profile/components/Export/components/Tags/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/CreatedBy/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/CreatedBy/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/CreationDate/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/CreationDate/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Description/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Description/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/EventDate/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/EventDate/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/InteractionType/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/InteractionType/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Links/components/ListLinks/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Links/components/ListLinks/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Links/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Title/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Title/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Attachments/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Attachments/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Container/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/components/Container/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/components/Card/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/Timeline/styles.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/Timeline/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/index.jsx","webpack:///./front/components/core/Profile/components/Cards/utils/shapes.js","webpack:///./front/components/core/PriorityTooltip/components/PriorityButton/index.jsx","webpack:///./front/components/core/DetailRow/utils/index.js","webpack:///./front/components/core/WorkspaceTile/utils/index.js","webpack:///./front/components/core/Accordion/styles.module.scss","webpack:///./front/components/core/Map/components/SimpleStatesMap/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/ActionsItem/utils/index.js","webpack:///./front/components/core/PageLookup/components/Graphs/components/TimeSeriesChart/styles.module.scss","webpack:///./front/components/core/News/utils/constants.js","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/styles.module.scss","webpack:///./front/components/core/PDF/components/ErrorPdf.jsx","webpack:///./front/components/core/PDF/components/Iframe.jsx","webpack:///./front/components/core/PDF/index.jsx","webpack:///./front/components/core/Placeholder/components/Tabs/components/MobileTabs/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Tabs/styles.module.scss","webpack:///./front/components/core/Accordion/components/Collapse/styles.module.scss","webpack:///./front/components/core/DuotoneIcon/colors.scss","webpack:///./front/components/core/Avatar/styles.module.scss","webpack:///./front/components/core/EmptyPlaceholder/styles.module.scss","webpack:///./front/components/core/TabsNavigation/styles.module.scss","webpack:///./front/components/core/HelpButton/components/TooltipContent/styles.module.scss","webpack:///./front/components/core/HelpButton/components/DesktopView/styles.module.scss","webpack:///./front/components/core/DatePicker/components/DatePickerInput/styles.module.scss","webpack:///./front/components/core/Drawer/components/Header/styles.module.scss","webpack:///./front/components/core/AppliedFiltersLabel/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/TopBar/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/Placeholder/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseLabelInputGroup/styles.module.scss","webpack:///./front/components/core/ProductBar/styles.module.scss","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/CustomNote/styles.module.scss","webpack:///./front/components/core/KanbanBoard/components/Column/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/FooterActions/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Calendar/components/Legend/styles.module.scss","webpack:///./front/components/core/Profile/components/CallToActions/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/components/Settings/styles.module.scss","webpack:///./front/components/core/Sort/components/TooltipNode/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Bills/components/TableView/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/TableView/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/ViewBiography/styles.module.scss","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/FilingColumn/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Tags/EmptyTagsPlaceholder/styles.module.scss","webpack:///./front/components/core/Filter/Checkbox/components/Item/styles.module.scss","webpack:///./front/components/core/Filter/CheckboxWithSubItems/components/Item/styles.module.scss","webpack:///./front/components/core/Filter/CheckboxWithSubItems/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/PositionItem/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/TotalTable/styles.module.scss","webpack:///./front/components/core/FilePicker/components/SelectedFile/styles.module.scss","webpack:///./front/components/core/Profile/components/PartyBreakdown/components/PartyLegend/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/utils/index.js","webpack:///./front/components/core/ExportDocument/utils/useExportPDFDocument.js","webpack:///./front/components/core/DocumentContent/components/InfoTab/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/TagsItem/index.jsx","webpack:///./front/components/core/PageLookup/utils/useSearchParams.js","webpack:///./front/components/core/HearingCalendars/utils/Notifications.js","webpack:///./front/components/core/HearingCalendars/utils/titles.js","webpack:///./front/components/core/HearingCalendars/components/modals/Share/useShare.js","webpack:///./front/components/core/HearingCalendars/components/modals/Share/index.jsx","webpack:///./front/components/core/HearingCalendars/components/FooterActions/useActionFooter.js","webpack:///./front/components/core/HearingCalendars/components/FooterActions/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/TooltipContent/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/BadgeInfo/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/Bills/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/Event.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/Placeholder/BadgeInfoPlaceholder.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/Placeholder/CardGroupPlaceholder.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/Placeholder/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ListEvents/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Icon/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Calendar/components/Legend/components/Item/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Calendar/components/Legend/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Calendar/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Filters/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Container/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ActionButtons/components/Placeholder/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Calendar/components/Placeholder/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Filters/components/Placeholder/index.jsx","webpack:///./front/components/core/HearingCalendars/components/Placeholder/index.jsx","webpack:///./front/components/core/HearingCalendars/index.js","webpack:///./front/components/core/DismissibleAlert/components/Container.jsx","webpack:///./front/components/core/DismissibleAlert/useDismissibleAlert.js","webpack:///./front/components/core/DismissibleAlert/index.jsx","webpack:///./front/components/core/ExportDocument/utils/index.js","webpack:///./front/components/core/ExportDocument/utils/shapes.js","webpack:///./front/components/core/Profile/components/Export/components/TableSection/utils/shapes.js","webpack:///./front/components/core/Profile/components/Cards/Bills/components/ViewAllLink/index.jsx","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/components/Account/components/Panel/utils/index.js","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/components/Account/components/Panel/index.jsx","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/components/Account/index.jsx","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/Container.jsx","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/utils.js","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ExportHearingCalendarsModal/constants.js","webpack:///./front/components/core/HearingCalendars/components/ExportHearingCalendarsModal/index.jsx","webpack:///./front/components/core/CheatSheet/utils.jsx","webpack:///./front/components/core/Modal/components/CloseConfirmation/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/useTableReceipts.js","webpack:///./front/components/core/DocumentPlaceholder/index.jsx","webpack:///./front/components/core/SearchHeader/utils/withSearch.jsx","webpack:///./front/components/core/SearchHeader/components/AdvancedSearch/index.jsx","webpack:///./front/components/core/SearchHeader/components/CustomToggleView/components/ToggleButton.jsx","webpack:///./front/components/core/SearchHeader/components/CustomToggleView/components/Content.jsx","webpack:///./front/components/core/SearchHeader/utils/constants.js","webpack:///./front/components/core/SearchHeader/components/PageViewToggle/index.jsx","webpack:///./front/components/core/SearchHeader/components/DesktopView/index.jsx","webpack:///./front/components/core/SearchHeader/components/MobileView/index.jsx","webpack:///./front/components/core/SearchHeader/index.jsx","webpack:///./front/components/core/Notification/utils/shapes.js","webpack:///./front/components/core/Notification/components/Workspaces/index.jsx","webpack:///./front/components/core/Notification/components/TypeTitle/index.jsx","webpack:///./front/components/core/Notification/components/Push/utils/constants.js","webpack:///./front/components/core/Notification/components/Push/utils/usePush.js","webpack:///./front/components/core/Notification/components/Push/index.jsx","webpack:///./front/components/core/Moneyball/components/ReceiptModal/components/ReceiptAbstract.jsx","webpack:///./front/components/core/Moneyball/components/ReceiptModal/components/Error.jsx","webpack:///./front/components/core/Moneyball/components/ReceiptModal/utils/index.jsx","webpack:///./front/components/core/Moneyball/components/ReceiptModal/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/ListField/components/Placeholder.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/ListField/components/ListItem/index.jsx","webpack:///./front/components/core/Profile/components/KeyDetailsFields/ListField/index.jsx","webpack:///./front/components/core/Moneyball/utils/constants.js","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/utils/titles.js","webpack:///./front/components/core/Moneyball/utils/contributionTitles.js","webpack:///./front/components/core/StickyContainer/useStickyNode.js","webpack:///./front/components/core/Tooltip/components/ResponsiveTooltipContainer.jsx","webpack:///./front/components/core/Notification/utils/constants.js","webpack:///./front/components/core/TabsNavigation/index.jsx","webpack:///./front/components/core/TextareaWithMentions/components/TextWithMentions/styles.module.scss","webpack:///./front/components/core/CustomField/controls/styles.module.scss","webpack:///./front/components/core/Comments/components/CommentInput/index.jsx","webpack:///./front/components/core/CharInfo/styles.module.scss","webpack:///./front/components/core/AppliedFiltersLabel/index.jsx","webpack:///./front/components/core/AdvancedSearch/components/ListSearches/components/Placeholder/index.jsx","webpack:///./front/components/core/TrackButton/utils/transformers.js","webpack:///./front/components/core/ProductBar/index.jsx","webpack:///./front/components/core/KanbanBoard/constants.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/utils/useDocumentSummary.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/utils/useCompanyLogo.js","webpack:///./front/components/core/ExportDocument/components/ExportModal/utils/Notifications.js","webpack:///./front/components/core/Profile/components/Export/components/Tags/components/Tag/styles.js","webpack:///./front/components/core/AdvancedSearch/useAdvancedSearch.js","webpack:///./front/components/core/Profile/components/Cards/WebAddresses/getLabel.js","webpack:///./front/components/core/Profile/components/Cards/PoliticalHistory/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/EmploymentHistory/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/Education/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/MilitaryService/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/Membership/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/Publications/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/Awards/utils/index.js","webpack:///./front/components/core/TagInput/getMappedValues.js","webpack:///./front/components/core/DuotoneIcon/constants.js","webpack:///./front/components/core/DuotoneIcon/index.jsx","webpack:///./front/components/core/Select/components/RichOption/components/ImageIcon.jsx","webpack:///./front/components/core/Select/components/RichOption/utils.js","webpack:///./front/components/core/Select/components/RichOption/components/OptionIcon.jsx","webpack:///./front/components/core/Select/components/RichOption/components/OptionType.jsx","webpack:///./front/components/core/Select/components/RichOption/components/OptionPartyIcon.jsx","webpack:///./front/components/core/Select/components/RichOption/index.jsx","webpack:///./front/components/core/Notifications/utils/shapes.js","webpack:///./front/components/core/Notification/utils/useMultipleNotifications.js","webpack:///./front/components/core/Notification/components/MultipleNotifications/DisplayAll.jsx","webpack:///./front/components/core/Notifications/utils/useNotifications.js","webpack:///./front/components/core/Notifications/components/AlertsPanel/useAlertsPanel.js","webpack:///./front/components/core/Notifications/components/AlertsPanel/index.jsx","webpack:///./front/components/core/Notifications/components/Placeholder.jsx","webpack:///./front/components/core/Notifications/components/Container/index.jsx","webpack:///./front/components/core/ButtonSlideGroup/components/Placeholder/index.jsx","webpack:///./front/components/core/ButtonSlideGroup/shapes.js","webpack:///./front/components/core/ButtonSlideGroup/components/Button/index.jsx","webpack:///./front/components/core/ButtonSlideGroup/components/Modal/index.jsx","webpack:///./front/components/core/ButtonSlideGroup/utils/useButtonSlider.js","webpack:///./front/components/core/ButtonSlideGroup/utils/constants.js","webpack:///./front/components/core/ButtonSlideGroup/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/TableSection/components/RowValue/styles.js","webpack:///./front/components/core/Profile/components/Export/components/TableSection/components/RowValue/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/TableSection/components/Row/styles.js","webpack:///./front/components/core/Profile/components/Export/components/TableSection/components/Row/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/TableSection/components/Table/styles.js","webpack:///./front/components/core/Profile/components/Export/components/TableSection/components/Table/index.jsx","webpack:///./front/components/core/WorkspaceTile/utils/constants.js","webpack:///./front/components/core/WorkspaceTile/components/CommitteeIcon/utils/constants.js","webpack:///./front/components/core/WorkspaceTile/components/CommitteeIcon/index.jsx","webpack:///./front/components/core/WorkspaceTile/index.jsx","webpack:///./front/components/core/Checkbox/components/SearchableCheckboxGroup/components/SearchInput.jsx","webpack:///./front/components/core/Checkbox/components/SearchableCheckboxGroup/utils/useCheckboxGroup.js","webpack:///./front/components/core/Checkbox/components/SearchableCheckboxGroup/index.jsx","webpack:///./front/components/core/PageLookup/components/Graphs/components/TimeSeriesChart/utils.js","webpack:///./front/components/core/PageLookup/components/Graphs/components/TimeSeriesChart/useAreaChart.js","webpack:///./front/components/core/Comments/components/NewComment/useNewComment.js","webpack:///./front/components/core/Comments/components/NewComment/index.jsx","webpack:///./front/components/core/Link/components/BackTo/styles.module.scss","webpack:///./front/components/core/LabelGroup/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/BillTitleItem/styles.module.scss","webpack:///./front/components/core/Banner/styles.module.scss","webpack:///./front/components/core/HelpButton/components/MobileView/styles.module.scss","webpack:///./front/components/core/Textarea/styles.module.scss","webpack:///./front/components/core/Textarea/components/AutosizeTextarea/styles.module.scss","webpack:///./front/components/core/Notification/components/MultipleNotifications/styles.module.scss","webpack:///./front/components/core/Asterisk/styles.module.scss","webpack:///./front/components/core/DatePicker/styles.module.scss","webpack:///./front/components/core/WorkspaceTile/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/DataArrayField/styles.module.scss","webpack:///./front/components/core/ButtonSlideGroup/components/Button/styles.module.scss","webpack:///./front/components/core/ButtonSlideGroup/components/Modal/styles.module.scss","webpack:///./front/components/core/Paginator/components/LoadMore/styles.module.scss","webpack:///./front/components/core/ButtonBackToTop/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseButtonGroup/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/Options/components/BaseRange/styles.module.scss","webpack:///./front/components/core/ActionBar/components/Description/styles.module.scss","webpack:///./front/components/core/PageHeader/components/TitleContainer/TooltipTitle/styles.module.scss","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/SuggesterItem/styles.module.scss","webpack:///./front/components/core/KanbanBoard/components/Column/components/CardPlaceholder/styles.module.scss","webpack:///./front/components/core/Map/components/Placeholder/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Calendar/styles.module.scss","webpack:///./front/components/core/Profile/components/Table/components/Column/Link/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/components/Buttons/styles.module.scss","webpack:///./front/components/core/ButtonGroupResponsive/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Graphs/components/StatesMap/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/Sentiment/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/Mentions/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/ShowClusterLink/styles.module.scss","webpack:///./front/components/core/Sort/components/Select/styles.module.scss","webpack:///./front/components/core/News/components/Cards/components/StoryCluster/styles.module.scss","webpack:///./front/components/core/News/components/Placeholder/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/Types/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/PartyColorBar/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Stakeholders/components/TableView/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Tables/styles.module.scss","webpack:///./front/components/core/Table/components/Error/styles.module.scss","webpack:///./front/components/core/Profile/components/SectionTitle/styles.module.scss","webpack:///./front/components/core/FilePicker/styles.module.scss","webpack:///./front/components/core/Profile/components/Legislators/components/LegislatorsSection/styles.module.scss","webpack:///./front/components/core/Profile/components/PartyBreakdown/styles.module.scss","webpack:///./front/components/core/DocumentContent/components/InfoTab/styles.module.scss","webpack:///./front/components/core/ButtonDropdown/styles.module.scss","webpack:///./front/components/core/Profile/components/News/List/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Export/shapes.js","webpack:///./front/components/core/PageLookup/utils/shapes.js","webpack:///./front/components/core/PageLookup/components/Export/components/ExportLookupModal/utils/index.js","webpack:///./front/components/core/Profile/components/Export/utils/constants.js","webpack:///./front/components/core/Profile/components/Cards/Bills/utils/billTypes.js","webpack:///./front/components/core/Table/components/ColumnItem/utils/shapes.js","webpack:///./front/components/core/Profile/components/Export/utils/shapes.js","webpack:///./front/components/core/ExportAllWarning/index.jsx","webpack:///./front/components/core/SearchHeader/components/Actions/components/BulkExport/index.jsx","webpack:///./front/components/core/SearchHeader/components/Actions/components/BulkEmail.jsx","webpack:///./front/components/core/SearchHeader/components/Actions/index.jsx","webpack:///./front/components/core/Checkbox/components/SearchableCheckboxGroup/utils/index.js","webpack:///./front/components/core/Modal/components/Modal/helpers.js","webpack:///./front/components/core/ColorPicker/index.jsx","webpack:///./front/components/core/DocumentContainer/utils/shapes.js","webpack:///./front/components/core/Icons/components/Icon/styles.module.scss","webpack:///./front/components/core/Icons/components/QuestionMark/styles.module.scss","webpack:///./front/components/core/Placeholder/components/InputPlaceholder/styles.module.scss","webpack:///./front/components/core/ButtonGroup/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Paginator/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Tags/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Card/components/CardTable/styles.module.scss","webpack:///./front/components/core/Tabs/components/MobileView/components/TabsLayout/components/Header/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/DraggableItem/styles.module.scss","webpack:///./front/components/core/PageNotFound/styles.module.scss","webpack:///./front/components/core/Notification/components/AlertType/styles.module.scss","webpack:///./front/components/core/Notification/components/Workspaces/styles.module.scss","webpack:///./front/components/core/Badge/components/ButtonBadge/styles.module.scss","webpack:///./front/components/core/Modal/components/Disclaimer/styles.module.scss","webpack:///./front/components/core/Modal/components/SlideUpModal/styles.module.scss","webpack:///./front/components/core/TagInput/styles.module.scss","webpack:///./front/components/core/CustomField/components/styles.module.scss","webpack:///./front/components/core/TimePicker/components/TimePickerInput/styles.module.scss","webpack:///./front/components/core/Drawer/styles.module.scss","webpack:///./front/components/core/TipMessage/styles.module.scss","webpack:///./front/components/core/TipMessage/components/Kbd/styles.module.scss","webpack:///./front/components/core/Comments/styles.module.scss","webpack:///./front/components/core/PriorityTooltip/components/PriorityButton/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/styles.module.scss","webpack:///./front/components/core/Paginator/components/InfiniteLoad/styles.module.scss","webpack:///./front/components/core/CheatSheet/advancedOperators.js","webpack:///./front/components/core/AdvancedSearch/components/Options/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/FooterActions/styles.module.scss","webpack:///./front/components/core/AdvancedSearch/components/MobileView/styles.module.scss","webpack:///./front/components/core/ActionBar/components/Transition/styles.module.scss","webpack:///./front/components/core/PageHeader/components/MobileHeaderBar/components/Account/styles.module.scss","webpack:///./front/components/core/PageHeader/components/BackToHeaderBar/styles.module.scss","webpack:///./front/components/core/ExportDocument/components/ExportModal/components/Actions/styles.module.scss","webpack:///./front/components/core/ExportDocument/components/ExportModal/styles.module.scss","webpack:///./front/components/core/KanbanBoard/components/Column/components/DraggableCard/styles.module.scss","webpack:///./front/components/core/Map/components/Container/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/ActionButtons/styles.module.scss","webpack:///./front/components/core/Box/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Calendar/components/Legend/components/Item/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Filters/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/ActionButtons/components/Placeholder/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/components/SectionTitle/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/components/ItemsSelection/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/components/InputField/styles.module.scss","webpack:///./front/components/core/ColorPicker/styles.module.scss","webpack:///./front/components/core/Profile/components/Placeholders/ClearableEmptyPlaceholder/styles.module.scss","webpack:///./front/components/core/Profile/components/DataCard/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Graphs/components/Bars/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Options/RangeField/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/CustomBadge/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Positions/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Overview/components/Actions/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/OtherPositions/styles.module.scss","webpack:///./front/components/core/Profile/utils/notifications.module.scss","webpack:///./front/components/core/PageLookup/components/MapView/settings.scss","webpack:///./front/components/core/Profile/components/PageHeader/LegislatorTitle/styles.module.scss","webpack:///./front/components/core/Profile/components/PageHeader/components/Badge/styles.module.scss","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/components/Form/styles.module.scss","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/components/Container/styles.module.scss","webpack:///./front/components/core/Profile/components/Legislators/components/LegislatorsSection/components/Legislator/styles.module.scss","webpack:///./front/components/core/DocumentContent/components/AddedToTab/styles.module.scss","webpack:///./front/components/core/DocumentContent/components/ActionsTab/styles.module.scss","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/AccordionTitle/styles.module.scss","webpack:///./front/components/core/Profile/components/News/Header/styles.module.scss","webpack:///./front/components/core/Profile/components/SectionTitle/index.jsx","webpack:///./front/components/core/Table/components/Error/index.jsx","webpack:///./front/components/core/PageLookup/components/Options/Chamber.jsx","webpack:///./front/components/core/PageLookup/components/Options/FederalCaucus.jsx","webpack:///./front/components/core/PageLookup/components/Options/FederalCommittee.jsx","webpack:///./front/components/core/PageLookup/components/Options/Legislator.jsx","webpack:///./front/components/core/PageLookup/components/Options/HistoricalRecords.jsx","webpack:///./front/components/core/PageLookup/components/Options/Party.jsx","webpack:///./front/components/core/PageLookup/components/Options/StateDelegation.jsx","webpack:///./front/components/core/PageLookup/components/Options/Subject.jsx","webpack:///./front/components/core/PageLookup/components/Options/BillNumber.jsx","webpack:///./front/components/core/PageLookup/components/Options/SelectField.jsx","webpack:///./front/components/core/PageLookup/components/Options/TextExcludesField.jsx","webpack:///./front/components/core/PageLookup/components/Options/TextIncludesField.jsx","webpack:///./front/components/core/PageLookup/components/Options/RangeField/constants.js","webpack:///./front/components/core/PageLookup/components/Options/RangeField/utils.js","webpack:///./front/components/core/PageLookup/components/Options/RangeField/index.jsx","webpack:///./front/components/core/PageLookup/components/Options/StafferTitle.jsx","webpack:///./front/components/core/PageLookup/components/Options/Position/index.jsx","webpack:///./front/components/core/PageLookup/components/Options/Tags.jsx","webpack:///./front/components/core/PageLookup/components/Options/AllStatesSelectField.jsx","webpack:///./front/components/core/PageLookup/components/Options/index.jsx","webpack:///./front/components/core/PageLookup/styles.module.scss","webpack:///./front/components/core/PageHeader/components/TitleContainer/TooltipTitle/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/components/SectionTitle/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/shapes.js","webpack:///./front/components/core/Modal/components/ExportModal/components/ItemsSelection/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/components/ColumnsSelection/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/components/InputField/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/components/Disclaimer/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/components/Settings/useLogo.js","webpack:///./front/components/core/Modal/components/ExportModal/components/Settings/useSettings.js","webpack:///./front/components/core/Modal/components/ExportModal/components/Settings/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/components/Buttons/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/useButtons.js","webpack:///./front/components/core/Modal/components/ExportModal/useItemsSelected.js","webpack:///./front/components/core/Modal/components/ExportModal/useColumns.js","webpack:///./front/components/core/Modal/components/ExportModal/useSteps.js","webpack:///./front/components/core/Modal/components/ExportModal/index.jsx","webpack:///./front/components/core/Modal/components/ExportModal/useSettings.js","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/utils/api.js","webpack:///./front/components/core/Moneyball/utils/index.js","webpack:///./front/components/core/Profile/utils/useAvatar.js","webpack:///./front/components/core/Profile/components/Export/utils/index.js","webpack:///./front/components/core/Profile/components/Cards/Staffers/utils/tableColumns.js","webpack:///./front/components/core/Profile/components/ColumnsContainer/index.jsx","webpack:///./front/components/core/Sort/components/Select/index.jsx","webpack:///./front/components/core/Sort/utils/index.js","webpack:///./front/components/core/Sort/components/TooltipNode/index.jsx","webpack:///./front/components/core/Sort/components/Tooltip/index.jsx","webpack:///./front/components/core/Sort/index.jsx","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/utils/transformers.js","webpack:///./front/components/core/Profile/components/Cards/ItemName/components/Summary/utils/api.js","webpack:///./front/components/core/PriorityTooltip/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ActionButtons/index.jsx","webpack:///./front/components/core/HearingCalendars/components/ActionButtons/useBulkExport.js","webpack:///./front/components/core/ExportDocument/components/SectionTitle/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Bills/utils/billStatus.js","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/CustomBadge/index.jsx","webpack:///./front/components/core/PageLookup/utils/useTable.js","webpack:///./front/components/core/Profile/components/Cards/Bills/utils/withBills.jsx","webpack:///./front/components/core/Profile/components/Cards/Bills/utils/constants.js","webpack:///./front/components/core/Profile/components/Cards/Bills/utils/useTable.js","webpack:///./front/components/core/Profile/components/Cards/Bills/utils/defaultTableColumns.js","webpack:///./front/components/core/Profile/components/Cards/Bills/components/Columns/SponsorsColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/Bills/components/Columns/CosponsorsColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/Bills/components/TableView/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Bills/index.jsx","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/components/BillColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/components/VoteNumberColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/utils/constants.js","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/components/CommitteesColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/utils/useTable.js","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/utils/tableColumns.js","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/components/TableView/index.jsx","webpack:///./front/components/core/Profile/components/Cards/VotingRecord/index.jsx","webpack:///./front/components/core/PageLookup/components/Graphs/components/Bars/constants.js","webpack:///./front/components/core/PageLookup/components/Graphs/components/Bars/utils.js","webpack:///./front/components/core/PageLookup/components/Graphs/components/Bars/index.jsx","webpack:///./front/components/core/PageLookup/components/Graphs/components/TimeSeriesChart/index.jsx","webpack:///./front/components/core/PageLookup/components/Graphs/components/StatesMap/index.jsx","webpack:///./front/components/core/PageLookup/components/Graphs/index.js","webpack:///./front/components/core/Profile/utils/notifications.jsx","webpack:///./front/components/core/BriefingReportButton/utils/api.js","webpack:///./front/components/core/BriefingReportButton/useBriefingReport.js","webpack:///./front/components/core/BriefingReportButton/index.tsx","webpack:///./front/components/core/Table/components/Column/components/Default/index.jsx","webpack:///./front/components/core/Table/components/Column/components/DnD/index.jsx","webpack:///./front/components/core/Table/components/Column/index.jsx","webpack:///./front/components/core/Avatar/utils.js","webpack:///./front/components/core/Table/utils/tableSort.js","webpack:///./front/components/core/PageLookup/components/TableView/utils/useFetchData.js","webpack:///./front/components/core/SearchHeader/components/CommonActions/index.jsx","webpack:///./front/components/core/PageLookup/utils/usePageLookup.js","webpack:///./front/components/core/PageLookup/components/Container/utils/useCustomToggleView.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/utils/tableColumns.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/snippetTableColumns.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/recordTitles.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/withPublicRecords.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/notifications.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/usePublicRecords.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/shapes.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/components/SnippetColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/components/RecordColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/utils/constants.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/components/TitleColumn.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/utils/useTable.js","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/TableView/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/RecordTypesButton/components/TooltipContent.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/RecordTypesButton/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/Types/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/Container/components/RecordTypesFilter.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/components/Container/index.jsx","webpack:///./front/components/core/TrackButton/utils/useFrequency.js","webpack:///./front/components/core/TrackButton/utils/api.js","webpack:///./front/components/core/TrackButton/utils/useTrackButton.js","webpack:///./front/components/core/RightSideBar/utils/shapes.js","webpack:///./front/components/core/RightSideBar/components/MenuItem.jsx","webpack:///./front/components/core/RightSideBar/index.jsx","webpack:///./front/components/core/AdvancedSearch/utils/useSearchOptions.js","webpack:///./front/components/core/PageLookup/components/Container/utils/removeUnusedOptions.ts","webpack:///./front/components/core/PageLookup/components/Container/utils/useAdvancedSearch.js","webpack:///./front/components/core/Profile/components/Export/components/ExportPreview/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Modal/constants.js","webpack:///./front/components/core/Profile/components/Export/components/Modal/index.jsx","webpack:///./front/components/core/DocumentContent/notifications.js","webpack:///./front/components/core/DocumentContent/index.jsx","webpack:///./front/components/core/Icons/components/PartyIcon/styles.module.scss","webpack:///./front/components/core/Checkbox/components/IndeterminateCheckbox/styles.module.scss","webpack:///./front/components/core/Checkbox/components/CheckboxButton/styles.module.scss","webpack:///./front/components/core/Placeholder/components/Text/styles.module.scss","webpack:///./front/components/core/Table/components/Header/components/Tooltip/styles.module.scss","webpack:///./front/components/core/Placeholder/components/TextInput/styles.module.scss","webpack:///./front/components/core/Accordion/components/CaretTitle/styles.module.scss","webpack:///./front/components/core/ErrorMessage/styles.module.scss","webpack:///./front/components/core/Select/components/styles.module.scss","webpack:///./front/components/core/Select/styles.module.scss","webpack:///./front/components/core/Input/components/InputSelect/styles.module.scss","webpack:///./front/components/core/Table/components/Column/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/CapitalizedItem/styles.module.scss","webpack:///./front/components/core/Table/components/ColumnItem/OfficeItem/styles.module.scss","webpack:///./front/components/core/EmptyPlaceholder/components/NoSubscriptionMessage/styles.module.scss","webpack:///./front/components/core/Notification/components/CloseButton/styles.module.scss","webpack:///./front/components/core/Validators/components/TextInputValidator/styles.module.scss","webpack:///./front/components/core/Notifications/styles.module.scss","webpack:///./front/components/core/DatePicker/components/NavigationButton/styles.module.scss","webpack:///./front/components/core/TextareaWithMentions/styles/defaultTheme.module.scss","webpack:///./front/components/core/TextareaWithMentions/styles/contentTheme.module.scss","webpack:///./front/components/core/TimePicker/styles.module.scss","webpack:///./front/components/core/Drawer/components/Body/styles.module.scss","webpack:///./front/components/core/Drawer/components/Footer/styles.module.scss","webpack:///./front/components/core/WorkspaceTile/components/CommitteeIcon/styles.module.scss","webpack:///./front/components/core/WorkspaceTiles/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/LinkField/styles.module.scss","webpack:///./front/components/core/Profile/components/KeyDetailsFields/BiographyField/styles.module.scss","webpack:///./front/components/core/CharInfo/components/TextareaWithCharInfo/styles.module.scss","webpack:///./front/components/core/CharInfo/components/InputWithCharInfo/styles.module.scss","webpack:///./front/components/core/ButtonSlideGroup/components/Placeholder/styles.module.scss","webpack:///./front/components/core/TrackButton/components/Placeholder/styles.module.scss","webpack:///./front/components/core/Logo/styles.module.scss","webpack:///./front/components/core/ActionBar/components/OpenIcon/styles.module.scss","webpack:///./front/components/core/ActionBar/components/Transition/settings.scss","webpack:///./front/components/core/PageActionsButton/index.jsx","webpack:///./front/components/core/TitleWithTooltip/styles.module.scss","webpack:///./front/components/core/KanbanBoard/styles.module.scss","webpack:///./front/components/core/KanbanBoard/components/Column/components/Footer/styles.module.scss","webpack:///./front/components/core/KanbanBoard/components/Column/components/EmptyPlaceholder/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/components/MapType/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/components/Heatmap/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/styles.module.scss","webpack:///./front/components/core/Map/components/Filters/components/MobileView/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/modals/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/TooltipContent/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/ListEvents/components/DayEvents/components/Bills/styles.module.scss","webpack:///./front/components/core/HearingCalendars/components/Icon/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/components/Disclaimer/styles.module.scss","webpack:///./front/components/core/Modal/components/ExportModal/styles.module.scss","webpack:///./front/components/core/ButtonGroupResponsive/index.jsx","webpack:///./front/components/core/ColorPicker/themes.module.scss","webpack:///./front/components/core/Profile/components/Placeholders/EmptyTable/styles.module.scss","webpack:///./front/components/core/Profile/components/Placeholders/Loading/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/FooterContainer/styles.module.scss","webpack:///./front/components/core/News/components/Cards/common/SourceLabel/styles.module.scss","webpack:///./front/components/core/News/components/Cards/components/Story/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Graphs/components/TimeSeriesChart/ExportTimeSeries.jsx","webpack:///./front/components/core/Profile/components/Cards/Bills/components/ViewAllLink/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/DistrictMap/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Staffers/components/StafferColumn/styles.module.scss","webpack:///./front/components/core/Profile/components/Separator/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/StateBadge/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/LargerPhoto/components/ElectionInfo/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/Separator/styles.module.scss","webpack:///./front/components/core/Profile/components/Cards/MilitaryService/styles.module.scss","webpack:///./front/components/core/SearchHeader/components/CommonActions/styles.module.scss","webpack:///./front/components/core/PageLookup/components/Container/styles.module.scss","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/RecipientColumn/styles.module.scss","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/styles.module.scss","webpack:///./front/components/core/SearchInfo/styles.module.scss","webpack:///./front/components/core/InfinitePaginator/styles.module.scss","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/components/Table/styles.module.scss","webpack:///./front/components/core/Profile/components/ColumnsContainer/styles.module.scss","webpack:///./front/components/core/CustomFields/utils/index.js","webpack:///./front/components/core/CustomFields/utils/errorMessages.js","webpack:///./front/components/core/CustomFields/utils/validationSchema.js","webpack:///./front/components/core/CustomFields/utils/withCustomField.jsx","webpack:///./front/components/core/CustomFields/utils/shapes.js","webpack:///./front/components/core/CustomFields/components/TableView/useTable.js","webpack:///./front/components/core/CustomFields/components/MobileCardView/components/Item.jsx","webpack:///./front/components/core/CustomFields/components/MobileCardView/index.jsx","webpack:///./front/components/core/CustomFields/components/MobileCardView/components/Placeholder.jsx","webpack:///./front/components/core/CustomFields/components/FieldsOptions/components/Option.jsx","webpack:///./front/components/core/CustomFields/components/FieldsOptions/index.jsx","webpack:///./front/components/core/CustomFields/components/AvailableInField/index.jsx","webpack:///./front/components/core/CustomFields/components/FieldsData/components/RequiredProperty/index.jsx","webpack:///./front/components/core/CustomFields/components/FieldsData/index.jsx","webpack:///./front/components/core/CustomFields/components/TableView/components/EditForm/components/FieldInfo.jsx","webpack:///./front/components/core/CustomFields/components/TableView/components/EditForm/components/Form.jsx","webpack:///./front/components/core/CustomFields/components/TableView/components/EditForm/validationSchema.js","webpack:///./front/components/core/CustomFields/components/TableView/components/EditForm/index.jsx","webpack:///./front/components/core/CustomFields/components/TableView/components/CardButtonGroup.jsx","webpack:///./front/components/core/CustomFields/components/TableView/components/FooterActions.jsx","webpack:///./front/components/core/CustomFields/components/TableView/utils/shapes.js","webpack:///./front/components/core/CustomFields/components/TableView/tableColumns.js","webpack:///./front/components/core/CustomFields/components/TableView/components/FieldsTable.jsx","webpack:///./front/components/core/CustomFields/components/TableView/components/EditButton/index.jsx","webpack:///./front/components/core/CustomFields/components/TableView/utils/constants.js","webpack:///./front/components/core/CustomFields/components/TableView/index.jsx","webpack:///./front/components/core/CustomFields/components/PreviewFields/components/PreviewDateInput.jsx","webpack:///./front/components/core/CustomFields/components/PreviewFields/components/PreviewInput.jsx","webpack:///./front/components/core/CustomFields/components/PreviewFields/components/PreviewContent.jsx","webpack:///./front/components/core/CustomFields/components/PreviewFields/index.jsx","webpack:///./front/components/core/CustomFields/components/Form/index.jsx","webpack:///./front/components/core/CustomFields/components/Container/index.jsx","webpack:///./front/components/core/CustomFields/index.jsx","webpack:///./front/components/core/Comments/utils/index.js","webpack:///./front/components/core/Comments/utils/useComments.js","webpack:///./front/components/core/Comments/index.jsx","webpack:///./front/components/core/FileUpload/handlers.js","webpack:///./front/components/core/FileUpload/Container.jsx","webpack:///./front/components/core/FileUpload/index.jsx","webpack:///./front/components/core/TimePicker/components/TimePickerInput/index.jsx","webpack:///./front/components/core/TimePicker/constants.js","webpack:///./front/components/core/TimePicker/index.jsx","webpack:///./front/components/core/Profile/components/ActionsItem/utils/shapes.js","webpack:///./front/components/core/Profile/components/ActionsItem/index.jsx","webpack:///./front/components/core/Table/components/Column/types.jsx","webpack:///./front/components/core/Accordion/utils/shapes.js","webpack:///./front/components/core/SearchBox/shapes.js","webpack:///./front/components/core/SmartSearchBuilder/utils/index.js","webpack:///./front/components/core/PageLookup/utils/withLookup.jsx","webpack:///./front/components/core/PageLookup/components/TableView/components/FooterActions.jsx","webpack:///./front/components/core/PageLookup/components/TableView/index.jsx","webpack:///./front/components/core/Map/utils/useMapBounds.js","webpack:///./front/components/core/Map/components/Popup/utils.jsx","webpack:///./front/components/core/Map/components/Popup/components/LinkList.jsx","webpack:///./front/components/core/Map/components/Popup/components/Body.jsx","webpack:///./front/components/core/Map/components/Popup/components/Footer.jsx","webpack:///./front/components/core/Map/components/Popup/components/Header.jsx","webpack:///./front/components/core/Map/components/Popup/index.jsx","webpack:///./front/components/core/Map/utils/getMapPopup.jsx","webpack:///./front/components/core/Map/utils/clusters.js","webpack:///./front/components/core/Map/utils/heatmap.js","webpack:///./front/components/core/PageLookup/utils/useMap.js","webpack:///./front/components/core/PageLookup/components/MapView/useMapView.js","webpack:///./front/components/core/PageLookup/components/MapView/index.jsx","webpack:///./front/components/core/PageLookup/components/Container/index.jsx","webpack:///./front/components/core/PageLookup/components/Container/utils/usePageViewTracking.js","webpack:///./front/components/core/PageLookup/index.jsx","webpack:///./front/components/core/PageLookup/utils/trackingFunctions.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillCard/components/Header/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillCard/components/Header/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillCard/components/Footer/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillCard/components/Footer/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillCard/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/BillCard/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/StateBills/components/Header/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/StateBills/components/Header/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/StateBills/components/Bill/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/StateBills/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/FederalBills/components/Header/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/FederalBills/components/Header/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/FederalBills/components/Bill/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/FederalBills/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/index.jsx","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/utils/useContributions.js","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/components/Form/index.jsx","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/utils/tableColumns.js","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/components/Table/index.jsx","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/components/Container/index.jsx","webpack:///./front/components/core/Moneyball/components/FederalContributionsWidget/index.jsx","webpack:///./front/components/core/Moneyball/index.jsx","webpack:///./front/components/core/PageLookup/utils/useOptions.js","webpack:///./front/components/core/Filter/Date/index.jsx","webpack:///./front/components/core/Filter/Radiobox/index.jsx","webpack:///./front/components/core/Filter/TagInput/index.jsx","webpack:///./front/components/core/Filter/Checkbox/components/Item/index.jsx","webpack:///./front/components/core/Filter/Checkbox/utils/shapes.js","webpack:///./front/components/core/Filter/Checkbox/index.jsx","webpack:///./front/components/core/Filter/CheckboxWithSubItems/components/SelectAllWithSubItems/index.tsx","webpack:///./front/components/core/Filter/CheckboxWithSubItems/components/Item/index.tsx","webpack:///./front/components/core/Filter/CheckboxWithSubItems/index.tsx","webpack:///./front/components/core/Filter/index.js","webpack:///./front/components/core/PageHeader/utils/useSearch.js","webpack:///./front/components/core/DocumentContent/components/AddedToTab/index.jsx","webpack:///./front/components/core/DocumentContent/components/ActionsTab/index.jsx","webpack:///./front/components/core/DocumentContainer/index.jsx","webpack:///./front/components/core/ButtonShareToMyFeed/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/AddedDraggableItem/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/AddedDraggableItem/AddedDraggableInputItem.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/utils/index.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/common.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/index.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/handleDroppedFilterJoin.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/handleDroppedFilterGroup.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/handleDroppedStatementJoin.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/handleDroppedStatementGroup.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/handleDroppedStatementReorder.js","webpack:///./front/components/core/SmartSearchBuilder/utils/dragEndActions/handleDroppedFilterReorder.js","webpack:///./front/components/core/SmartSearchBuilder/utils/useSmartSearch.js","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/DroppableItem/theme.js","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/DroppableItem/components/Placeholder.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/AccordionTitle/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/DroppableItem/components/DraggableOption.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/DroppableItem/components/Options.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/components/DroppableItem/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/StatementsAndFilters/useStatementsAndFilters.js","webpack:///./front/components/core/SmartSearchBuilder/components/GeneralDetails/components/TitleInput.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/GeneralDetails/components/DescriptionTextArea.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/GeneralDetails/labels.js","webpack:///./front/components/core/SmartSearchBuilder/components/GeneralDetails/useValidation.js","webpack:///./front/components/core/SmartSearchBuilder/components/GeneralDetails/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementDescription.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/theme.js","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementsAdd.jsx","webpack:///./front/components/core/SmartSearchBuilder/utils/groupOperators.js","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/GroupOperator.jsx","webpack:///./front/components/core/SmartSearchBuilder/utils/operatorActions/updateGroupOperator.js","webpack:///./front/components/core/SmartSearchBuilder/utils/operatorActions/updateItemOperator.js","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementFiltersAdd.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementFilter.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementFilterChecker.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementFilters.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/Statement.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/StatementChecker.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/components/Statements.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Definitions/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/components/Container/index.jsx","webpack:///./front/components/core/SmartSearchBuilder/index.jsx","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/LookupCard/styles.js","webpack:///./front/components/core/PageLookup/components/Export/components/DocumentLayouts/LookupCard/index.jsx","webpack:///./front/components/core/DetailRow/index.jsx","webpack:///./front/components/core/ButtonBulkTrack/shapes.js","webpack:///./front/components/core/ButtonBulkTrack/useBulkTrack.js","webpack:///./front/components/core/ButtonBulkTrack/index.jsx","webpack:///./front/components/core/Profile/components/PageHeader/index.jsx","webpack:///./front/components/core/Profile/index.jsx","webpack:///./front/components/core/ButtonDropdown/theme.js","webpack:///./front/components/core/ButtonDropdown/index.jsx","webpack:///./front/components/core/InfinitePaginator/index.jsx","webpack:///./front/components/core/Profile/components/Cards/PublicRecord/utils/transformers.js","webpack:///./front/components/core/Profile/components/PageHeader/components/Badge/index.jsx","webpack:///./front/components/core/Profile/components/Cards/TotalTable/useTable.js","webpack:///./front/components/core/Profile/components/Cards/TotalTable/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Header/components/Avatar/styles.js","webpack:///./front/components/core/Profile/components/Export/components/Header/components/Avatar/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/Header/styles.js","webpack:///./front/components/core/Profile/components/Export/components/Header/index.jsx","webpack:///./front/components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/utils/shapes.js","webpack:///./front/components/core/Profile/components/Export/components/ExportDocument/index.jsx","webpack:///./front/components/core/AvatarGroup/shapes.jsx","webpack:///./front/components/core/AvatarGroup/index.jsx","webpack:///./front/components/core/SearchInfo/index.jsx","webpack:///./front/components/core/Table/components/ColumnItem/PositionItem/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Tags/EmptyTagsPlaceholder/index.jsx","webpack:///./front/components/core/Profile/components/Cards/Tags/index.jsx","webpack:///./front/components/core/News/utils/shapes.js","webpack:///./front/components/core/Profile/components/PageHeader/LegislatorTitle/index.jsx","webpack:///./front/components/core/Profile/components/Actions/components/ReportLabel/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/MoneyColumn/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/ConfidenceColumn/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/RecipientColumn/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/components/FilingColumn/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/components/Table/index.jsx","webpack:///./front/components/core/Moneyball/components/Contributions/index.jsx","webpack:///./front/components/core/Profile/components/Legislators/components/LegislatorsSection/components/Legislator/index.jsx","webpack:///./front/components/core/Profile/components/Legislators/components/LegislatorsSection/utils.js","webpack:///./front/components/core/Profile/components/Legislators/components/LegislatorsSection/index.jsx","webpack:///./front/components/core/Profile/components/Legislators/index.jsx","webpack:///./front/components/core/Profile/components/PartyBreakdown/components/PartyLegend/utils.js","webpack:///./front/components/core/Profile/components/PartyBreakdown/components/PartyLegend/index.jsx","webpack:///./front/components/core/Profile/components/PartyBreakdown/constants.js","webpack:///./front/components/core/Profile/components/PartyBreakdown/index.jsx","webpack:///./front/components/core/TrackFrequency/constants.js","webpack:///./front/components/core/ActionCard/index.jsx","webpack:///./front/components/core/Profile/components/News/utils/withNews.jsx","webpack:///./front/components/core/Profile/components/News/Paginator/index.jsx","webpack:///./front/components/core/Profile/components/News/RightItems/index.jsx","webpack:///./front/components/core/Profile/components/News/Header/index.jsx","webpack:///./front/components/core/Profile/components/News/List/index.jsx","webpack:///./front/components/core/Profile/components/News/utils/useContainer.js","webpack:///./front/components/core/Profile/components/News/Container.jsx","webpack:///./front/components/core/Profile/components/News/index.jsx","webpack:///./front/components/core/FilePicker/utils/exceptions.js","webpack:///./front/components/core/FilePicker/utils/validations.js","webpack:///./front/components/core/FilePicker/components/SelectedFile/index.jsx","webpack:///./front/components/core/FilePicker/useFileUrl.js","webpack:///./front/components/core/FilePicker/index.jsx"],"names":["ButtonTypes","buttonThemes","primary","styles","secondary","tertiary","light","warning","danger","link","tableLink","default","none","violet","buttonSizes","small","medium","large","badge","loaderThemes","LIGHT_THEME","BLUE_THEME","DARK_THEME","Button","_ref","onClick","_ref$type","type","button","disabled","_ref$theme","theme","_ref$size","size","customIcon","iconClassName","_ref$isAddIcon","isAddIcon","_ref$isRemoveIcon","isRemoveIcon","children","className","isLoading","loaderClassName","innerRef","restProps","_objectWithoutProperties","isDisabled","disabledClassName","react_default","a","createElement","_extends","ref","classNames","addIcon","removeIcon","icon","Loader","onlyIcon","loaderDefault","ButtonWithTooltip","withDisabledStateTooltip","__webpack_require__","d","__webpack_exports__","CONTINUOUS_ID","DAILY_ID","WEEKLY_ID","NONE_ID","SHARED_ID","CONTINUOUS","DAILY","NONE","WEEKLY","DEFAULT_FREQUENCIES","ALL_FREQUENCIES","value","label","AlertType","title","content","description","card","propTypes","CloseButton","closeToast","onClose","deleteButton","props","Slide","cssTransition","enter","exit","duration","Zoom","notificationDefaultProps","position","hideProgressBar","closeOnClick","pauseOnHover","autoClose","defaultNotification","options","id","closeButton","toast","getContent","transition","toastId","success","_ref2","error","_ref3","alertSuccessAction","alertErrorAction","data","isEmpty_default","isValidElement","isObject_default","updateNotification","utils_extends","currentContent","update","render","Notification","react_toastify_esm","Notification_extends","container","toastClassName","defaultProps","limit","LIMIT_NOTIFICATIONS","linkThemes","buttonStyles","buttonDefault","Link","rightIcon","href","isExternal","isRouterLink","displayExternalIcon","customProps","target","rel","linkContent","Fragment","es_Link","BackTo","to","titleClassName","BackTo_objectWithoutProperties","Core","BackTo_extends","MAX_TEXT_LENGTH","LinkList","linkList","linkClassName","EMPTY_VALUE","firstItem","listSize","length","renderLink","index","restLinkProps","LinkList_objectWithoutProperties","isFirstItem","isNumber_default","linkClassNames","firstItemLink","tooltipLink","key","concat","ColumnItem","textToTrim","maxTextLength","withTooltip","linkContainer","LinkList_extends","tippy_react_esm","slice","map","placement","interactive","flexContainer","THEMES","blue","green","red","Mark","mark","components_BackTo","components_LinkList","components_Mark","frequencyType","prop_types__WEBPACK_IMPORTED_MODULE_0__","prop_types__WEBPACK_IMPORTED_MODULE_0___default","n","_constants__WEBPACK_IMPORTED_MODULE_1__","PropTypes","oneOf","TextInput","textInputPlaceholder","InputPlaceholder","inputPlaceholder","Text","text","ButtonGroupPlaceholder","btnLength","btnTheme","btnSize","ButtonGroup","Array","fill","_","PageHeader","isPresentAvatar","isFullWidth","headerClassNames","header","headerContentClassNames","fullWidth","titleContainer","avatarPlaceholder","Paginator","paginatorWrapper","textPlaceholder","MobileTabPlaceholder","itemsNumber","mobileItem","TabsPlaceholder","isDesktop","MobileTabs","titles","item","TagsPlaceholder","tagClassName","tags","tag","CardTablePlaceholder","rows","columns","headerNodes","labelRows","labelContainerClassName","Card","parentStyles","getLabel","Table","contentClassName","table","cardGroup","checkbox","image","author","mentions","mention","rightContent","sentiment","footer","share","containerClassName","Card_objectWithoutProperties","Card_extends","components_ButtonGroup","components_PageHeader","components_TextInput","components_Paginator","Tabs","components_Card","CardTable","CardNewsStory","components_InputPlaceholder","Tags","isLastPosition","array","isBlankText","string","isEmpty","trim","normalizeArrayToString","filter","el","join","split","isBlankspace","letter","useTextValidator","onValidationStatusChange","requiredLetters","toUpperCase","_useState2","_slicedToArray","useState","typedLetters","setTypedLetters","fieldRefs","moveCursor","arguments","undefined","isFirstPosition","inputRef","current","focus","moveCursorBackward","moveCursorForward","useEffect","requiredString","typedString","handleFocus","event","select","handleChange","letters","handleInputChange","handleKeyDown","keyCode","KEY_CODES","TAB","BACKSPACE","preventDefault","ENTER","LetterInput","_classNames","typedLetter","inputValue","isValid","isInvalid","inputClassNames","input","_defineProperty","valid","invalid","borderLeft","noBorderRight","createRef","name","maxLength","placeholder","autoFocus","tabIndex","onFocus","onChange","onKeyDown","TextValidator","_useTextValidator","commonProps","isCaseSensitive","isNil","toLowerCase","TextInputValidator","errorMessage","TextInputValidator_slicedToArray","setInputValue","hasError","useDidUpdateEffect","inputErrorMessage","Input","isError","validators","TextConfirmation","isOpen","validationText","confirmationMessage","submitButtonText","onToggle","onSubmit","validatorType","TextConfirmation_slicedToArray","setIsValid","buttons","loader","Validator","Modal","toggleOpen","headerClassName","footerClassName","modal","status","textValidator","Disclaimer","isOpenModal","toggleModal","withButtons","modalTheme","modalClassName","CANCEL_BUTTON","CONTINUE_BUTTON","Confirm","message","hideCancel","withAction","keepItOpened","bodyClassName","buttonClassName","disableContinue","messageContinue","action","toggle","bodyContent","Confirmation_extends","editorialAlertSuccess","editorialAlertError","submitEditorialAlert","onSuccess","productSlug","fullName","personId","personTitle","omitBy_default","product_slug","full_name","record_id","String","transformEditorialAlertForBE","api_objectWithoutProperties","ajax","$","url","method","JSON","stringify","contentType","Promise","resolve","then","EditorialAlert","overlayClassName","onRequestClose","onCrossBtnClick","shouldReturnFocusAfterClose","parentSelector","EditorialAlert_slicedToArray","setMessage","_useState4","setHasError","Confirmation","body","trim_default","contentText","Textarea","textArea","CloseConfirmation","components_Disclaimer","SlideUpModal","components_EditorialAlert","module","exports","DEFAULT_TEXT_COLOR","SECONDARY_TEXT_COLOR","DEFAULT_LABEL_COLOR","DEFAULT_LINK_COLOR","DEFAULT_LINE_COLOR","SECONDARY_LINE_COLOR","WHITE_COLOR","GREY_COLOR","DEFAULT_BADGE_COLOR","BLUE_BADGE_COLOR","BLUE_BADGE_BORDER_COLOR","PURPLE_BADGE_COLOR","GREEN_BADGE_COLOR","GREEN_BADGE_BORDER_COLOR","SECONDARY_BADGE_COLOR","DEMOCRATIC_PARTY_COLOR","REPUBLICAN_PARTY_COLOR","DEFAULT_PARTY_COLOR","DEFAULT_HEADER_COLOR","DEFAULT_DISABLED_COLOR","DEFAULT_LINE_COLOR_TRANSPARENT","TAG_BORDER_COLOR","TAG_BACKGROUND_COLOR","ATTACHMENT_BACKGROUND_COLOR","ATTACHMENT_TEXT_COLOR","BOX_SHADOW_COLOR","PROGRESS_BAR_ACTIVE_COLOR","LABEL_DOT_BORDER_COLOR","TEXT_HIGHLIGHT_COLOR","SOCIAL_MEDIA_LINE_COLOR","SOCIAL_MEDIA_SECONDARY_TEXT_COLOR","SOCIAL_MEDIA_BODY_COLOR","SOCIAL_MEDIA_PHOTO_BORDER_COLOR","SOCIAL_MEDIA_AVATAR_BACKGROUND_COLOR","LIST_BADGE_BORDER_COLOR","TAG_BADGE_BORDER_COLOR","SOCIAL_MEDIA_NESTED_TWEET_BORDER","SOCIAL_MEDIA_NESTED_TWEET_BRACKGROUND","MY_FEED_TILE_BACKGROUND_COLOR","LABEL_FIELD_COLOR","_loaderThemes","dark","loadingTextThemes","_loadingTextThemes","loadingTextLight","loadingTextDark","loaderSizes","_loaderSizes","MEDIUM_SIZE","SMALL_SIZE","EXTRA_SMALL_SIZE","xSmall","BIG_SIZE","big","loadingText","CustomDropdownIndicator","DropdownIndicator","components","dropdownIndicatorIcon","Select","clearable","multi","multiple","onBlur","searchable","backspaceRemoves","deleteRemoves","joinValues","inputClassName","hasNewStyle","customTheme","mountOpened","otherProps","customClassNames","wrapperClassName","delimiter","customComponents","Option","react_select_esm","opts","selectOptions","isArray","flatMap","opt","customValues","forEach","val","push","apply","_toConsumableArray","findStringOrNumberValues","findObjectValues","getValue","isArrayWithEmptyValues","isEmptyValue","noOptionsMessage","getNoOptionsText","isMulti","isSearchable","isClearable","backspaceRemovesValue","menuIsOpen","ErrorMessage","useModal","initialState","setIsOpen","openModal","closeModal","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","classnames__WEBPACK_IMPORTED_MODULE_2__","classnames__WEBPACK_IMPORTED_MODULE_2___default","_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_3___default","inputThemes","strong","inputPositions","block","inline","Label","htmlFor","inputSizes","InputComponent","_ref$isError","forwardRef","style","control","base","theme_extends","border","controlBorder","backgroundImage","controlBackground","boxShadow","minHeight","mediumControlHeight","borderRadius","controlBorderRadius","&:hover","borderError","mediumErrorControlHeight","valueContainer","justifyContent","paddingRight","fontStyle","dropdownIndicator","paddingTop","paddingBottom","paddingLeft","menu","borderTop","controlOpenBackground","menuBorderRadius","overflowY","margin","menuPortal","zIndex","option","state","padding","isSelected","background","optionSelectedBackground","color","optionColor","optionHoverBackground","InputSelect","menuPosition","InputSelect_objectWithoutProperties","InputSelect_extends","optionKey","selectedOption","inputType","components_InputSelect","mapStyleUrl","linkListLimit","remainedLinkListLimit","mapTypeCodes","displayTypeCodes","highlightLayers","defaultHighlightingFilters","layers","mapboxApiEndpoint","gon","mapboxStylesUrl","congressional","stateUpper","stateLower","markers","heatmap","mapboxTilesetId","checkboxThemes","Checkbox","isChecked","checkMarkClassName","labelClass","emptyLabel","disabledLabel","checked","checkmark","IndeterminateCheckbox","values","useIndeterminateBehavior","IndeterminateCheckbox_objectWithoutProperties","_useIndeterminateBeha","indeterminateClass","isIndeterminate","indeterminate","components_Checkbox","IndeterminateCheckbox_extends","setIsIndeterminate","setIsChecked","useLayoutEffect","truthyValuesCount","newValue","Boolean","CheckboxButton","CheckboxButton_objectWithoutProperties","CheckboxButton_extends","checkboxButton","components_CheckboxButton","components_IndeterminateCheckbox","AdvancedSearchContext","React","createContext","withSearch","Component","Consumer","contexts","RECENT_STATE","SAVED_STATE","NEW_STATE","MOBILE_SEARCH_PLACEHOLDER","getIsSaved","getIsRecent","useActiveItem","_ref$isMobile","isMobile","loadSavedSearches","loadRecentSearches","activeBtn","setActiveBtn","isSaved","isRecent","isNew","SearchInput","inputProps","filterByNode","withSearchDisclaimer","disclaimerProps","onClearSearch","_useModal","modalProps","SearchInput_extends","withDisclaimer","searchContainer","inputContainer","inputSearch","searchIcon","Icons","disclaimer","clearBtn","advancedSearchBtn","Options","displayHeader","optionsNode","showHeader","OptionsSection","displaySearchInput","components_SearchInput","components_Options","TopBar","searchLabel","btnGroup","active","useSearchItem","onClickItem","onClearItem","onSaveItem","onRemoveItem","isDirty","allowSubmit","isSaveNameEnabled","onSearch","isClickedItem","useSearchItem_slicedToArray","selectedItem","setSelectedItem","selectedItemObject","setSelectedItemObject","_useState6","setName","_useState8","nameErrorMessage","setNameErrorMessage","resetValues","stopPropagation","onTriggerSave","handleSave","onSaveWithName","useSearchItem_extends","onRemove","onClear","onChangeName","nameValue","getFilterLabels","filters","transformedFilters","map_default","items","formattedValue","joinCompact","ItemInfo","isPresentShowMore","filterLabels","ItemInfo_slicedToArray","withShowMore","showToggle","ItemActions","onSave","buttonProps","btn","ItemActions_extends","SearchesPaginator","paginatorSaved","isLoadingSearches","total","onChangeSavedPage","perPage","totalCount","isTablePaginator","paginator","pageSize","totalItems","ListItems","_useSearchItem","Placeholder","emptySavedMessage","emptyMessage","saveSearchActions","react","testClassName","listContainer","list","listClass","listItem","btnWrap","role","components_ItemInfo","components_ItemActions","components_SearchesPaginator","desc","nameInput","ListSearches","savedItems","recentItems","onClearAll","_useActiveItem","showClearAll","showSearch","components_TopBar","mobileOptions","components_OptionsSection","mobileSearchBtn","clearAll","components_ListItems","FooterActions","isDisplayedOnCancel","onCancel","showCancel","DesktopView","optionsClassName","searchesClassName","searches","components_ListSearches","components_FooterActions","MobileView","mobileContainer","BaseLabelGroup","labelGroupClassName","withSelectAll","renderCustomWhenSelected","disabledValues","disabledMessage","valueKeys","Object","keys","_useCheckedItems","useCheckedItems","checkedItems","onCheck","onCheckAll","core_Placeholder","LabelGroup","labelParent","isEqual_default","sortBy_default","itemDisabled","includes_default","labelGroup","disabledItem","arrow","checkBoxItem","BaseButtonGroup","questionText","BaseOption","customComponent","buttonGroup","dataValue","isActive","find","BaseRange","isDateRange","dateFormat","showMonthDropdown","showYearDropdown","start","end","onChangeStart","onChangeEnd","BaseRange_objectWithoutProperties","formatToMoment","date","moment","DateRange","startDate","endDate","handleChangeStart","handleChangeEnd","range","BaseRange_extends","reqTransform","BaseLabelInputGroup_slicedToArray","setError","valuesKeys","handleErrorMessage","prevProps","BaseLabelInputGroup_extends","handleChangeInput","itemId","itemValue","includes","snakeCase_default","shouldOverrideValue","overrideValue","isRequired","renderBaseOption","AdvancedSearch","searchValue","onChangeSearchValue","searchPlaceholder","AdvancedSearch_objectWithoutProperties","useMediaQuery","advancedSearchContext","AdvancedSearch_extends","Provider","components_DesktopView","components_MobileView","HeaderPlaceholder","isCheckboxPresent","colSpan","isFixed","headerRow","checkboxPlaceholder","checkboxWrapper","headerPlaceholder","headerTextPlaceholder","sortIcon","asc","no","Header","isInitialLoading","isRadioButtonPresent","sortDirection","sortColumn","selectAll","onSelectAll","onSort","headerRef","getKey","iconClass","column","handleOnSort","sortingKey","renderHeaderTitle","tooltipContent","isSortable","headerButton","components_Tooltip","headerText","headers","keyName","data-spec","hidden","headerContent","Placeholder_HeaderPlaceholder","checkboxHeight","EmptyMessage","query","notFoundText","customFieldsIcon","src","alt","noResults","CustomFieldsIcon","customFieldsLink","Dimensions","visibleColumns","dimensionTypes","Set","dimensionType","handleColumnToggle","ResponsiveTooltipContainer","Title","tabsContainer","tabContentClassName","tabContent","sideContent","mobileLayout","tabOptions","SearchableCheckboxGroup","numColumns","dimensions","onItemCheck","renderNoResultsPlaceholder","BodyPlaceholder","rowLengthPlaceholder","columnLength","placeholderColumnsLength","rowIndex","checkboxWidth","tableCell","useExpander","expandedRows","setExpandedRows","toggleRow","rowId","isRowExpanded","Body","selectedRadioButton","onRadioButtonChange","uniqueKey","checkboxesMapping","onRowCheckChange","customEmptyMessage","emptyValuePlaceholder","renderExpandedRow","isSelectNonePresent","fixedEmptyMessage","droppablePlaceholder","isDroppingDisabled","withDragNDrop","_useExpander","colSpanLength","Placeholder_BodyPlaceholder","tdStyle","fixedMessage","emptyMsg","EmptyPlaceholder","react_beautiful_dnd_esm","draggableId","isDragDisabled","provided","snapshot","Body_extends","isDragging","draggableProps","radioWrapper","RadioBox","Children","toArray","child","cellIndex","dragHandleProps","withDimensionLocking","cloneElement","cloneChild","selectNone","headerMobileHeight","headerDesktopHeight","tableHeaderHeight","navigationHeight","actionBarMobileHeight","actionBarDesktopHeight","productBarHeight","paginatorHeight","scrollbarHeight","scrollbarHeightMobile","themes","Container","_this","_classCallCheck","this","_super","call","tooltipRef","tableRef","tableWrapperRef","componentWillReceiveProps","nextProps","isScrollToHeader","preserveCheckboxes","selectedItems","window","scrollTo","top","offsetTop","behavior","parseCheckboxesToArray","notFit","setState","checkFixedTableOffsetHeight","_this$props","isDesktopLarge","isPaginatorPresent","isActionBarVisible","tableWrapperRefNode","dynamicHeaderHeight","dynamicNavigationHeight","getDesktopNavBarHeight","actionBarHeight","dynamicScrollBarHeight","offsetHeight","clientHeight","scrollbarMobileAlign","dynamicProductBarHeight","canRenderTopBar","dynamicPaginatorHeight","parseCheckboxesItems","handleRowCheckChanges","parent","restItem","_this$props2","onSelectItems","disableScrollToHeader","_ref3$items","some","_ref4","Table_extends","_ref5","Table_toConsumableArray","filterVisibleChildren","hiddenColumns","_ref6","handleSelectAll","selected","_this$props3","handleRadioButtonChange","uniqueKeyId","_this$props4","handleTooltipClose","setTimeout","toggleHint","_this$props5","col","renderDimensionsForm","_this$props6","onColumnToggle","allowToggle","handleResize","bind","_assertThisInitialized","isDimensionsOpen","windowInnerHeight","innerHeight","_this$props7","fullWidthTable","prevState","_this$props8","addEventListener","removeEventListener","_this2","_this$props9","containerStyle","tableStyle","tableWrapperClassname","tableContainerClassname","isAlignedToTop","droppableId","onDragEnd","_this$state","propsChildren","height","tableContainerClassNames","tableContainer","defaultShadow","fixedTable","alignedToTop","tableWrapper","checkboxWrap","contextualMenuWrapper","Tooltip","persist","tableSection","headerShadow","getAutosuggesterOptionValue","lodash_isArray__WEBPACK_IMPORTED_MODULE_0__","lodash_isArray__WEBPACK_IMPORTED_MODULE_0___default","ButtonBadge","core_Badge","components_ButtonBadge","badgeThemes","cyan","redWithBorder","darkGrey","Badge","ProgressCard","percent","ProgressBar","core_Card","headerNodeWrapperClassName","progressBar","components_ProgressCard","footerPositions","left","center","right","white","footerNodes","footerPosition","isHeaderPresent","CHECKBOX_TYPE_SLUG","RADIO_TYPE_SLUG","INPUT_TYPE_SLUG","TEXTAREA_TYPE_SLUG","NUMERIC_TYPE_SLUG","DATE_TYPE_SLUG","AUTOCOMPLETE_SLUG","DEFAULT_PAGE_SIZE","TYPE_OPTIONS","PRODUCT_SLUGS","PRODUCT_SLUGS_OPTIONS","REQUIRED_FIELD_OPTIONS","getFieldTypeDescription","fieldColumnsLabels","NAME_PLACEHOLDER","OPTION_PLACEHOLDER","DISABLED_MSG","TYPE_PLACEHOLDER","DESCRIPTION_PLACEHOLDER","GRM","STAKEHOLDER_MGMT","slug","createdAt","fieldType","question","token","required","enabled","isEditable","productSlugs","DOCUMENTS","AGENCY_PRESS_RELEASE","CBO_COST_ESTIMATE","COMMITTEE_REPORT","CONGRESSIONAL_PRESS_RELEASE","CONGRESSIONAL_RECORD_ITEM","CONTRACT","CRS_REPORT","DEAR_COLLEAGUE_LETTER","EXECUTIVE_ORDER","GAO_REPORT","GRANT","LIVE_HEARING_TRANSCRIPT","OFFICIAL_HEARING_TRANSCRIPT","SAP_REPORT","STATE_OF_THE_UNION_ADDRESS","TREATY_DOCUMENT","THIRD_PARTY_REPORT","WHITE_HOUSE_PRESS_BRIEFING","GOVERNOR_ORDER","GOVERNOR_PRESS_RELEASE","TYPES","STATE_LEGISLATOR","FEDERAL_LEGISLATOR","STAKEHOLDER","STATE_STAFFER","FEDERAL_STAFFER","COLLEAGUE","LOCAL_EXECUTIVE","STATE_EXECUTIVE","FEDERAL_EXECUTIVE","STATE_AGENCY_STAFFER","STATE_BILL","FEDERAL_BILL","STATE_REGULATION","FEDERAL_REGULATION","STATE_COMMITTEE","FEDERAL_COMMITTEE","HILL_DAY","HILL_DAY_MEETING","CONSTITUENT","USER","BaseDocument","react_pdf_browser_es","Font","register","family","fonts","fontWeight","registerEmojiSource","format","StyleSheet","create","page","fontFamily","BasePage","wrap","footerSection","bottom","flexDirection","alignItems","textNumber","fontSize","DocumentFooter","leftContent","isPageNumbersVisible","fixed","pageNumber","headerSection","maxWidth","marginTop","rightTextSection","flex","display","reportText","maxHeight","textAlign","titleText","DocumentTitle","logoUrl","withLogo","imageStyle","currentDate","GLOBAL_DATE_FORMAT","getCorsImageUrl","DEFAULT_LOGO_URL","labelText","LabelTitle","currentStyle","valueText","noUnderline","textDecoration","emptyText","LabelLink","isUnderline","linkStyle","emptyTextStyle","labelStyle","emptyStyle","LabelLink_extends","components_LabelTitle","LabelText","textStyle","currentTextStyle","LabelText_extends","currentLabelStyle","fixedLabel","LabelTextArray","MultipleLabelArray","valueStyle","valueObject","linkValueObject","components_LabelLink","boxSizing","row","rowHeader","backgroundColor","columnHeader","subLabel","rowText","rowBorder","borderBottomWidth","borderBottomColor","TableView","tableColumns","renderColumnValue","components_LabelText","columnWidth","currentColumnStyle","width","rowStyle","TableView_extends","_column$customHeaderS","customHeaderStyle","_column$customHeaderC","customHeaderColumnStyle","columnStyle","valuesLength","borderStyle","_valueObject$customCo","customColumnStyle","isFunction_default","isString_default","flexWrap","comma","marginRight","LabelItemList","listStyle","hideComma","itemsLength","listStyles","LabelItemList_extends","renderItem","shouldDisplayComma","partyIcon","marginLeft","textTransform","democratic","democrat","republican","PartyIcon","partyShort","partySlug","partyIconStyles","PartyIcon_extends","toLower_default","minWidth","objectFit","LegislatorName","hideAvatar","avatarUrl","partyIconStyle","nameStyle","textStyles","LegislatorName_extends","withAvatar","linkStyles","containerStyles","getUrlWithBase","components_PartyIcon","summaryText","marginBottom","summaryLabel","ReportSummary","labelBarContainer","activeProgressBar","dotsContainer","dotContainer","dotText","labelDot","borderWidth","borderColor","progressBarActive","labelDotActive","LabeledProgressBar","labels","activeLabel","idValues","foundItem","find_default","currentId","indexOf","currentLabel","progressBarActiveStyles","_item$pdfStyle","pdfStyle","dotStyles","borderTopColor","borderTopWidth","labelView","RowsLabelValues","isFirst","externalImage","lineHeight","letterSpacing","ExternalLink","externalLinkNodes","isNil_default","isArray_default","itemHref","itemLabel","reduce_default","prev","curr","isURL","greenBadge","blueBadge","displayingProps","tagStyle","getDisplayingStatus","section","DISPLAY_PDF_TAGS","sizeTags","size_default","colorBadge","slice_default","TAGS_DISPLAY_LENGTH","truncate_default","components_BaseDocument","components_BasePage","components_DocumentFooter","components_DocumentTitle","components_LabelTextArray","SectionTitle","components_MultipleLabelArray","components_TableView","components_LabelItemList","components_LegislatorName","components_ReportSummary","components_LabeledProgressBar","components_RowsLabelValues","components_ExternalLink","components_Tags","DataCard","lodash_isFunction__WEBPACK_IMPORTED_MODULE_3__","lodash_isFunction__WEBPACK_IMPORTED_MODULE_3___default","components_core_Card__WEBPACK_IMPORTED_MODULE_4__","components_core_Profile_components_Placeholders__WEBPACK_IMPORTED_MODULE_5__","_Title__WEBPACK_IMPORTED_MODULE_6__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_7__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_7___default","showPlaceholder","emptyTitle","emptyDescription","placeholderClassName","rightItems","questionTooltipTheme","customTitle","customTitleClassName","withPlaceholder","isFunction","transitionStatusToClassHash","_transitionStatusToCl","ENTERING","collapsing","ENTERED","collapse","EXITING","EXITED","getHeight","node","scrollHeight","Collapse","onEntering","onEntered","onExit","onExiting","onExited","animationTimeout","respProps","setHeight","Transition","timeout","in","isAppearing","collapseClass","getTransitionClass","Item","renderTitle","renderContent","noAnimation","tagId","Item_extends","components_Collapse","CaretTitle","itemTitle","Caret","Accordion","Accordion_objectWithoutProperties","initialOpenedTabs","hasSomeTabsOpened","childProps","canOpenMoreTabs","_useAccordionState","useAccordionState","internalIsOpen","internalHandleToggle","handleToggle","Accordion_slicedToArray","itemIsOpen","Accordion_extends","ListItem","getHref","ViewMoreItem","areaContent","dataList","isEmptyData","isObjectData","isPlainText","isLinkList","getItem","dataListSize","getSubItems","subItems","subItemIndex","tooltipItem","subItem","getDefaultItem","isTooltipItem","tooltipNode","issue","activeTitle","components_ListItem","renderTooltip","listLength","buttonContainer","tooltipWrapper","tooltipContainer","appendTo","document","flexContent","renderObjectIssueArea","currentDataLength","head_default","forEach_default","renderDefaultIssueArea","renderListIssueArea","firstDataItem","validateEmail","email","EMAIL_REGEXP","test","EmailItem","_item$emails","emails","handleClick","emailItem","isEmail","ColumnItem_ViewMoreItem","getDirectMailLink","LegislatorItem","renderName","Legislator","LinkListItem","isColumn","ColumnItem_EmptyItem","capitalizedValues","capitalize_default","sortedList","renderLinks","buttonOutline","linkLabel","CapitalizedItem","capitalize","PhoneColumn","phone","_item$phones","phones","phoneItem","getPhoneLink","DateItem","labelId","currentValue","formatDateBy","EmptyItem","TrimTextHtmlItem","trimmedText","replace_default","originalTextInnerHTML","__html","highlightedText","dangerouslySetInnerHTML","innerHTML","separator","textTrim","LinkItem","isExternalLink","prefix","isValueLink","linkUrl","labelElement","mountedUrl","OTHER_VALUE","OfficeItem","tracking","withOtherType","legislationLevel","trackStafferProfileLegislatorVisited","trackStafferProfileCommitteeVisited","committee","legislator","employment","LEGISLATOR_TYPE","link_to_legislator","legislation","showEnvelope","COMMITTEE_TYPE","columnStyles","OTHER_TYPE","LegislatorListItem","trackLegislatorVisited","formatLegislatorUrl","columnClassName","tooltipBottomContent","_ref2$legislators","legislators","_ref2$allLegislatorsS","allLegislatorsSize","legislatorsLength","currentLegislatorsLength","getLegislatorItem","getLegislatorUrl","keyId","ColumnItem_LegislatorItem","LegislatorListItem_extends","legislatorItem","cosponsorItem","tooltipHoverItem","tooltipLegislators","shift","BillTitleItem","trackingActions","billId","billTitle","billUrl","trackBillVisited","billLink","billColumnLink","billColumn","TrimTextItem","CustomFieldsItem","customFields","custom_fields","isCustomFieldsArray","DraggableItem","DraggableItem_extends","ColumnItem_EmailItem","ColumnItem_LinkListItem","ColumnItem_CapitalizedItem","PhoneItem","ColumnItem_DateItem","components_TrimTextHtmlItem","ColumnItem_LinkItem","ColumnItem_OfficeItem","ColumnItem_LegislatorListItem","ColumnItem_BillTitleItem","ColumnItem_CustomFieldsItem","ColumnItem_DraggableItem","CreatableInput","uniqueIdValue","selectValue","setSelectValue","charCode","which","isEnterKey","isTabKey","prevValue","newSelectValue","uniqueId","onInputChange","optionsParser","allowCreate","firstOption","TagInput","defaultRawValues","strategy","creatable","withOverflow","groupClassName","TagInput_objectWithoutProperties","initialValues","TagInput_slicedToArray","Autosuggest","TagInput_extends","labelClassName","asyncCreatable","Asterisk","show","symbol","asterisk","group","errorGroup","transactor","transactorInvalid","typeDescription","statements","statementGroup","statement","component","componentWithStatementsAdd","componentWithFilters","componentDetails","componentDrag","componentDelete","statementFiltersGroup","statementFiltersGroupOperator","statementFilters","statementFilterContainer","statementFilter","statementFilterInfo","statementFilterName","statementFilterDrag","statementFilterDelete","statementFilterOperator","droppableJoinStatement","droppableNew","droppableStatementOperator","droppableFilterOperator","operator","statementDescription","statementDescriptionTitle","formatCreateLabel","getNewOptionData","transformTag","transformFixedTags","lodash_map__WEBPACK_IMPORTED_MODULE_0___default","getPage","getPageNumbers","range_default","isNumberOfPagesValid","numberOfPages","getIntervalFromCurrentPage","currentPage","sidePages","floor_default","getNextInterval","nextPage","getPreviousInterval","usePaginator","maxNumberOfPages","MOBILE_NUMBER_PAGES","DESKTOP_NUMBER_PAGES","min","initialPage","DEFAULT_INITIAL_PAGE","_useState2$","setPageInterval","setCurrentPage","handlePageChange","pageInterval","descriptionStart","descriptionEnd","isNextDisabled","isPreviousDisabled","onPageClick","onNextClick","step","onPreviousClick","onLoadMore","LoadMorePaginator","pagination","onLoad","customLoader","loaderProps","withToken","useInfiniteLoad","_ref$defaultShouldLoa","defaultShouldLoad","_ref$capture","capture","useInfiniteLoad_slicedToArray","shouldLoad","setShouldLoad","handleShouldLoad","isBottom","debouncedLoad","debounce","DEFAULT_DEBOUNCE_TIME","paginatorRef","InfiniteLoadPaginator","renderCustomLoader","isEstimated","_usePaginator","previousArrows","arrowContainer","iconButton","nextArrows","paginatorDescription","boldText","formatNumber","about","pageButtons","pageButton","containerBox","pagesContainer","InfiniteLoad","TextPlaceholder","textLabel","ButtonGroupTooltip","tooltipClassName","useRef","hintEvent","tooltipHeader","exportButton","buttonText","bar","buttonGroupThemes","_react_pdf_renderer__WEBPACK_IMPORTED_MODULE_0__","components_core_ExportDocument_utils_colors_scss__WEBPACK_IMPORTED_MODULE_1__","emphasizedText","billDescriptionText","billDescriptionLink","billLabelText","billRowSection","billColumnSection","billLastActionDateSection","billLastActionSection","billLegislatorContainer","billLegislator","billLegislatorIcon","DataField","questionClassName","flexItem","questionIcon","questionContent","currentData","LinkField","fieldValue","linkBlock","KeyDetailsFields_DataField","BiographyField","descriptionText","listBiography","DataArrayField","arrayBlock","valueItem","DataFieldPlaceholder","labelPlaceholder","valuePlaceholder","Items","itemsContainer","itemLink","LegislatorBadgeField","isSponsor","isOriginalCosponsor","isCosponsor","LegislatorBadgeField_objectWithoutProperties","cardContainer","cardItems","flexSection","LegislatorBadgeField_extends","sponsorBadge","defaultBadge","components_Items","LinkTitleField","viewText","TitleField","isLoadingProfile","recordId","recordType","customRenderLink","trackSaveSummary","customContentNode","_ref$withSummary","withSummary","_useSummary","useSummary","summaryRef","updatedAt","buttonLabel","data-testid","TitleField_LinkTitleField","summaryButton","Summary","ListField","KeyDetailsFields_DataFieldPlaceholder","KeyDetailsFields_LegislatorBadgeField","KeyDetailsFields_TitleField","positions","ContextualMenu","iconSizeClassName","isDefaultStyle","iconWrapper","Icon","withIconWrapper","PartyIconComponent","party","partyLowerCase","party_icon","QuestionMark","iconImage","components_ContextualMenu","components_Icon","components_QuestionMark","DATE_FORMAT","DATE_FORMAT_ISO_8601","DATEPICKER_HEADER_DATE_FORMAT","MIN_DAY_FORMAT","SINGLE_CHAR_WEEKDAY_FORMAT","MONTH_FORMAT","YEAR_FORMAT","START_YEAR_RANGE","MONTHS","supportEmail","mailToHref","NoSubscriptionMessage","contactLink","iconNode","descriptionClassName","emptyPlaceholder","components_NoSubscriptionMessage","PAGE_SIZE","defaultDisclaimerProps","EMAIL_TYPE","PHONE_TYPE","FAX_TYPE","components_core_CheatSheet__WEBPACK_IMPORTED_MODULE_1__","radioThemes","radioInput","radio","th-action","PageNotFound","fallbackLink","fallbackLabel","fallbackMessage","subtitle","react__WEBPACK_IMPORTED_MODULE_2___default","defaultFallbackMessage","lodash_startCase__WEBPACK_IMPORTED_MODULE_1___default","lodash_toLower__WEBPACK_IMPORTED_MODULE_0___default","pageClassNames","components_core_EmptyPlaceholder__WEBPACK_IMPORTED_MODULE_5__","tableShape","phoneShape","addressShape","utils_shapes__WEBPACK_IMPORTED_MODULE_1__","utils_transformers_profile_constants__WEBPACK_IMPORTED_MODULE_2__","shape","func","placeholderSize","number","arrayOf","keyPath","elementType","stringNumberType","birthInfoShape","place","deathDate","partyShape","code","urlShape","displayOrder","biographyShape","infoText","factShape","source","interestShape","politicalPositionShape","organization","employmentPositionShape","company","headPositionShape","startYear","endYear","educationItemShape","school","details","degree","militaryBranchShape","highestRank","branch","medals","startRank","membershipItemShape","publicationShape","publisher","year","awardShape","electionInfoShape","percentVote","electionDate","reelectYear","electionCode","electedPosition","areaCode","phoneNumber","street","building","room","city","zipCode","roleTypePropType","STATE_ROLE","FEDERAL_ROLE","LOCAL_ROLE","positionShape","roleType","president","levelCode","apptStartDate","apptEndDate","nomitateDate","confirmDate","electionInfo","address","prefixName","firstName","middleName","lastName","suffixName","ethnicity","gender","maritalStatus","residence","religion","spouseName","birthInfo","urls","narrativeBiography","kwBiography","facts","interests","politicalHistory","employmentHistory","headPositions","education","militaryService","membership","publications","awards","staffer_office","minControlHeight","isFocused","controlBoxShadow","controlBorderColor","controlPadding","controlOpenBorderRadius","backgroundErrorColor","textOverflow","whiteSpace","overflow","clearIndicator","indicatorSeparator","selectProps","multiValue","multiValueLabel","multiValueRemove","setValue","renderChildren","withRichOption","_RichOption__WEBPACK_IMPORTED_MODULE_3__","getStyles","innerProps","components_core_ButtonGroup__WEBPACK_IMPORTED_MODULE_3__","components_core_Button__WEBPACK_IMPORTED_MODULE_4__","components_core_LabelGroup__WEBPACK_IMPORTED_MODULE_5__","components_core_RadioBox__WEBPACK_IMPORTED_MODULE_6__","_constants__WEBPACK_IMPORTED_MODULE_7__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_8__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_8___default","caseTransformers","uppercase","lowercase","sentenceCase","FrequencyOptions","labelCase","TitleContainer","avatarName","leadershipRole","isFullWidthTitle","avatarTitleClassName","titlesClassNames","fullWidthTitle","avatarTitleClassNames","avatarTitleContainer","isMobileV2","isNavigationV2Enabled","descriptionClassNames","descriptionContainer","Avatar","photoUrl","avatar","TooltipTitle","customBreadcrumb","withBorder","rightContentClassName","headerContentClassName","applyExtraMargin","isRightOffset","customMobileTitle","isMobileOffsetVisible","customMobileContent","hasActionsOnly","headerBorder","offsetRight","globalMaxWidth","MobileHeaderBar","customParentTitle","isOffsetVisible","components_TitleContainer","mainContent","extraMargin","ActionPageHeader","pageName","pageLinks","ActionPageHeader_objectWithoutProperties","ActionPageHeader_extends","PageActionsButton","settingsButtonOptionsShape","SettingsButton","getMenuItem","settingsButton","trigger","BackToHeaderBar","BackToHeaderBar_objectWithoutProperties","BackToHeaderBar_extends","components_BackToHeaderBar","EXPORT_PER_PAGE","per_page","isGlobalFormat","isCalendarFormat","CALENDAR_DATE_FORMAT","formatDate","getCongressOptions","congressOptions","formatOptions","reverse","getFullName","person","displayFullName","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0___default","getValidPhones","lodash_filter__WEBPACK_IMPORTED_MODULE_2___default","lodash_toLower__WEBPACK_IMPORTED_MODULE_1___default","_ref$photoUrl","_ref$name","_ref$icon","_ref$onClick","_ref$className","_ref$iconClassName","_ref$avoidDefaultIcon","avoidDefaultIcon","_ref$isClickable","isClickable","_ref$onError","onError","isAvatarClickable","lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default","useAvatar","clickableClassName","clickable","clickableProps","react__WEBPACK_IMPORTED_MODULE_1___default","photo","handleError","getInitials","paginatorShape","titleWithTooltip","subItemsContainer","ProfileContext","withProfile","box","boxText","expiredCard","actions","hintBtn","badgeContainer","time","timeExpired","expired","roundBadge","subscriptionInfoShape","components_core_FrequencyOptions_shapes__WEBPACK_IMPORTED_MODULE_2__","utils_shapes_suggestion__WEBPACK_IMPORTED_MODULE_3__","frequency","isTracking","bool","is_disabled","is_saved","priority","sendWeekAheadEmail","subscribable_data","model_id","subscribable_type","documentType","subscription","createSubscription","deleteSubscription","deleteSubscriptions","updateSubscription","suggestionShape","onChangeValues","isWorkspacesChecked","onCheckWorkspaces","isMyFeedChecked","onCheckMyFeed","MapContext","withMap","parseArray","arrayString","parse","getMapBounds","markerBounds","mapboxgl","LngLatBounds","geometry","extend","coordinates","toggleLayer","layerName","getLayer","visibility","getLayoutProperty","visibilityValue","setLayoutProperty","addDefaultLayers","commonOptions","source-layer","mapboxSourceLayer","addLayer","paint","fill-color","fill-opacity","line-color","line-opacity","line-width","addStateHighlight","kwDistrictId","mapType","setFilter","addFocusZoom","latitude","longitude","_ref3$options","maxZoom","latLng","lat","lng","fitBounds","addMarkerImage","markerImage","onImageLoad","loadImage","res","addImage","addMapSource","sourceName","isDataClustered","addSource","cluster","clusterMaxZoom","clusterRadius","getInputProps","autoComplete","withInputSelect","loadingIcon","Dropdown","getSuggestionItemProps","dropdownContainerWrapper","dropdownContainer","formattedSuggestion","itemClass","dropdownItem","itemProps","secondaryText","removeLastComma","mainText","useAddressAutocomplete","_ref$value","placeId","setAddress","selectedAddress","setSelectedAddress","selectedAddressId","setSelectedAddressId","setIsSelected","_useState10","clearSuggestions","setClearSuggestions","_useState12","hasTouchedInput","setHasTouchedInput","checkAddressField","handlePressEscape","ESCAPE","handleClickOutside","contains","overrideOnBlur","element","handleInputOnBlur","addressValue","_status","_clearSuggestions","onSelect","selectedValue","selectedPlaceId","formatedAddress","AddressAutocomplete","placeType","withFromGroup","allowInternationalSearch","_useAddressAutocomple","handleSelect","classes","addressAutocomplete","dist_default","searchOptions","location","google","maps","LatLng","DEFAULT_BIAS_LAT","DEFAULT_BIAS_LNG","radius","DEFAULT_BIAS_RADIUS","types","componentRestrictions","country","highlightFirstSuggestion","suggestions","loading","components_Input","components_Dropdown","EmptyTablePlaceholder","placeholderContainer","LoadingPlaceholder","chartPlaceholder","ClearableEmptyPlaceholder","areFiltersApplied","emptyDescriptionFiltering","textContent","EmptyTable","Loading","Placeholders_ClearableEmptyPlaceholder","withInputTypes","largeBadge","leftItems","expiredBadge","houseBadge","senateBadge","tableCard","selectEnabled","actionBar","barBtn","mobileCard","loadingBtn","actionBtn","customTable","containerTable","modalActions","truncate","tooltipText","_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_1___default","Logo","logo","linkShape","createHref","go","goBack","goForward","listen","pathname","search","hash","replace","isExact","params","oneOfType","path","getNavigationElements","navigationElement","getElementById","mainContainerElement","pushLayoutForProductBar","_getNavigationElement","classList","add","pullLayoutForProductBar","_getNavigationElement2","remove","currentUser","has_p2a_account","textColor","tagBackground","cursor","disabledTagBackground","singleValue","getStyle","boxShadowColor","menuBoxShadow","&:after","getPhoneLabel","lodash_upperFirst__WEBPACK_IMPORTED_MODULE_5___default","lodash_toLower__WEBPACK_IMPORTED_MODULE_4___default","getPhone","getParenthesisItem","formatOrganizations","organizations","lodash_sortBy__WEBPACK_IMPORTED_MODULE_1___default","getPositionDescription","additionalInfo","department","react__WEBPACK_IMPORTED_MODULE_6___default","lodash_uniq__WEBPACK_IMPORTED_MODULE_2___default","getPositionDescriptionForPdf","county","municipal","district","areaInfo","formattedBranch","getName","mainPosition","_ref8","additionalInfoText","getAddress","_ref9","_ref9$state","stateName","getStateName","lodash_get__WEBPACK_IMPORTED_MODULE_3___default","getAddressTable","_ref10","displayedAddress","getPhoneTable","LinkColumn","getUrl","multiStepModal","stepNavigation","stepNavigationBtn","cancelBtn","modalActionBtn","loaderContainer","sortShape","sort","direction","toReset","isMarked","hint","contextualMenu","handlePasteAutofill","conformedValue","b","c","rawValue","conformedNumber","rawNumber","dateMask","dateTimeMask","maskMapping","us_phone_number_with_country_code","mask","integer","createNumberMask","date_time","MaskedInput","maskSlug","pipe","maskMapper","pipeHandler","reactTextMask_default","guide","placeholderChar","keepCharPositions","Content","editButton","Info","isPrimary","valueClassName","onlyLabel","customAdditionalValue","spacing","info","showIcon","ArrayInfo","emptyValue","components_Info","isMultipleValues","getMultipleFieldLabel","category","itemType","history","links","handleClickFilter","makeLink","joinComponents","withRouter","components_ArrayInfo","transformSnippet","snippet","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_2___default","lodash_map__WEBPACK_IMPORTED_MODULE_3___default","splitHighlightText","isHighlight","react__WEBPACK_IMPORTED_MODULE_5___default","_react_pdf_renderer__WEBPACK_IMPORTED_MODULE_6__","getHighlightedWord","lodash_replace__WEBPACK_IMPORTED_MODULE_0___default","NEW_LINE_REGEX","NON_PRINTABLE_ASCII","renderSnippet","components_core_ExportDocument__WEBPACK_IMPORTED_MODULE_7__","getDescriptionItem","maxTextLengthLimit","truncatedValue","lodash_truncate__WEBPACK_IMPORTED_MODULE_4___default","displayViewAllText","lodash_size__WEBPACK_IMPORTED_MODULE_1___default","billEmptyLink","renderLegislator","preview","optionPlaceholder","previewOption","listOptions","datePicker","viewMoreButton","eventTitle","eventText","somethingWentWrong","switcher","isLargeDown","isLargeUp","controlColor","controlBackgroundColor","clusterCircleGradient","clusterCircleBorderColor","veryHigh","high","mediumHigh","mediumLow","low","veryLow","Kbd","TipMessage","isVisible","tip","tipLabel","components_Kbd","initialSelectedFeeds","isWorkspacesEnabled","getMyFeed","UntrackModal","trackings","hasTrackings","withWorkspacesOptions","selectedFeeds","setSelectedFeeds","handleSelectFeed","selectedFeed","prevSelection","filter_default","modalBody","feed","some_default","TrackButton","isCommittee","isLoadingTracking","subscriptionInfo","initialFrequency","defaultSubscription","updateDataItem","updateParams","shouldDisplayIcon","searchId","listSubscriptions","updateCommitteeSubscriptions","withHeaderNode","frequencyTitle","untrackTitle","untrackDescription","withButtonContent","api","feedToken","feedName","withSelectedWorkspace","shouldTrack","initialSendWeekAheadEmail","withWeekAheadEmail","_useTrackButton","useTrackButton","initialModalOpen","onChangeSendEmail","onSaveMobile","onSaveTrackCommittee","workspaces","handleButtonClick","isMyFeed","components_Placeholder","iconClassNames","iconTracked","buttonContent","onUpdateTrackCommittee","components_UntrackModal","TrackModal","withSlideUp","renderModal","over_default","MOBILE_LABEL_LENGTH","DESKTOP_LABEL_LENGTH","SIZES","PANEL_LIMIT","MOBILE_PANEL_LIMIT","MY_FEED_LINK","TASK_BOARD_LINK","BADGE_CONTENT_LIMIT","NOTIFICATIONS_DOM_ID","NAVIGATION_NOTIFICATIONS_DOM_ID","SENATE_COMMITTEE","HOUSE_COMMITTEE","JOINT_COMMITTEE","FEDERAL","STATE","constants","setDayFormatToSingleChar","updateLocale","weekdaysMin","normalizeDate","toDate","normalizeCustomHighlights","highlightDates","highlights","highlightsKey","normalizeHighlightDates","highlightsHead","isMoment","Date","addNotification","GlobalNotifier","level","Notifications","customFieldSaved","customFieldUpdated","customFieldFailed","exportAll","emailAll","textButton","textButtonWithIconWrap","withIconWrap","tooltipNone","ActionBarDescription","OpenIcon","openIcon","defaultProp","ActionBarTransition","transitionDuration","enable","transitionClassNames","enterActive","transitionEntering","exitActive","transitionExiting","CSSTransition","parseInt","animationTransitionDuration","ActionBar","isDefaultOpen","withChatOffset","areItemsEmpty","_useMediaQuery","useChatPosition","descriptions","pluralize","toggleVisibility","contentClassNames","isRelative","Description","mobile","desktop","components_OpenIcon","childrenContent","SmartSearchContext","withSmartSearch","BaseCard","displayCheckbox","article","checkboxContainer","FooterContainer","Sentiment","percentage","showType","sentimenClassNames","Mentions","customButton","isExternalComponent","isContainerless","badgeClassName","backTo","backToQuery","getBackToParams","mentionLink","MENTIONS_BASE_URL","SourceLabel","publishedAt","sourceTitle","sourceDescription","publishedAtNode","imageUrl","displaySource","isLoadingTags","onTagClick","storyInfoClassName","isLoadingMyFeedDocuments","summary","markAsReadLinkNode","sharings","badgesNode","badgesContainer","common_Mentions","ViewTags","isLink","routerLinkState","tileClassName","myFeedTile","linkTitle","common_Sentiment","Header_extends","titleInfo","common_SourceLabel","get_default","storyInfo","ShowClusterLink","onShowCluster","backToParams","isFirstParam","clusterLink","ShowClusterLink_extends","showClusterButton","showClusterLink","common_BaseCard","common_FooterContainer","common_Header","common_ShowClusterLink","TitleWithTooltip","detail","enableTooltip","titleContainerClassName","HearingCalendarContext","withCalendar","getEndDate","getDate","linkIcon","popup","largeNavHeaderHeight","tooltipStyles","navBarDropdownPadding","tooltipTrigger","notifications","closeNotifications","pulse","badgeV2","tooltip","tooltipBox","overlay","v2","clearButton","mobileHeader","emptyPanel","overLimit","myFeedLink","notification","markAllAsRead","hide","calendar","calendarHeader","navButtons","month","headerWeek","week","legend","senate","house","NO_POSITION_ID","MONITOR_ID","SUPPORT_ID","OPPOSE_ID","basePath","_positions","positionsAligned","_positionsAligned","POSITION_LOOKUP_OPTIONS","getPosition","TooltipComponent","classnames__WEBPACK_IMPORTED_MODULE_1__","classnames__WEBPACK_IMPORTED_MODULE_1___default","_tippyjs_react__WEBPACK_IMPORTED_MODULE_3__","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default","components_core_Icons__WEBPACK_IMPORTED_MODULE_5__","utils_constants__WEBPACK_IMPORTED_MODULE_6__","offset","TOOLTIP_OFFSET","DatePickerInput","iconPosition","navigationButton","chevronDirection","isNext","MonthsRange","onMonthChange","selectedMonth","e","dropdownIcon","YearsRange","onYearChange","years","selectedYear","changeYear","changeMonth","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","onlyYearFormat","withBothCustomDropdowns","formattedDate","components_MonthsRange","components_YearsRange","navigation","NavigationButton","DatePicker","_ref$selected","_ref$highlightDates","_ref$inline","_ref$dateFormat","_ref$showMonthDropdow","_ref$showYearDropdown","DatePicker_objectWithoutProperties","react_datepicker_min_default","DatePicker_extends","customInput","components_DatePickerInput","placeholderText","popperClassName","popper","renderCustomHeader","components_Header","formatWeekNumber","dayClassName","day","formatBytes","bytes","decimals","i","Math","floor","log","parseFloat","pow","toFixed","createFileId","getProgress","progress","inputWithButton","withInsideTheme","withIcon","inside","disclaimerModal","searchButton","SearchBox","withButton","buttonTheme","withClear","_Input__WEBPACK_IMPORTED_MODULE_9__","spellCheck","_Button__WEBPACK_IMPORTED_MODULE_8__","components_core_Icons__WEBPACK_IMPORTED_MODULE_4__","_Modal__WEBPACK_IMPORTED_MODULE_7__","useTagManager","_ref$initialTags","initialTags","isMultipleItems","onSaveTags","ids","customIsOpenModal","customToggleModal","defaultIsOpenModal","defaultToggleModal","_useLoader","useLoader","stopLoading","startLoading","useTagManager_slicedToArray","defaultTags","setDefaultTags","setTags","shouldFetchOnLoad","handleDefaultFetchSuccess","responseTags","isUndefined_default","onFetchSuccess","fetchTagsByRecordIdsNoDispatch","response","transformedInitialTags","generalFailedNotification","fetchTags","fixedTags","initTags","pick_default","finalTags","getAddAllTagsLabelNode","ButtonTagManager","_ref$tags","isLoadingRedux","withAjaxAbort","autoload","CustomButtonComponent","_useTagManager","cancelButton","ButtonComponent","createOptionPosition","defaultSelections","handleSuccess","_getFilteredTags","getFilteredTags","newTags","existingTags","transformNewTagsForUI","notifyAddTags","onFailure","saveTagsAndUpdateRecords","saveTagsForRecord","responseNewTags","updateTagRecordsForRecordNoDispatch","tagIds","transformTagsForBE","toString","currentStepIndex","steps","isLastStep","onStepClick","onNextStep","onPrevStep","onCloseModal","CustomButtons","isSaving","getTooltipNode","useCloseConfirmModal","toggleMainModal","handleResetModal","handleToggleModal","isCloseConfirmOpen","toggleCloseConfirm","exitCloseConfirm","openCloseConfirm","returnCloseConfirm","useMultiStepModal","_ref$initialStep","initialStep","withCloseConfirmation","onReset","currentStep","resetStep","onChangeCurrentStep","shouldResetStepOnClose","useMultiStepModal_slicedToArray","setCurrentStepIndex","handleChangeStep","modalTitle","_useCloseConfirmModal","handleCloseModal","handleStepClick","handleNextStep","handlePrevStep","MultiStepModal","handleAction","customCloseMessage","modalStepClassName","modalHeaderClassName","modalBodyClassName","modalFooterClassName","showLoadingPlaceholder","_useMultiStepModal","onReturn","customMessage","darkBlue","altGreen","ButtonTag","isOnMyFeed","checkedBadge","letterBadge","circle","tagButton","WorkspaceTiles","displayAll","acc","sharing","displayedWorkspaces","remainingWorkspaces","workspacesSize","showTooltip","tagsStyles","core_Link","getTileUrl","workspaceLink","subscriptions","WorkspaceTile","workspace","remainingTags","core_ButtonTag","tooltipTheme","baseUrl","tagsDisplayLength","onGetTo","mobileLabelLength","desktopLabelLength","displayAllWorkspaces","withInteractiveTags","truncateOptions","hasWorkspaceTiles","displayedTags","core_WorkspaceTiles","workspaceTile","truncatedLabel","tagLink","notClickable","truncateTooltip","stringTags","interactiveTags","tooltipTag","renderTooltipRemainedTags","justContent","AutosizeTextarea","lib_default","textarea","Textarea_objectWithoutProperties","Textarea_extends","react_modal__WEBPACK_IMPORTED_MODULE_3__","react_modal__WEBPACK_IMPORTED_MODULE_3___default","_helpers__WEBPACK_IMPORTED_MODULE_4__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_5__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_5___default","headerTitle","handleRequestClose","handleCrossBtnClick","ReactModal","setAppElement","contentLabel","modalThemes","closeIcon","useExportModal","_ref$defaultSectionVa","defaultSectionValues","_ref$defaultCustomiza","defaultCustomizationValues","SHOW_PAGE_CUSTOMIZATION_ID","_ref$defaultFileForma","defaultFileFormatValues","PDF_ID","onResetSummary","sectionValues","setSectionValues","fileFormatValues","setFileFormatValues","customizationValues","setCustomizationValues","customInputsValues","setCustomInputsValues","handleChangeSections","handleChangeFileFormat","handleChangeCustomization","handleChangeCustomInput","getCustomInputsValues","getFileFormatProps","_ref3$onChange","getCustomizationProps","_ref4$onChange","getSectionsProps","_ref5$onChange","getCustomInputProps","_ref7","onChangeCallback","LabelItem","customLabel","isSelectAll","allItemsLength","defaultLabel","radioItem","checkboxItem","Sections","exportTabItems","allInitialValues","tab","onCheckSubItem","Sections_objectWithoutProperties","handleCheck","onCheckItem","components_LabelItem","Sections_extends","renderSubItems","sections","useCustomNote","useSuggesterItem_slicedToArray","updateInputValue","SuggesterItem","strategyInputs","rigthItems","disabledInput","selectClassName","_useSuggesterItem","useSuggesterItem","useCustomNote_slicedToArray","setTitle","setContent","noteTitle","noteContent","onTitleChange","newTitle","onContentChange","newContent","CustomNote","contentCharactersLimit","titleCharactersLimit","_useCustomNote","titleInputClassNames","titleInput","wrapperClassNames","wrapper","CharInfo","charInfo","useRadioGroup","defaultCheckedItems","useRadioGroup_slicedToArray","setCheckedItems","_event$target","FileFormat","exportFileItems","checkedItemProps","FileFormat_extends","fileFormat","DocumentSummary","reportHasSummary","Customization","exportCustomizationItems","documentSummaryProps","titleClassNames","Customization_extends","components_DocumentSummary","customization","Actions","documentSummary","onExport","actionContainer","actionButton","notifyInvalidForm","Actions_extends","ExportPreview","documentTitle","logoImage","ExportModal","displayCompanyLogo","_useDocumentSummary","useDocumentSummary","onChangeSummary","_useExportModal","ExportModal_objectWithoutProperties","_useCompanyLogo","useCompanyLogo","companyHasLogo","isLogoLoading","actionsComponent","components_Actions","ExportModal_extends","modalContainer","avatarContainer","contact","pageHeader","subProductTitle","filtersContent","listEvents","baseOption","keyword","flexNone","regularRecordType","keywordForm","rangeDates","transformCommentForUI","comment","user","profile_img_url","repliesCount","replies_count","created_at","generalFailNotification","errorNotification","fetchComments","parentId","parentType","createdAtBefore","shouldLoadAllComments","record_type","created_at_before","toISOString","saveComment","transformCommentForBE","updateComment","deleteComment","fetchReplies","shouldLoadAllReplies","saveReply","updateReply","deleteReply","comments_fetchComments","comments_saveComment","comments_updateComment","comments_deleteComment","replies_fetchReplies","replies_saveReply","replies_updateReply","replies_deleteReply","historicalContainer","multiLabel","selectLabel","textIncludesInput","textExcludesInput","allStatesSelectCheckbox","allStatesTitle","errorPdf","originalSource","iframe","cardHeader","cardFooter","bodyBackground","zeroState","bold","capitalizedText","withProductBar","sidebar","buttonActive","withNavigationV2Sidebar","withProductBarSidebar","withNavigationV2Content","menuActive","selector","addons","normalizeControlValue","normalizeEventTarget","targetProps","tooltipZIndex","tooltipIcon","inputTypes","_inputTypes","InputControl","field","controlValue","InputControl_extends","normalizedEvent","CheckboxControl","CheckboxControl_objectWithoutProperties","anyAnswer","removeOption","CheckboxControl_extends","RadioboxControl","RadioboxControl_objectWithoutProperties","RadioboxControl_extends","TextareaControl","TextareaControl_objectWithoutProperties","TextareaControl_extends","formatStringToDate","DateControl","DateControl_objectWithoutProperties","formatedValue","DateControl_extends","stringDate","Autocomplete","_field$options","CustomField","controlState","handlers","CustomField_objectWithoutProperties","controlClass","wrapperClass","CustomField_extends","handleBlur","controls_Autocomplete","getControl","components_core_Button__WEBPACK_IMPORTED_MODULE_2__","_useBackToTop__WEBPACK_IMPORTED_MODULE_3__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_4___default","ButtonBackToTop","_ref$title","containerRef","_containerRef$current","maxStartDate","startDateClassName","endDateClassName","autoOpenEndDate","getInstanceOfDate","maxDate","minDate","endCalendarRef","dateRange","components_core_DatePicker__WEBPACK_IMPORTED_MODULE_3__","selectsStart","setOpen","popperPlacement","selectsEnd","endDatePopper","CallToActions","withTrack","withPosition","isLoadingSubscription","isMultipleSubscription","positionClassName","onUpdateTrackings","emptyTagsPlaceholder","withBadges","getIsTracking","modelId","isLoadingWorkspaceTags","components_core_ViewTags__WEBPACK_IMPORTED_MODULE_9__","badges","callToActions","components_core_TrackButton__WEBPACK_IMPORTED_MODULE_4__","components_core_ButtonPosition__WEBPACK_IMPORTED_MODULE_8__","handleSetPosition","newPosition","notifySetPosition","positionLabel","shouldFetchOnInit","isLoadingPosition","checkboxWithStars","checkboxWithoutBorders","removedLabel","mentionDataShape","strategySlug","createFetchFunction","callback","fetcher","inputText","result","rest","formatMention","createOnAddFunction","prop","setFieldValue","_id$split2","renderSuggestion","suggestion","highlightedDisplay","focused","suggestionFocused","RichOption","createFormikHandleFunction","onFunction","buildMention","markup","displayTransform","appendSpaceOnAdd","buildOnChangeEventParams","newPlainTextValue","allMentions","defaultTheme","contentTheme","buildClassNames","fieldClassNames","invalidStyles","mentions__suggestions","mentionsSuggestions","mentions__suggestions__list","mentionsSuggestionsList","mentions__input","mentionsInput","mentions__highlighter","mentionsHighlighter","mentions__control","mentionsControl","URL_PER_TYPE","federal_staffer","federal_legislator","federal_bill","state_staffer","state_bill","state_legislator","colleague","stakeholder","PLAIN_MENTION_REGEXP","GROUPED_MENTION_REGEXP","getParseMention","buildLink","textStartsWithMention","isMention","_mentionData","utils_slicedToArray","match","getContentWithParsedMentions","parseMention","splittedContent","split_default","TextWithMentions","renderMention","isPDF","contentWithParsedMention","contentSlice","TextWithMentions_objectWithoutProperties","textToHyperLink","hyperlink","customError","TextareaWithMentions","mentionsData","onMentionsChange","TextareaWithMentions_objectWithoutProperties","TextareaWithMentions_slicedToArray","currentMentions","setCurrentMentions","builtMentions","react_mentions_esm","TextareaWithMentions_extends","uniqWith_default","differentMentions","xorWith_default","allowSuggestionsAboveCursor","mentionData","draggable","draggableDisabled","draggableCopy","dragging","isSticky","fetchLinksPreview","transformPreviewDataToFE","ogData","og_data","getCardsUrlToPreview","cards","extractedUrls","extractUrls","nth_default","removeCardsLinkPreview","cardsLinkPreview","updatedCards","cardsId","omit_default","getUpdatedLinksPreview","oldLinksPreview","cardsLink","linksPreview","_ref3$repeatFetch","repeatFetch","newLinksPreview","urlPreview","img","LinkPreview","_sizes","mobileSize","desktopSize","sizes","LinkPreview_defineProperty","isSmall","urlWithProtocol","addProtocolToUrl","omission","imgWrapper","urlHostname","getUrlHostname","renderUrl","onBackClick","onCloseClick","emptyButton","backButton","back","onKeyPress","close","Footer","Drawer","dataTest","drawer","hideDrawer","data-test","components_Body","components_Footer","loadAnimation","homePage","return","titlePlaceholder","headerOffset","offsetV2","indicatorSeparatorColor","EXPORT_OPTIONS","CSV_LABEL","CSV_ID","defaultChecked","SEARCH_ID_PARAM","SEARCH_QUERY_PARAM","SEARCH_PARAMS","SORT_PARAMS","defaultProfileDisclaimerProps","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_1___default","textToDisplay","lodash_truncate__WEBPACK_IMPORTED_MODULE_0___default","_tippyjs_react__WEBPACK_IMPORTED_MODULE_4__","trimText","itemButton","itemContent","itemDescription","activeContainer","arrowBack","activeComponent","itemCard","itemPlaceholder","contentPlaceholder","tableColumn","tableContent","fixedHeight","voteLink","withHiddenItems","placeholderRow","placeholderBadge","filterButton","checkboxGroup","formBody","officeType","footerButton","fixedContainer","fakeBanner","stickyContainer","stickyContent","tabsContent","greyLayoutBg","activeButton","sectionMaxWidth","partyZone","partyZoneDemocrat","partyZoneRepublican","modalHeader","nameContainer","line","infoPlaceholder","subject","ButtonShare","_optionHref","withOptions","itemName","tooltipPlacement","tooltipContentClassName","onShare","fullUrl","mailInfo","toggleTooltip","closeTooltip","externalLinkProps","optionHref","FACEBOOK","getFacebookDescriptionLink","TWITTER","getTwitterShareLink","EMAIL_ID","getMailLinkFromObj","tooltipTitle","MY_FEED","visible","onHide","onClickOutside","shareTooltipZIndex","useShare","_ref$isOpen","initialCheckedValue","isShareModalOpen","setIsShareModalOpen","shareOption","setShareOption","toggleShareModal","handleChangeShareItem","_ref3$target","handleShareSubmit","open","ShareModal","ShareModal_objectWithoutProperties","_useShare","ShareModal_extends","shareActions","withModal","itemUrl","ButtonShare_objectWithoutProperties","withMyFeedOption","defaultOptions","shareProps","ButtonShare_extends","record_ids","bulkShareToMyFeed","notifySharedToMyFeed","onShareToMyFeed","components_ShareModal","ShareTooltip","useBackToTop","elementRef","defaultRef","usedRef","setIsVisible","handleScroll","getBoundingClientRect","backToTopRef","cheatSheetContent","highlight","BaseFilter","selectedFilter","onFilterClick","isLoadingMap","MapType","filterClassName","Heatmap","Legend","iconStyle","withHeatmap","activeFilters","showHeatmap","components_MapType","filterKey","components_Heatmap","MobileView_extends","Filters","showOnlyDesktopFilters","onChangeFilter","handleFilterClick","selectedFilterValue","MapPlaceholder","loadingMessage","mapPlaceholder","MapContainer","withFilters","mapContainer","Container_extends","components_Filters","GEOGRAPHY_LINK","MAP_LEGEND_RANGE","DEFAULT_INTERVAL","MAP_HEIGHT","PROJECTION_NAME","PROJECTION_CONFIG","scale","MAP_COLORS","mapLevel1","mapLevel2","mapLevel3","mapLevel4","mapLevel5","HIGHLIGHT_COLOR","STROKE_COLOR","stroke","HOVER_COLOR","hover","roundValueToFive","getColorRange","highestCount","lowestCount","_ref3$isEqualInterval","isEqualInterval","limits","interval","adjustedInterval","getInterval","limitsRange","ceil","getLimits","getColorLimits","stateCounts","_getCountValues","stateCounters","stateCountersValues","max_default","min_default","getCountValues","_getColorRange","colorScale","billCount","colorLimits","mapColors","getTooltipContent","stateBillsCount","noMargin","FederalBillsLegend","isSelectedFederalBills","federalBillsCount","onFilterFederalBills","federal","FEDERAL_BILLS_LABELS","Legend_objectWithoutProperties","limitValues","compact_default","iconStyles","minLimit","maxLimit","Legend_FederalBillsLegend","Legend_extends","MapState","projection","geography","onStateClick","onStateHover","selectedState","stateId","properties","ID_1","NAME_1","outline","strokeWidth","pressed","lib","cacheId","onMouseEnter","round","useSimpleStatesMap","customColorLimits","customStateCounter","setTooltipContent","mapValues_default","keyBy_default","getStateCounters","legendLimits","_len","args","_key","SimpleStatesMap","_useSimpleStatesMap","projectionConfig","mapStyles","disablePanning","disableOptimization","geographies","components_MapState","components_Legend","mapHighlightColor","Map","mapContext","Map_extends","Map_objectWithoutProperties","withNavigation","withGeoCoder","boxThemes","Box","scrollableContainer","scrollableBody","ExportButton","TableSection","tables","Awards","award","getAwardContent","Education","educationItem","getEducationItemContent","EmploymentHistory","concat_default","historyItem","getEmploymentContent","Membership","membershipItem","getOrganizationContent","MilitaryService","militaryBranch","getBranchContent","PersonalDetails","_ref2$birthInfo","birthplace","birthdate","PoliticalHistory","getPositionContent","Position","positionIndex","_position$phones","hasMultiplePositions","phoneUrl","formatUrl","Positions","Sections_Position","Publications","publication","getPublicationContent","WebAddresses","Export","customExportButton","documentComponent","fileName","fetchComponentData","previewDocumentTitle","onFileExport","trackOpenExportModal","components_Button","extractAllEvents","getCalendarEventsByType","moment__WEBPACK_IMPORTED_MODULE_0__","moment__WEBPACK_IMPORTED_MODULE_0___default","events","dayEvents","buttonPlaceholder","notColumn","withRightMargin","positionsContainer","no_position","grey","monitor","orange","support","oppose","formGroup","buttonTopicSaver","advancedSearch","form","cardLoading","cardContent","builder","submit","cancel","useExportLookupModal","slugSingleExport","customApiProps","onNotifySuccess","onNotifyFailure","loaders","sortedSelectedItems","orderBy","SORT_DIRECTIONS","ASC","selectedItemIds","documentProps","_useExportPDFDocument","useExportPDFDocument","onFileExported","limitExceedProps","selectedItemsLength","LIMIT_PDF_SELECTED_ITEMS","onLimitExceedInfo","getLimitExceedInfo","isDocumentLoading","onExportPDF","exportLimit","fileExtension","DOCX_ID","EXPORT_DOCX_RECORD_LIMIT","EXPORT_RECORD_LIMIT","submitSingleExport","reportSlug","onLimitExceedError","getLimitExceedError","ExportLookupModal","defaultColumnsIds","withExportSummary","exportTableColumns","customFileFormats","customFileFormatItems","defaultFormat","fileFormatDescription","withDocxCustomization","sectionsTitle","sectionsDescription","onTracking","defaultFileFormat","withGovReportToPDF","_useExportLookupModal","tabColumns","fileFormatItems","getFormatItems","EXPORT_FILE_ITEMS","_ref4$","filterColumns","hasAditionalValues","isLogoVisible","LOGO_CUSTOMIZATION_ID","defaultColumns","ExportLookupModal_extends","exportProps","previewCompanyLogo","SUMMARY_CUSTOMIZATION_ID","displayDocxCustomization","displayCustomization","previewLogoUrl","previewComponent","Preview","getCustomizationSectionProps","basePosition","tooltipThemes","tooltipPositions","bottomRight","bottomLeft","tooltipSizes","smallSize","ReactHint","ReactHintFactory","hintName","hintEvents","attribute","onRenderContent","delay","NO_PRIORITY","priorities","_priorities","highest","components_core_ViewTags__WEBPACK_IMPORTED_MODULE_3__","components_core_Table__WEBPACK_IMPORTED_MODULE_4__","components_core_ViewTags_constants__WEBPACK_IMPORTED_MODULE_5__","AddedToItem","withTags","renderItems","TAG_SIZES","tile","memo","RECORD_TYPES","EMPTY_SUMMARY","LIMIT","STATE_REGULATIONS","LabelDot","isLast","isFailed","firstLabelDot","activeLabelDot","failedDot","labelClassNames","lastLabel","failedIcon","progressList","currentStatus","mobileComponent","dotClassName","activeItems","getActiveItems","isFirstActive","shouldDisplayFirstItem","progressClassName","progressStep","activeProgressStep","components_LabelDot","titleThemes","pending","failure","titleTheme","normalizedPercent","max","widthStyle","TooltipButton","useDropdownPosition","initialOption","isLoadingOption","baseParams","handleUpdateOption","onSetOption","setOption","setIsLoading","currentOption","changeOption","DropdownPosition","_useDropdownPosition","positionOption","DropdownPosition_TooltipButton","positionTooltipZIndex","handleUpdatePosition","rollbackOption","deletePosition","updatePosition","handleFetchData","fetchPosition","PositionButton","initialPosition","fetchData","components_DropdownPosition","ButtonSlideGroup","failedToSave","savedWithSuccess","initBeforeUnload","onbeforeunload","useConfirmBeforeLeave","onContinue","onBeforeUnload","setSummary","summaryAPI","getSummaryAPI","resetSummary","handleUpdate","deleteSummary","payload","summaryId","saveSummary","scrollIntoView","fetchSummary","SummaryButton","SummaryContent","editElement","edit","viewElement","view","components_SummaryButton","components_SummaryContent","utils_useSummary","emptyIcon","optionType","moreButton","addedToProfile","linkTable","snippetText","fieldsContainer","availableIn","nameWeight","inputDropdown","checkboxText","autosuggest","leftActions","shareWrapper","actionButtons","contentContainer","pdfContainer","pdfIframe","STAFFER_TYPES","OFFICE_LEADERSHIP_LABEL","OFFICE_LEADERSHIP_ID","OFFICE_MEMBER_LABEL","OFFICE_TYPE_OPTIONS","useTabs","tabs","onTabChange","defaultActiveTabId","getTabById","tabId","defaultTab","activeTab","setActiveTab","newActiveTab","onTabClick","NAV_OFFSET","TIMEOUT_SCROLL","useScrollProvider","activeId","useScrollProvider_slicedToArray","setSelected","currentElement","setCurrentElement","isMoving","setIsMoving","refList","setRefList","lastItemKey","pop","lastItem","currentSelected","differenceFromTop","reduce","refElement","abs","pageYOffset","getSelectedElement","removeScrollEvent","jump","goToElement","onClickToSection","sectionRef","console","warn","onRegisterRef","newRef","ScrollingProvider","_useScrollProvider","registerRef","Section","Section_extends","SectionLink","largeNavHeaderHeightParsed","StickyContainer","_ref$offsetHeight","topBarOffset","PRODUCT_BAR_HEIGHT","useStickyNode","MenuItem","ActiveItem","activeItem","useMobileTabs","useMobileTabs_slicedToArray","setActiveItem","isActiveItem","onClickMainMenu","itemsNumberPlaceholder","MobileTabs_objectWithoutProperties","_useMobileTabs","containerClassNames","components_ActiveItem","components_MenuItem","useTabs_slicedToArray","FixedTabs","isGreyBg","_useTabs","components_MobileTabs","components_ScrollingProvider","core_StickyContainer","isHidden","_tab$isVisible","components_SectionLink","_tab$isVisible2","sectionClassName","components_Section","FixedTabs_extends","Tab","Tab_objectWithoutProperties","AccordionLayout","_tab$props","TabsLayout","Header_Header","_ref2$props","handleOnClick","tabClassName","listItemActive","tabHeaderClassName","components_Header_Header","components_FixedTabs","LEGISLATOR_PROFILE_TYPE","BILL_PROFILE_TYPE","EXECUTIVE_PROFILE_TYPE","profileType","urlKeyPath","defaultValue","formattedUrl","Default","displayedColumns","columnId","Column_Default","listFieldClassNames","placeholderItemsCount","listItemClassName","mobileListItem","listLabelClassName","listContentClassName","isSimpleLabel","dayEvent","labelGroupContainer","searchInputContainer","multipleColumn","labelGroupItem","itemsAll","viewMore","viewMoreText","stripedLines","frequencyButton","fieldsInteraction","optionForm","fieldWrap","triangle","contentModalBody","activeIcon","repliesInfo","loadMore","smallLine","bigLine","reply","logOut","advancedSearchHeader","avatarGroup","avatars","tooltipSpan","avatarTooltip","isMultiple","accordion","useMapProfile","mapRef","defaultFilters","mapProps","_useMap","useMap","setFilters","mapInstance","scrollZoom","disable","once","MapContent","mapLocation","mapProfileProps","profileContext","DistrictMap","Placeholders","DistrictMap_extends","components_MapContent","connectStore","reduxConnect","executiveStafferShape","useTable","useSortTable","trackStaffersPageVisited","trackStaffersResultsSorted","useTable_extends","onSortColumn","getDirection","columnLabel","getColumnLabelBySortingKey","onChangePage","_sort$sortData","sortData","StafferColumn","stafferType","_STAFFER_TYPES$FEDERA2","stafferColumn","IssueAreaColumn","issues","AddressColumn","addresses","flatten_default","uniq_default","TitlesColumn","RoleColumn","roles","OfficeColumn","isLeadership","ui","staffers","_useTable","handleEmailClick","trackStafferEmailed","handleNameClick","trackStafferVisited","handlePhoneClick","trackStafferPhoned","tableClassName","components_StafferColumn","components_IssueAreaColumn","components_TitlesColumn","components_AddressColumn","components_RoleColumn","office","components_OfficeColumn","renderPagination","federalTableColumns","TooltipContent","stafferTitles","issuesArea","onChangeOfficeType","onChangeStafferTitle","onChangeIssueArea","isFederal","legislator_ids","stafferTitleInputs","state_offices","cacheOptions","LegislativeIssueArea","legislativeIssueArea","FilterButton","components_TooltipContent","FilterButton_extends","defaultFetchDataFailed","useStaffers","fetchStaffers","customTransformers","keywordSearch","setKeywordSearch","setStafferTitles","setOfficeType","setIssuesArea","searchData","setSearchData","every_default","handleSearch","customData","useStaffers_extends","onChangeKeywordSearch","_ref2$value","trackingContext","getTrackingActions","withSearchFilters","_useStaffers","searchComponent","components_FilterButton","renderSearchForm","context","trackCongressionalStafferEmailed","trackCongressionalStafferVisited","trackCongressionalStaffersPageVisited","trackCongressionalStaffersResultsSorted","VIEW_MORE_LIMIT","useTimeline","currentLimit","isHiddenEvents","useTimeline_slicedToArray","isOpenMore","setIsOpenMore","visibleItems","setVisibleItems","currentItems","groupedData","groupBy_default","DAY_YEAR_DATE_FORMAT","formatData","groupAllItemsByDate","toggleViewMore","ItemCards","isFirstCard","isUpperCaseItemTitle","renderCustomCardContent","renderCustomTitle","isFirstElement","isUpperCase","TimeGroup","timeGroupItem","disableFirstCardStyle","renderCustomBoxText","components_ItemCards","useAsyncTimeline","fetchTimeline","timelineContainerRef","_useTimeline","isFirstPageView","isLastPage","handleCollapse","onClickViewMore","isInitialData","AsyncTimeline","hideLastAction","_useAsyncTimeline","AsyncTimeline_extends","components_TimeGroup","ViewMoreButton","openText","closeText","customContent","Timeline","timelineStatus","hasLoadingError","Timeline_extends","SomethingWentWrong","Separator","ItemName","cardClassNames","cardWithSummary","KeyDetailsFields","ImageModal","_useAvatar","hasAvatar","onAvatarError","avatarUrlProps","Avatar_ImageModal","Avatar_extends","StateBadge","stateBadge","PartyColorBar","PartyColorBar_defineProperty","isDemocrat","isRepublican","ViewBiography","biography","viewBiography","modalTrigger","ElectionInfo","term","hasPercentVote","Number","numberSuffix","1","2","3","termInfo","percentageInfo","LargerPhoto","customBadge","customBadgeNode","toLower","Avatar_Avatar","components_ViewBiography","CustomBadge","StakeholderContext","withStakeholders","withStakeholders_extends","isLoadingData","isLoadingMapData","isLoadingLists","isLoadingAllEmails","isApplyingLists","isApplyingTags","toResetSelectedItems","isResetFilters","isLoadingDistrictStakeholdersMetadata","first_name","last_name","middle_name","party_code","lists","facebook_profile","twitter_username","sortRedux","fetchStakeholders","defaultHiddenColumns","districtInfo","chamberCategory","isFederalSenator","districtId","districtName","_ref2$pageSize","reduxColumn","setSortData","trackStakeholdersPageVisited","trackStakeholdersResultsSorted","useTable_slicedToArray","setSelectedItems","setHiddenColumns","isSelectedItemsPresent","handleClearItems","getDistrictFilters","utils_useTable_extends","onHideColumn","columnKeyName","onClearItems","stakeholders","TableView_objectWithoutProperties","footerProps","actionsMap","components_TableView_extends","trackingFunctions","isDefaultTable","TableColumnsView","isLookupTable","allowEditing","_paginator$pageSize","initialTableColumns","LookupLink","filterParam","queryStringify","lookupLink","isStakeholderMgmtEnabled","sectionId","stakeholderLookup","noSubscriptionTitle","noSubscriptionDescription","Container_objectWithoutProperties","noSubscription","placeholderTitle","placeholderDescription","stakeholderLookupData","exportReport","stakeholderLists","commonUi","Stakeholders_Container_extends","Stakeholders_components_TableView","trackStakeholderEmailed","trackStakeholderVisited","trackStakeholderPhoned","trackStakeholderResultsSorted","Stakeholders_extends","tagActions","listActions","commonActions","customFieldsActions","submitExport","titleDetail","titleDescription","tablesClassName","Details","renderTable","components_Table","components_Title","hideOnEmptyData","_ref2$urls","Cards_Details","_ref2$politicalHistor","_ref2$employmentHisto","_ref2$headPositions","_ref2$education","Medals","medalButton","_ref2$militaryService","MilitaryService_objectWithoutProperties","MilitaryService_Medals","_ref2$membership","_ref2$publications","_ref2$awards","_ref2$address","_ref2$phones","addressTable","phoneTable","tablesContainer","secondaryPositions","Positions_Position","Biography","renderBiographySection","textKey","itemsList","sectionTitle","sectionText","_ref2$narrativeBiogra","_ref5$state","isInfoTextEmpty","isInterestsEmpty","isFactsEmpty","Cards_LargerPhoto","Tables","_ref3$address","_ref3$phones","redirectToGlobalSearch","Overview","components_Tables","getProfileUrl","_baseUrls","baseUrls","utils_defineProperty","formattedOrganizations","OtherPositions","otherPositions","reject_default","otherPositionsCount","positionsLinks","renderSeparator","positionLink","otherPositionLabel","Bills","Cards_DistrictMap","VotingRecord","PublicRecord","Staffers","Cards_Timeline","components_AsyncTimeline","Stakeholders","Cards_WebAddresses","Cards_PoliticalHistory","Cards_EmploymentHistory","Cards_Education","Cards_MilitaryService","Cards_Membership","Cards_Publications","Cards_Awards","Cards_PersonalDetails","Cards_Positions","Cards_Overview","Cards_OtherPositions","buttonWrapperClassName","buttonClassNames","_tippyjs_react__WEBPACK_IMPORTED_MODULE_2__","ActionsItem","itemNameBy","shareItemUrl","shouldDisplayTrackIcon","isLoadingSubscriptions","customUpdateParams","trackingType","_ref2$tags","getSendWeekAheadEmail","handleSubscriptionUpdate","newListSubscriptions","newTrackings","handleShareSuccess","renderActions","components_core_ButtonShare__WEBPACK_IMPORTED_MODULE_6__","components_core_ButtonTagManager__WEBPACK_IMPORTED_MODULE_5__","components_core_Table__WEBPACK_IMPORTED_MODULE_7__","_tippyjs_react__WEBPACK_IMPORTED_MODULE_1__","classnames__WEBPACK_IMPORTED_MODULE_3__","classnames__WEBPACK_IMPORTED_MODULE_3___default","components_core_Checkbox__WEBPACK_IMPORTED_MODULE_4__","components_core_Card__WEBPACK_IMPORTED_MODULE_5__","utils_breakpoints_useMediaQuery__WEBPACK_IMPORTED_MODULE_6__","components_core_Icons__WEBPACK_IMPORTED_MODULE_7__","style_global_variables_scss__WEBPACK_IMPORTED_MODULE_8__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_9__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_9___default","CardGroup","isCheckboxDisabled","toggleCheckbox","checkboxClassName","cardGroupClassNames","renderCardCheckbox","renderCardActions","cardGroupTooltipZIndex","hasHeader","tagInputPlaceholder","isSelect","disclaimerTitle","components_core_Label__WEBPACK_IMPORTED_MODULE_4__","components_core_Asterisk__WEBPACK_IMPORTED_MODULE_13__","components_core_Table_components_Header_components_Tooltip__WEBPACK_IMPORTED_MODULE_12__","components_core_Placeholder__WEBPACK_IMPORTED_MODULE_8__","optionWrapper","components_core_Select__WEBPACK_IMPORTED_MODULE_7__","components_core_TagInput__WEBPACK_IMPORTED_MODULE_5__","components_core_Button__WEBPACK_IMPORTED_MODULE_10__","components_core_Modal__WEBPACK_IMPORTED_MODULE_9__","utils_freshchat__WEBPACK_IMPORTED_MODULE_1__","withOffset","bodyClassList","toggleActionsOffset","TextareaWithCharInfo","core_CharInfo","InputWithCharInfo","InputWithCharInfo_objectWithoutProperties","InputWithCharInfo_extends","getCharsMessage","charsLeft","charsLeftAbs","characters","getCharsClassName","getCharInfo","charsMessage","charsClassName","_getCharInfo","components_TextareaWithCharInfo","components_InputWithCharInfo","LegislatorPlaceholder","_transformLegislator","full_role","twitter_screen_name","photo_url","long_moniker","twitter_url","twitterName","last_default","twitterUrl","transformLegislator","isTwitterNameEmpty","isPhoneEmpty","getLegislatorProfileUrl","TWITTER_LINK","legislatorShape","PREVIEW_TITLE_LENGTH","ReportTitlePreview","truncatedTitle","reportTitle","lodash_uniqueId__WEBPACK_IMPORTED_MODULE_3__","lodash_uniqueId__WEBPACK_IMPORTED_MODULE_3___default","_Text__WEBPACK_IMPORTED_MODULE_4__","TablePlaceholder","getColumnContent","colText","titleContent","colContent","DEFAULT_SLIDE_DURATION","slideDurationMillis","isSlidingOpen","setIsSlidingOpen","isModalOpen","setIsModalOpen","timer","clearTimeout","modalClassNames","modalOpen","_Modal__WEBPACK_IMPORTED_MODULE_3__","react_redux__WEBPACK_IMPORTED_MODULE_2__","store","_components_Container__WEBPACK_IMPORTED_MODULE_4__","getSubItemsIds","checkedItem","_ref$subItems","allValues","parentValue","lodash_find__WEBPACK_IMPORTED_MODULE_2___default","lodash_union__WEBPACK_IMPORTED_MODULE_5___default","lodash_pullAll__WEBPACK_IMPORTED_MODULE_3___default","filteredValues","lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default","disabledItems","allValuesFiltered","defaultValues","checkItems","lodash_filter__WEBPACK_IMPORTED_MODULE_0___default","lodash_intersection__WEBPACK_IMPORTED_MODULE_1___default","REQUIRED_ERROR","useWorkspaces","initialCheckState","setWorkspaces","saveToWorkspaces","setSaveToWorkspaces","saveToMyFeed","setSaveToMyFeed","setErrorMessage","reset","validateWorkspaces","onOpenLiveSupport","hasPageHelpCenter","pageHelpLinks","visitedPage","trackHelpCenterPageVisited","helpOption","externalLinkIcon","GENERAL_HELP_URL","openFreshChat","MenuToggleButton","inactiveContent","inactiveClassName","helpButton","HelpButton","triggerClassName","menuTooltip","trackHelpCenterDialogOpen","questionMarkIcon","moneyball","hill_day","rolodex","advocacy","getWorkspacesToTrack","isHearing","isStaffer","workspacesData","formattedWorkspaces","transformWorkspacesForTiles","hasWorkspacesData","isCommitteeDataValid","isWorkspacesDataValid","isWorkspacesValid","isMyFeedDataValid","isMyFeedValid","compactedWorkspaces","lodash_compact__WEBPACK_IMPORTED_MODULE_2___default","lodash_flatten__WEBPACK_IMPORTED_MODULE_1___default","defaultSavedItemSuccess","defaultSavedItemFailed","defaultRemoveSavedItemFailed","defaultRemoveSavedItemSuccess","exportEventSuccess","exportEventFailed","PLACEHOLDER_TYPES","draggedIn","draggedOut","_THEMES","draggedInPlaceholder","draggedOutPlaceholder","CardPlaceholder","placeholderClone","on","client","borderBox","contentBox","marginBox","paddingBox","useRenderPlaceholders","isPlaceholderBeforeCard","hasEmptyPlaceholderComponent","hasChildren","canRenderCardPlaceholder","isPlaceholderRendered","draggingCardId","getCardPlaceholderData","draggingFromThisWith","draggingOverWith","cardPlaceholderType","shouldRenderEmptyPlaceholder","shouldRenderCardPlaceholder","cardId","count","counterTheme","onAddClick","countText","leftSide","plusIcon","DraggableCard","skipDropAnimationStyle","isDropAnimating","DraggableCard_extends","fixedCard","Column","Column_objectWithoutProperties","_useRenderPlaceholder","renderPlaceholder","components_CardPlaceholder","Column_extends","droppableProps","isDraggingOver","highlighted","columnContent","_getCardPlaceholderDa","renderCardPlaceholder","KanbanBoard","onMoveCard","destination","reason","DRAG_END_REASON","CANCEL","destinationColumnId","sourceColumnId","board","components_Column","components_DraggableCard","components_EmptyPlaceholder","isEditing","onReplyClick","onSaveEdit","onCancelEdit","isSaveDisabled","showSaveLoader","onLoadMoreClick","hasMoreToLoad","areFirstRepliesLoaded","isLoadingReplies","handleReply","loadRepliesText","renderLoader","onEnableEdit","onDelete","isDeleting","showRepliesMessage","isDeletingContent","setIsDeletingContent","openDeleteConfirmation","handleDelete","handleEdit","commonOptionButtonProps","deleteMessage","deletePlaceholder","onHidden","transformTimeForUI","commentDate","dateDiffFromNow","days","formatMonthDayYear","hours","minutes","CommentBox","isCurrentUser","isCommentHighlighted","userName","isReply","elementId","displayDateTime","commentBox","highlightedCommentId","rightHeader","CommentInput","onCtrlEnterDown","useComment","onEdit","useComment_slicedToArray","setMentions","fieldContent","setFieldContent","setIsDeleting","setIsEditing","setShowSaveLoader","disableEdit","handleCancelEdit","handleCommentChange","handleSaveEdit","handleMentionsChange","newMentions","useReplies","parentComment","onBeforeLoadReplies","onLoadReplies","onSaveReply","onUpdateReply","onDeleteReply","onOpenParentReply","parentRepliesCount","newReplyRef","useReplies_slicedToArray","replies","setReplies","setRepliesCount","setHasMoreToLoad","setIsSaving","isReplyOpen","setIsReplyOpen","_useState14","replyUserMention","setReplyUserMention","handleLoadReplies","oldestCreatedAt","newReplies","next_page","prependReplies","handleSaveReply","handleUpdateReply","responseReply","currentReply","handleDeleteReply","replyId","handleReplyClick","userMention","handleCancelReplyMention","CommentPlaceholder","Comment","getCurrentUser","userId","_useComment","_useReplies","commentRef","components_CommentBox","NewComment","onCancelReplyMention","onPost","fieldRef","newReply","isPosting","typeTitle","uploadBtn","uploadIcon","uploadedList","withError","newComment","layout","previewBtn","headerWrapper","headerContainer","contentFixed","sortButton","buttonBackWrapperPreview","iconBack","textCapitalized","commonEventPropTypes","committeeId","committeeName","committeeUrl","committeeType","scheduledDate","addToCalendarUrl","billShape","billNumber","chamber","bills","closeAll","transformTagsForUI","api_fetchTags","api_fetchIsShared","documentId","tagsPayload","buildTagsPayload","fetchIsShared","fetchDocuments","transformDocumentsForProfile","noHighlight","counter","newsHref","isClusterPage","newsTitle","newsSummary","clusterIds","feedType","displayShowRelated","isSharingToMyFeed","isSingleCluster","clusterId","isOpenTooltip","handleTracking","shareType","trackNewsShared","handleShareToMyFeed","common","removeHTMLElements","getLinkedInShareLink","LINKEDIN","Story","showPreview","onSelectCard","selectedFeedKeywords","headerRightContent","Story_extends","summaryInnerHTML","highlightSummary","summaryNode","summaryBody","StoryItem","story","storyContainer","full","StoryCluster","storyCluster","stories","restStoryCluster","limitedStories","StoryCluster_extends","storiesContainer","components_StoryItem","StoryFeedCard","_toArray","mainStory","restStories","singleProps","StoryFeedCard_extends","components_Story","components_StoryCluster","components_StoryFeedCard","closeConfirmationModal","emphasisText","buttonTooltip","prioritiesContainer","mobileButton","iconTooltip","linkButton","positionPlaceholder","positionContainer","callToActionsContainer","mapView","contentTitle","shortPlaceholder","_utils__WEBPACK_IMPORTED_MODULE_2__","CheatSheet","syntax","usageMessage","defaultCheatSheetData","billTagContainerSection","billTagSection","billTagText","billTagLabelText","billTag","billLinksSection","renderTagLink","ExportDocument","BillFooter","bill","displayBillTextSection","displayGovpredictLinkSection","displayTagsSection","billLinkLabel","billTextLink","govPredictLink","allTagsSize","displayViewAllTags","components_core_Button__WEBPACK_IMPORTED_MODULE_3__","whiteTheme","greyTheme","iconContent","SelectAll","enabledItems","lodash_reject__WEBPACK_IMPORTED_MODULE_0___default","react__WEBPACK_IMPORTED_MODULE_3___default","components_core_Checkbox__WEBPACK_IMPORTED_MODULE_5__","lodash_map__WEBPACK_IMPORTED_MODULE_2___default","NUMBER_COLUMN_ID","STRING_COLUMN_ID","useMapFilters","defaultMapFilters","setDefaultMapFilters","isDrawn","setIsDrawn","resetFilters","layer","activeTypeFilter","getFilter","activeFilter","validFilters","withFullscreen","withDisabledZoom","_ref$zoom","zoom","useMap_slicedToArray","setMap","setActiveFilters","_useMapFilters","navigationControl","NavigationControl","fullscreenControl","FullscreenControl","accessToken","mapboxAccessToken","settings","addControl","enableMapNavigation","enableFullscreen","Sentry","captureMessage","filterValue","loaded","isStyleLoaded","useMap_extends","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0__","_ref$isFirstParam","backToQueryParam","backToParam","fuzzyHighlight","_value","v","restValue","_content","restContent","HighlighterFuzzy","HighlighterSequential","formattedWord","formatUnacceptedChars","parts","getHighlighterClassNames","part","isHighlightWord","SearchWords","SEARCH_TYPES","FUZZY","SEQUENTIAL","Highlighter","_SEARCH_TYPES$FUZZY$S","searchType","HighlighterComponent","Highlighter_defineProperty","lodash_findIndex__WEBPACK_IMPORTED_MODULE_0__","lodash_findIndex__WEBPACK_IMPORTED_MODULE_0___default","currentProgress","findIndex","caretClassName","transitionCaret","rotateCaret","components_core_Paginator__WEBPACK_IMPORTED_MODULE_2__","TablePaginator","isValidUrl","endsWith","_useState","DimensionLockingContext","components_core_Link__WEBPACK_IMPORTED_MODULE_3__","Banner","contactEmail","addressComponentsLookup","getAddressFromParts","addressParts","street_number","findAddressComponentByTypes","addressComponents","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","addressComponent","err","getAddressPartsFromGeoResponse","address_components","long_name","address_1","lastIndexOfComma","lastIndexOf","substring","formatters","_formatters","typeWithoutIndex","lodash_toLower__WEBPACK_IMPORTED_MODULE_2___default","lodash_identity__WEBPACK_IMPORTED_MODULE_1___default","Tag","tagStyles","_react_pdf_renderer__WEBPACK_IMPORTED_MODULE_2__","components_core_Placeholder__WEBPACK_IMPORTED_MODULE_1__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_2__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_2___default","ALL_CONTRIBUTIONS_KEY","STAKEHOLDER_CONTRIBUTIONS_KEY","CONTRIBUTION_OPTIONS","defaultOptionTransformer","startCase_default","transformValue","transformFilters","transformer","filterKeys","search_params","optionsTransformer","transformSearches","transformPagination","current_page","total_pages","total_count","BASE_URL","saved","advanced_search","strategy_slug","load","_params$saved","_params$page","_params$perPage","get","Api_extends","save","DEFAULT_SORT","sortDirections","DESC","SORT_OPTIONS","toRight","toLeft","containerOpen","FILL_START_COLOR","FILL_END_COLOR","BORDER_COLOR","CHART_OPTIONS","BASE_OPTIONS","tooltips","BASE_TOOLTIP","elements","point","CHART_COLORS","POINT_BACKGROUND_COLOR","scales","xAxes","ticks","BASE_TICK","maxTicksLimit","maxRotation","minRotation","gridLines","BASE_BORDER_TOP_GRID","yAxes","precision","minStepSize","BASE_GRID_LINES","BASE_BORDER_RIGHT_GRID","biographyItem","dataCard","breadcrumb","baseLink","linkBlack","defaultCase","exportModalTitle","exportModalContent","tooltipLabel","legislatorName","FooterName","PageLayout","footerName","DocumentLayouts_FooterName","billItem","billTitleSection","billStatusSection","billTitleText","labelTitle","lineBottom","LegislatorBills","currentTitle","sponsorName","currentSponsor","createdBy","CreatedBy","creationDate","CreationDate","eventDate","EventDate","interactionType","InteractionType","INTERACTION_TYPES","maxLines","indent","ListLinks","linkValue","linksNumber","isNotTheLastLink","shouldIndentLink","linkIndentStyle","Links","components_ListLinks","attachments","file","Attachments","uploads","file_upload_id","file_upload_url","cardType","CARD_TYPES","components_CreationDate","components_Description","components_EventDate","components_InteractionType","components_Links","components_CreatedBy","components_Attachments","customFieldsAnswers","YourActivity","YourActivity_extends","timelineContainer","timelineTitle","itemText","timelineDash","lastTimelineDash","itemInfo","timelineItem","timelineItemsContainer","borderLeftWidth","borderLeftColor","breakView","timeline","itemTextStyle","timelineLength","itemStyles","dashStyles","itemTextStyles","titleComponent","break","_timeline$","renderTimelineItems","DocumentLayouts_PageLayout","DocumentLayouts_LegislatorBills","DocumentLayouts_YourActivity","DocumentLayouts_Timeline","getPriority","components_core_PriorityTooltip_constants__WEBPACK_IMPORTED_MODULE_3__","components_core_Loader__WEBPACK_IMPORTED_MODULE_5__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_6__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_6___default","no_priority","iconColor","PriorityButton","_getPriority","formattingTypes","internalLink","externalLink","components_Dashboard_utils__WEBPACK_IMPORTED_MODULE_1__","components_Dashboard_utils_constants__WEBPACK_IMPORTED_MODULE_2__","someSubscriptionAttribute","lodash_get__WEBPACK_IMPORTED_MODULE_0___default","lodash_some__WEBPACK_IMPORTED_MODULE_1___default","scrollable","chartContainer","exportGraph","noSubscriptionWarning","ErrorPdf","originalSourceUrl","reportIssueLink","originalSourceLink","Iframe","sourceType","iframeClass","withIframe","setWithIframe","frameBorder","PDF","hasPdf","containerClass","renderWithContainer","orange8","orange11","green5","green8","tabsNavigation","infoSection","productButton","inSenate","inHouse","divider","sortOptionButton","lastActionColumn","receipts","emptyCustomFieldsLink","totalText","fileData","removeFile","getAppliedFiltersLength","appliedFilters","emptyState","appliedFiltersOptions","emptyStateOptions","_emptyState$omit","omit","propsToOmit","remainingAppliedFiltersOptions","lodash_omit__WEBPACK_IMPORTED_MODULE_2___default","remainingEmptyStateOptions","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_6___default","lodash_isEqual__WEBPACK_IMPORTED_MODULE_5___default","lodash_keys__WEBPACK_IMPORTED_MODULE_1___default","emptyOption","lodash_isArray__WEBPACK_IMPORTED_MODULE_3___default","lodash_xorWith__WEBPACK_IMPORTED_MODULE_0___default","sum","areValuesChanged","optionValues","getChangedValue","emptyValues","isChanged","lodash_isBoolean__WEBPACK_IMPORTED_MODULE_4___default","setIsDocumentLoading","trackGeneratedExport","handleExportFail","errorApi","handleExportSuccess","onFetchData","documentData","dataDocument","downloadReactPdfDocument","_args$","lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__","lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default","utils_constants__WEBPACK_IMPORTED_MODULE_4__","InfoTab","renderValue","_AddedToItem_styles_module_scss__WEBPACK_IMPORTED_MODULE_7__","_AddedToItem_styles_module_scss__WEBPACK_IMPORTED_MODULE_7___default","TagsItem","useSearchParams","lastSearchId","_ref$history","_ref$location","_ref$initialQuery","initialQuery","queryString","setQueryString","getUrlParams","queryParse","updateSearchParams","paramsToRemove","validParams","lodash_omitBy__WEBPACK_IMPORTED_MODULE_1___default","param","invalidParamsKeys","lodash_keys__WEBPACK_IMPORTED_MODULE_0___default","currentValidParams","lodash_omit__WEBPACK_IMPORTED_MODULE_3___default","searchParams","lodash_join__WEBPACK_IMPORTED_MODULE_2___default","replaceState","handleSearchIdChange","getSearchParams","allParams","lodash_pick__WEBPACK_IMPORTED_MODULE_4___default","handleReset","handleSearchChange","clearParams","getEventsFailed","getCalendarDataFailed","_titles","selectedEvent","checkedEvents","shareMessage","encodeURI","getTwitterLink","getMailLink","trackHearingShared","Share","useActionFooter","isPresentSelectedItems","onlyOneEventSelected","checkedEventsFirstItem","onClearAllEvents","toggleExportModal","_useActionFooter","btnProps","trackHearingVisited","trackHearingAddedToCalendar","BadgeInfo","isTablet","withCommitteeType","isSenateCommittee","committeeBadgeStyle","momentDate","isPastDate","isBefore","dateAndMonth","EASTERN_TIME_ABBREVIATION","withComma","Event","onCheckSelectedEvent","eventClassNames","stateAndChamber","join_default","badgeInfo","components_BadgeInfo","tooltipContentProps","checkedEvent","trackHearingsCommitteeVisited","components_Bills","DayEvents","_ref$dayEvent","components_Event","BadgeInfoPlaceholder","badgeStyles","CardGroupPlaceholder","cardGroupStyles","cardStyles","Placeholder_BadgeInfoPlaceholder","dayEventStyles","Placeholder_CardGroupPlaceholder","Placeholder_extends","ListEvents","isLoadingEvents","emptyPlaceholderDescription","components_DayEvents","components_Item","Calendar","calendarData","onSelectCalendarDate","onChangeCalendarMonth","Calendar_slicedToArray","selectedDate","setSelectedDate","withLegend","Calendar_defineProperty","calendarContainer","trackDateChosen","trackMonthToggled","_constants$FEDERAL$co3","filterByState","filterByCommittee","_constants$FEDERAL$co2","Filters_defineProperty","onChangeTrack","trackFederalCommitteesFiltered","onChangeAction","trackStateCommitteesFiltered","tagInputProps","Filters_extends","selectedStates","selectedCommittees","fetchEvents","fetchCalendarData","onCheckAllEvents","showCalendar","showFilters","showPaginator","monthsAheadToFetch","setMonthsAheadToFetch","floatFooterActions","Container_slicedToArray","isExportModalOpen","setIsExportModalOpen","setSelectedEvent","isExportOpen","tz","setDefault","DEFAULT_CALENDAR_TIME_ZONE","hearingCalendarContext","isLoadingExports","exportNotifications","getFailed","getSuccess","_useUIPaginator","useUIPaginator","allItems","paginatedEvents","isLoadingItems","onChangePaginator","pageHeaderProps","ActionButtons","components_ListEvents","components_Calendar","ExportHearingCalendarsModal","modals_Share","Filters_components_Placeholder","ActionButtons_components_Placeholder","Calendar_components_Placeholder","HearingCalendars_components_Placeholder_Placeholder","DismissibleAlert","showAlert","_useDismissibleAlert","fetchAlert","dismissAlert","resetData","isLoadingAlert","isDismissingAlert","handleClose","useDismissibleAlert","utils_fileExport__WEBPACK_IMPORTED_MODULE_1__","pdf","toBlob","blob","downloadBlob","objectOf","valueType","components_core_Link__WEBPACK_IMPORTED_MODULE_2__","ViewAllLink","viewAllButton","getAccountSections","paths","accountSettings","manageProfile","changePassword","manageProfilePhoto","organizationSettings","manageOrganization","companyId","companyAdmin","users","isGrmEnabled","inviteUsers","institutionalData","LOG_OUT_LINK_PROPS","data-method","Panel","accountSections","PanelHeader","every","Account","closeFreshChat","account","NAVIGATION_USER_PROFILE_IMG_ID","components_Panel","isNotificationsPanelOpen","mobileTitle","isLoadingTitle","isUserMenuOpen","toggleUserMenu","lastBreadcrumb","breadcrumbStr","ROOT_BREADCRUMB","getParentFromBreadcrumb","findBreadcrumbs","_getCurrentUser","profileImgUrl","userAvatar","RightButton","isNotificationEnabled","footerBar","FooterBar","getIsActiveExact","homepage","components_Account","renderHeader","companyHasActivePlan","WarningBanner","UserMenu","es","MobileHeaderBar_Container","DEFAULT_COLUMN_ID","FEDERAL_STRATEGY_SLUG_FOR_EXPORT","STATE_STRATEGY_SLUG_FOR_EXPORT","FEDERAL_EXPORT_TAB_COLUMNS","STATE_EXPORT_TAB_COLUMNS","typeNameProps","strategy_inputs[event_ids]","newsCheatSheetData","exactPhrase","orConditional","bothConditional","excludeConditional","prefixConditional","withinConditional","precedingMatchConditional","groupConditional","useTableReceipts","isReceiptModalOpen","setIsReceiptModalOpen","receiptModalId","setReceiptModalId","handleReceiptModal","receiptId","newReceiptId","isInteger","components_core_Placeholder__WEBPACK_IMPORTED_MODULE_5__","components_core_EmptyPlaceholder__WEBPACK_IMPORTED_MODULE_6__","utils_breakpoints_useMediaQuery__WEBPACK_IMPORTED_MODULE_7__","DocumentPlaceholder","isEmptyText","sourceUrl","isFederalRegulations","SearchContext","handleAdvancedSearchToggle","appliedFiltersLength","ToggleButton","customToggleViewProps","isCustomViewOpen","showText","hideText","viewContent","onToggleCustomView","TABLE","MAP","PageViewToggle","pageView","isTablePageView","onPageViewChange","searchContent","advancedSearchContent","actionsContent","isAdvancedSearchOpen","settingsButtonOptions","withActionsContent","withPageView","withCustomToggleView","components_AdvancedSearch","components_ToggleButton","components_PageViewToggle","components_Content","handleSearchToggle","isSearchOpen","customFilterContent","customFilterButton","isEmptyActionsContent","isEmptyRightContent","advancedSearchButton","SearchHeader","searchContext","SearchHeader_extends","workspaceShape","Workspaces","typeClassName","all","getFeedUrl","TypeTitle","maxTitleLength","isText","isKeywordMatch","isItemTitleEmpty","DESCRIPTION_LIMIT","MOBILE_DESCRIPTION_LIMIT","usePush","subscriptionToken","customDescriptionLimit","eventUrl","getViewUrl","subscriptionUrl","descriptionLimit","detailsUrl","showDescription","formattedDescription","upperFirst_default","Push","withTitle","customBodyUrl","_usePush","components_TypeTitle","components_Workspaces","ReceiptAbstract","isReceiptLoading","infoNode","Error","renderInfoItem","renderItemValue","AmountFormatter","amount","ReceiptModal","receipt","receiptError","searchReceipt","spender","restReceipt","isDisbursements","DISBURSEMENTS","recipient","recipientAddress","recipientTreasurer","recipientCommitteeType","electionType","electionCycle","getInfoNode","linkSearchType","RECEIPTS","moneyballApiV2","setSelectedOption","isReceiptAbstract","isRawPDF","withModalSearchParams","arrayFormat","withoutModalSearchParams","receiptAbstractProps","rawPdfProps","isLargeDownContent","isLargeUpContent","rowItem","hideIfEmpty","labelNode","isViewMoreEnabled","withStripedLines","renderedItems","renderButtonContent","contributions","CONTRIBUTIONS","moneyballDisclaimer","contributionsForm","nodeRef","setIsSticky","prop_types__WEBPACK_IMPORTED_MODULE_2__","prop_types__WEBPACK_IMPORTED_MODULE_2___default","utils_breakpoints_useMediaQuery__WEBPACK_IMPORTED_MODULE_3__","components_core_ButtonGroup__WEBPACK_IMPORTED_MODULE_4__","components_core_Button__WEBPACK_IMPORTED_MODULE_5__","components_core_Select__WEBPACK_IMPORTED_MODULE_6__","TabsNavigation","redirectToPath","assign","isItemSelected","hideSelectedOptions","inputId","lastPosition","lodash_size__WEBPACK_IMPORTED_MODULE_0___default","setSelectionRange","components_core_TextareaWithMentions__WEBPACK_IMPORTED_MODULE_4__","isEnter","ctrlKey","metaKey","allowSpaceInQuery","suggestionsPortalHost","utils_string__WEBPACK_IMPORTED_MODULE_3__","components_core_Placeholder__WEBPACK_IMPORTED_MODULE_4__","AppliedFiltersLabel","filtersCount","results","onClearFilters","resultsWord","placeholderClass","filtersWord","renderAppliedFilters","components_core_Placeholder_components_Text__WEBPACK_IMPORTED_MODULE_1__","transformSubscriptionsForUI","lodash_map__WEBPACK_IMPORTED_MODULE_0__","redux_subscriptions_utils_transformers__WEBPACK_IMPORTED_MODULE_1__","transformSubscription","js_cookie__WEBPACK_IMPORTED_MODULE_2__","js_cookie__WEBPACK_IMPORTED_MODULE_2___default","utils_constants__WEBPACK_IMPORTED_MODULE_3__","utils_breakpoints_useMediaQuery__WEBPACK_IMPORTED_MODULE_4__","utils_freshchat__WEBPACK_IMPORTED_MODULE_6__","_utils__WEBPACK_IMPORTED_MODULE_7__","ProductBar","addFreshchatClassName","Cookies","set","P2A_LOGIN_PRODUCTION_URL","DROP","setDocumentSummary","_gon$currentUser","shouldFetchLogo","setIsLogoLoading","setLogoUrl","getCompanyLogo","companyLogoUrl","DEFAULT_PAGINATION","useAdvancedSearch","setValues","savedSearches","setSavedSearches","recentSearches","setRecentSearches","savedSearchesPagination","setSavedSearchesPagination","Api","lodash_values__WEBPACK_IMPORTED_MODULE_2___default","lodash_omitBy__WEBPACK_IMPORTED_MODULE_0___default","click","change","youtube","linkedin","lodash_upperFirst__WEBPACK_IMPORTED_MODULE_1___default","utils_string__WEBPACK_IMPORTED_MODULE_0__","_utils__WEBPACK_IMPORTED_MODULE_1__","secondPart","lodash_trim__WEBPACK_IMPORTED_MODULE_0__","lodash_trim__WEBPACK_IMPORTED_MODULE_0___default","utils_string__WEBPACK_IMPORTED_MODULE_1__","formattedDetails","firstPart","formattedType","formattedTitle","formattedPublisher","formattedYear","getMappedValues","mapData","has","currentValues","lodash_uniq__WEBPACK_IMPORTED_MODULE_1___default","from","themeStyles","ORANGE","--fa-primary-color","colors","--fa-secondary-color","--fa-secondary-opacity","GREEN","DuotoneIcon","themeStyle","ImageIcon","avatarProps","CustomIconComponent","iconProps","optionTypes","_optionTypes","state_and_chamber","matched_filters","OptionIcon","customIconProps","optionProps","restIconProps","OptionIcon_extends","core_DuotoneIcon","OptionType","OptionType_objectWithoutProperties","typesWithPartyIcon","OptionPartyIcon","hasPartyIcon","extraSideMargin","party_slug","optionClassName","RichOption_objectWithoutProperties","components_OptionIcon","components_OptionPartyIcon","components_OptionType","RichOption_extends","isClearingNotifications","useMultipleNotifications","nextList","myPageProps","renderDisplayAll","_ref$displayNotificat","displayNotifications","setNotifications","pushNotifications","setPushNotifications","isClosing","setIsClosing","setPulse","contentId","newNotifications","differenceBy_default","handleNewNotifications","dismiss","notificationsLength","isOverLimit","onChangePulse","DisplayAll","seeAllNotifications","first","currentOptions","alert","useNotifications","_ref$notifications","fetchNotifications","stopFetchNotifications","totalNotifications","_ref$localCount","localCount","togglePanel","resetPanel","useNotifications_slicedToArray","showToast","setShowToast","previousTotal","setPreviousTotal","displayBadge","badgeContent","displayCloseIcon","alerts","useNotifications_extends","_useMultipleNotificat","isOpenPanel","onTogglePanel","useAlertsPanel","clearNotifications","notificationsLimit","take_default","isPanelEmpty","overLimitCount","showClearAllButton","isClearAllButtonDisabled","showEmptyState","showOverLimitLink","AlertsPanel","_useAlertsPanel","renderNotification","AlertsPanel_extends","handleViewAll","viewAllLink","notificationsNode","displayNotificationCount","overLimitLink","withPortal","startsWith","localStorage","_useNotifications","getPanelContent","components_AlertsPanel","isBadgeV2","buttonNode","trackNotificationsClicked","desktopContent","mobileContent","iconClasses","onOptionClick","optionsList","useButtonSlider","isListOpen","setIsListOpen","setIsInitialLoading","otherOptions","p","showDropdown","showModal","directions","_useButtonSlider","renderOption","ButtonSlideGroup_extends","components_Modal","RowValue","valuesArray","oddRowStyle","evenRowStyle","commonRowStyle","borderBottom","getRowStyle","isEven","Row","isReactElement","tableStyles","components_Row","MOBILE_NAME_LIMIT","DESKTOP_NAME_LIMIT","ICON_TYPES","_ICON_TYPES","SUBSCRIBABLE_TYPES","COMMITTEE","FEDERAL_STAFFER_OFFICE","STATE_STAFFER_OFFICE","CommitteeIcon","icons","isEmptySubscriptions","nameLimit","components_CommitteeIcon","useCheckboxGroup","showSelectAll","setQuery","filteredOptions","setFilteredOptions","groupedOptions","getGroupedOptions","searchTerms","filterOptions","areOptionsEmpty","isAllChecked","_useCheckboxGroup","renderCheckbox","optionsGroup","getChartOptions","maxXAxisTicksLimit","rotateMobileXTicks","callbacks","useAreaChart","lineChartData","_chartOptionProps","useAreaChart_extends","fillStartColor","fillEndColor","pointBorderWidth","pointHitRadius","pointRadius","pointHoverRadius","gradientY1","_transformChartData","chartData","transformChartData","fillColor","setFillColor","chartRef","gradient","chartInstance","ctx","createLinearGradient","addColorStop","getGradientColor","chartDataOptions","pointBorderColor","datasets","lineTension","pointBackgroundColor","pointHoverBackgroundColor","chartOptions","useNewComment","previousReplyMention","setPreviousReplyMention","inputHasPreviousReplyMention","trimLeft","isParentComment","showTipMessage","_useNewComment","sortLabel","disclaimerIcon","ellipsis","neutral","positive","negative","reload","buttonDropdown","hideClusterButton","FILE_ITEMS","isEstimatedDate","locale","alpha2","clusterName","displayType","defaultLoadingMessage","getFilters","heatmapName","onFilterChange","profileUrl","loadAllRecentSearches","loadAllSavedSearches","advancedContainerClassName","setLastSearchId","transformSearchesForUI","saveInRecentSearch","isSavedSearchesLoading","isRecentSearchesLoading","filtersCountFn","showSummaryCustomization","showPageCustomization","lodash_filter__WEBPACK_IMPORTED_MODULE_3___default","SHOW_PAGE_CUSTOMIZATION_ITEM","LOGO_CUSTOMIZATION_ITEM","SUMMARY_CUSTOMIZATION_ITEM","lodash_map__WEBPACK_IMPORTED_MODULE_1___default","genericGetActiveSections","lodash_reduce__WEBPACK_IMPORTED_MODULE_0___default","accumulator","isActiveSection","genericFetchComponentData","_regeneratorRuntime","_callee","_args","_context","abrupt","stop","PROFILE_SECTION_ID","ACTIVITY_SECTION_ID","ALL_BILLS","SPONSOR_BILLS","COSPONSOR_BILLS","BILL_TYPES","components_Dashboard_common_FeedPage_utils_shapes__WEBPACK_IMPORTED_MODULE_1__","components_core_TrackButton__WEBPACK_IMPORTED_MODULE_2__","redux_events_utils_shapes__WEBPACK_IMPORTED_MODULE_3__","redux_subscriptions_utils_shapes__WEBPACK_IMPORTED_MODULE_4__","tagShape","trackingShape","profile","yourActivity","ExportAllWarning","_ref$customKeyMessage","customKeyMessage","exportActions","BulkExport","appliedSearches","loaderTheme","exportModal","_ref2$ui","trackAllResultsExported","warningModal","bulkExportModal","isLoadingExport","exportDataExceeded","loadingContent","btnDisabled","isBulkExport","core_ExportAllWarning","areEmptyEmails","BulkEmail","getAllEmails","trackAllResultsEmailed","emailDataExceeded","EXPORT_EMAIL_LIMIT","isDisabledEmail","bulkEmailNode","getEmailsLink","withFilter","EmailNotifications","exportEmailFailed","components_BulkExport","components_BulkEmail","lowercaseQuery","_ref$numColumns","_ref$showSelectAll","displayedOptions","columnIndex","classnames__WEBPACK_IMPORTED_MODULE_0__","classnames__WEBPACK_IMPORTED_MODULE_0___default","ColorPicker","setBackgroundColor","displayColorPicker","setDisplayColorPicker","popover","cover","react_color__WEBPACK_IMPORTED_MODULE_2__","hex","summaryProps","pdfUrl","source_url","lowest","containsAdvancedOperators","advancedOperators","regex","rightButtonGroup","filterTitle","inputs","mobileOffset","desktopOffset","contributorsOption","moneyballLink","tabValue","shareButton","headerActions","tryAgainMessage","Chamber","chambers","FederalCaucus","FederalCaucus_extends","allStrategy","only","FederalCommittee","FederalCommittee_extends","customFilterOption","candidate","customStrategy","Legislator_extends","HistoricalRecords","HistoricalRecords_defineProperty","HistoricalRecords_extends","Party","parties","Party_extends","StateDelegation","resTransform","StateDelegation_extends","Subject","Subject_extends","BillNumber","BillNumber_extends","SelectField","SelectField_extends","classnames","TEXT_EXCLUDES_KEY","TextExcludesField","eventValue","TextExcludesField_extends","textExcludes","TEXT_INCLUDES_KEY","TextIncludesField","TextIncludesField_extends","textIncludes","GTE","BETWEEN","LTE","OPTIONS","rangeOptionFromValues","RangeField","rangeOption","setRangeOption","insideChange","setInsideChange","showTo","showLessThan","showGreaterThan","handleSelectChange","RangeField_extends","StafferTitle","StafferTitle_objectWithoutProperties","StafferTitle_extends","Tags_extends","AllStatesSelectField","checkboxLabel","allStates","filterStates","AllStatesSelectField_slicedToArray","setChecked","filteredAllStates","noGroupClassName","withStatesAPI","Options_Chamber","Options_FederalCaucus","Options_FederalCommittee","Options_Legislator","Options_HistoricalRecords","Options_Party","Options_StateDelegation","Options_Subject","Options_BillNumber","Options_SelectField","Options_TextExcludesField","Options_RangeField","Options_StafferTitle","Options_Position","Options_Tags","Options_AllStatesSelectField","showMyLogo","chooseColumns","setFileFormat","setCustomization","isCheckedAll","ItemsSelection","itemsSelectedManager","ColumnsSelection","columnsManager","InputField","useLogo","useSettings","settingsManager","getCustomizationData","_useLogo","showDisclaimer","customizationItems","customizationDescription","onFileFormatChange","Settings","previewFormats","_useSettings","components_InputField","Buttons","nextButton","submitButton","useButtons","isFirstStep","previousStep","nextStep","useItemsSelected","useItemsSelected_slicedToArray","itemsSelected","setItemsSelected","orderBy_default","newItems","useExportColumns","useColumns_slicedToArray","selectedColumns","setSelectedColumns","allColumnsSelected","oldColumns","newColumns","SETTINGS","ITEMS","COLUMNS","useSteps","useSteps_slicedToArray","setCurrentStep","currentItem","setCurrentItem","indexOf_default","newCurrentItem","previousColumnStep","initialOptions","defaultFileFormatValue","_useItemsSelected","_useColumns","useColumns","_ref$initialOptions","_ref$initialValues","showSummary","CHOOSE_FIELDS_CUSTOMIZATION_ID","_useSteps","isFederalProductEnabled","isStateProductEnabled","buttonsProps","components_Settings","components_ItemsSelection","components_ColumnsSelection","MultiStep","components_Buttons","fetchTimelineCards","components_Grm2_ActivityButton_useActivityButton__WEBPACK_IMPORTED_MODULE_0__","redux_grm2_transformers__WEBPACK_IMPORTED_MODULE_1__","components_core_CustomFields_utils_constants__WEBPACK_IMPORTED_MODULE_2__","search_form","transformFiltersForBE","keywordLookup","people","creator","regulations","committees","documents","activityTypes","interactionTypes","getTimelineDefaultFilters","product_slugs","fetchCustomFields","customFieldsData","transformCustomFieldsForFeed","transformCardForFeed","isMoneyballContributionsEnabled","setHasAvatar","getExportFileName","personName","truncatedName","lodash_truncate__WEBPACK_IMPORTED_MODULE_3___default","getPartyBadge","partyCode","partyName","short","lodash_split__WEBPACK_IMPORTED_MODULE_2___default","getFetchingFunction","lodash_includes__WEBPACK_IMPORTED_MODULE_0___default","timelineCards","staffer","hasSorting","stateTableColumns","stateExecutiveTableColumns","ColumnsContainer","columnsContainer","selectedSort","defaultOption","isOptionSelected","sortOption","selectedDirection","TooltipNode","tooltipNodeClassName","currentSort","components_TooltipNode","Sort","defaultSort","setCurrentSort","useMemo","components_Select","transformForUI","updated_at","components_core_PriorityTooltip_constants__WEBPACK_IMPORTED_MODULE_4__","components_core_Modal_components_SlideUpModal__WEBPACK_IMPORTED_MODULE_5__","components_core_Modal_useModal__WEBPACK_IMPORTED_MODULE_6__","style_global_variables_scss__WEBPACK_IMPORTED_MODULE_7__","_components_PriorityButton__WEBPACK_IMPORTED_MODULE_8__","PriorityToolTip","isLoadingPriority","selectedPriority","onChangePriority","handleChangePriority","priorityTooltipZIndex","_useBulkExport","useBulkExport","isBulkExportDisabled","onCheckAllTrack","trackFederalAllHearingsSelected","trackStateAllHearingsSelected","components_core_Checkbox__WEBPACK_IMPORTED_MODULE_11__","components_core_Profile_components_Actions__WEBPACK_IMPORTED_MODULE_6__","_ExportHearingCalendarsModal__WEBPACK_IMPORTED_MODULE_14__","components_core_Modal_useModal__WEBPACK_IMPORTED_MODULE_1__","titleSection","_react_pdf_renderer__WEBPACK_IMPORTED_MODULE_4__","FEDERAL_BILL_STATUS","STATE_BILL_STATUS","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_3___default","lodash_isArray__WEBPACK_IMPORTED_MODULE_2___default","react__WEBPACK_IMPORTED_MODULE_4___default","components_core_Badge__WEBPACK_IMPORTED_MODULE_6__","_ref$defaultHiddenCol","_ref$toResetSelectedI","sorting","updateSelectedItems","selectedId","lodash_find__WEBPACK_IMPORTED_MODULE_0___default","dataId","handleHideColumn","handleSelectItems","BillsContext","withBills","trackBillsSorted","trackBillsPageVisited","defaultTableColumns","SponsorsColumn","trackBillSponsorVisited","SponsorsColumn_extends","sponsors","allSponsorsSize","CosponsorsColumn","trackBillCosponsorVisited","CosponsorsColumn_extends","cosponsors","allCosponsorsSize","Columns_SponsorsColumn","Columns_CosponsorsColumn","SnippetColumn","lastAction","introducedAt","lastActionDate","addedTo","searchFormComponents","BillColumn","formatBillUrl","billName","voteNumber","trackVotingRecordIssueVisited","handleBillClick","renderBillLink","billUrlPath","VoteNumberColumn","voteNumberUrl","trackVotingRecordVoteVisited","handleVoteClick","CommitteesColumn","_ref2$toReset","trackVotingRecordPageVisited","trackVotingRecordSorted","customTableColumns","shouldApplyFixedHeight","getWrapColumn","columnProps","components_BillColumn","components_CommitteesColumn","components_VoteNumberColumn","voteQuestion","voteDate","searchFormComponent","VotingRecord_extends","maxBarThickness","barThickness","categoryPercentage","DEMOCRAT_COLORS","DEMOCRATIC_BORDER_COLOR","DEMOCRATIC_BACKGROUND_COLOR","REPUBLICAN_COLORS","REPUBLICAN_BORDER_COLOR","REPUBLICAN_BACKGROUND_COLOR","INDEPENDENT_COLORS","INDEPENDENT_BORDER_COLOR","INDEPENDENT_BACKGROUND_COLOR","BAR_COLORS","_BAR_COLORS","getColor","isBorderColor","colorAttribute","currentParty","barColor","getLegislatorName","universal_moniker","party_short","getLegislators","BarsGraph","topActiveData","customTransformChartData","chartClassName","Bars_extends","_transformer","TimeSeriesChart","loadingPlaceholderClassName","chartOptionProps","_useAreaChart","TimeSeriesChart_extends","StatesMapGraph","StatesMap_extends","highlightColor","Bars","components_TimeSeriesChart","StatesMap","notifyBriefingError","fetchBriefing","report_url","isNotFoundError","useBriefingReport","reportUrl","setReportUrl","_useLoadingRequest","useLoadingRequest","loadRequest","onBriefingClick","BriefingReportButton","_useBriefingReport","columnRef","customFormatter","columnClassNames","numberColumn","DnD","setRef","_this$ref$getBounding","removeProperty","components_Default","ColumnComponent","regexp","RegExp","utils_constants_sortDirections__WEBPACK_IMPORTED_MODULE_0__","NO","toggleSort","toggleSortWithDefault","useFetchData","notifyDefaultFetchDataFailed","isHiddenTable","isInitialRender","CommonActions","dataProps","submitAllExport","HeaderButtons","renderHeaderButtons","withExport","bulkExportProps","bulkEmailProps","_Actions__WEBPACK_IMPORTED_MODULE_3__","usePageLookup","initialFetch","onSearchOptionsChange","onSearchValueChange","_ref$loadAdvancedSear","loadAdvancedSearch","defaultLoadAdvancedSearch","onClearAllSearchParams","fetchSearchResults","_ref2$search","_ref2$page","lodash_merge__WEBPACK_IMPORTED_MODULE_0___default","fetchDefaultSearchResults","fetchPreviousSearchResults","_searchData$options","_options$searchValue","restoreSearchResults","urlParams","lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default","useCustomToggleView","handleToggleCustomView","handleCloseCustomView","onCloseCustomView","recordColumn","dateColumn","addedToColumn","tagsColumn","actionsColumn","snippetTableColumns","getSnippetTableColumns","searchedKeyword","recordTitles","rangeDate","PublicRecordsContext","withPublicRecords","usePublicRecords","checkboxRecordTypes","fetchPublicRecords","trackResultsFiltered","trackResultsDateRangeFiltered","shouldFetch","defaultRecordTypes","defaultRangeData","setSearchedKeyword","setRangeDate","selectedTypes","setSelectedTypes","toResetTable","setToResetTable","selectedTypeSorted","allSearchData","usePublicRecords_extends","customSearchData","customKeywordSearch","handleChangeTypes","newTypes","handleInputSearch","selectedTypesLabels","labelPlural","handleClearSearch","onCheckType","typeId","onCheckAllTypes","onResetTable","onStartDateChange","onEndDateChange","onChangeTags","getSnippetText","isLocal","RecordColumn","recordTypes","foundRecord","LOCAL_TYPE_KEYS","TitleColumn","customTextComponent","textComponent","isLoadingPublicRecords","trackPageVisited","trackColumnSorted","records","customColumnComponents","currentTableColumns","components_RecordColumn","components_TitleColumn","components_SnippetColumn","defaultTypes","RecordTypesButton","Types","RecordTypeFilter","recordTypeTitles","baseOptionClassName","displayButtonRecordTypes","RecordTypesFilter_extends","components_RecordTypesButton","components_Types","keywordSearchTitles","rangeDateTitles","tagsTitles","customCheckboxRecordTypes","searchProps","withSnippet","_usePublicRecords","rangeDataComponent","tagsComponent","RecordTypesFilter","rangeTitles","trackPublicRecordResultsFiltered","trackPublicRecordResultsDateRangeFiltered","trackPublicRecordColumnSorted","trackPublicRecordPageVisited","trackSavedToTopic","trackPublicRecordSavedToTopic","useFrequency","defaultSendWeekAhead","setFrequency","setSendWeekAheadEmail","onFrequencyChange","onSendWeekAheadEmailChange","_ref2$target","utils_api","workspacesToTrack","workspaceTokens","flatMap_default","_ref$initialFrequency","_ref$initialModalOpen","isUpdate","_ref$api","defaultApi","isNewsSearch","DOCUMENT_TYPES","NEWS_SEARCH","modelParams","recordItemType","NEWSFEED_ITEM_TYPE","isWorkspace","WORKSPACE_TYPE","onWorkspace","_useFrequency","setFinalState","updateData","newFrequency","_ref2$newSendWeekAhea","newSendWeekAhead","_ref2$newTrackings","newIsTracking","useTrackButton_extends","getSelectedFeedName","getSelectedFeedToken","hasSendWeekAheadEmailChanged","selectedFeedName","selectedFeedToken","selectedFeedCount","saveSubscription","notificationProps","getFeedSettingsUrl","itemToken","selectedItemsCount","trackingsCount","notificationUpdate","notifyWorkspaceSubscriptionUpdateSuccess","notifyTrackItem","notificationCreate","notifyWorkspaceSubscriptionSubscribeSuccess","notifySubscriptionSendEmail","errorNotificationUpdate","notifyWorkspaceSubscriptionUpdateFailure","errorNotificationCreate","notifyWorkspaceSubscriptionSubscribeFailure","isPresentStaffers","isPresentHearings","notifySubscriptionChange","isRemoved","trackingsLeft","notifyWorkspaceSubscriptionUnsubscribeSuccess","notifyUntrackItem","notifyWorkspaceSubscriptionUnsubscribeFailure","onDocumentShared","onTagsSaved","RightSideBar","activeContent","setActiveContent","isOpenMenu","closeInitialMenu","openMenu","sidebarClassnames","contentClassnames","withProductBarContent","closeMenu","RightSideBar_extends","useSearchOptions","defaultSearchValue","defaultSearchType","setSearchValue","setSearchType","searchTypeAdvanced","setSearchTypeAdvanced","setIsDirty","setAllowSubmit","setIsClickedItem","onClickItemHandleState","onChangeHandleState","onClearAllHandleState","onClickSearch","removeUnusedOptions","ignoreOptions","validOptions","_ref$initialState","_ref$dataProps","_ref$dataOptions","dataOptions","_ref$advancedSearch","_ref$appliedFilters","onSearchTransform","_ref$useSearchParams","defaultUseSearchParams","tableData","_queryParse","querySearchId","queryDirection","queryColumn","queryPage","_tableData$paginator","_tableData$sort","useOptions","emptyOptions","_useSearchParams","handleSavedSearchExecution","handlePreviousSearchExecution","_useSearchOptions","useAdvancedSearch_extends","useAdvancedSearch_slicedToArray","previousSearchSelectedId","setPreviousSearchSelectedId","setIsAdvancedSearchOpen","setIsSearchOpen","fillOptions","getNotificationFailed","handleClear","handleCancel","handleAdvancedSearch","eventData","newOptions","merge_default","searchDataOptions","isSearchClick","onSearchToggle","onToggleAdvancedSearch","hasAppliedFilters","useAdvancedSearch_defineProperty","EXPORT_CUSTOMIZATION_ITEMS","components_ExportPreview","DocumentContent","isLoadingDocument","texts","onExportDocument","isContentEmpty","renderText","strategy_inputs","document_ids","r","components_core_PageHeader__WEBPACK_IMPORTED_MODULE_2__","components_core_Select__WEBPACK_IMPORTED_MODULE_5__","components_core_Label__WEBPACK_IMPORTED_MODULE_6__","ButtonGroupResponsive","_ref$displaySelect","displaySelect","ExportTimeSeries","onSetChartImage","exportChartOptions","animation","onComplete","toBase64Image","react_chartjs_2__WEBPACK_IMPORTED_MODULE_2__","marker","advancedSearchContainer","exportBtn","fixedWidth","isEmptyFieldType","hasOptions","fieldTypeSlug","errorMessages","fieldName","fieldDescription","unique","Yup","validateUniqueness","validationSchema","when","is","of","CustomFieldsContext","withCustomField","isLoadingCustomFields","isLoadingCustomFieldByToken","isSavingCustomField","isUpdatingCustomField","resetTable","isEnabled","isUpdatingPositions","actionsShape","editable","productSlugsShape","optionShape","productSlugsType","fieldTypeShape","errorShape","initialOptionsLength","touchedItemShape","getCustomFieldByToken","toggleCustomFieldStatus","isEditModal","setIsEditModal","_useSortTable","resetSortData","getApiSearchForm","product","handleFetchCustomFields","toggleEditModal","getApiStatusField","tokens","handleClearSelectedItems","handleDisableItems","handleEnableItems","handleChangePage","handleOpenEditForm","handleFieldStatus","handleSortByColumn","selectedColumn","handlePositionChange","handleChangeAvailableIn","MobileCardView","renderRowActions","emptyContent","_ref$option","initialValue","formState","answered","optionsCount","getIsDisabled","isDisabledOrLoading","withDeleteButton","Option_extends","getError","FieldsOptions","formik_esm","components_Option","FieldsOptions_extends","AvailableInField","RequiredProperty","FieldsData","FieldsData_extends","initEmptyOptions","components_RequiredProperty","components_AvailableInField","FieldInfo","Form","errors","touched","handleSubmit","editFormContext","Form_extends","buttonSubmitContent","components_FieldInfo","components_FieldsOptions","EditForm","withFormik","mapPropsToValues","customField","EditForm_extends","enableReinitialize","_actions$props","updateCustomField","old_value","new_value","CardButtonGroup","setIsEnable","setIsDisable","enabledLabel","onDisable","onEnable","FooterActions_extends","sortDataShape","DESCRIPTION_MAX_LIMIT","FieldsTable","allCustomFields","onUpdatePosition","core_Table","EditButton","Control","Hint","ENABLED_OPTIONS","handlePaginatorChangePage","renderPaginator","formatOptionLabel","components_CardButtonGroup","components_FieldsTable","components_MobileCardView","components_EditForm","PreviewDateInput","PreviewDateInput_slicedToArray","PreviewInput","_INPUT_TYPE_SLUG$NUME2","PreviewInput_defineProperty","components_PreviewDateInput","PreviewContent","components_PreviewInput","PreviewFields","components_PreviewContent","createCustomField","Form_slicedToArray","isPreviewModal","setIsPreviewModal","togglePreviewModal","fieldsContext","components_Form_extends","components_FieldsData","components_PreviewFields","resetForm","resetLoadingFields","custom_field","field_type","ConnectedContainer","connect","CustomFields_extends","dispatch","bindActionCreators","CustomFields","react_redux_es","CommentsRepository","comments","deleteById","commentId","updatedComment","prependComments","appendComments","newComments","getOldestCreatedAt","useComments","onBeforeLoadComments","onLoadComments","onSaveComment","onUpdateComment","onDeleteComment","setComments","handleLoadComments","responseComments","handleSaveComment","responseComment","handleUpdateComment","handleDeleteComment","Comments","highlightedParentId","_useComments","handleUploadClick","setProgress","setFailures","appendChild","onchange","files","FileUpload","alreadyAddedFiles","filesUploaded","filesAdded","addFiles","deleteFile","btnClassName","listClassName","failures","filesList","handleDeleteClick","btnClassNames","listClassNames","failedMessage","renderFileName","TimePickerInput","customClassName","TIME_FORMAT","TimePicker","TimePicker_objectWithoutProperties","TimePicker_extends","showTimeSelect","showTimeSelectOnly","timeIntervals","components_TimePickerInput","callToActionsProps","POSITION_BUTTON_RECORD_TYPES","transformFirstOption","defaultComponentData","componentData","secondOption","transformSecondOption","transformFinalData","lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0___default","transformSuggesterValue","getInitialComponentData","obj","defaultAddons","toType","toValue","optionsAddons","entries","filterTools","_ref3$defaultComponen","suggester","initialComponentData","handleFirstTransform","handleSecondSuggester","handleDataTransform","LookupContext","withLookup","dataLookup","ActionBarButtons","renderActionBarButtons","allData","_dataLookup$areEmptyE","trackResultsExported","trackResultEmailed","actionBarProps","advancedProps","columnOptions","_tableData$uniqueKey","renderTableColumn","isEmptyFooterActions","renderFooterActions","tableCustomComponents","useRenderFooterActions","useTableCustomComponents","_tableData$withContex","withContextualMenu","allDataError","tableProps","paginatorProps","exportModalOptions","isSortColumn","dataLength","footerActionsNode","useMapBounds","showMap","markersBounds","setMarkersBounds","resize","getLink","hrefBaseUrl","getDescriptionLabel","markerId","onFetch","visibleLinks","remainedLinksCount","listLimitExceeded","remainedLinks","handleLinkListClick","viewMoreLink","commonListProps","Popup","Popup_objectWithoutProperties","property","Popup_extends","getMapPopup","markerHeight","top-left","top-right","bottom-left","bottom-right","popupNode","popupProps","PopupComponent","ReactDOM","getPopupNode","setDOMContent","styleMapCursor","getCanvas","initClusterEvents","features","queryRenderedFeatures","cluster_id","getSource","getClusterExpansionZoom","easeTo","onClusterClick","setActivePopup","feature","popupOptions","clusters_extends","lngLat","setLngLat","addTo","onUnclusteredPointClick","setMarkersAndClusters","isHeatmapChecked","circle-stroke-width","circle-stroke-color","circle-color","circle-radius","text-field","text-font","text-size","text-color","icon-image","icon-size","icon-allow-overlap","addClusterLayers","setHeatMap","heatmap-weight","heatmap-intensity","heatmap-radius","heatmap-opacity","heatmap-color","addHeatMapLayer","useMapLookup","isMapViewVisible","activePopup","destroyMap","onToggleHeatMap","useMapView","mobileHeight","desktopHeight","MapView","_useMapView","US_COORDINATES","mapLookupProps","MapView_extends","renderCustomActions","useCustomActions","customToggleView","disabledActionsText","optionsComponent","_useCustomToggleView","advancedOptionsProps","trackRecentSearchSavedItem","trackSaveSearchDeletedItem","trackResultSearched","_ref$trackTableViewVi","trackTableViewVisited","_ref$trackMapViewVisi","trackMapViewVisited","hasPageView","usePageViewTracking","commonActionProps","customActionProps","tableColumnOptions","getAdvancedSearchProperties","components_MapView","PageLookup","headerData","trackFunction","dataLookupUi","exportReportUi","advancedSearchUi","savedPaginator","PageLookup_extends","trackSearchedItems","components_Container","billHeaderSection","borderTopRightRadius","borderTopLeftRadius","BillHeader","billFooterSection","borderBottomRightRadius","borderBottomLeftRadius","billCard","billBodySection","borderRightWidth","withoutHeader","withoutFooter","BillCard","footerContent","bodyStyles","billHeaderItem","billHeaderText","overflowWrap","wordBreak","getHeaderItem","displayBillStateSection","displayBillStatusSection","displayIntroducedSection","displayVoteSection","dateIntroduced","hasVote","Bill","displayBillTitleSection","displaySnippetSection","displayLastActionDateSection","displayLastActionSection","displayDescriptionSection","displaySummarySection","displaySponsorsSection","displayCosponsorsSection","restDisplayProps","billDescription","billSummary","billSummaryLastUpdated","displayFooter","Bill_extends","DocumentLayouts_BillFooter","displayViewAllSponsors","displayViewAllCosponsors","DocumentLayouts_BillCard","StateBills","StateBills_objectWithoutProperties","components_Bill","StateBills_extends","displayCongressSection","congress","Bill_objectWithoutProperties","FederalBills_components_Header","components_Bill_extends","FederalBills","FederalBills_objectWithoutProperties","FederalBills_components_Bill","FederalBills_extends","DocumentLayouts_StateBills","DocumentLayouts_FederalBills","useContributions","searchProperties","searchReceipts","contribution","setContribution","stakeholdersContributionsOnly","onChangeContribution","contributionOptions","contributionsComponent","receiptsError","nrRowsPlaceholder","appliedSearchFilters","isLoadingReport","displayPaginatorPlaceholder","onFailedNotification","customSearchProperties","lookUp","customTitles","queryParser","_useContributions","noSubscriptionMessage","components_Form","FederalContributionsWidget_extends","receiptLookup","Contributors","setOptionValues","handleChangeRange","isStart","onChangeDateRange","utcDayStart","utcDayEnd","DateFilter","newDate","Radiobox","changedValue","radioboxId","starIconClassName","withoutBorders","withStars","isSingleSelection","renderLabel","labelProps","checkboxId","SelectAllWithSubItems","optionalFields","subFields","CheckboxWithSubItems","handleMultiChange","CheckboxWithSubItems_toConsumableArray","subFieldId","CheckboxWithSubItems_components_Item","filterStyles","components_SelectAllWithSubItems","showSubItems","subItemValues","subId","subValues","subValue","Filter_Date","Filter_Radiobox","Filter_TagInput","Filter_Checkbox","Filter_CheckboxWithSubItems","useSearch","filterValues","onChangeSearchParam","setShowSearch","setShowFilters","appliedSearchValue","currentSearchValue","setCurrentSearchValue","handleShowSearch","handleShowFilters","handleSearchSubmit","AddedToTab","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_2__","components_core_Table_components_ColumnItem_AddedToItem__WEBPACK_IMPORTED_MODULE_3__","utils_constants__WEBPACK_IMPORTED_MODULE_5__","_InfoTab__WEBPACK_IMPORTED_MODULE_7__","ActionsTab","components_Dashboard_utils__WEBPACK_IMPORTED_MODULE_3__","components_core_ButtonTagManager__WEBPACK_IMPORTED_MODULE_4__","components_core_ButtonShare__WEBPACK_IMPORTED_MODULE_5__","_InfoTab__WEBPACK_IMPORTED_MODULE_6__","documentTypeLabel","documentUrl","onShareSuccess","DocumentContainer","fetchDetails","sidebarItems","isExporting","components_core_DocumentPlaceholder__WEBPACK_IMPORTED_MODULE_4__","rightSideBarData","components_core_RightSideBar__WEBPACK_IMPORTED_MODULE_5__","components_core_DocumentContent__WEBPACK_IMPORTED_MODULE_3__","ButtonShareToMyFeed","itemsSize","confirmationText","components_core_Button__WEBPACK_IMPORTED_MODULE_6__","components_core_Modal__WEBPACK_IMPORTED_MODULE_4__","REQUEST_CONTENT_TYPE","AddedDraggableItem","bus","withSource","sourceMultiValueLabel","sourceOption","replaceOldNode","parentComponentData","hideFirstOptionNode","firstOptionOptions","firstOptionPlaceholder","firstOptionTransform","secondOptionMultiSelect","secondOptionOptions","secondOptionStrategy","secondOptionSuggester","secondOptionReqMethod","secondOptionReqTransform","secondOptionResTransform","secondOptionTransform","secondOptionAsyncCreatable","secondOptionCustomMessage","secondOptionCustomProps","transformData","secondaryOptionRender","customInstantValidator","customSubmitValidator","baseComponentData","setComponentData","firstOptionValue","defaultErrorData","errorFirstOption","errorSecondOption","setErrors","useListener","useCallback","isEmptyFirst","isEmptySecond","validatorErrors","emit","secondOptionType","replaceNewNode","transformProps","handleSecondOption","componentFirstOptionNode","componentSecondOptionNode","suggesterProps","uri","customMultiValueLabel","customOption","reqContentType","reqMethod","allowCreateWhileLoading","customNode","getSecondaryOptionNode","AddedDraggableInputItem","AddedDraggableInputItem_slicedToArray","validator","AddedDraggableInputItem_extends","getNameInDraggableItems","draggableItems","searchedFilter","currentFilter","searchedOption","getNameInFilters","searchedStatement","getNameInStatements","reorder","startIndex","endIndex","removed","common_slicedToArray","splice","findNode","object","arr","traverseArrayResponse","arrItemResponse","traverseArray","traverseObjectResponse","restObj","_i2","_Object$keys","statementItemResponse","traverseObject","cloneDeep_default","findParentNode","_i3","_Object$keys2","dragEndActions","dragEndActions_objectWithoutProperties","isDroppedFilterJoin","draggedFilter","getTime","dimension","oldFilterGroup","newFilterGroup","cloneDeep","handleDroppedFilterJoin","isDroppedFilterGroup","handleDroppedFilterGroup","draggedGroupWithFilter","isDroppedStatementJoin","draggedItem","oldStatementGroup","newStatementGroup","handleDroppedStatementJoin","isDroppedStatementGroup","handleDroppedStatementGroup_extends","handleDroppedStatementGroup_toConsumableArray","handleDroppedStatementGroup","isDroppedStatementReorder","handleDroppedStatementReorder","isDroppedFilterReorder","oldFiltersGroup","newFiltersGroup","handleDroppedFilterReorder_toConsumableArray","handleDroppedFilterReorder","useSmartSearch","listId","isTemplate","submitList","afterSubmittingURL","useSmartSearch_slicedToArray","submitting","setSubmitting","isDraggingFilter","setIsDraggingFilter","isDraggingStatement","setIsDraggingStatement","setIsDraggingFilterToFalse","setIsDraggingStatementToFalse","useSmartSearch_toConsumableArray","onBeforeCapture","offsetScroll","_document$documentEle","documentElement","exec","trackItemAddedToBuilder","oldNode","newNode","toCheck","oldNodeId","onCreate","fn","useSmartSearch_extends","DroppableItem_theme","draggableStyle","getItemStyle","AccordionTitle","DraggableOption","shouldRenderClone","droppableSnapshot","clone","draggableItemProps","DraggableOption_extends","dragDropPlaceholder","optionIndex","components_DraggableOption","Options_extends","DroppableItem","isDropDisabled","renderClone","rubric","DroppableItem_extends","StatementsAndFilters","_useStatementsAndFilt","useStatementsAndFilters_slicedToArray","stickMargin","setStickMargin","isStickyAndNotDragging","styleProps","transform","updateStickMargin","parentNode","scrollTop","useStatementsAndFilters","StatementsAndFilters_extends","StatementsAndFilters_objectWithoutProperties","stickyClassNames","stickyStyles","components_DroppableItem","TitleInput","charactersLimit","TitleInput_objectWithoutProperties","TitleInput_extends","DescriptionTextArea","DescriptionTextArea_objectWithoutProperties","DescriptionTextArea_extends","isTextInvalid","useValidation","descriptionCharactersLimit","isDescriptionRequired","isScrollIntoViewErrors","useValidation_slicedToArray","errorTitle","errorDescription","useValidation_extends","errorField","findKey_default","scrollIntoViewElementById","GeneralDetails","updateTitle","updateDescription","updateIsTemplate","disableIsTemplate","isTitleRequired","govpredictAdmin","defaultTitleLabel","defaultLabels","defaultDescriptionLabel","defaultTemplateLabel","_labels$title","titleLabel","_labels$description","descriptionLabel","_labels$isTemplate","templateLabel","_useValidation","components_TitleInput","components_DescriptionTextArea","joinWithSeparator","getOperatorElement","operatorLabel","StatementDescription","parentStatements","parentOperator","getFilterTranscript","searchTitle","_ref2$label","transactorLabel","getStatementTranscript","parentSize","filtersElement","filtersTranscript","getFilterGroupTranscript","filtersGroup","filtersSize","filterTranscript","shouldWrap","statementName","statementsDescription","statementsSize","statementsTranscript","getStatementGroupTranscript","getStatementDescription","transactorTheme","Definitions_theme_extends","defaultSelectTheme","addNewStatementStyle","hasEmptyStatements","addNewFilterStyle","getStatementsStyle","getStatementStyle","getStatementFiltersStyle","getStatementFilterStyle","StatementsAdd","isNewGroupPartHidden","isJoinGroupPartHidden","statementsGroupId","errorStatements","hasStatements","displayOperator","displayJoinGroup","displayAddNewGroup","messageAddGroup","commonDroppableProps","droppableStatementsJoinProps","StatementsAdd_extends","droppableStatementsGroupProps","droppableProvided","groupOperators","groupOperatorActions","GroupOperator","operatorValue","StatementFiltersAdd","hasFilters","droppableFiltersJoinProps","StatementFiltersAdd_extends","droppableFiltersGroupProps","droppableProvidedFilters","droppableSnapshotFilters","droppableProvidedFiltersGroup","droppableSnapshotFiltersGroup","StatementFilter","draggableIndex","isLastOperator","deleteFilter","FilterComponent","isGroupOperatorDisplayed","handleDeleteStatementFilter","draggableProvided","draggableSnapshot","StatementFilter_extends","components_GroupOperator","StatementFilterChecker","keyPrefix","filterItem","components_StatementFiltersAdd","components_StatementFilter","StatementFilters","components_StatementFilterChecker","Statement","deleteStatement","filterId","filterOperator","statementHasFilters","displayFilters","StatementComponent","handleDeleteStatement","filtersNode","components_StatementFilters","Statement_extends","StatementChecker","statementItem","components_StatementsAdd","components_Statement","Statements","components_StatementChecker","Definitions","updateTransactor","statementId","statementOperator","transactors","Definitions_slicedToArray","setModal","errorTransactor","validate","isEmptyTransactor","Definitions_extends","transactorNode","injectedMessage","transactorObject","components_Statements","components_StatementDescription","getList","submitButtonLabel","copyId","URLSearchParams","_builder$ui","useBus","_useSmartSearch","copy","smartSearchContext","actionsNode","components_GeneralDetails","components_Definitions","components_StatementsAndFilters","components_AddedDraggableItem","AddedDraggableItem_AddedDraggableInputItem","SmartSearchBuilder","react_bus_es","bodySection","LookupCard","hideHeader","hideFooter","DetailRow","customFormatting","isCapitalized","components_core_Link__WEBPACK_IMPORTED_MODULE_5__","useBulkTrack","initialSubscription","onBulkTrack","selectedFrequency","selectedItemsIdsValues","defaultFrequency","sectionType","COMMITTEE_SECTION","onFinally","_ref6$target","onChangeFrequency","BulkTrack","_useBulkTrack","ButtonBulkTrack_extends","Profile","Profile_objectWithoutProperties","Profile_extends","opacity","> div > div",".icon.fas","> i.icon.fas","> span span","ButtonDropdown","ButtonDropdown_extends","InfinitePaginator","_ref$ui","isInfiniteDisabled","components_core_Paginator__WEBPACK_IMPORTED_MODULE_3__","isInfinite","transformPublicRecordTypes","_ref$publicRecordType","publicRecordTypes","_ref$recordTypeLabelM","recordTypeLabelMapping","customSortColumn","customChangePage","trackSorted","_ref4$sortData","TotalTable","renderColumn","customColumnsElement","totalLength","sortUI","totalItemsLength","totalTextElement","getSortData","currentSortData","TotalTable_extends","alignContent","AVATAR_SIZE","objectPosition","textSection","rowSection","colorLessTag","partyBadge","components_Avatar","userShape","externalUrl","uploadShape","customFieldShape","taskUserShape","taskShape","assignee","assigner","dueDateTime","fullCreationDate","commentsCount","task","displayActivity","displayProfile","primaryPosition","DocumentLayouts","AvatarGroup","stackLimit","mobileStackLimit","avatarsLimit","overLimitSize","shownAvatars","hiddenAvatars","getRow","components_core_AppliedFiltersLabel__WEBPACK_IMPORTED_MODULE_2__","utils_string__WEBPACK_IMPORTED_MODULE_4__","SearchInfo","lodash_includes__WEBPACK_IMPORTED_MODULE_2__","lodash_includes__WEBPACK_IMPORTED_MODULE_2___default","components_Dashboard_common_FeedPage_utils_constants__WEBPACK_IMPORTED_MODULE_3__","components_Dashboard_common_UserNotifications__WEBPACK_IMPORTED_MODULE_4__","components_core_ButtonPosition_utils_constants__WEBPACK_IMPORTED_MODULE_5__","components_core_ButtonPosition__WEBPACK_IMPORTED_MODULE_6__","PositionItem","FEDERAL_REGISTER_REGULATION","EmptyTagsPlaceholder","getText","getButtonText","targetType","onUpdateTags","emptyPlaceholderTargetType","getEmptyPlaceholderText","getEmptyPlaceholderButtonText","tagManagerLabel","titleAction","Tags_EmptyTagsPlaceholder","components_core_FrequencyOptions_shapes__WEBPACK_IMPORTED_MODULE_1__","locationShape","subscriptionShape","domain","locations","isPersonal","raw","components_shared_party_icon__WEBPACK_IMPORTED_MODULE_2__","LegislatorTitle","moniker","ReportLabel","reportIcon","MoneyColumn","displayAmount","currencyFormat","minThreshold","maxThreshold","ConfidenceColumn","confidence","RecipientColumn","_ref$fixedWidth","FilingColumn","receiptState","is_pdf_available","filing_source_url","_useTableReceipts","receiptModalProps","onPageChange","onColumnSort","sort_column","sort_direction","filingColumnProps","filing","components_FilingColumn","legislatorTitle","compareLegislators","rank","sortLegislators","LegislatorsSection","sortedLegislators","components_Legislator","Legislators","members","showOthers","republicans","democrats","others","components_LegislatorsSection","PartyLegend","suggestedMin","PartyBreakdown","_objectMap","objectMap","partyMembers","padWith","withOthers","datasetData","OTHER_BACKGROUND_COLOR","components_PartyLegend","STATE_BILLS","BILL","NEWS","DEFAULT","labelSentenceCase","_DESCRIPTIONS","_STATE_BILLS$value","_STATE_REGULATIONS$va","_BILL$value","_NEWS$value","_DEFAULT$value","_FREQUENCY_OPTIONS","ActionCard","subTitle","beforeActions","NewsContext","withNews","RightItems","hasPreviewButton","onShowPreview","previewButtonText","rightItemsProps","News_RightItems","List","showCluster","onHideCluster","isEmptySearch","bulkSaveTags","updateTags","shareToMyFeed","renderCard","extractKeywords","News","List_extends","useContainer","fetchNews","setShowPreview","setShowCluster","clusterStories","setClusterStories","hasUserSearched","setHasUserSearched","isLoadingFeed","clusterItems","clusterPaginator","isEmptyFeed","useContainer_extends","POST_REQUEST","resetFeed","transformParams","transformNewsLookupParams","_BILL_PROFILE_TYPE$EX2","_useContainer","News_Header","News_List","News_Paginator","InvalidFormatError","prototype","notifyError","SelectedFile","resetFile","sizeInKB","sizeInKBMessage","useFileUrl","fileUrl","setFileUrl","updateFileUrl","reader","File","FileReader","onload","readAsDataURL","FilePicker","supportedFormats","FilePicker_slicedToArray","setFile","setFileIfValid","newFile","isFileFormatSupported","validateFileFormat","handleValidationError","components_SelectedFile"],"mappings":"uGAKYA,4JAML,IAAMC,EAAe,CAC1BC,QAASC,IAAOD,QAChBE,UAAWD,IAAOC,UAClBC,SAAUF,IAAOE,SACjBC,MAAOH,IAAOG,MACdC,QAASJ,IAAOI,QAChBC,OAAQL,IAAOK,OACfC,KAAMN,IAAOM,KACbC,UAAWP,IAAOO,UAClBC,QAASR,IAAM,QACfS,KAAMT,IAAOS,KACbC,OAAQV,IAAOU,QAGJC,EAAc,CACzBC,MAAOZ,IAAOY,MACdC,OAAQb,IAAOa,OACfC,MAAOd,IAAOc,MACdL,KAAMT,IAAOS,KACbM,MAAOf,IAAOe,OAGHC,EAAe,CAC1BjB,QAASkB,IACThB,UAAWiB,IACXhB,SAAUe,IACVd,MAAOgB,IACPf,QAASa,IACTZ,OAAQY,IACRX,KAAMY,IACNX,UAAWW,IACXV,QAASW,IACTV,KAAMQ,IACNP,OAAQO,4lBCnCV,SAASG,EAATC,GAgBgB,IAfdC,EAecD,EAfdC,QAecC,EAAAF,EAddG,YAcc,IAAAD,EAdP1B,EAAY4B,OAcLF,EAbdG,EAacL,EAbdK,SAacC,EAAAN,EAZdO,aAYc,IAAAD,EAZN,UAYMA,EAAAE,EAAAR,EAXdS,YAWc,IAAAD,EAXP,SAWOA,EAVdE,EAUcV,EAVdU,WACAC,EAScX,EATdW,cAScC,EAAAZ,EARda,iBAQc,IAAAD,KAAAE,EAAAd,EAPde,oBAOc,IAAAD,KANdE,EAMchB,EANdgB,SACAC,EAKcjB,EALdiB,UACAC,EAIclB,EAJdkB,UACAC,EAGcnB,EAHdmB,gBACAC,EAEcpB,EAFdoB,SACGC,EACWC,EAAAtB,EAAA,sKACRuB,EAAalB,GAAYa,EACzBM,EAAoBD,GAAc5C,IAAO4C,WAE/C,OACEE,EAAAC,EAAAC,cAAA,SAAAC,EAAA,GACMP,EADN,CAEEQ,IAAKT,EACLjB,KAAMA,EACNE,SAAUkB,EACVtB,QAASA,EACTgB,UAAWa,IACTnD,IAAOyB,OACP3B,EAAa8B,GACbjB,EAAYmB,GACZQ,EACAO,KAGDX,GACCY,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOoD,QAASpB,EAAea,IACxDC,EAAAC,EAAAC,cAAA,KAAGV,UAAU,iBAIhBF,GACCU,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOqD,WAAYrB,EAAea,IAC3DC,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAIhBP,GACCe,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOsD,KAAMtB,EAAea,IAAqBd,GAG7EQ,GACCO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CACEzB,KAAK,QACLF,MAAOZ,EAAaY,GACpB4B,UAAQ,EACRlB,UAAWa,IAAWnD,IAAOyD,cAAejB,KAI/CH,mCAKP,IAAMqB,EAAoBC,YAAyBvC,GAIpCA,wCC9EfwC,EAAAC,EAAAC,EAAA,sBAAAC,IAAAH,EAAAC,EAAAC,EAAA,sBAAAE,IAAAJ,EAAAC,EAAAC,EAAA,sBAAAG,IAAAL,EAAAC,EAAAC,EAAA,sBAAAI,IAAAN,EAAAC,EAAAC,EAAA,sBAAAK,IAAAP,EAAAC,EAAAC,EAAA,sBAAAM,IAAAR,EAAAC,EAAAC,EAAA,sBAAAO,IAAAT,EAAAC,EAAAC,EAAA,sBAAAQ,IAAAV,EAAAC,EAAAC,EAAA,sBAAAS,IAAAX,EAAAC,EAAAC,EAAA,sBAAAU,IAAAZ,EAAAC,EAAAC,EAAA,sBAAAW,IAAO,IAAMV,EAAgB,aAChBC,EAAW,QACXC,EAAY,SACZC,EAAU,OACVC,EAAY,SAOZC,EAAa,CACxBM,MAAOX,EACPY,MAAO,cAGIN,EAAQ,CACnBK,MAAOV,EACPW,MAAO,SAGIL,EAAO,CAClBI,MAAOR,EACPS,MAAO,QAGIJ,EAAS,CACpBG,MAAOT,EACPU,MAAO,UAGIH,EAAsB,CACjCJ,EACAC,EACAC,GAGWG,EAAkB,CAC7BH,EACAC,EACAF,EACAD,sHCnCF,SAASQ,EAATvD,GAA+D,IAA1CwD,EAA0CxD,EAA1CwD,MAAOC,EAAmCzD,EAAnCyD,QAASC,EAA0B1D,EAA1B0D,YAAazC,EAAajB,EAAbiB,UAChD,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOgF,KAAM1C,IACrCuC,GAAS/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,OAAQA,GACxCC,GAAWhC,EAAAC,EAAAC,cAAA,WAAM8B,GACjBC,GAAejC,EAAAC,EAAAC,cAAA,WAAM+B,IAK5BH,EAAUK,UAAV,GAOeL,0GCjBf,SAASM,EAAT7D,GAAuD,IAAhC8D,EAAgC9D,EAAhC8D,WAAYL,EAAoBzD,EAApByD,QAASM,EAAW/D,EAAX+D,QAM1C,OACEtC,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,OACLQ,UAAWtC,IAAOqF,aAClB/D,QAVJ,SAAqBgE,GACnBH,EAAWG,GACXF,GAAWA,EAAQN,KAUjBhC,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAKnB4C,EAAYD,UAAZ,GASeC,QC/BFK,EAAQC,YAAc,CACjCC,MAAO,UACPC,KAAM,WACNC,SAAU,MAGCC,EAAOJ,YAAc,CAChCC,MAAO,SACPC,KAAM,UACNC,SAAU,MAGoBH,YAAc,CAC5CC,MAAO,UACPC,KAAM,WACNC,SAAU,CAAC,IAAK,4lBCRX,IAAME,EAA2B,CACtCC,SAAU,YACVC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,UAAW,KAGN,SAASC,EAAoBrB,EAASsB,GAAS,IAAA/E,EACd+E,GAAW,GAAzCC,EAD4ChF,EAC5CgF,GAAIjB,EADwC/D,EACxC+D,QAAY1C,EAD4BC,EAAAtB,EAAA,kBAE9CiF,EAAc,SAAAhB,GAAK,OAAIJ,EAAWjC,EAAA,GAAMqC,EAAN,CAAaF,UAASN,cAE9D,OAAO,kBAAMyB,YAAMC,EAAW1B,GAAZ7B,EAAA,CAChBwD,WAAYlB,EACZe,eACGT,EAHa,GAIbnD,EAJa,CAKhBgE,QAASL,MAIN,SAASM,EAAQ7B,EAASsB,GAAS,IAAAQ,EACFR,GAAW,GAAzCC,EADgCO,EAChCP,GAAIjB,EAD4BwB,EAC5BxB,QAAY1C,EADgBC,EAAAiE,EAAA,kBAElCN,EAAc,SAAAhB,GAAK,OAAIJ,EAAWjC,EAAA,GAAMqC,EAAN,CAAaF,UAASN,cAE9D,OAAO,kBAAMyB,YAAMC,EAAW1B,GAAZ7B,EAAA,CAChBwD,WAAYlB,EACZjD,UAAWa,IAAWnD,IAAOgF,KAAMhF,IAAO2G,SAC1CL,eACGT,EAJa,GAKbnD,EALa,CAMhBgE,QAASL,MAIN,SAASQ,EAAM/B,EAASsB,GAAS,IAAAU,EACAV,GAAW,GAAzCC,EAD8BS,EAC9BT,GAAIjB,EAD0B0B,EAC1B1B,QAAY1C,EADcC,EAAAmE,EAAA,kBAEhCR,EAAc,SAAAhB,GAAK,OAAIJ,EAAWjC,EAAA,GAAMqC,EAAN,CAAaF,UAASN,cAE9D,OAAO,kBAAMyB,YAAMC,EAAW1B,GAAZ7B,EAAA,CAChBwD,WAAYlB,EACZjD,UAAWa,IAAWnD,IAAOgF,KAAMhF,IAAO6G,OAC1CP,eACGT,EAJa,GAKbnD,EALa,CAMhBgE,QAASL,MAIN,SAASU,EAAmBjC,EAASsB,GAC1C,OAAOO,EAAQ/B,EAAUE,GAAUsB,EAA5BO,GAGF,SAASK,EAAiBlC,EAASsB,GACxC,OAAOS,EAAMjC,EAAUE,GAAUsB,EAA1BS,sOCvDF,SAASL,EAAWS,GACzB,OAAIC,IAAQD,GACH,KAGLE,yBAAeF,GACVA,EAGLG,IAASH,GACJA,EAAKnC,QAGPmC,EAGF,SAASI,EAAmBhB,EAAIvB,EAASsB,GAC9C,GAAIc,IAAQpC,GACV,OAAO,KAF8C,IAK/CM,GAAYgB,GAAW,IAAvBhB,QACFkB,EAAc,SAAAhB,GAAK,OAAIJ,EAAYoC,EAAA,GAAKhC,EAAN,CAAaF,UAASN,cACxDyC,EAAiBf,EAAW1B,GAElC,OAAIoC,IAAQb,GACHF,EAAoBoB,EAADD,EAAA,CAAmBjB,KAAIC,eAAgBF,IAG5DG,IAAMiB,OAAOnB,EAAbiB,EAAA,CAAmBG,OAAQF,EAAgBjB,eAAgBF,uOCxBpE,SAASsB,EAAapC,GACpB,OACExC,EAAAC,EAAAC,cAAC2E,EAAA,EAADC,EAAA,CACEtF,UAAWtC,IAAO6H,UAClBC,eAAgB9H,IAAOgF,MACnBM,sUAKVoC,EAAaK,aAAe,CAC1BC,MAAOC,KAGTP,EAAazC,UAAb,GAQeyC,qtBC1Bf,IAAMQ,EAAa,CACjBnI,QAASoI,IAAapI,QACtBE,UAAWkI,IAAalI,UACxBC,SAAUiI,IAAajI,SACvBC,MAAOgI,IAAahI,MACpBC,QAAS+H,IAAa/H,QACtBC,OAAQ8H,IAAa9H,OACrBC,KAAM6H,IAAa7H,KACnBC,UAAW4H,IAAa5H,UACxB6H,cAAeD,IAAY,QAC3B3H,QAASR,IAAM,QACfU,OAAQyH,IAAazH,QAGjBC,EAAc,CAClBI,MAAOoH,IAAapH,MACpBH,MAAOuH,IAAavH,MACpBC,OAAQsH,IAAatH,OACrBC,MAAOqH,IAAarH,MACpBL,KAAM0H,IAAa1H,MAGf4H,EAAO,SAAAhH,GAcP,IAbJO,EAaIP,EAbJO,MACAE,EAYIT,EAZJS,KACAC,EAWIV,EAXJU,WACAuG,EAUIjH,EAVJiH,UACAjG,EASIhB,EATJgB,SACAC,EAQIjB,EARJiB,UACAiG,EAOIlH,EAPJkH,KACAC,EAMInH,EANJmH,WACAC,EAKIpH,EALJoH,aACAC,EAIIrH,EAJJqH,oBACA1G,EAGIX,EAHJW,cACAN,EAEIL,EAFJK,SACGgB,EACCC,EAAAtB,EAAA,sJACEsH,EAAcH,GAAc,CAChCI,OAAQ,SACRC,IAAK,uBAGDC,EACJhG,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGhH,GACCe,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWgF,IAAa7E,KAAMtB,IAAiBD,GAGjEM,EAEAmG,IAAeF,GAAaI,GAC3B5F,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOsI,UAAWtG,IAC5Cc,EAAAC,EAAAC,cAAA,KAAGV,UAAU,0BAIhBgG,GACCxF,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOsI,UAAWtG,IAAiBsG,IAKrE,OAAIG,EAEA3F,EAAAC,EAAAC,cAACgG,EAAA,EAAD/F,EAAA,GACMP,EACAiG,EAFN,CAGErG,UAAWa,IACTgF,IAAa1G,OACbzB,IAAOM,KACP4H,EAAWtG,GACXjB,EAAYmB,GACZJ,GAAYyG,IAAavF,WACzBN,KAGDwG,GAMLhG,EAAAC,EAAAC,cAAA,IAAAC,EAAA,GACMP,EACAiG,EAFN,CAGEJ,KAAMA,EACNjG,UAAWa,IACTgF,IAAa1G,OACbzB,IAAOM,KACP4H,EAAWtG,GACXjB,EAAYmB,GACZJ,GAAYyG,IAAavF,WACzBN,KAGDwG,IAKPT,EAAKN,aAAe,CAClBnG,MAAO,UACPE,KAAM,SACN2G,cAAc,GAGhBJ,EAAKpD,UAAL,GAwBeoD,knBCpIf,SAASY,EAAT5H,GAQG,IAPD6H,EAOC7H,EAPD6H,GACArE,EAMCxD,EANDwD,MACA4D,EAKCpH,EALDoH,aACAnG,EAICjB,EAJDiB,UACAN,EAGCX,EAHDW,cACAmH,EAEC9H,EAFD8H,eACGzG,EACF0G,EAAA/H,EAAA,4EACD,OACEyB,EAAAC,EAAAC,cAACqG,EAADC,EAAA,GACM5G,EADN,CAEEwG,GAAIA,EACJT,aAAcA,EACdnG,UAAWa,IAAWnD,IAAOM,KAAMgC,KAEnCQ,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,oBAAqBnD,IAAOsD,KAAMtB,KAC3Dc,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAO6E,MAAOsE,IAAkBtE,IAK/DoE,EAAOlB,aAAe,CACpBjG,KAAM,OACNF,MAAO,QACP2G,KAAM,GACNE,cAAc,GAGhBQ,EAAOhE,UAAP,GAqBegE,6qBC7Cf,IAAMM,EAAkB,GAExB,SAASC,EAATnI,GAA0D,IAAtCoI,EAAsCpI,EAAtCoI,SAAUnH,EAA4BjB,EAA5BiB,UAAWoH,EAAiBrI,EAAjBqI,cACvC,GAAIxC,IAAQuC,GACV,OAAOE,IAGT,IAAMC,EAAYH,EAAS,GACrBI,EAAWJ,EAASK,OAE1B,SAASC,EAAWzJ,EAAM0J,GAAO,IACvBzB,EAAkCjI,EAAlCiI,KAAM7D,EAA4BpE,EAA5BoE,MAAUuF,EADOC,EACW5J,EADX,kBAEzB6J,GAAeC,IAASJ,GACxBK,EAAiBlH,IACrBgH,EAAcnK,IAAOsK,cAAgBtK,IAAOuK,YAC5Cb,GAGF,OAAIxC,IAAQxC,IAAUwC,IAAQqB,GACrB,KAGLrB,IAAQqB,GAERzF,EAAAC,EAAAC,cAAA,OAAKwH,IAAG,QAAAC,OAAU/F,EAAV,KAAA+F,OAAmBT,GAAS1H,UAAW+H,GAC7CvH,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACEC,WAAYjG,EACZkG,cAAerB,EACfsB,aAAa,KAOnB/H,EAAAC,EAAAC,cAAA,OAAKwH,IAAG,QAAAC,OAAUlC,EAAV,KAAAkC,OAAkBT,GAAS1H,UAAWtC,IAAO8K,eACnDhI,EAAAC,EAAAC,cAACqG,EAAD0B,EAAA,GACMd,EADN,CAEE1B,KAAMA,EACN3G,MAAM,UACNU,UAAW+H,IAEXvH,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACEC,WAAYjG,GAAS6D,EACrBqC,cAAerB,EACfsB,aAAa,MAevB,OAAiB,IAAbhB,EACKE,EAAWH,GAIlB9G,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACE1I,UAAU,UACVwC,QAdFhC,EAAAC,EAAAC,cAAA,WACGyG,EAASwB,MAAM,GAAGC,IAAInB,IAcvBoB,UAAU,SACVC,aAAW,GAEXtI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOqL,eACpBtB,EAAWH,GACZ9G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOe,OAAvB,KACK8I,EAAW,EADhB,YAeVL,EAASvE,UAAT,GAMeuE,mCClGf,IAAM8B,EAAS,CACbC,KAAMvL,IAAOuL,KACb7K,OAAQV,IAAOU,OACf8K,MAAOxL,IAAOwL,MACdC,IAAKzL,IAAOyL,KAGd,SAASC,EAATrK,GAA8D,IAA9CO,EAA8CP,EAA9CO,MAAOiD,EAAuCxD,EAAvCwD,MAAOE,EAAgC1D,EAAhC0D,YAAawD,EAAmBlH,EAAnBkH,KAAMjG,EAAajB,EAAbiB,UAC/C,OACEQ,EAAAC,EAAAC,cAACqG,EAAD,CAAUd,KAAMA,EAAMjG,UAAWa,IAAWnD,IAAOM,KAAMgC,GAAYV,MAAM,SACzEkB,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO2L,KAAML,EAAO1J,MAChDkB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6E,OAAQA,GAChC/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+E,aAAcA,IAK5C2G,EAAK3D,aAAe,CAClBnG,MAAO,QAGT8J,EAAKzG,UAAL,GAKeyG,QCnCf9H,EAAAC,EAAAC,EAAA,sBAAAuF,IAAAzF,EAAAC,EAAAC,EAAA,sBAAA8H,IAAAhI,EAAAC,EAAAC,EAAA,sBAAA+H,IAAAjI,EAAAC,EAAAC,EAAA,sBAAAgI,8CCAAlI,EAAAC,EAAAC,EAAA,sBAAAiI,IAAA,IAAAC,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAAAG,EAAAvI,EAAA,IAIamI,EAAgBK,IAAUC,MAAM,CAC3CnI,IACAF,IACAC,IACAF,IACAI,IACA,KACA,2HCLF,SAASmI,EAATjL,GAA4C,IAAvBgB,EAAuBhB,EAAvBgB,SAAUC,EAAajB,EAAbiB,UAC7B,OACEQ,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAOuM,qBAAsBjK,IACnDD,GAKPiK,EAAUrH,UAAV,GAKeqH,2BCNAE,MARf,WACE,OACE1J,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyM,kBACrB3J,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO2M,yBCAzC,SAASC,EAATvL,GAA6E,IAA3CwL,EAA2CxL,EAA3CwL,UAAWC,EAAgCzL,EAAhCyL,SAAUC,EAAsB1L,EAAtB0L,QAASzK,EAAajB,EAAbiB,UAC9D,OACEQ,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAa1K,UAAWA,GACrB2K,MAAMJ,GAAWK,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OAE5BlH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQoJ,IAAG,mBAAAC,OAAqBT,GAASpI,MAAOkL,EAAUhL,KAAMiL,GAC9DjK,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,UAOVE,EAAuB7E,aAAe,CACpC8E,UAAW,EACXC,SAAU,UACVC,QAAS,SAGXH,EAAuB3H,UAAvB,GAOe2H,2BC3Bf,SAASQ,EAAT/L,GAAsD,IAAhCgM,EAAgChM,EAAhCgM,gBAAiBC,EAAejM,EAAfiM,YAC/BC,EAAmBpK,IACvB,cACAnD,IAAOwN,QAGHC,EAA0BtK,IAC9B,iBACAmK,GAAetN,IAAO0N,WAGxB,OACE5K,EAAAC,EAAAC,cAAA,UAAQV,UAAWiL,GACjBzK,EAAAC,EAAAC,cAAA,OAAKV,UAAWmL,GACd3K,EAAAC,EAAAC,cAAA,OAAKqD,GAAG,mBAAmB/D,UAAWtC,IAAO2N,gBAC1CN,GAAmBvK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4N,oBAC3C9K,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6E,WAO7CuI,EAAWrF,aAAe,CACxBsF,iBAAiB,EACjBC,aAAa,GAGfF,EAAWnI,UAAX,GAKemI,2BCjCf,SAASS,EAATxM,GAAkC,IAAbiB,EAAajB,EAAbiB,UACnB,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8N,iBAAkBxL,IAClDQ,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO+N,mBAKzCF,EAAU5I,UAAV,GAGe4I,2BCZf,SAASG,EAAT3M,GAA+C,IAAf4M,EAAe5M,EAAf4M,YAU9B,OACEnL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACpBoF,MAAMgB,GAAaf,KAAK,GAAGhC,IAXhC,SAAqBiC,EAAGnD,GACtB,OACElH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkO,WAAY1D,IAAG,cAAAC,OAAgBT,IACpDlH,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6E,QACnC/B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO+E,kBAY3CiJ,EAAqB/I,UAArB,GAIe+I,2BCpBf,SAASG,EAAT9M,GAAqD,IAA1B4M,EAA0B5M,EAA1B4M,YACzB,IADmD5M,EAAb+M,UAEpC,OAAOtL,EAAAC,EAAAC,cAACqL,EAAD,CAAsBJ,YAAaA,IAY5C,OACEnL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsO,QACpBrB,MAAMgB,GAAaf,KAAK,GAAGhC,IAXhC,SAAqBiC,EAAGnD,GACtB,OACElH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuO,KAAM/D,IAAG,QAAAC,OAAUT,IACxClH,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6E,QACnC/B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO+E,kBAY3CoJ,EAAgBpG,aAAe,CAC7BkG,YAAa,GAGfE,EAAgBlJ,UAAhB,GAKekJ,2CC7Bf,SAASK,EAATnN,GAAmE,IAAxCiB,EAAwCjB,EAAxCiB,UAAWmM,EAA6BpN,EAA7BoN,aAAcR,EAAe5M,EAAf4M,YAKlD,OACEnL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO0O,KAAMpM,IACrC4I,IAAI+B,MAAMgB,GANf,SAAmBd,EAAGnD,GACpB,OAAOlH,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWa,IAAWnD,IAAO2O,IAAKF,GAAejE,IAAG,QAAAC,OAAUT,QAU1FwE,EAAgBzG,aAAe,CAC7BkG,YAAa,GAGfO,EAAgBvJ,UAAhB,GAMeuJ,6oBClBf,SAASI,EAATvN,GAA8H,IAA9FwN,EAA8FxN,EAA9FwN,KAAMC,EAAwFzN,EAAxFyN,QAASjK,EAA+ExD,EAA/EwD,MAAOkK,EAAwE1N,EAAxE0N,YAAazM,EAA2DjB,EAA3DiB,UAAW0M,EAAgD3N,EAAhD2N,UAAWC,EAAqC5N,EAArC4N,wBAA4B3J,EAAS3C,EAAAtB,EAAA,4FAU5H,OACEyB,EAAAC,EAAAC,cAACkM,EAAA,EAADjM,EAAA,CACE4B,MAAOA,EACPkK,YAAaA,EACbzM,UAAWa,IAAWnD,IAAOgF,KAAM1C,IAC/BgD,GAEH0J,GACClM,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWgM,IAAatH,UAAWoH,IAChDhC,MAAM+B,GAAW9B,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OAlBtC,SAAkBA,GAChB,OACElH,EAAAC,EAAAC,cAAA,OAAKwH,IAAKR,EAAO1H,UAAW6M,IAAaxK,OACvC7B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAW6M,IAAatK,QACzC/B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAW6M,IAAarK,WAcKsK,CAASpF,MAIzDlH,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACER,KAAMA,EACNC,QAASA,EACTQ,iBAAkBtP,IAAOuP,SAMjCX,EAAqB7G,aAAe,CAClC8G,KAAM,EACNC,QAAS,GAGXF,EAAqB3J,UAArB,GAUe2J,0BCpBAA,MA/Bf,WACE,OACE9L,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOwP,WACrB1M,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyP,WAEvB3M,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CAAM5M,UAAWtC,IAAOgF,MACtBlC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0P,QACvB5M,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2M,MACrB7J,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6E,QACnC/B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO2P,SAEnC7M,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4P,UACrB9M,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6P,UACnC/M,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6P,YAIvC/M,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8P,cACrBhN,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO+P,cAIvCjN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgQ,QACrBlN,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAOiQ,smBCpB7C,SAASf,GAAT7N,GAA4E,IAA5DwD,EAA4DxD,EAA5DwD,MAAOgK,EAAqDxN,EAArDwN,KAAMvM,EAA+CjB,EAA/CiB,UAAW4N,EAAoC7O,EAApC6O,mBAAuBxN,EAAayN,GAAA9O,EAAA,mDAU1E,OACEyB,EAAAC,EAAAC,cAACkM,EAAA,EAADkB,GAAA,CAAevL,MAAOA,EAAOvC,UAAWA,GAAeI,GACrDI,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWqI,IAC1CjD,MAAM4B,GAAM3B,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OAZ/B,SAAkBA,GAChB,OACElH,EAAAC,EAAAC,cAAA,OAAKwH,IAAKR,EAAO1H,UAAWtC,IAAO2E,OACjC7B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO6E,QACnC/B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO8E,WAQIsK,CAASpF,OAMxDkF,GAAKnH,aAAe,CAClB8G,KAAM,IAGRK,GAAKjK,UAAL,GAOeiK,UC1CftL,EAAAC,EAAAC,EAAA,sBAAA4I,EAAA,IAAA9I,EAAAC,EAAAC,EAAA,sBAAAuL,EAAA,IAAAzL,EAAAC,EAAAC,EAAA,sBAAAuM,IAAAzM,EAAAC,EAAAC,EAAA,sBAAAwM,IAAA1M,EAAAC,EAAAC,EAAA,sBAAAyM,IAAA3M,EAAAC,EAAAC,EAAA,sBAAA0M,IAAA5M,EAAAC,EAAAC,EAAA,sBAAA2M,IAAA7M,EAAAC,EAAAC,EAAA,sBAAA4M,KAAA9M,EAAAC,EAAAC,EAAA,sBAAA6M,IAAA/M,EAAAC,EAAAC,EAAA,sBAAA8M,IAAAhN,EAAAC,EAAAC,EAAA,sBAAA+M,IAAAjN,EAAAC,EAAAC,EAAA,sBAAAgN,2JCMO,SAASC,EAAe/G,EAAOgH,GACpC,OAAOA,EAAMlH,OAAS,IAAME,EAGvB,SAASiH,EAAYC,GAC1B,OAAOC,IAAQD,EAAOE,QAGjB,SAASC,EAAuBL,GACrC,OAAOA,EAAMM,OAAO,SAAAC,GAAE,OAAIA,IAAIC,KAAK,IAAIC,MAAM,KAAKD,KAAK,IAGlD,SAASE,EAAa1H,EAAOgH,GAClC,IAAMW,EAASX,EAAMhH,GAErB,OAAO2H,GAAqB,MAAXA,o9BCsEJC,MAhFf,SAAAvQ,GAA8D,IAAlCsL,EAAkCtL,EAAlCsL,KAAMkF,EAA4BxQ,EAA5BwQ,yBAC1BC,EAAkBnF,EAAOA,EAAKoF,cAAcN,MAAM,IAAM,GADFO,EAAAC,EAEpBC,mBAAS,IAFW,GAErDC,EAFqDH,EAAA,GAEvCI,EAFuCJ,EAAA,GAGtDK,EAAY,GAWlB,SAASC,EAAWtI,GAAyBuI,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,KAAAA,UAAA,GDDxC,SAA4BvI,EAAO8H,EAAiBO,GACzD,IAvBK,SAAyBrI,GAC9B,OAAiB,IAAVA,EAsBFyI,CAAgBzI,GAAQ,CAC3B,IACM0I,EAAWL,EAAUrI,GADJiH,EAAYa,EAAgB9H,EAAQ,IAAM,EAAI,IAGrE0I,GAAYA,EAASC,QAAQC,SCD3BC,CAAmB7I,EAAO8H,EAAiBO,GDK1C,SAA2BrI,EAAO8H,EAAiBO,GACxD,IAAKtB,EAAe/G,EAAO8H,GAAkB,CAC3C,IACMY,EAAWL,EAAUrI,GADJiH,EAAYa,EAAgB9H,EAAQ,IAAM,EAAI,IAGrE0I,GAAYA,EAASC,QAAQC,SCX3BE,CAAkB9I,EAAO8H,EAAiBO,GAsD9C,OAjEAU,oBAAU,WACR,IAAK5B,IAAQW,GAAkB,CAC7B,IAAMkB,EAAiB3B,EAAuBS,GACxCmB,EAAc5B,EAAuBc,GAE3CN,EAAyBoB,IAAgBD,KAE1C,CAACb,IA0DG,CACLL,kBACAK,eACAE,YACAa,YARF,SAAqBC,GACnBA,EAAMvK,OAAOwK,UAQbC,aAvCF,SAAsBF,EAAOnJ,IAhB7B,SAA2BtF,EAAOsF,GAChC,IAAMsJ,EAAU,GAAG7I,OAAO0H,GAE1B,GAAIhB,IAAQzM,GAKV,OAJA4O,EAAQtJ,GAAS,KACjBoI,EAAgBkB,QAEhBhB,EAAWtI,GAAO,GAIpBsJ,EAAQtJ,GAAStF,EACjB0N,EAAgBkB,IACfvC,EAAe/G,EAAO8H,IAAoBQ,EAAWtI,GAMtDuJ,CAFoBJ,EAAMvK,OAAOlE,MAAMqN,cAER/H,IAqC/BwJ,cAlCF,SAAuBL,EAAOnJ,GAC5B,IAAM2H,EAASQ,EAAanI,GAE5B,GAAImJ,EAAMM,UAAYC,IAAUC,IAMhC,OAAIxC,IAAQQ,IAAWwB,EAAMM,UAAYC,IAAUE,WACjDT,EAAMU,sBACNvB,EAAWtI,GAAO,IAKfmH,IAAQQ,IAAWwB,EAAMM,UAAYC,IAAUI,WAApD,GACEX,EAAMU,sBACNvB,EAAWtI,IAdXsI,EAAWtI,EAAQ,GAAG,gJClDb,SAAS+J,EAAT1S,GASZ,IAAA2S,EARDhK,EAQC3I,EARD2I,MACA2H,EAOCtQ,EAPDsQ,OACAG,EAMCzQ,EANDyQ,gBACAK,EAKC9Q,EALD8Q,aACAE,EAIChR,EAJDgR,UACAa,EAGC7R,EAHD6R,YACAG,EAEChS,EAFDgS,aACAG,EACCnS,EADDmS,cAEMS,EAAc9B,EAAanI,GAC3BkK,EAAaD,GAAe,GAC5BE,EAAUF,GAAetC,IAAWsC,EACpCG,EAA6B,OAAhBH,GAA0BA,GAAetC,IAAWsC,EACjErR,GAAc+O,EAAOP,OACrBiD,EAAkBlR,IAAWnD,IAAOsU,OAARC,EAAAP,EAAA,GAC/BhU,IAAOwU,MAAQL,GADgBI,EAAAP,EAE/BhU,IAAOyU,QAAUL,GAFcG,EAAAP,EAG/BhU,IAAO0U,WAAahD,EAAa1H,EAAQ,EAAG8H,IAHbyC,EAAAP,EAI/BhU,IAAO2U,cAAgBjD,EAAa1H,EAAO8H,IAJZkC,IAiBlC,OAVA3B,EAAUrI,GAAS4K,sBAWjB9R,EAAAC,EAAAC,cAAA,SACE6R,KAAI,sBAAApK,OAAwBT,GAC5BxI,KAAK,OACLsT,UAAU,IACVpQ,MAAOwP,EACPhR,IAAKmP,EAAUrI,GACf1H,UAAW+R,EACXU,YAAapD,EACbqD,UAAqB,IAAVhL,EACXiL,SAAUjL,EAAQ,EAClBtI,SAAUkB,EACVsS,QAAShC,EACTiC,SArBJ,SAA2BhC,GACzB,OAAOE,EAAaF,EAAOnJ,IAqBzBoL,UAlBJ,SAA4BjC,GAC1B,OAAOK,EAAcL,EAAOnJ,yOC5BjB,SAASqL,EAAThU,GAAsE,IAA7CsL,EAA6CtL,EAA7CsL,KAAMkF,EAAuCxQ,EAAvCwQ,yBAA0BvP,EAAajB,EAAbiB,UAAagT,EAQ/E1D,EAAiB,CAAEjF,OAAMkF,6BAN3BC,EAFiFwD,EAEjFxD,gBAQIyD,EAAc,CAClBzD,kBACAK,aAZiFmD,EAGjFnD,aAUAE,UAbiFiD,EAIjFjD,UAUAa,YAdiFoC,EAKjFpC,YAUAG,aAfiFiC,EAMjFjC,aAUAG,cAhBiF8B,EAOjF9B,eAYF,OACE1Q,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC1CwP,EAAgB5G,IAAI,SAACyG,EAAQ3H,GAAT,OACnBlH,EAAAC,EAAAC,cAAC+Q,EAAD9Q,EAAA,CACEuH,IAAG,gBAAAC,OAAkBT,GACrB2H,OAAQA,EACR3H,MAAOA,GACHuL,ODwBdxB,EAAY9O,UAAZ,GClBAoQ,EAAcpQ,UAAd,0CCtCakP,EAAU,SAAA9S,GAIjB,IAHJ6S,EAGI7S,EAHJ6S,WACAvH,EAEItL,EAFJsL,KACA6I,EACInU,EADJmU,gBAEA,QAAIC,IAAMvB,KAIHsB,EAAkBtB,IAAevH,EAAOuH,EAAWwB,gBAAkB/I,EAAK+I,q/BCDpE,SAASC,EAATtU,GAMZ,IALDsL,EAKCtL,EALDsL,KACAkF,EAICxQ,EAJDwQ,yBACA+D,EAGCvU,EAHDuU,aACAtT,EAECjB,EAFDiB,UACAkT,EACCnU,EADDmU,gBACCxD,EAAA6D,EACmC3D,qBADnC,GACMgC,EADNlC,EAAA,GACkB8D,EADlB9D,EAAA,GAEK+D,GAAY5B,EAAQ,CAAED,aAAYvH,OAAM6I,oBAG9CQ,YAD+B,kBAAMnE,GAA0BkE,IACpB,CAAC7B,IAE5C,IAEM+B,EAAoBF,EAAWH,EAAe,KAEpD,OACE9S,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACEf,SANkB,SAAAvO,GAAA,IAAGgC,EAAHhC,EAAGgC,OAAH,OAAgBkN,EAAclN,EAAOlE,QAOvDyR,QAASJ,EACTH,aAAcK,EACd3T,UAAWa,IAAWnD,IAAOsU,MAAOhS,KAK1CqT,EAAmB5N,aAAe,CAChCyN,iBAAiB,GAGnBG,EAAmB1Q,UAAnB,4+BC9BA,IAAMmR,EAAa,CACjB5V,QAAS6U,EACTf,MAAOqB,GAGM,SAASU,EAAThV,GAYZ,IAXDiV,EAWCjV,EAXDiV,OACAzR,EAUCxD,EAVDwD,MACA0R,EASClV,EATDkV,eACAC,EAQCnV,EARDmV,oBACAC,EAOCpV,EAPDoV,iBACAC,EAMCrV,EANDqV,SACAC,EAKCtV,EALDsV,SACApU,EAIClB,EAJDkB,UACAqU,EAGCvV,EAHDuV,cACAhB,EAECvU,EAFDuU,aACAJ,EACCnU,EADDmU,gBACCxD,EAAA6E,EAC6B3E,oBAAS,GADtC,GACMiC,EADNnC,EAAA,GACe8E,EADf9E,EAAA,GAOD,IAAM+E,EACJjU,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNN,QAASoV,EACTpU,UAAWa,IAAW,gBAAiBnD,IAAOyB,SAJhD,UAQAqB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLJ,SAAUa,IAAc4R,EACxB7S,QAASqV,EACTrU,UAAWa,IAAW,gBAAiBnD,IAAOyB,SAE7Cc,EACGO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQU,UAAWtC,IAAOgX,SACrDlU,EAAAC,EAAAC,cAAA,YAAOyT,KAKQQ,EAAcb,EAA9BQ,GAET,OACE9T,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACEZ,OAAQA,EACRa,WAAYT,EACZ7R,MAAOA,EACPkS,QAASA,EACTK,gBAAiBpX,IAAOwN,OACxB6J,gBAAiBrX,IAAOgQ,OACxB1N,UAAWtC,IAAOsX,OAElBxU,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGyN,EACD1T,EAAAC,EAAAC,cAACiU,EAAD,CACEtK,KAAM4J,EACN1E,yBA3CR,SAAsC0F,GACpCT,EAAWS,IA2CL3B,aAAcA,EACdtT,UAAWtC,IAAOwX,cAClBhC,gBAAiBA,MAO3Ba,EAAiBtO,aAAe,CAC9B0O,iBAAkB,SAClBlU,WAAW,EACXqU,cAAe,WAGjBP,EAAiBpR,UAAjB,mCChFA,SAASwS,EAATpW,GAAsH,IAAhGiB,EAAgGjB,EAAhGiB,UAAWwC,EAAqFzD,EAArFyD,QAASD,EAA4ExD,EAA5EwD,MAAO6S,EAAqErW,EAArEqW,YAAaC,EAAwDtW,EAAxDsW,YAAaC,EAA2CvW,EAA3CuW,YAAaC,EAA8BxW,EAA9BwW,WAAYC,EAAkBzW,EAAlByW,eAC5Ff,EACJjU,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNN,QAASqW,GAERI,KAGHjV,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLR,QAASqW,GAERK,MAKP,OACElV,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACdQ,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAOA,EACPyR,OAAQoB,EACRX,QAASa,GAAeb,EACxBI,WAAYQ,EACZrV,UAAWa,IAAWnD,IAAOsX,MAAOQ,GACpCV,gBAAiBpX,IAAOwN,OACxB5L,MAAOiW,GAEN/S,IAMT2S,EAAW1P,aAAe,CACxBlD,MAAO,mBACP+S,aAAa,GAGfH,EAAWxS,UAAX,GAWewS,+lBCxDf,SAASQ,EAAT5W,GAiBG,IAhBDiV,EAgBCjV,EAhBDiV,OACAzR,EAeCxD,EAfDwD,MACAqT,EAcC7W,EAdD6W,QACAC,EAaC9W,EAbD8W,WACAC,EAYC/W,EAZD+W,WACAC,EAWChX,EAXDgX,aACAC,EAUCjX,EAVDiX,cACAlB,EASC/V,EATD+V,gBACAC,EAQChW,EARDgW,gBACAkB,EAOClX,EAPDkX,gBACAC,EAMCnX,EANDmX,gBACAC,EAKCpX,EALDoX,gBACAC,EAICrX,EAJDqX,OACAC,EAGCtX,EAHDsX,OACAtW,EAEChB,EAFDgB,SACGK,EACFC,EAAAtB,EAAA,8MAMD,IAAM0V,EACJjU,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,MACIoP,GACArV,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNU,UAAWiW,EACXjX,QAASqX,GAJX,UAUF7V,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLQ,UAAWiW,EACX7W,SAAU8W,EACVlX,QAtBN,WACEoX,GAAUN,GAAcM,KACvBL,GAAgBM,MAsBZF,IAKDG,EAAcvW,GAAYS,EAAAC,EAAAC,cAAA,SAAIkV,GAEpC,OACEpV,EAAAC,EAAAC,cAACkU,EAAA,EAAD2B,EAAA,GACMnW,EADN,CAEE4T,OAAQA,EACRzR,MAAOA,EACPkS,QAASA,EACTuB,cAAeA,EACflB,gBAAiBA,EACjBC,gBAAiBA,EACjBF,WAAYwB,IAEXC,GAKPX,EAAQlQ,aAAe,CACrBuO,QAAQ,EACRzR,MAAO,UACP4T,gBAAiB,WACjBD,iBAAiB,EACjBH,cAAc,EACdF,YAAY,EACZC,YAAY,GAGdH,EAAQhT,UAAR,GAkBegT,iEClGFa,GAAwBnS,aAAQ,gGAChCoS,GAAsBlS,aAAM,ibCAlC,IAAMmS,GAAuB,SAAA3X,GAA+B,IAA5B4X,EAA4B5X,EAA5B4X,UAE/BhS,ECHoC,SAAA5F,GAAA,IAAG6W,EAAH7W,EAAG6W,QAASgB,EAAZ7X,EAAY6X,YAAaC,EAAzB9X,EAAyB8X,SAAUC,EAAnC/X,EAAmC+X,SAAUC,EAA7ChY,EAA6CgY,YAA7C,OAA+DC,KAAO,CAChHpB,UACAqB,aAAcL,EACdM,UAAWL,EACXM,UAAWC,OAAON,GAClBvU,MAAOwU,GALkGnS,EAAAnE,GDG5F4W,CAFoDC,GAAAvY,EAAA,gBAI3DwY,EAAOC,EAAED,KAAK,CAClBE,IAJU,0CAKVC,OAAQ,OACR/S,KAAMgT,KAAKC,UAAUjT,GACrBkT,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GACpBS,KAAKxB,IACLwB,KAAKrB,GAFD,MAGEF,2/BELX,SAASwB,GAATlZ,GAaG,IAZDiV,EAYCjV,EAZDiV,OACAa,EAWC9V,EAXD8V,WACAgC,EAUC9X,EAVD8X,SACAC,EASC/X,EATD+X,SACAC,EAQChY,EARDgY,YACAH,EAOC7X,EAPD6X,YACAsB,EAMCnZ,EANDmZ,iBACA5Y,EAKCP,EALDO,MACA6Y,EAICpZ,EAJDoZ,eACAC,EAGCrZ,EAHDqZ,gBACAC,EAECtZ,EAFDsZ,4BACAC,EACCvZ,EADDuZ,eACC5I,EAAA6I,GAC6B3I,mBAAS,IADtC,GACMgG,EADNlG,EAAA,GACe8I,EADf9I,EAAA,GAAA+I,EAAAF,GAE+B3I,oBAAS,GAFxC,GAEM6D,EAFNgF,EAAA,GAEgBC,EAFhBD,EAAA,GA8BDhI,oBALqB,WACnB+H,EAAW,IACXE,GAAY,IAGU,CAAC1E,IAEzB,IAAMzR,EAAK,GAAA4F,OAAM0O,EAAN,4BACLvD,EAAeG,EAAW,4BAA8B,GAE9D,OACEjT,EAAAC,EAAAC,cAACiY,EAAD,CACE3E,OAAQA,EACRqC,OAAQxB,EACRtS,MAAOA,EACPvC,UAAWtC,KAAOsX,MAClBF,gBAAiBpX,KAAOwN,OACxB8K,cAAetY,KAAOkb,KACtBzC,gBAAgB,SAChBL,YAAU,EACVC,cAAY,EACZK,OArCiB,WACfxR,IAAQiU,KAAKjD,IACf8C,GAAY,GAIdhC,GAAqB,CACnBd,UACAgB,cACAC,WACAC,WACAC,cACAJ,UAAW9B,KA0BXqD,iBAAkBA,EAClB5Y,MAAOA,EACP6Y,eAAgBA,EAChBC,gBAAiBA,EACjBC,4BAA6BA,EAC7BC,eAAgBA,GAEhB9X,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOob,aACrBtY,EAAAC,EAAAC,cAAA,uNADF,uCASAF,EAAAC,EAAAC,cAACqY,GAAA,EAAD,CACE/Y,UAAWtC,KAAOsb,SAClB5W,MAAOwT,EACP/C,SA9DkB,SAAAvO,GAA2B,IAAdlC,EAAckC,EAAxBgC,OAAUlE,MACnCoW,EAAWpW,GACXsW,EAAY9T,IAAQiU,KAAKzW,MA6DrBkR,aAAcA,KAMtB2E,GAAetV,UAAf,GAiBesV,UCnHf3W,EAAAC,EAAAC,EAAA,sBAAAyX,EAAA,IAAA3X,EAAAC,EAAAC,EAAA,sBAAAuS,IAAAzS,EAAAC,EAAAC,EAAA,sBAAA0X,IAAA5X,EAAAC,EAAAC,EAAA,sBAAAmX,IAAArX,EAAAC,EAAAC,EAAA,sBAAA2X,EAAA,IAAA7X,EAAAC,EAAAC,EAAA,sBAAA4X,KAEexE,MAAf,sBCDAyE,EAAAC,QAAA,CAAkBC,mBAAA,UAAAC,qBAAA,UAAAC,oBAAA,UAAAC,mBAAA,UAAAC,mBAAA,UAAAC,qBAAA,UAAAC,YAAA,UAAAC,WAAA,UAAAC,oBAAA,UAAAC,iBAAA,UAAAC,wBAAA,UAAAC,mBAAA,UAAAC,kBAAA,UAAAC,yBAAA,UAAAC,sBAAA,UAAAC,uBAAA,UAAAC,uBAAA,UAAAC,oBAAA,UAAAC,qBAAA,UAAAC,uBAAA,UAAAC,+BAAA,UAAAC,iBAAA,UAAAC,qBAAA,UAAAC,4BAAA,UAAAC,sBAAA,UAAAC,iBAAA,UAAAC,0BAAA,UAAAC,uBAAA,UAAAC,qBAAA,UAAAC,wBAAA,UAAAC,kCAAA,UAAAC,wBAAA,UAAAC,gCAAA,UAAAC,qCAAA,UAAAC,wBAAA,UAAAC,uBAAA,UAAAC,iCAAA,UAAAC,sCAAA,UAAAC,8BAAA,UAAAC,kBAAA,iPCWX,IAAMpd,GAAYuT,EAAA8J,EAAA,GACtBpd,IAAcjB,IAAOG,OADCoU,EAAA8J,EAEtBld,IAAanB,IAAOse,MAFE/J,EAAA8J,EAGtBnd,IAAalB,IAAOuL,MAHE8S,GAMZE,GAAiBhK,EAAAiK,EAAA,GAC3Bvd,IAAcjB,IAAOye,kBADMlK,EAAAiK,EAE3Brd,IAAanB,IAAO0e,iBAFOF,GAKjBG,GAAWpK,EAAAqK,EAAA,GACrBC,IAAc7e,IAAOa,QADA0T,EAAAqK,EAErBE,IAAa9e,IAAOY,OAFC2T,EAAAqK,EAGrBG,IAAmB/e,IAAOgf,QAHLzK,EAAAqK,EAIrBK,IAAWjf,IAAOkf,KAJGN,GCNxB,SAASrb,EAATlC,GAA+D,IAA7C6W,EAA6C7W,EAA7C6W,QAAS1U,EAAoCnC,EAApCmC,SAAU5B,EAA0BP,EAA1BO,MAAOE,EAAmBT,EAAnBS,KAAMQ,EAAajB,EAAbiB,UAChD,OACEQ,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IACTnD,IAAOgX,OACPxT,GAAYxD,IAAOwD,SACnBmb,EAAY7c,GACZd,EAAaY,GACbU,MAGFkB,GACAV,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAOmf,YAAaZ,EAAkB3c,KAC5DsW,IAOX3U,EAAO0B,UAAP,GAQA1B,EAAOwE,aAAe,CACpBmQ,QAAS,UACT1U,UAAU,EACV5B,MAAOT,IACPW,KAAM+c,KAGOtb,+JCnCA6b,EAZiB,SAAC9Z,GAAU,IACjC+Z,EAAsBC,IAAtBD,kBAER,OACEA,GACEvc,EAAAC,EAAAC,cAACqc,EAAsB/Z,EACrBxC,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,OAAQ,MAAO,gBAAiBnD,IAAOuf,03CCSxE,IAAMC,EAAS,SAACla,GAAU,IAEtBma,EAsBEna,EAtBFma,UACA7c,EAqBE0C,EArBF1C,WACA8c,EAoBEpa,EApBFoa,MACAC,EAmBEra,EAnBFqa,SACAvZ,EAkBEd,EAlBFc,QACA+O,EAiBE7P,EAjBF6P,SACAyK,EAgBEta,EAhBFsa,OACAC,EAeEva,EAfFua,WACAnb,EAcEY,EAdFZ,MACApC,EAaEgD,EAbFhD,UACAyS,EAYEzP,EAZFyP,YACA+K,EAWExa,EAXFwa,iBACAC,EAUEza,EAVFya,cACAlL,EASEvP,EATFuP,KACAmL,EAQE1a,EARF0a,WACAC,EAOE3a,EAPF2a,eACAC,EAME5a,EANF4a,YACAC,EAKE7a,EALF6a,YACAvK,EAIEtQ,EAJFsQ,aACAwK,EAGE9a,EAHF8a,YACApL,EAEE1P,EAFF0P,UACGqL,EAvBmB1d,EAwBpB2C,EAxBoB,yQA8DlBgb,EAAmBnd,IACvBod,IACAje,EACA2d,GAEIO,EAAYR,EAAa,SAAMxN,EAC/BiO,EAAoBP,EAAc,CAAEQ,WAAQrB,qBAAsB,CAAEqB,YAE1E,OACE5d,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC2d,EAAA,EAAD1d,EAAA,CACEjD,OAAMiD,EAAA,GAAOrB,YAAMse,EAAatK,GAA1B,GAA4CuK,GAClDzb,MA7BW,WACf,IATwBkc,EASlBC,GATkBD,EASexa,EARnC0a,IAAQF,GACHA,EAAKG,QAAQ,SAAAC,GAAG,OAAIA,EAAI5a,SAAW4a,IAGrCJ,GAMP,GAAIE,IAAQpc,KAAWib,GAAYD,GAAQ,CACzC,IAAMuB,EAAe,GAOrB,OALAvc,EAAMwc,QAAQ,SAACC,GACbF,EAAaG,KAAbC,MAAAJ,EAAYK,EAAUC,YAAyBJ,EAAKN,IAAkB,KACtEI,EAAaG,KAAbC,MAAAJ,EAAYK,EAAUE,YAAiBL,EAAKN,IAAkB,OAGzDI,EAGT,OAAOM,YAAyB7c,EAAOmc,IAAkBW,YAAiB9c,EAAOmc,IAAkBnc,EAexF+c,GACP5M,MA7CCmL,IAFcL,GAAYD,IAEGgC,YAAuBhd,IAAWid,YAAajd,GACxE,GAGFmQ,EA0CHzO,QAASA,EACT9D,UAAWge,EACXvL,YAAaA,EACbI,SAAUA,EACVyK,OAAQA,EACRN,WAAYmB,EACZmB,iBAAkBC,IAClBC,QAASpC,GAASC,EAClB/c,WAAYA,EACZmf,aAAclC,EACdmC,YAAavC,EACbwC,sBAAuBnC,EACvBC,cAAeA,EACfS,UAAWA,EACX0B,WAAY9B,EACZpL,UAAWA,GACPqL,IAGNvd,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAAStC,MAK7B4J,EAAOva,UAAP,GAwCAua,EAAOzX,aAAe,CACpB0X,WAAW,EACX7c,YAAY,EACZsd,aAAa,EACbC,YAAa,KACbC,iBAAa5N,EACbwC,eAAWxC,EACXuC,YAAa,IAGAyK,mgCClJA4C,IAvBf,WAAwC,IAAtBC,EAAsB9P,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAAAP,EAAAC,EACVC,mBAASmQ,GADC,GAC/B/L,EAD+BtE,EAAA,GACvBsQ,EADuBtQ,EAAA,GAetC,MAAO,CACL0F,YAAapB,EACbqB,YAdF,WACE2K,GAAWhM,IAcXiM,UAXF,WACED,GAAU,IAWVE,WARF,WACEF,GAAU,uCCdd,IAAAG,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMME,EAAc,CAClB5iB,MAAOH,IAAOG,MACdU,OAAQb,IAAOa,OACfmiB,OAAQhjB,IAAOgjB,QAGXC,EAAiB,CACrBC,MAAOljB,IAAOkjB,MACdC,OAAQnjB,IAAOmjB,QAGjB,SAASC,EAAT/hB,GAAkE,IAAjDgiB,EAAiDhiB,EAAjDgiB,QAAShhB,EAAwChB,EAAxCgB,SAAUyD,EAA8BzE,EAA9ByE,SAAUlE,EAAoBP,EAApBO,MAAOU,EAAajB,EAAbiB,UACnD,OACEogB,EAAA3f,EAAAC,cAAA,SACEqgB,QAASA,EACT/gB,UAAWa,IACTnD,IAAO2E,MACPse,EAAend,GACfid,EAAYnhB,GACZU,IAGDD,GAKP+gB,EAAMrb,aAAe,CACnBjC,SAAU,QACVlE,MAAO,UAGTwhB,EAAMne,UAAN,GAYeme,2rBC3Cf,IAAME,EAAa,CACjB9iB,QAASR,IAAM,QACfY,MAAOZ,IAAOY,OAcT,SAAS2iB,EAATliB,GAOQ,IAAAQ,EAAAR,EANbS,YAMa,IAAAD,EANN,UAMMA,EALbS,EAKajB,EALbiB,UACAsT,EAIavU,EAJbuU,aAIa4N,EAAAniB,EAHb8U,eAGa,IAAAqN,KAFb/gB,EAEapB,EAFboB,SACGC,EACUC,EAAAtB,EAAA,0DACb,OACEyB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,QAAAC,EAAA,GACMP,EADN,CAEEQ,IAAKT,EACLH,UAAWa,IACTnD,IAAOsU,MACPgP,EAAWxhB,GACXQ,EACA6T,GAAWnW,IAAOyU,QAClBmB,GAAgB5V,IAAOyU,YAG3B3R,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAAStC,KAKd6N,2BAAyC,SAACne,EAAOpC,GAAR,OACtDJ,EAAAC,EAAAC,cAACugB,EAADtgB,EAAA,GAAoBqC,EAApB,CAA2B7C,SAAUS,kQCpCvC,IAkEewgB,EAlED,SAAAvN,GAAO,MAAK,CACxBwN,QAAS,SAAAC,GAAI,OAAAC,EAAA,GACRD,EADQ,CAEXE,OAAQC,gBACRC,gBAAiBC,oBACjBC,UAAW,OACXC,UAAWC,sBACXC,aAAcC,sBACdC,UAAW,CACTT,OAAQC,kBAEN5N,GAAW,CACb2N,OAAQU,cACRN,UAAW,OACXC,UAAWM,2BACXF,UAAW,CACTT,OAAQU,kBAIdE,eAAgB,SAAAd,GAAI,OAAAC,EAAA,GACfD,EADe,CAElBe,eAAgB,SAChBC,aAAc,KAEhB7P,YAAa,SAAA6O,GAAI,OAAAC,EAAA,GACZD,EADY,CAEfe,eAAgB,SAChBC,aAAc,EACdC,UAAW,YAEbC,kBAAmB,SAAAlB,GAAI,OAAAC,EAAA,GAClBD,EADkB,CAErBmB,WAAY,EACZC,cAAe,EACfC,YAAa,EACbL,aAAc,SAEhBM,KAAM,SAAAtB,GAAI,OAAAC,EAAA,GACLD,EADK,CAERE,OAAQC,gBACRoB,UAAW,OACXnB,gBAAiBoB,wBACjBf,aAAcgB,mBACdnB,UAAW,OACXoB,UAAW,SACXC,OAAQ,EACRR,WAAY,UAEdS,WAAY,SAAA5B,GAAI,OAAAC,EAAA,GACXD,EADW,CAEd6B,OAAQ,OAEVC,OAAQ,SAAC9B,EAAM+B,GAAP,OAAA9B,EAAA,GACHD,EADG,CAENgC,QAAS,YACLD,EAAME,YAAc,CACtBC,WAAYC,2BACZC,MAAOC,eALH,CAON1B,UAAW,CACTuB,WAAYI,woBClElB,SAASC,EAAT9kB,GAQG,IAPDwT,EAOCxT,EAPDwT,KACAM,EAMC9T,EAND8T,SACAgB,EAKC9U,EALD8U,QACA7T,EAICjB,EAJDiB,UACA6d,EAGC9e,EAHD8e,YACAiG,EAEC/kB,EAFD+kB,aACG1jB,EACF2jB,EAAAhlB,EAAA,wEAKD,OACEyB,EAAAC,EAAAC,cAACwc,EAAA,EAAD8G,EAAA,GACM5jB,EADN,CAEE6jB,UAAU,QACVpR,SARJ,SAA0BqR,GACxBrR,EAASN,EAAM2R,EAAe9hB,QAQ5BpC,UAAWa,IAAWnD,IAAOymB,UAAWnkB,GACxC6d,YAAWmG,EAAA,GAAO1kB,EAAMuU,GAAb,GAA0BgK,GACrCV,WAAW,EACXI,YAAY,EACZK,aAAW,EACXkG,aAAcA,KAKpBD,EAAYpe,aAAe,CACzBoY,YAAa,KACbiG,aAAc,YAGhBD,EAAYlhB,UAAZ,GAWekhB,QCrDfviB,EAAAC,EAAAC,EAAA,sBAAA4iB,IAEexQ,4CCFftS,EAAAC,EAAAC,EAAA,sBAAA6iB,IAAA/iB,EAAAC,EAAAC,EAAA,sBAAA8iB,IAAAhjB,EAAAC,EAAAC,EAAA,sBAAA+iB,IAAAjjB,EAAAC,EAAAC,EAAA,sBAAAgjB,IAAAljB,EAAAC,EAAAC,EAAA,sBAAAijB,IAAAnjB,EAAAC,EAAAC,EAAA,sBAAAkjB,IAAApjB,EAAAC,EAAAC,EAAA,sBAAAmjB,IAAArjB,EAAAC,EAAAC,EAAA,sBAAAojB,IAAAtjB,EAAAC,EAAAC,EAAA,sBAAAqjB,IAAO,IAAMR,EAAcS,IAAIC,gBAElBT,EAAgB,EAChBC,EAAwB,GAExBC,EAAe,CAC1BrmB,KAAM,cACN6mB,cAAe,KACfC,WAAY,OACZC,WAAY,QAGDT,EAAmB,CAC9BU,QAAS,UACTC,QAAS,WAGEV,EAAkB,CAAC,gBAAiB,mBAEpCC,EAA6B,CACxC,MACA,CAAC,KAAM,CAAC,MAAO,SAAU,eACzB,CAAC,KAAM,CAAC,MAAO,QAAS,gBAGbC,EAAS,CACpB,0BACA,oBACA,cACA,cACA,cACA,cACA,eAGWC,EAAiB,6BAAA1c,OAAgC2c,IAAIO,gBAApC,msBC7B9B,IAAMC,EAAiB,CACrBpnB,QAASR,IAAM,QACfG,MAAOH,IAAOG,OAGhB,SAAS0nB,EAATxmB,GASG,IARDsD,EAQCtD,EARDsD,MACA/C,EAOCP,EAPDO,MACAkmB,EAMCzmB,EANDymB,UACAllB,EAKCvB,EALDuB,WACAN,EAICjB,EAJDiB,UACAylB,EAGC1mB,EAHD0mB,mBACA5S,EAEC9T,EAFD8T,SACGzS,EACFC,EAAAtB,EAAA,wFACK2mB,EAAa7kB,IACjBnD,IAAO6H,WACNlD,GAAS3E,IAAOioB,WACjBrlB,GAAc5C,IAAOkoB,cACrBN,EAAehmB,GACfU,GAUF,OACEQ,EAAAC,EAAAC,cAAA,SAAOV,UAAW0lB,GAChBllB,EAAAC,EAAAC,cAAA,QAAAC,EAAA,GACMP,EADN,CAEEyS,SAXe,SAAChC,GAAU,IACtBvK,GAAWuK,GAAS,IAApBvK,OAERA,EAAOgK,OAAShK,EAAOgK,QACvBuC,GAAYA,EAAShC,IAQjB3R,KAAK,WACL2mB,QAASL,EACTpmB,SAAUkB,EACVN,UAAWtC,IAAOsU,SAEnB3P,EACD7B,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOooB,UAAWL,MAKpDF,EAAS9f,aAAe,CACtBnG,MAAO,UACPgB,YAAY,EACZuS,SAAU,cAGZ0S,EAAS5iB,UAAT,GAae4iB,okDC/Df,SAASQ,EAAThnB,GAKG,IAJDinB,EAICjnB,EAJDinB,OACAhmB,EAGCjB,EAHDiB,UACAimB,EAEClnB,EAFDknB,yBACG7lB,EACF8lB,EAAAnnB,EAAA,mDAAAonB,EAIGF,EAAyBD,GAF3BR,EAFDW,EAECX,UAGIY,EALLD,EAGCE,iBAE4Cb,GAAa9nB,IAAO4oB,cAElE,OACE9lB,EAAAC,EAAAC,cAAC6lB,EAADC,EAAA,GACMpmB,EADN,CAEEolB,UAAWA,EACXxlB,UAAWa,IAAWb,EAAWomB,MAKvCL,EAAsBtgB,aAAe,CACnCwgB,yBC5Ba,WAA+C,IAAbD,EAAa/V,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAAIP,EAAAC,EACdC,oBAAS,GADK,GACrDyW,EADqD3W,EAAA,GACpC+W,EADoC/W,EAAA,GAAA+I,EAAA9I,EAE1BC,oBAAS,GAFiB,GAErD4V,EAFqD/M,EAAA,GAE1CiO,EAF0CjO,EAAA,GAY5D,OARAkO,0BAAgB,WACd,IAAMC,EAAoBZ,EAAOhX,OAAO,SAAA5M,GAAK,OAAIA,IAAOoF,OAClDqf,EAAWD,GAAqBA,IAAsBZ,EAAOxe,OAEnEif,EAAmBK,QAAQD,IAC3BH,EAAaI,QAAQF,KACpBZ,GAEI,CAAER,YAAWa,qBDmBtBN,EAAsBpjB,UAAtB,GAMeojB,knBE/Bf,SAASgB,EAAThoB,GAOG,IAND8T,EAMC9T,EAND8T,SACA2S,EAKCzmB,EALDymB,UACAllB,EAICvB,EAJDuB,WACA+B,EAGCtD,EAHDsD,MACArC,EAECjB,EAFDiB,UACGI,EACF4mB,EAAAjoB,EAAA,2DACD,OACEyB,EAAAC,EAAAC,cAAC6lB,EAADU,EAAA,GACM7mB,EADN,CAEEiC,MAAOA,EACPwQ,SAAUA,EACV2S,UAAWA,EACXllB,WAAYA,EACZN,UAAWa,IAAWnD,IAAOwpB,eAAgBlnB,MAKnD+mB,EAAepkB,UAAf,GAWeokB,QCvCfzlB,EAAAC,EAAAC,EAAA,sBAAA2lB,IAAA7lB,EAAAC,EAAAC,EAAA,sBAAA4lB,IAKe7B,2TCHR,IAAM8B,EAAwBC,IAAMC,gBAY5BC,MAVf,SAAoBC,GAClB,OAAO,SAA4BzkB,GACjC,OACExC,EAAAC,EAAAC,cAAC2mB,EAAsBK,SAAvB,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,+BCRlCC,EAAe,SACfC,EAAc,QACdC,EAAY,MAEZC,EAA4B,8+BCIzC,SAASC,EAAW9oB,GAClB,OAAOA,IAAS2oB,EAGlB,SAASI,EAAY/oB,GACnB,OAAOA,IAAS0oB,EAwCHM,MArCf,SAAAnpB,GAAoF,IAAAopB,EAAAppB,EAA3DqpB,gBAA2D,IAAAD,KAAzCE,EAAyCtpB,EAAzCspB,kBAAmBC,EAAsBvpB,EAAtBupB,mBAAsB5Y,EAAAC,EAChDC,mBAAS,MADuC,GAC3E2Y,EAD2E7Y,EAAA,GAChE8Y,EADgE9Y,EAAA,GAG5E+Y,EAAUT,EAAWO,GACrBG,EAAWT,EAAYM,GACvBI,EAAQJ,IAAcT,EAuB5B,OArBArX,oBAAU,WACR+X,EAAaZ,IACZQ,GAAYE,KACZ,IAEH7X,oBAAU,WAEJ+X,EADJJ,EACiBN,EACAF,IAChB,CAACQ,IAYG,CACLM,WACAC,QACAF,UACAF,YACA1V,SAf6B,SAAA3T,GAAI,OAAI,WACrCspB,EAAatpB,GAETmpB,GAAqBL,EAAW9oB,GAClCmpB,IACSC,GAAsBL,EAAY/oB,IAC3CopB,kpBC1BN,SAASM,EAAT7pB,GAOG,IANDqpB,EAMCrpB,EANDqpB,SACApoB,EAKCjB,EALDiB,UACA6oB,EAIC9pB,EAJD8pB,WACAC,EAGC/pB,EAHD+pB,aACAC,EAEChqB,EAFDgqB,qBACAC,EACCjqB,EADDiqB,gBAEQC,EAAgCJ,EAAhCI,cAAkB7oB,EADzBC,EACuCwoB,EADvC,mBAAAK,EAEoCpJ,cAA7B1K,EAFP8T,EAEO9T,YAAaC,EAFpB6T,EAEoB7T,YACf8T,EAAUC,EAAA,GAAQJ,EAAR,CAAyB5T,cAAaC,gBAChDgU,EAAiBN,IAAyBla,IAAQma,GAExD,OACExoB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4rB,iBACrB9oB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6rB,gBACrB/oB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8rB,cACnBpB,GACA5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+rB,YACrBjpB,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAIjBQ,EAAAC,EAAAC,cAACkT,EAAA,EAADwV,EAAA,GACMhpB,EADN,CAEEJ,UAAWa,IACTnD,IAAOsU,MACP,yBACAqX,GAAkB3rB,IAAO2rB,eACzBrpB,MAIHqpB,GACC7oB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,OACLC,WAAYe,EAAAC,EAAAC,cAACgpB,EAAA,EAAD,CAAc1pB,UAAWtC,IAAOsD,OAC5ChB,UAAWtC,IAAOisB,WAClBjqB,cAAehC,IAAOsD,KACtBhC,QAASqW,IAEX7U,EAAAC,EAAAC,cAACkU,EAAA,EAAeuU,IAInBN,EAAWzmB,OACV5B,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNU,UAAWa,IAAWnD,IAAOksB,SAAUP,GAAkB3rB,IAAO2rB,gBAChErqB,QAASiqB,GAETzoB,EAAAC,EAAAC,cAAA,KAAGV,UAAU,0BAKlB8oB,GAECV,GACA5nB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNU,UAAWtC,IAAOmsB,kBAClBpqB,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBACzBd,KAAK,UAJP,yBAUJsB,EAAAC,EAAAC,cAAA,YAKNkoB,EAAYnjB,aAAe,CACzBsjB,sBAAsB,EACtBC,gBAAiB,IAGnBJ,EAAYjmB,UAAZ,GAce6kB,QAAWoB,sBCrG1B,SAASkB,EAAT/qB,GAAkE,IAA/CqpB,EAA+CrpB,EAA/CqpB,SAAU2B,EAAqChrB,EAArCgrB,cAAeC,EAAsBjrB,EAAtBirB,YAAaznB,EAASxD,EAATwD,MACvD,GAAIsM,IAAQmb,GACV,OAAO,KAGT,IAAMC,GAAc7B,GAAY2B,EAEhC,OACEvpB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGwjB,GACCzpB,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OACnBA,GAIL/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACpBwnB,IAMTF,EAAQnnB,UAAR,GAOe6kB,QAAWsC,GC7B1B,SAASI,EAATnrB,GAAgD,IAAtBorB,EAAsBprB,EAAtBorB,mBACxB,OACE3pB,EAAAC,EAAAC,cAAA,WACGypB,GAAsB3pB,EAAAC,EAAAC,cAAC0pB,EAAD,MACvB5pB,EAAAC,EAAAC,cAAC2pB,EAAD,OAKNH,EAAevnB,UAAf,GAIe6kB,QAAW0C,+BCN1B,SAASI,EAATvrB,GAAiE,IAA/CqpB,EAA+CrpB,EAA/CqpB,SAAUO,EAAqC5pB,EAArC4pB,MAAOF,EAA8B1pB,EAA9B0pB,QAASC,EAAqB3pB,EAArB2pB,SAAU1pB,EAAWD,EAAXC,QAC9CurB,GAAenC,GAAY,WAEjC,OACE5nB,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAapL,MAAM,QAAQU,UAAWtC,IAAO8sB,UAC1CpC,GACC5nB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWa,IAAW8nB,GAASjrB,IAAO+sB,QACtCnrB,MAAM,UACNN,QAASA,EAAQ8oB,IAHnB,OAQFtnB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWa,IAAW6nB,GAAYhrB,IAAO+sB,QACzCnrB,MAAM,UACNN,QAASA,EAAQ4oB,IAHnB,UAKU2C,GAEV/pB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWa,IAAW4nB,GAAW/qB,IAAO+sB,QACxCnrB,MAAM,UACNN,QAASA,EAAQ6oB,IAHnB,SAKS0C,IAMfD,EAAO3nB,UAAP,GAQe6kB,QAAW8C,gsCC2EXI,MA7Hf,SAAA3rB,GAYG,IAXDwpB,EAWCxpB,EAXDwpB,UACAoC,EAUC5rB,EAVD4rB,YACAC,EASC7rB,EATD6rB,YACAC,EAQC9rB,EARD8rB,WACAC,EAOC/rB,EAPD+rB,aACAC,EAMChsB,EANDgsB,QACAC,EAKCjsB,EALDisB,YACAC,EAIClsB,EAJDksB,kBACAC,EAGCnsB,EAHDmsB,SACA9C,EAECrpB,EAFDqpB,SACA+C,EACCpsB,EADDosB,cACCjC,EACoCpJ,cAA7B1K,EADP8T,EACO9T,YAAaC,EADpB6T,EACoB7T,YADpB3F,EAAA0b,EAGuCxb,mBAAS,MAHhD,GAGMyb,EAHN3b,EAAA,GAGoB4b,EAHpB5b,EAAA,GAAA+I,EAAA2S,EAImDxb,mBAAS,MAJ5D,GAIM2b,EAJN9S,EAAA,GAI0B+S,EAJ1B/S,EAAA,GAAAgT,EAAAL,EAKuBxb,mBAAS,IALhC,GAKM2C,EALNkZ,EAAA,GAKYC,EALZD,EAAA,GAAAE,EAAAP,EAM+Cxb,qBAN/C,GAMMgc,EANND,EAAA,GAMwBE,EANxBF,EAAA,GAQDlb,oBAAU,WACR6a,EAAgB,OACf,CAAC/C,IAEJ9X,oBAAU,YACJsa,GAAYC,GACdM,EAAgB,OAEjB,CAACP,EAASC,IAEbva,oBAAU,WACRwa,GAAqBY,EAAoB,OACxC,CAACzW,EAAa6V,IAEjBxa,oBAAU,YACHsa,GAAWC,GAAeG,GAAiB/C,GAC9C8C,GAAYA,KAEb,CAACH,EAASC,EAAaG,IAG1B,IAAMW,EAAc,WAClBR,EAAgB,MAChBE,EAAsB,MACtBE,EAAQ,IACRG,EAAoB,OAiEtB,MAAO,CACLR,eACAO,mBACArZ,OACA6C,cACAC,cACArW,QApEkB,SAACiN,EAAMvE,GAAP,OAAiB,SAACmJ,GACpCA,EAAMkb,kBACNT,EAAgB5jB,GAEZijB,GACFA,EAAY1e,KAgEd+f,cAjCwB,SAAA/f,GAAI,OAAI,SAAC4E,GAGjC,OAFAA,EAAMkb,kBAEFd,GACFO,EAAsBvf,GAEfoJ,KAxBQ,SAACpJ,GAClB6f,IAEAjB,EAAW5e,GAwBJggB,CAAWhgB,KAyBlBigB,eA9C0B,SAACrb,GAC3BA,EAAMkb,kBAEFld,IAAQ0D,GACVsZ,EAAoB,gCAEpBhB,EAAWsB,EAAA,GAAKZ,EAAN,CAA0BhZ,UACpCuZ,IACAzW,MAuCF+W,SAvBmB,SAAAngB,GAAI,OAAI,SAAC4E,GAC5BA,EAAMkb,kBACNT,EAAgB,MAEhBR,EAAa7e,KAoBbogB,QAjBkB,SAAApgB,GAAI,OAAI,SAAC4E,GAC3BA,EAAMkb,kBACNT,EAAgB,MAEhBV,GAAeA,EAAY3e,KAc3BqgB,aAhEuB,SAACzb,GACxB,IAAM0b,EAAY1b,EAAMvK,OAAOlE,MAC/BspB,EAAQa,GAEH1d,IAAQ0d,IACXV,EAAoB,+BC3DnB,SAASW,EAAgBC,GAC9B,IAAMC,EAAqBC,IAAIF,EAAU,SAACzd,GAAW,IAC3C3M,EAAiB2M,EAAjB3M,MAAOD,EAAU4M,EAAV5M,MAEf,GAAIwC,IAAQxC,GACV,OAAO,KAGT,IAZgBwqB,EAYVC,EAAkC,kBAAVzqB,GAZdwqB,EAY8CxqB,GAXxDwC,IAAQgoB,IAAUE,YAAYH,IAAIC,EAAO,WAWwBxqB,EAEvE,SAAA+F,OAAU9F,EAAV,MAAA8F,OAAoB0kB,KAGtB,OAAOC,YAAYJ,EAAoB,o/BCXzC,SAASK,GAAThuB,GAAyD,IAArCiuB,EAAqCjuB,EAArCiuB,kBAAmBzqB,EAAkBxD,EAAlBwD,MAAOkqB,EAAW1tB,EAAX0tB,QACtCQ,EAAeT,EAAgBC,GADkB/c,EAAAwd,GAE3Btd,oBAAS,GAFkB,GAEhDoE,EAFgDtE,EAAA,GAExCsQ,EAFwCtQ,EAAA,GAIjDyd,EAAeH,GAAqBC,EAAazlB,OADrC,GAQlB,OACEhH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACpBhD,GAAS/B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAO6E,OAAQA,GACxC/B,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAO+E,aACxBgqB,GACCjsB,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,KAAO2M,KAAM2J,GAAUtW,KAAOsW,UACrDmZ,GAAgBnZ,EAAUiZ,EAA5B,GAAA9kB,OAA8C8kB,EAAatkB,MAAM,EAd1D,IAcP,QAGJwkB,GACC3sB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLQ,UAAWtC,KAAO0vB,WAClBpuB,QAnBV,SAA0B6R,GACxBA,EAAMkb,kBACN/L,GAAWhM,KAaL,QAMSA,EAAS,OAAS,UAQrC+Y,GAAStnB,aAAe,CACtBunB,mBAAmB,GAGrBD,GAASpqB,UAAT,GAMeoqB,oQC/Cf,SAASM,GAATtuB,GAA2D,IAApC2pB,EAAoC3pB,EAApC2pB,SAAUzc,EAA0BlN,EAA1BkN,KAAMqhB,EAAoBvuB,EAApBuuB,OAAQlB,EAAYrtB,EAAZqtB,SACvCmB,EAAc,CAClBjuB,MAAO,QACPU,UAAWtC,KAAO8vB,KAGpB,OAAI9E,EAEAloB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD2uB,GAAA,GAAYF,EAAZ,CAAyBvuB,QAASsuB,EAAOrhB,KAAzC,QAOFzL,EAAAC,EAAAC,cAAC5B,EAAA,EAAD2uB,GAAA,GAAYF,EAAZ,CAAyBvuB,QAASotB,EAASngB,KAA3C,UAMJohB,GAAY1qB,UAAZ,GAOe6kB,SAAW6F,cC3B1B,SAASK,GAAT3uB,GAAgG,IAAnEqpB,EAAmErpB,EAAnEqpB,SAAUK,EAAyD1pB,EAAzD0pB,QAASxoB,EAAgDlB,EAAhDkB,UAAW0tB,EAAqC5uB,EAArC4uB,eAAgBC,EAAqB7uB,EAArB6uB,kBACzE,IAAKnF,EACH,OAAO,KAGT,GAAI5Z,IAAQ8e,GACV,OAAO,KANqF,IAU5Ftd,EAKEsd,EALFtd,QACAwd,EAIEF,EAJFE,MACAC,EAGEH,EAHFG,kBACAC,EAEEJ,EAFFI,QACAC,EACEL,EADFK,WAGF,OAAgB,IAAZ3d,GAA2B,IAAVwd,EACZ,KAIPrtB,EAAAC,EAAAC,cAAC6K,GAAA,EAAD,CACE6c,SAAUA,EACVnoB,UAAWA,GAAa2tB,EACxBK,kBAAkB,EAClBjuB,UAAWtC,KAAOwwB,UAClB7d,QAASA,EACTwd,MAAOA,EACPM,SAAUJ,EACVK,WAAYJ,EACZnb,SAAUib,IAKhBJ,GAAkB/qB,UAAlB,GAQe6kB,SAAWkG,eCnC1B,SAASW,GAATtvB,GAgBG,IAfD2pB,EAeC3pB,EAfD2pB,SACAD,EAcC1pB,EAdD0pB,QACAF,EAaCxpB,EAbDwpB,UACAqF,EAYC7uB,EAZD6uB,kBACAhB,EAWC7tB,EAXD6tB,MACAjC,EAUC5rB,EAVD4rB,YACAE,EASC9rB,EATD8rB,WACAD,EAQC7rB,EARD6rB,YACAE,EAOC/rB,EAPD+rB,aACAC,EAMChsB,EANDgsB,QACAC,EAKCjsB,EALDisB,YACAC,EAIClsB,EAJDksB,kBACAC,EAGCnsB,EAHDmsB,SACA9C,EAECrpB,EAFDqpB,SACA+C,EACCpsB,EADDosB,cACCmD,EAaG5D,EAAc,CAChBnC,YACAoC,cACAG,eACAD,aACAD,cACAG,UACAC,cACAC,oBACAC,WACA9C,WACA+C,kBAtBAE,EAFDiD,EAECjD,aACA9Y,EAHD+b,EAGC/b,KACAvT,EAJDsvB,EAICtvB,QACAqtB,EALDiC,EAKCjC,QACAL,EANDsC,EAMCtC,cACAE,EAPDoC,EAOCpC,eACAE,EARDkC,EAQClC,SACAE,EATDgC,EASChC,aACAlX,EAVDkZ,EAUClZ,YACAC,EAXDiZ,EAWCjZ,YACAuW,EAZD0C,EAYC1C,iBAeF,GAAIgC,EACF,OAAOptB,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,MAGT,GAAI1f,IAAQ+d,GAAQ,CAClB,IAAM4B,EACJhuB,EAAAC,EAAAC,cAAA,wDACsCF,EAAAC,EAAAC,cAAA,WADtC,4EAMF,OACEF,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAO+wB,cAClB/F,EACG,8BACA8F,GAMV,IAAME,EACJluB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLI,MAAM,QACNN,QAASqW,GAHX,UAQA7U,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLF,QAASktB,GAFX,SASE0C,EAAgBlG,EAAW,sBAAwB,qBAEzD,OACEloB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW+tB,EAAelxB,KAAOmxB,gBAC/CruB,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAOoxB,MACnBlC,EAAMhkB,IAAI,SAACqD,EAAMvE,GAChB,IAAM6b,EAAa8H,IAAiB3jB,EAC9BqnB,EAAYluB,IAChBnD,KAAOsxB,SACPtxB,KAAOuxB,QACP1L,GAAc7lB,KAAO2tB,cAGvB,OAAIxc,IAAQ5C,EAAKwgB,SACR,KAIPjsB,EAAAC,EAAAC,cAAA,MACEwH,IAAG,eAAAC,OAAiBT,GACpB1I,QAASA,EAAQiN,EAAMvE,GACvBwnB,KAAK,SACLlvB,UAAW+uB,GAEXvuB,EAAAC,EAAAC,cAACyuB,GAAD,CACE5sB,MAAO0J,EAAK1J,MACZkqB,QAASxgB,EAAKwgB,UAGhBjsB,EAAAC,EAAAC,cAAC0uB,GAAD,CACEnjB,KAAMA,EACNsX,WAAYA,EACZmF,SAAUA,EACV2D,QAASA,EACTiB,OAAQtB,EACRI,SAAUA,OAMlB5rB,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAC2uB,GAAD,CAAmB5G,QAASA,MAI/BwC,GACCzqB,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAM,cACN+sB,MAAI,EACJtb,OAAQoB,EACRP,WAAYQ,EACZZ,QAASia,GAETluB,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOC,QAAQ,kBAAf,QACAvgB,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACE5T,UAAWtC,KAAO6xB,UAClBxrB,GAAG,iBACHwO,KAAK,OACLnQ,MAAOmQ,EACPE,YAAY,sDACZI,SAAUyZ,EACVhZ,aAAcsY,MAQ1ByC,GAAU5oB,aAAe,CACvBwlB,mBAAmB,GAGrBoD,GAAU1rB,UAAV,GAkBe6kB,SAAW6G,ICrL1B,SAASmB,GAATzwB,GAWG,IAVDqpB,EAUCrpB,EAVDqpB,SACAqH,EASC1wB,EATD0wB,WACAC,EAQC3wB,EARD2wB,YACAxE,EAOCnsB,EAPDmsB,SACAyE,EAMC5wB,EAND4wB,WACAtH,EAKCtpB,EALDspB,kBACAC,EAICvpB,EAJDupB,mBACAyC,EAGChsB,EAHDgsB,QACAC,EAECjsB,EAFDisB,YACAG,EACCpsB,EADDosB,cACCyE,EAOG1H,EAAc,CAAEE,WAAUC,oBAAmBC,qBAAoBqH,eALnEhH,EAFDiH,EAECjH,MACAD,EAHDkH,EAGClH,SACAD,EAJDmH,EAICnH,QACAF,EALDqH,EAKCrH,UACA1V,EAND+c,EAMC/c,SAGIgd,EAAe7E,KAAiB2E,EAChCG,IAAe5E,EA8CrB,OACE1qB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8E,SACrBhC,EAAAC,EAAAC,cAACqvB,EAAD,CACEpH,MAAOA,EACPD,SAAUA,EACVD,QAASA,EACTzpB,QAAS6T,IAjDTuV,GAAYO,EAEZnoB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOsyB,eACrBxvB,EAAAC,EAAAC,cAACuvB,EAAD,MACAzvB,EAAAC,EAAAC,cAAA,WACGmvB,GACCrvB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNN,QAAS2wB,EACT3vB,UAAWa,IAAWnD,KAAOwyB,gBAAiBxyB,KAAOyyB,WAJvD,aASDL,GACCtvB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLR,QAASksB,EACTlrB,UAAWtC,KAAOwyB,iBAHpB,YAcR1vB,EAAAC,EAAAC,cAAC0vB,GAAD,CACE7H,UAAWA,EACXG,SAAUA,EACVD,QAASA,EACTmE,MAAOnE,EAAUgH,EAAaC,EAC9B3E,QAASA,EACTG,SAAUA,EACV9C,SAAUA,EACV+C,cAAeA,KAmBvBqE,GAAa7sB,UAAb,GAae6kB,SAAWgI,0BCnG1B,SAASa,GAATtxB,GAA6F,IAApE4wB,EAAoE5wB,EAApE4wB,WAAYW,EAAwDvxB,EAAxDuxB,oBAAqBC,EAAmCxxB,EAAnCwxB,SAAUrF,EAAyBnsB,EAAzBmsB,SAC5D2E,EADqF9wB,EAAfisB,YAEtEwF,IAAeD,GAAYD,EAC3BR,IAAe5E,EAIrB,QAFwB2E,GAAgBW,GAAcV,GAG7C,KAIPtvB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgQ,QACpBmiB,GACCrvB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLQ,UAAWtC,KAAOyyB,SAClBnxB,QAAS2wB,GAJX,aAUDa,GACChwB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLR,QAASuxB,GAHX,UASDT,GACCtvB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLN,KAAK,UAFP,WAWRmxB,GAAc5qB,aAAe,CAC3B6qB,qBAAqB,GAGvBD,GAAc1tB,UAAd,GAQe6kB,SAAW6I,0BCvD1B,SAASI,GAAT1xB,GAAwE,IAAjD2xB,EAAiD3xB,EAAjD2xB,iBAAkBC,EAA+B5xB,EAA/B4xB,kBAAmBzF,EAAYnsB,EAAZmsB,SAM1D,OACE1qB,EAAAC,EAAAC,cAAA,QAAM2T,SANS,SAACxD,GAChBA,EAAMU,iBACN2Z,GAAYA,MAKV1qB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOoG,QAAS4sB,IACzClwB,EAAAC,EAAAC,cAACuvB,EAAD,OAGFzvB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOkzB,SAAUD,IAC1CnwB,EAAAC,EAAAC,cAACmwB,GAAD,QAIJrwB,EAAAC,EAAAC,cAACowB,GAAD,OAKNL,GAAY9tB,UAAZ,GAMe6kB,SAAWiJ,0BC/B1B,SAASM,GAAThyB,GAAwD,IAAlCwxB,EAAkCxxB,EAAlCwxB,SAAUxG,EAAwBhrB,EAAxBgrB,cAAexnB,EAASxD,EAATwD,MAC7C,OACE/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOszB,iBACpBjH,GACCvpB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwN,QACrB1K,EAAAC,EAAAC,cAAA,UAAK6B,GAEL/B,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,OACLR,QAASuxB,GAET/vB,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAKnBQ,EAAAC,EAAAC,cAACmwB,GAAD,OAKNE,GAAWpuB,UAAX,GAMe6kB,SAAWuJ,qICvB1B,SAASE,GAATlyB,GAcG,IAbDgF,EAaChF,EAbDgF,GACA3B,EAYCrD,EAZDqD,MACAyQ,EAWC9T,EAXD8T,SACA7S,EAUCjB,EAVDiB,UACAkxB,EASCnyB,EATDmyB,oBACA3uB,EAQCxD,EARDwD,MACAkQ,EAOC1T,EAPD0T,YACAuT,EAMCjnB,EANDinB,OACAzT,EAKCxT,EALDwT,KACA4e,EAICpyB,EAJDoyB,cACAC,EAGCryB,EAHDqyB,yBACAC,EAECtyB,EAFDsyB,eACAC,EACCvyB,EADDuyB,gBAEMC,EAAYC,OAAOC,KAAKzL,GAD7B0L,EAE6CC,aAAgB5tB,EAAI3B,EAAOyQ,EAAU0e,GAA3EK,EAFPF,EAEOE,aAAcC,EAFrBH,EAEqBG,QAASC,EAF9BJ,EAE8BI,WAoD/B,OACEtxB,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACdQ,EAAAC,EAAAC,cAACogB,EAAA,EAAD,KAAQve,GACR/B,EAAAC,EAAAC,cAACqxB,GAAA,EAAD,CAAsB/xB,UAAWtC,KAAO+U,aAAcA,GAEtDjS,EAAAC,EAAAC,cAACsxB,GAAA,EAAD,CAAYhyB,UAAWa,IAAWqwB,EAAqBxzB,KAAOu0B,cAtD3Dd,EAKH3wB,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACEljB,MAAM,sBACNwQ,SAAUif,EACVtM,UAAW0M,KAAQC,KAAOP,GAAeO,KAAOZ,MAP3C,KAuDJA,EAAU3oB,IAAI,SAAAV,GAAG,OAnCxB,SAAsBA,GACpB,IAAMkqB,GAAgBxtB,IAAQysB,IAAmBgB,KAAShB,EAAgBnpB,GAE1E,OACE1H,EAAAC,EAAAC,cAAA,OAAKwH,IAAG,GAAAC,OAAKpE,EAAL,KAAAoE,OAAWD,GAAOlI,UAAWoyB,EAAY,GAAAjqB,OAAMzK,KAAO40B,WAAb,KAAAnqB,OAA2BzK,KAAO60B,cAAiB70B,KAAO40B,YACzG9xB,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACEljB,MAAO2jB,EAAO9d,GACd9F,MAAO8F,EACPqK,KAAMA,EACNM,SAAUgf,EACVrM,UAAW6M,KAAST,EAAc1pB,GAClC5H,WAAY8xB,IAGZA,EACE5xB,EAAAC,EAAAC,cAACgI,GAAA,EAAD,CACEG,UAAU,SACVrG,QAAS8uB,EACTkB,OAAK,GAELhyB,EAAAC,EAAAC,cAAA,KAAGV,UAAU,iBAEb,MAagByyB,CAAavqB,MA1CnCtD,IAAQgtB,KAAkBR,EACrB,KAGFA,KA8CXH,GAAexrB,aAAe,CAC5B0rB,eAAe,GAGjBF,GAAetuB,UAAf,GA2BesuB,0CCtHf,SAASyB,GAAT3zB,GASG,IARDgF,EAQChF,EARDgF,GACA3B,EAOCrD,EAPDqD,MACAyQ,EAMC9T,EAND8T,SACA7S,EAKCjB,EALDiB,UACAuC,EAICxD,EAJDwD,MACAkQ,EAGC1T,EAHD0T,YACAkgB,EAEC5zB,EAFD4zB,aACAhuB,EACC5F,EADD4F,KAiCA,OACEnE,EAAAC,EAAAC,cAACkyB,GAAA,EAAD,CACErwB,MAAOA,EACPkQ,YAAaA,EACbkgB,aAAcA,EACd3yB,UAAWA,EACX6yB,gBA1BFryB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAa1K,UAAWtC,KAAOo1B,aAC5BnuB,EAAKiE,IAAI,SAAApE,EAA8BkD,GAA9B,IAbW1E,EAaRX,EAAHmC,EAAGnC,MAAc0wB,EAAjBvuB,EAAUpC,MAAV,OACR5B,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNE,KAAK,SACL0I,IAAG,GAAAC,OAAKpE,EAAL,KAAAoE,OAAWT,GACdtF,MAAO2wB,EACP/zB,SAnBiBgE,EAmBU+vB,EAlB5B,kBAAMlgB,EAAS7P,KAmBdhD,UAAWa,IAAWnD,KAAOyB,OAAQ4zB,IAAc3wB,GAAS1E,KAAOs1B,WAElE3wB,OAjBYsC,EAAKsuB,KAAK,SAAA3uB,GAAA,OAAAA,EAAGlC,QAAqCA,KAAU,IAE7DI,WAmCxBkwB,GAAgB/vB,UAAhB,GAgBe+vB,kpBCnEf,SAASQ,GAATn0B,GAcG,IAbDwD,EAaCxD,EAbDwD,MACAkQ,EAYC1T,EAZD0T,YACAkgB,EAWC5zB,EAXD4zB,aACA3yB,EAUCjB,EAVDiB,UACAmzB,EASCp0B,EATDo0B,YACAC,EAQCr0B,EARDq0B,WACAC,EAOCt0B,EAPDs0B,kBACAC,EAMCv0B,EANDu0B,iBACAC,EAKCx0B,EALDw0B,MACAC,EAICz0B,EAJDy0B,IACAC,EAGC10B,EAHD00B,cACAC,EAEC30B,EAFD20B,YACGtzB,EACFuzB,GAAA50B,EAAA,kKACD,SAAS60B,EAAeC,GACtB,OAAOA,GAAQC,KAAOD,GA0CxB,OACErzB,EAAAC,EAAAC,cAACkyB,GAAA,EAAD,CACErwB,MAAOA,EACPkQ,YAAaA,EACbkgB,aAAcA,EACd3yB,UAAWA,EACX6yB,gBA5CEM,EAEA3yB,EAAAC,EAAAC,cAACqzB,GAAA,EAAD,CACEX,WAAYA,EACZY,UAAWJ,EAAeL,GAC1BU,QAASL,EAAeJ,GACxBU,kBAAmBT,EACnBU,gBAAiBT,EACjB1zB,UAAWa,IAAWnD,KAAO02B,MAAO,0BACpCf,kBAAmBA,EACnBC,iBAAkBA,IAMtB9yB,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACkT,EAAA,EAADygB,GAAA,GACMj0B,EADN,CAEElB,KAAK,SACLkD,MAAOmxB,GAAS,GAChB1gB,SAAU4gB,EACVhhB,YAAY,GACZzS,UAAWtC,KAAO61B,SAPtB,KAUE/yB,EAAAC,EAAAC,cAACkT,EAAA,EAADygB,GAAA,GACMj0B,EADN,CAEElB,KAAK,SACLkD,MAAOoxB,GAAO,GACd3gB,SAAU6gB,EACVjhB,YAAY,GACZzS,UAAWtC,KAAO81B,UAiB5BN,GAAUztB,aAAe,CACvB0tB,aAAa,GAGfD,GAAUvwB,UAAV,GAmBeuwB,0vCCzFf,SAASjC,GAATlyB,GAYG,IAXDgF,EAWChF,EAXDgF,GACA3B,EAUCrD,EAVDqD,MACAyQ,EASC9T,EATD8T,SACA7S,EAQCjB,EARDiB,UACAuC,EAOCxD,EAPDwD,MACAkQ,EAMC1T,EAND0T,YACAuT,EAKCjnB,EALDinB,OACAzT,EAICxT,EAJDwT,KACA4e,EAGCpyB,EAHDoyB,cACAnlB,EAECjN,EAFDiN,OACAsoB,EACCv1B,EADDu1B,aACC5kB,EAAA6kB,GACyB3kB,mBAAS,IADlC,GACMrL,EADNmL,EAAA,GACa8kB,EADb9kB,EAAA,GAEK+kB,EAAajD,OAAOC,KAAKzL,GACzBuL,EAAYC,OAAOC,KAAKrvB,GAE9B,SAASsyB,EAAmBxsB,EAAKvD,GAC/B,IAAMiR,EAAUhR,IAAQD,GAAQ,yBAA2B,GAE3D6vB,EAAS,SAAAG,GAAS,OAAAC,GAAA,GAAUD,wHAAV1iB,CAAA,GAAsB/J,EAAM0N,MAchD,SAASif,EAAkB3sB,GACzB,OAAO,SAACvD,GACNvC,EAAM8F,GAAOvD,EAEbkO,EAAS9O,EAAI3B,GACbsyB,EAAmBxsB,EAAKvD,IA3B3B,IAAA+sB,EA+B6CC,aAC5C5tB,EACAwtB,EAtBF,SAAgCuD,EAAQlI,GAAuB,IAAhBmI,EAAgB9kB,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACnDtL,EAAO,GAEbioB,EAAMhO,QAAQ,SAAC3S,GACbtH,EAAKsH,GAASrH,IAAQxC,EAAM6J,IAAuB8oB,EAAd3yB,EAAM6J,KAG7C4G,EAASiiB,EAAQnwB,GACjB6vB,EAAS,KAgBTC,GAJM7C,EA/BPF,EA+BOE,aAAcC,EA/BrBH,EA+BqBG,QAASC,EA/B9BJ,EA+B8BI,WA2B/B,OACEtxB,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACdQ,EAAAC,EAAAC,cAACogB,EAAA,EAAD,KAAQve,GACR/B,EAAAC,EAAAC,cAACqxB,GAAA,EAAD,CAAsB/xB,UAAWtC,KAAO+U,aAAcA,GAEtDjS,EAAAC,EAAAC,cAACsxB,GAAA,EAAD,CAAYhyB,UAAWtC,KAAOu0B,aAC3Bd,GACC3wB,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACEljB,MAAM,sBACNwQ,SAAUif,EACVtM,UAAW0M,KAAQC,KAAOP,GAAeO,KAAOsC,MAInDA,EAAW7rB,IAAI,SAAAV,GAAG,OACjB1H,EAAAC,EAAAC,cAAA,OAAKwH,IAAG,GAAAC,OAAKpE,EAAL,KAAAoE,OAAWD,GAAOlI,UAAWtC,KAAO40B,YAC1C9xB,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACEljB,MAAO2jB,EAAO9d,GACd9F,MAAO8F,EACPqK,KAAMA,EACNM,SAAUgf,EACVrM,WAAS,IAAEoM,EAAaoD,QAAS9sB,MAGlC,IAAA0pB,EAAaoD,QAAS9sB,IA5CjC,SAA0BA,GAGxB,OACE1H,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAACkyB,GAAA,EAADgC,GAAA,GACM5oB,EAAO9D,GACNosB,GAAgB,CAAEA,aAAcA,EAAaW,KAAU/sB,KAF9D,CAGEgtB,qBAAmB,EACnBC,cAAe/yB,EAAM8F,GACrB2K,SAAUgiB,EAAkB3sB,GAC5BlI,UAAWtC,KAAO0lB,OAClB9F,OAXS,kBAAMoX,EAAmBxsB,EAAK9F,EAAM8F,KAY7CktB,YAAU,KAEZ50B,EAAAC,EAAAC,cAACmf,GAAA,EAAD,CAAcjK,QAASrR,EAAM2D,MA6BMmtB,CAAiBntB,QAQ5D+oB,GAAexrB,aAAe,CAC5B0rB,eAAe,GAGjBF,GAAetuB,UAAf,6lBCvGA,SAAS2yB,GAATv2B,GAQG,IAPDw2B,EAOCx2B,EAPDw2B,YACAC,EAMCz2B,EANDy2B,oBACA7H,EAKC5uB,EALD4uB,eACAG,EAIC/uB,EAJD+uB,kBACA7E,EAGClqB,EAHDkqB,cACAwM,EAEC12B,EAFD02B,kBACGr1B,EACFs1B,GAAA32B,EAAA,gHACO+M,EAAc6pB,cAAd7pB,UAEF8pB,EAAqBC,GAAA,GACtBz1B,EADsB,CAEzBgoB,UAAWtc,EACX+c,WAAY,CACVzmB,MAAOmzB,EACP1iB,SAAU2iB,EACV/iB,YAAc3G,EAAwC2pB,EAA5B1N,EAC1BkB,mBAEGpa,IAAQ8e,IAAmB,CAC9BA,eAAekI,GAAA,GACVlI,EADS,CAEZG,wBAKN,OACEttB,EAAAC,EAAAC,cAAC2mB,EAAsByO,SAAvB,CAAgC1zB,MAAOwzB,GACpC9pB,EAAYtL,EAAAC,EAAAC,cAACq1B,GAAD,MAAkBv1B,EAAAC,EAAAC,cAACs1B,GAAD,4GAKrCV,GAAe7vB,aAAe,CAC5BkoB,eAAgB,CACdtd,QAAS,EACTwd,MAAO,GAETtrB,MAAO,kBACPgzB,YAAa,GACbxL,eAAe,EACfI,oBAAoB,EACpBa,aAAa,EACbG,eAAe,EACfJ,SAAS,GAGXuK,GAAe3yB,UAAf,GAkCe2yB,kLC3Ff,SAASW,EAATl3B,GAAgF,IAAnDm3B,EAAmDn3B,EAAnDm3B,kBAAmBC,EAAgCp3B,EAAhCo3B,QAAShV,EAAuBpiB,EAAvBoiB,WAAYiV,EAAWr3B,EAAXq3B,QAInE,OACE51B,EAAAC,EAAAC,cAAA,SAAOE,IAAKugB,EAAYnhB,UAAWa,IAAWu1B,GAAW14B,IAAO04B,UAC9D51B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO24B,WACnBH,GACC11B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO44B,qBACpB91B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO64B,iBACrB/1B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CAAU1S,SARtB,iBAaMrS,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO84B,kBAAmBL,QAASA,GAChD31B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAWtC,IAAO+4B,2BAO7CR,EAAkBtzB,UAAlB,GAOeszB,mCC5BTS,EAAW,CACfC,IAAK,cACLrH,KAAM,gBACNsH,GAAI,WAKS,SAASC,EAAT93B,GAaZ,IAZD+3B,EAYC/3B,EAZD+3B,iBACA72B,EAWClB,EAXDkB,UACAm2B,EAUCr3B,EAVDq3B,QACAF,EASCn3B,EATDm3B,kBACAa,EAQCh4B,EARDg4B,qBACAC,EAOCj4B,EAPDi4B,cACAC,EAMCl4B,EANDk4B,WACAC,EAKCn4B,EALDm4B,UACAC,EAICp4B,EAJDo4B,YACA3qB,EAGCzN,EAHDyN,QACA4qB,EAECr4B,EAFDq4B,OACAC,EACCt4B,EADDs4B,UAEMC,EAAS,SAAA5vB,GAAK,YAAAS,OAAUT,IAC9B,SAAS6vB,EAAUC,GACjB,IAAMx2B,EAAOi2B,IAAeO,EAASd,EAASM,GAAiBN,EAASE,GACxE,OAAO/1B,IAAWnD,IAAOg5B,SAAR,MAAAvuB,OAAwBnH,IAY3C,SAASy2B,EAATnzB,GAAsC,IAAdozB,EAAcpzB,EAAdozB,WACtB,OAAO,WACAA,GAAeN,GAGpBA,EAAOM,IAIX,SAASC,EAAkBH,GAAQ,IACzBE,EAAsCF,EAAtCE,WAAYr1B,EAA0Bm1B,EAA1Bn1B,MAAOu1B,EAAmBJ,EAAnBI,eAE3B,OAhBF,SAAoBF,GAClB,OAAQ7oB,IAAQ6oB,IAAeN,EAe1BS,CAAWH,GAUdl3B,EAAAC,EAAAC,cAAA,UACExB,KAAK,SACLF,QAASy4B,EAAa,CAAEC,eACxB13B,UAAWtC,IAAOo6B,cAEjBz1B,EACAu1B,GAAkBp3B,EAAAC,EAAAC,cAACq3B,EAAA,EAAD,CAASv1B,QAASo1B,IACrCp3B,EAAAC,EAAAC,cAAA,KAAGV,UAAWu3B,EAAUG,MAfxBl3B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOs6B,YACpB31B,EACAu1B,GAAkBp3B,EAAAC,EAAAC,cAACq3B,EAAA,EAAD,CAASv1B,QAASo1B,KAmB7C,IAAMK,EAAUzrB,EAAQ5D,IAAI,SAAC4uB,EAAQ9vB,GAAT,OAC1BlH,EAAAC,EAAAC,cAAA,MAAIwH,IAAKovB,EAAO5vB,GAAQ1H,UAAS,YAAAmI,OAAcqvB,EAAOU,SAAWC,YAAWX,EAAOU,SACjF13B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO06B,QACrBZ,EAAOn1B,MADV,SAGA7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO26B,cAAe36B,IAAM,MAAAyK,OAAOqvB,EAAOU,YAClEP,EAAkBH,OAKzB,OAAIv3B,GAAa62B,EAEbt2B,EAAAC,EAAAC,cAAC43B,EAAD,CACElC,QAASA,EACTjV,WAAYkW,EACZnB,kBAAmBA,EACnBa,qBAAsBA,EACtBZ,QAAS3pB,EAAQhF,SAMrBhH,EAAAC,EAAAC,cAAA,SAAOE,IAAKy2B,GACV72B,EAAAC,EAAAC,cAAA,UACGw1B,GACC11B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO66B,gBACpB/3B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO26B,cAAe36B,IAAOw5B,YACtD12B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEvlB,UAAWtC,IAAOyP,SAClB0F,SA3Ed,WAEEskB,GADqBD,IA2ET1R,UAAW0R,MAKlBH,GAAwBv2B,EAAAC,EAAAC,cAAA,WACxBu3B,IAWTpB,EAAOl0B,UAAP,gEC/He,SAAS61B,EAATz5B,GAA2C,IAAnBqpB,EAAmBrpB,EAAnBqpB,SAAUqQ,EAAS15B,EAAT05B,MACzCC,EAAY,wBAAAvwB,OAA2BswB,EAA3B,YACZE,EAAmBn4B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOi7B,iBAAkBC,IAAI,kBAAkBC,IAAI,kBAE5F,OAAIzQ,EAEA5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOo7B,WACpBJ,GAMLl4B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOo7B,WACpBJ,EACDl4B,EAAAC,EAAAC,cAAA,sBAAci4B,EAAd,wCAKNH,EAAa71B,UAAb,eCnBe,SAASo2B,IAGtB,OACEv4B,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,QACN2G,KALoB,iBAMpBjG,UAAWtC,IAAOs7B,kBAElBx4B,EAAAC,EAAAC,cAAA,OACEk4B,IAAI,kBACJ54B,UAAWtC,IAAOi7B,iBAClBE,IAAI,kxBCNG,SAASI,EAATl6B,GAOZ,IANDq5B,EAMCr5B,EANDq5B,OACAc,EAKCn6B,EALDm6B,eACA1sB,EAICzN,EAJDyN,QACA1J,EAGC/D,EAHD+D,QACAsR,EAECrV,EAFDqV,SACAgU,EACCrpB,EADDqpB,SAEM+Q,EAAcna,EAAO,IAAIoa,IAAI5sB,EAAQ5D,IAAI,SAAA4uB,GAAM,OAAIA,EAAO6B,kBAEhE,SAASC,EAAmBpB,GAC1B9jB,EAAS8jB,GAAUE,EAAOF,IA2B5B,OACE13B,EAAAC,EAAAC,cAAC64B,EAAA,EAAD,CAA4Bv5B,UAAWtC,IAAO6H,WAC5C/E,EAAAC,EAAAC,cAAC84B,EAAA,EAAD,CAAO12B,QAASA,EAASP,MAAM,oBAC/B/B,EAAAC,EAAAC,cAACyN,EAAA,EAAD,CACEnO,UAAWtC,IAAO+7B,cAClBC,oBAAqBh8B,IAAOi8B,WAC5BC,aAAcxR,GAAY5nB,EAAAC,EAAAC,cAACq4B,EAAD,MAC1Bc,aAAa,QAEZV,EAAevwB,IAjCtB,SAAmBywB,EAAe3xB,GAKhC,IAAMkqB,EAAgB/iB,IAAQqqB,GAAiE,GAA/CA,EAAetwB,IAAI,SAAAtE,GAAA,OAAAA,EAAG4zB,UAChE4B,EACJttB,EAAQwC,OAAO,SAAAoU,GAAM,OAAIA,EAAOiW,gBAAkBA,IAEpD,OACE74B,EAAAC,EAAAC,cAACyN,EAAA,EAAD,CAAKjG,IAAKR,EAAO3D,GAAI2D,EAAOnF,MAAO82B,GACjC74B,EAAAC,EAAAC,cAACq5B,EAAA,EAAD,CACEj2B,QAASg2B,EACTE,WAAY,EACZ9I,oBAAqBxzB,IAAOu8B,WAC5BC,YAAaZ,EACb1H,aAAcA,EACduI,2BAhBN,SAAoC1B,GAClC,OAAOj4B,EAAAC,EAAAC,cAAC83B,EAAD,CAAcC,MAAOA,EAAOrQ,SAAUA,KAgBzCA,SAAUA,SAiBZA,GAAa5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgQ,UAU5CurB,EAAWt2B,UAAX,2CC9DA,SAASy3B,EAATr7B,GAAoF,IAAzDs7B,EAAyDt7B,EAAzDs7B,qBAAsBC,EAAmCv7B,EAAnCu7B,aAAcpE,EAAqBn3B,EAArBm3B,kBACvDqE,EAA2BD,EAAe,GAAK,GAAKA,EAE1D,SAASvpB,KAET,OACEvQ,EAAAC,EAAAC,cAAA,aACGiK,MAAM0vB,GAAsBzvB,KAAK,GAAGhC,IAAI,SAACqD,EAAMuuB,GAAP,OACvCh6B,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,OAAAC,OAASqyB,IAEbtE,GACC11B,EAAAC,EAAAC,cAAA,MAAIV,UAAW6M,IAAa4tB,cAAevyB,IAAG,oBAAAC,OAAsBqyB,IAClEh6B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CAAUvlB,UAAW6M,IAAaM,SAAU0F,SAAU9B,KAIzDpG,MAAM4vB,GAA0B3vB,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OAC3ClH,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,QAAAC,OAAUT,GAAS1H,UAAWtC,IAAOg9B,WAC1Cl6B,EAAAC,EAAAC,cAAC0J,EAAA,EAAD,CAAiBpK,UAAW6M,IAAapB,yBASvD2uB,EAAgB30B,aAAe,CAC7B40B,qBAAsB,IAGxBD,EAAgBz3B,UAAhB,GAMey3B,6rCC1BAO,MAlBf,WAAuB,IAAAjrB,EAAAC,EACmBC,mBAAS,IAD5B,GACdgrB,EADclrB,EAAA,GACAmrB,EADAnrB,EAAA,GAYrB,MAAO,CACLorB,UAVgB,SAAAC,GAAK,OAAI,qBACzBF,EAAel6B,EAAA,GACVi6B,KADU,KAEZG,KAASH,EAAaG,uGAQzBC,cAJoB,SAAAD,GAAK,QAAMH,EAAaG,yOCmDjC,SAASE,EAAT32B,GAsBZ,IArBDwyB,EAqBCxyB,EArBDwyB,iBACA72B,EAoBCqE,EApBDrE,UACAo6B,EAmBC/1B,EAnBD+1B,qBACA11B,EAkBCL,EAlBDK,KACAuxB,EAiBC5xB,EAjBD4xB,kBACAa,EAgBCzyB,EAhBDyyB,qBACAmE,EAeC52B,EAfD42B,oBACAC,EAcC72B,EAdD62B,oBACAb,EAaCh2B,EAbDg2B,aACAv6B,EAYCuE,EAZDvE,SACAq7B,EAWC92B,EAXD82B,UACAC,EAUC/2B,EAVD+2B,kBACAC,EASCh3B,EATDg3B,iBACAC,EAQCj3B,EARDi3B,mBACAC,EAOCl3B,EAPDk3B,sBACAC,EAMCn3B,EANDm3B,kBACAC,EAKCp3B,EALDo3B,oBACAC,EAICr3B,EAJDq3B,kBACAC,EAGCt3B,EAHDs3B,qBACAC,EAECv3B,EAFDu3B,mBACAC,EACCx3B,EADDw3B,cACCC,EACoCpB,IAA7BG,EADPiB,EACOjB,UAAWE,EADlBe,EACkBf,cACbgB,EAAiB9F,GAAqBa,EAAwBuD,EAAe,EAAIA,EAEvF,GAAIr6B,EACF,OACEO,EAAAC,EAAAC,cAACu7B,EAAD,CACE5B,qBAAsBA,EACtBvD,iBAAkBA,EAClBZ,kBAAmBA,EACnBoE,aAAcA,IAKpB,IAAK31B,GAASA,GAAwB,IAAhBA,EAAK6C,OAAe,CACxC,IAAM00B,EAAUr7B,IAAW86B,GAAqBj+B,IAAOy+B,cAEvD,OACE37B,EAAAC,EAAAC,cAAA,SAAOV,UAAWtC,IAAO0+B,UACvB57B,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MACEy1B,QAAS6F,EACTh8B,UAAWk8B,GAEX17B,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CAAkB55B,YAAa84B,OAyBzC,OACE/6B,EAAAC,EAAAC,cAAA,aACGiE,EAAKiE,IAAI,SAACqD,EAAMuuB,GAAP,OACRh6B,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAK+D,EAAKmvB,IAClB56B,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWC,YAAanlB,OAAOnL,EAAKmvB,IAAa1zB,MAAO8yB,EAAUgC,eAAgBX,GAC/E,SAACY,EAAUC,GAAX,OACCl8B,EAAAC,EAAAC,cAAA,KAAAi8B,EAAA,CACEz0B,IAAG,OAAAC,OAAS8D,EAAKmvB,IACjBx6B,IAAK67B,EAASt8B,SACdH,UAAWa,KAAYg7B,GAAsBa,EAASE,YAAcl/B,IAAOk/B,aACvEH,EAASI,gBAEZ3G,GACC11B,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,oBAAAC,OAAsB8D,EAAKmvB,KAChC56B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEvlB,UAAWtC,IAAOyP,SAClBqY,YAAa6V,EAAkBpvB,EAAKmvB,IACpCvoB,SAAU,kBAAMyoB,EAAiBrvB,OAKtC8qB,GACCv2B,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,oBAAAC,OAAsB8D,EAAKmvB,KAChC56B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOo/B,cACrBt8B,EAAAC,EAAAC,cAACq8B,EAAA,EAAD,CACElX,QAASzO,OAAOnL,EAAKmvB,MAAgBF,EACrCroB,SAAU,kBAAMsoB,EAAoBlvB,EAAKmvB,SAO/C4B,WAASC,QAAQl9B,GAAU6I,IAAI,SAACs0B,EAAOC,GAAR,OA5IjD,SAAAp+B,GAaG,IAZDm+B,EAYCn+B,EAZDm+B,MACA96B,EAWCrD,EAXDqD,MACA6J,EAUClN,EAVDkN,KACAkxB,EASCp+B,EATDo+B,UACA3C,EAQCz7B,EARDy7B,SACAY,EAOCr8B,EAPDq8B,UACAI,EAMCz8B,EANDy8B,sBACAR,EAKCj8B,EALDi8B,cACAF,EAIC/7B,EAJD+7B,UACAsC,EAGCr+B,EAHDq+B,gBACAR,EAEC79B,EAFD69B,WACAd,EACC/8B,EADD+8B,cAEA,OACEt7B,EAAAC,EAAAC,cAAC28B,EAAA,EAAwBvH,SAAzB,CACE5tB,IAAG,GAAAC,OAAK8D,EAAKmvB,GAAV,KAAAjzB,OAAwBqyB,EAAxB,KAAAryB,OAAoCg1B,GACvC/6B,MAAO,CAAEw6B,aAAYd,kBAGnBxU,IAAMgW,aAAaJ,EAAnBP,EAAA,GACKO,EAAMl6B,MADX,CAEEZ,MAAOA,GAASo5B,EAChBvvB,OACA+uB,gBACAF,YACAsC,kBACA5C,eAiH6D+C,CAAW,CAC9DL,QACAjxB,OACAkxB,YACA3C,WACAY,YACAI,wBACAp5B,MAAO6J,EAAKixB,EAAMl6B,MAAMk1B,SACxB8C,cAAeA,EAAc/uB,EAAKmvB,IAClCN,UAAWA,EAAU7uB,EAAKmvB,IAC1BgC,gBAAiBX,EAASW,gBAC1BR,WAAYF,EAASE,WACrBd,uBAMTL,GAAqBT,EAAc/uB,EAAKmvB,KAAeK,EAAkBkB,EAAA,GACrE1wB,EADoE,CAEvEiqB,oBACAmF,oBACAC,mBACAF,kBAILrE,GAAwB2E,GA7EzBl7B,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,oBAAAC,OAAsBxD,EAAK6C,SAChChH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOo/B,cACrBt8B,EAAAC,EAAAC,cAACq8B,EAAA,EAAD,CACElX,QAAShX,IAAQqsB,GACjBroB,SAAU,kBAAMsoB,EAAoB,SAI1C36B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO8/B,WAAYrH,QAAS6F,GAA3C,yBAqEDJ,GAKPX,EAAKx1B,aAAe,CAClB60B,aAAc,EACdiB,mBAAoB,uDACpBC,sBAAuBn0B,IACvBs0B,mBAAmB,GAGrBV,EAAKt4B,UAAL,iBCjNa86B,EAAqB,IACrBC,EAAsB,IACtBC,EAAoB,GACpBC,EAAmB,GACnBC,GAAwB,GACxBC,GAAyB,GACzBC,GAAmB,GACnBC,GAAkB,GAClBC,GAAkB,EAClBC,GAAwB,8iFCsBrC,IAAMC,GAAS,CACbjgC,QAASR,IAAM,QACfG,MAAOH,IAAOG,OASKugC,0SAAkB3W,kCACrC,SAAA2W,EAAYp7B,GAAO,IAAAq7B,EAAA,mGAAAC,CAAAC,KAAAH,IACjBC,EAAAG,EAAAC,KAAAF,KAAMv7B,IAcR07B,WAAapsB,sBAfM+rB,EAiBnBhH,UAAY/P,IAAMhV,YAjBC+rB,EAmBnBM,SAAWrX,IAAMhV,YAnBE+rB,EAqBnBO,gBAAkBtX,IAAMhV,YArBL+rB,EAuBnBQ,0BAA4B,SAACC,GAAc,IAAA//B,EASrC+/B,GAAa,GAPfC,EAFuChgC,EAEvCggC,iBACAC,EAHuCjgC,EAGvCigC,mBACAC,EAJuClgC,EAIvCkgC,cACAt6B,EALuC5F,EAKvC4F,KACAy2B,EANuCr8B,EAMvCq8B,UACArE,EAPuCh4B,EAOvCg4B,qBACAb,EARuCn3B,EAQvCm3B,kBAGMmF,EAAsBgD,EAAKhb,MAA3BgY,kBASR,GAPI0D,GACFG,OAAOC,SAAS,CACdC,IAAKf,EAAKM,SAAStuB,QAAQgvB,UAC3BC,SAAU,WAIVN,EAAoB,CACtB,IAAMpN,EAAeyM,EAAKkB,uBAAuBlE,GAE3CmE,EADiB76B,EAAKiE,IAAI,SAAAqD,GAAI,OAAImL,OAAOnL,EAAKmvB,MACtBnI,KAAK,SAAAhnB,GAAI,SAAI,IAAC2lB,EAAaoD,QAAS/oB,MAElEoyB,EAAKoB,SAAS,CAAEvI,eAAuBhnB,IAAXsvB,IAG9B,GAAIzI,IAAyBloB,IAAQowB,GAAgB,CACnD,IAAM5T,EAAe4T,EAAc,GAEnCZ,EAAKoB,SAAS,CAAEvE,oBAAqB9jB,OAAOiU,EAAa+P,MAGvDlF,IAAsBrnB,IAAQowB,KAChCA,EAAcrgB,QAAQ,SAAC3S,GAAWovB,EAAkBpvB,EAAKmvB,IAAcnvB,IACvEoyB,EAAKoB,SAAS,CAAEpE,uBAGdxsB,IAAQowB,IACVZ,EAAKoB,SAAS,CACZpE,kBAAmB,GACnBH,oBAAqB,GACrBhE,WAAW,KAlEEmH,EAkInBqB,4BAA8B,WAAM,IAAAC,EAO9BtB,EAAKr7B,MALPolB,EAFgCuX,EAEhCvX,SACAwX,EAHgCD,EAGhCC,eACAX,EAJgCU,EAIhCV,cACAY,EALgCF,EAKhCE,mBACAb,EANgCW,EAMhCX,mBAEIc,EAAqBb,GAAiBA,EAAcz3B,OACpDu4B,EAAsB1B,EAAKO,gBAAgBvuB,QAC3C2vB,EAAsB5X,EAAWqV,EAAqBC,EACtDuC,EAA0B7X,EAAWwV,EAAmBsC,YAAuB,CAAEN,mBAEjFO,EAAkBL,EADO1X,EAAWyV,GAAwBC,GACI,EAEhEsC,EADmBL,GAAwBA,EAAoBM,aAAeN,EAAoBO,cACrDrC,GAC7CsC,EAAuBnY,EAAW8V,GAAwB,EAC1DsC,EAA0BC,YAAgBrY,GAAY2V,GAAmB,EAE3E2C,EAAyBb,EAAqB7B,GAAkB,EAKpE,OAJKgB,IACH0B,EAAyBb,IAAuBC,EAAqB9B,GAAkB,GAGlFgC,EACHU,EACA/C,EACAsC,EACAE,EACAC,EACAI,EACAD,GAjKalC,EAoKnBkB,uBAAyB,SAAAlE,GAAiB,OAAI7J,OAAOC,KAAK4J,GACvDrsB,OAAO,SAAA9G,GAAG,OAAImzB,EAAkBnzB,MArKhBm2B,EAuKnBsC,qBAAuB,SAAAtF,GAAiB,OAAI7J,OAAOC,KAAK4J,GACrDrsB,OAAO,SAAA9G,GAAG,OAAImzB,EAAkBnzB,KAChCU,IAAI,SAAAqD,GAAI,OAAIovB,EAAkBpvB,MAzKdoyB,EA2KnBuC,sBAAwB,SAAAt8B,GAA6B,IAA1Bu8B,EAA0Bv8B,EAA1Bu8B,OAAWC,EAAezgC,GAAAiE,EAAA,YAAAy8B,EACS1C,EAAKr7B,MAAzDg+B,EAD2CD,EAC3CC,cAAeC,EAD4BF,EAC5BE,sBAAuB7F,EADK2F,EACL3F,UACtCC,EAAsBgD,EAAKhb,MAA3BgY,kBAER,GAAIwF,EAAQ,CACV,IADUK,GACM7F,EAAkBwF,EAAOzF,KACP,IAA1BxO,aAFE,IAAAsU,EAEM,GAFNA,EAGJ1b,EAAYoH,EAAMuU,KACtB,SAAAC,GAAA,OAAAA,EAAIhG,KAAkD0F,EAAS1F,KAGjEC,EAAkBwF,EAAOzF,IAAzBiG,GAAA,GACKhG,EAAkBwF,EAAOzF,IAAcC,EAAkBwF,EAAOzF,IAAcyF,EADnF,CAEEjU,MAAOpH,EACHoH,EAAM5d,OAAO,SAAAsyB,GAAA,OAAAA,EAAIlG,KAAkD0F,EAAS1F,KADhE,GAAAjzB,OAAAo5B,GAER3U,GAFQ,CAEDkU,WAGjBzF,EAAkByF,EAAS1F,IAAeC,EAAkByF,EAAS1F,IAEjE,KADA0F,EAINzC,EAAKoB,SAAS,CAAEpE,sBAEhB2F,GAAiBA,EAAc3C,EAAKsC,qBAAqBtF,IAErD4F,GACFA,KAvMe5C,EA2MnBmD,sBAAwB,SAACzhC,GAAa,IAC5B0hC,EAAkBpD,EAAKr7B,MAAvBy+B,cACR,OAAOzE,WAASC,QAAQl9B,GACrBiP,OAAO,SAAA0yB,GAAA,IAAG1+B,EAAH0+B,EAAG1+B,MAAH,OAAgBy+B,EAAcz+B,EAAMk1B,YA9M7BmG,EAiNnBsD,gBAAkB,SAACC,GAAa,IAAAC,EACoCxD,EAAKr7B,MAA/D2B,EADsBk9B,EACtBl9B,KAAMy2B,EADgByG,EAChBzG,UAAW4F,EADKa,EACLb,cAAeC,EADVY,EACUZ,sBAChC5F,EAAsBgD,EAAKhb,MAA3BgY,kBAER12B,EAAKia,QAAQ,SAAC3S,GACZovB,EAAkBpvB,EAAKmvB,IAAcwG,EAAW31B,EAAO,OAGzDoyB,EAAKoB,SAAS,CACZpE,oBACAnE,UAAW0K,IAGbZ,GAAiBA,EAAc3C,EAAKsC,qBAAqBtF,IAErD4F,GACFA,KAjOe5C,EAqOnByD,wBAA0B,SAACC,GAAgB,IAAAC,EACE3D,EAAKr7B,MAAxC2B,EADiCq9B,EACjCr9B,KAAMy2B,EAD2B4G,EAC3B5G,UAAW4F,EADgBgB,EAChBhB,cAEzB3C,EAAKoB,SAAS,CAAEvE,oBAAqB9jB,OAAO2qB,KAE5Cf,GAAiBA,EAAcr8B,EAAKqK,OAAO,SAAA/C,GAAI,OAAImL,OAAOnL,EAAKmvB,MAAgBhkB,OAAO2qB,OA1OrE1D,EA6OnB4D,mBAAqB,kBAAMC,WAAW7D,EAAKK,WAAWruB,QAAQ8xB,WAAY,IA7OvD9D,EA+OnBnF,eAAiB,WAAM,IAAAkJ,EACc/D,EAAKr7B,MAAhCwJ,EADa41B,EACb51B,QAASi1B,EADIW,EACJX,cACjB,OAAOj1B,EAAQwC,OAAO,SAAAqzB,GAAG,OAAKZ,EAAcY,EAAInK,YAjP/BmG,EAoPnBiE,qBAAuB,WAAM,IAAAC,EAMvBlE,EAAKr7B,MAJPwJ,EAFyB+1B,EAEzB/1B,QACAi1B,EAHyBc,EAGzBd,cACAe,EAJyBD,EAIzBC,eACApa,EALyBma,EAKzBna,SAEF,IAAKoa,EACH,OAAO,KAGT,IAAMvI,EAAaztB,EAAQwC,OAAO,SAAAwoB,GAAM,OAA2B,IAAvBA,EAAOiL,cAEnD,OACEjiC,EAAAC,EAAAC,cAACu4B,EAAD,CACEzsB,QAASytB,EACTf,eAAgBmF,EAAKnF,iBACrBd,OAAQqJ,EACRrtB,SAAUouB,EACV1/B,QAASu7B,EAAK4D,mBACd7Z,SAAUA,KArQdiW,EAAKqE,aAAerE,EAAKqE,aAAaC,KAAlBC,GAAAvE,IAEpBA,EAAKhb,MAAQ,CACXgd,aAAchC,EAAKqB,8BACnBrE,kBAAmB,GACnBnE,WAAW,EACX2L,kBAAkB,EAClB3H,oBAAqB,GACrB4H,kBAAmB5D,OAAO6D,aAXX1E,iDAuEnB,SAAmB1J,GAAW,IAAAqO,EACkDzE,KAAKv7B,MAA3EozB,EADoB4M,EACpB5M,QAASn2B,EADW+iC,EACX/iC,UAAWgjC,EADAD,EACAC,eAAgBhE,EADhB+D,EACgB/D,cAAeW,EAD/BoD,EAC+BpD,eAE3D,GAAIxJ,GACC6M,IAEDhjC,IAAc00B,EAAU10B,WACrBg/B,EAAcz3B,SAAWmtB,EAAUsK,cAAcz3B,QACjDo4B,IAAmBjL,EAAUiL,gBAC/B,CACH,IAAMS,EAAe9B,KAAKmB,8BAE1BnB,KAAKkB,SAAS,SAAAyD,GAAS,OAAA7B,GAAA,GAAU6B,EAAV,CAAqB7C,qDAIhD,WAAoB,IAAA8C,EACsF5E,KAAKv7B,MAArG2B,EADUw+B,EACVx+B,KAAMs6B,EADIkE,EACJlE,cAAeD,EADXmE,EACWnE,mBAAoB5D,EAD/B+H,EAC+B/H,UAAWrE,EAD1CoM,EAC0CpM,qBAAsBb,EADhEiN,EACgEjN,kBAC1EmF,EAAsBkD,KAAKlb,MAA3BgY,kBAWR,GATInF,IAAsBrnB,IAAQowB,KAChCA,EAAcrgB,QAAQ,SAAC3S,GACrBovB,EAAkBpvB,EAAKmvB,IAAeC,EAAkBpvB,EAAKmvB,IAAqB,KAAPnvB,IAI7EsyB,KAAKkB,SAAS,CAAEpE,uBAGd2D,EAAoB,CACtB,IAAMpN,EAAe2M,KAAKgB,uBAAuBlE,GAE3CmE,EADiB76B,EAAKiE,IAAI,SAAAqD,GAAI,OAAImL,OAAOnL,EAAKmvB,MACtBnI,KAAK,SAAAhnB,GAAI,SAAI,IAAC2lB,EAAaoD,QAAS/oB,MAGlEsyB,KAAKkB,SAAS,CAAEvI,eAAuBhnB,IAAXsvB,IAG9B,GAAIzI,IAAyBloB,IAAQowB,GAAgB,CACnD,IAAM5T,EAAe4T,EAAc,GAGnCV,KAAKkB,SAAS,CAAEvE,oBAAqB9jB,OAAOiU,EAAa+P,MAI3D8D,OAAOkE,iBAAiB,SAAU7E,KAAKmE,kDAGzC,WACExD,OAAOmE,oBAAoB,SAAU9E,KAAKmE,0CAG5C,WACEnE,KAAKkB,SAAS,CACZqD,kBAAmB5D,OAAO6D,oCA+I9B,WAAS,IAAAO,EAAA/E,KAAAgF,EA+BHhF,KAAKv7B,MA7BPozB,EAFKmN,EAELnN,QACAn2B,EAHKsjC,EAGLtjC,UACA62B,EAJKyM,EAILzM,iBACAuD,EALKkJ,EAKLlJ,qBACA11B,EANK4+B,EAML5+B,KACAyyB,EAPKmM,EAOLnM,OACAH,EARKsM,EAQLtM,WACAD,EATKuM,EASLvM,cACAwM,EAVKD,EAULC,eACAhB,EAXKe,EAWLf,eACApH,EAZKmI,EAYLnI,UACAlF,EAbKqN,EAaLrN,kBACAa,EAdKwM,EAcLxM,qBACA2E,EAfK6H,EAeL7H,oBACAH,EAhBKgI,EAgBLhI,mBACAC,EAjBK+H,EAiBL/H,sBACAiI,EAlBKF,EAkBLE,WACAhI,EAnBK8H,EAmBL9H,kBACAwH,EApBKM,EAoBLN,eACAS,EArBKH,EAqBLG,sBACAC,EAtBKJ,EAsBLI,wBACArkC,EAvBKikC,EAuBLjkC,MACAskC,EAxBKL,EAwBLK,eACAjI,EAzBK4H,EAyBL5H,kBACAkI,EA1BKN,EA0BLM,YACAhI,EA3BK0H,EA2BL1H,mBACAiI,EA5BKP,EA4BLO,UACAhI,EA7BKyH,EA6BLzH,cACA1T,EA9BKmb,EA8BLnb,SA9BK2b,EAgCwFxF,KAAKlb,MAA5F6T,EAhCD6M,EAgCC7M,UAAWmE,EAhCZ0I,EAgCY1I,kBAAmBgF,EAhC/B0D,EAgC+B1D,aAAcnF,EAhC7C6I,EAgC6C7I,oBAAqB4H,EAhClEiB,EAgCkEjB,kBACvDkB,EAAkBzF,KAAKv7B,MAAjCjD,SACFA,EAAWw+B,KAAKiD,sBAAsBwC,GAExC5iB,EAAQqiB,EACRrN,GAAW6M,IAAgB7hB,EAAKigB,GAAA,GAAQjgB,EAAR,CAAe6iB,OAAQnB,EAAoBzC,KAE/E,IAAM6D,EAA2BrjC,IAC/BnD,IAAOymC,eACPX,GACCpN,GAAW14B,IAAO0mC,cACnBT,GAGF,OACEnjC,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IACTu1B,GAAW14B,IAAO2mC,WAClBpB,GAAkBvlC,IAAO0N,UACzB+yB,GAAO7+B,GACPskC,GAAkBlmC,IAAO4mC,aACzBZ,GAEF9iC,IAAK29B,KAAKI,UAEVn+B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6mC,aAAcrO,GAAqBx4B,IAAO8mC,cAAe5jC,IAAK29B,KAAKK,kBACjG3+B,GAAauiC,GACbhiC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+mC,uBACrBjkC,EAAAC,EAAAC,cAACgkC,EAAA,EAAD,CACEC,SAAO,EACPxjB,WAAYod,KAAKG,WACjBl8B,QAAS+7B,KAAK+D,qBACdtiC,UAAWtC,IAAOu8B,YAElBz5B,EAAAC,EAAAC,cAACgpB,EAAA,EAAD,CAAgBlmB,SAAS,QAAQk7B,WAAYH,KAAKG,eAIxDl+B,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAOknC,cACxBxO,GAAW51B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOmnC,eAClCrkC,EAAAC,EAAAC,cAAA,OACEV,UAAWkkC,EACX9iB,MAAKigB,GAAA,GACAjgB,EADA,CAEH6iB,OAAQ7iB,EAAM6iB,QAAU7b,EAhWX,GAgW6C,MAG5D5nB,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAiBwH,UAAWA,GAC1BtjC,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWuH,YAAaA,EAAahI,mBAAoBA,GACtD,SAAAY,GAAQ,OACPj8B,EAAAC,EAAAC,cAAA,SAAOE,IAAK67B,EAASt8B,UACnBK,EAAAC,EAAAC,cAACm2B,EAAD,CACEC,iBAAkBA,EAClB72B,UAAWA,EACXo3B,UAAWiM,EAAKjM,UAChBnB,kBAAmBA,EACnBa,qBAAsBA,EACtBE,WAAYA,EACZD,cAAeA,EACfE,UAAWA,EACX1qB,QAAS82B,EAAKpK,iBACd/B,YAAamM,EAAK3B,gBAClBvK,OAAQA,EACRhB,QAASA,IAEX51B,EAAAC,EAAAC,cAACu6B,EAAD,CACEnE,iBAAkBA,EAClB72B,UAAWA,EACXo6B,qBAAsBA,EACtB11B,KAAMA,EACN21B,aAAcgJ,EAAKpK,iBAAiB1xB,OACpC0uB,kBAAmBA,EACnBa,qBAAsBA,EACtB2E,oBAAqBA,EACrBR,oBAAqBA,EACrBC,oBAAqBmI,EAAKxB,wBAC1B1G,UAAWA,EACXC,kBAAmBA,EACnBC,iBAAkBgI,EAAK1C,sBACvBrF,mBAAoBA,EACpBC,sBAAuBA,EACvBC,kBAAmBA,EACnBE,kBAAmBA,EACnBC,qBAAsBa,EAAShqB,YAC/BopB,mBAAoBA,EACpBC,cAAeA,GAEd/7B,qGAezBq+B,GAAUz7B,UAAV,GAqDAy7B,GAAU34B,aAAe,CACvBg8B,cAAe,GACf98B,KAAM,GACNy2B,UAAW,KACXlF,mBAAmB,EACnBa,sBAAsB,EACtB2E,qBAAqB,EACrBqD,kBAAkB,EAClB3I,SAAS,EACThO,UAAU,EACVyX,oBAAoB,EACpBoD,gBAAgB,EAChB3jC,MAAO,UACPskC,gBAAgB,EAChB3E,cAAe,GACf4E,YAAa,kBACbhI,oBAAoB,EACpBiI,UAAW,aACXhI,eAAe,EACf2H,WAAY,qCCtgBdniC,EAAAC,EAAAC,EAAA,sBAAAyc,IAAA3c,EAAAC,EAAAC,EAAA,sBAAA+d,IAAAje,EAAAC,EAAAC,EAAA,sBAAA4d,IAAA9d,EAAAC,EAAAC,EAAA,sBAAA6d,IAAA/d,EAAAC,EAAAC,EAAA,sBAAAyd,IAAA3d,EAAAC,EAAAC,EAAA,sBAAA0d,IAAA5d,EAAAC,EAAAC,EAAA,sBAAAsjC,IAAA,IAAAC,EAAAzjC,EAAA,IAAA0jC,EAAA1jC,EAAAsI,EAAAm7B,GAEa9mB,EAAmB,SACnBsB,EAAmB,iBAAM,kBAEzBH,EAAyB,SAAAhd,GAAK,OAAIoc,IAAQpc,IAA2B,IAAjBA,EAAMoF,QAC1D6X,EAAe,SAAAjd,GAAK,OAAKoc,IAAQpc,KAAWA,GAE5C6c,EAA2B,SAAC7c,EAAO0B,GAAR,OACtC1B,GAAS0B,IAA6B,kBAAV1B,GAAuC,kBAAVA,IAAuB0B,EAAQkL,OAAQ,SAAAoU,GAAM,OAAIA,EAAOhhB,QAAUA,KAEhH8c,EAAmB,SAAC9c,EAAO0B,GAAR,OAC9B1B,GAAS0B,GAA4B,kBAAV1B,GAAsB0B,EAAQkL,OAAQ,SAAAoU,GAAM,OAAIA,EAAOhhB,QAAUA,EAAMA,SAEvF0iC,EAA8B,SAAA/lC,GAAA,IAAGqD,EAAHrD,EAAGqD,MAAOlD,EAAVH,EAAUG,KAAV,SAAAiJ,OAAwBjJ,GAAxBiJ,OAA+B/F,qtBCN1E,SAAS6iC,EAATlmC,GAAgF,IAAzDgB,EAAyDhB,EAAzDgB,SAAUC,EAA+CjB,EAA/CiB,UAAW4N,EAAoC7O,EAApC6O,mBAAuBxN,EAAaC,EAAAtB,EAAA,+CAC9E,OACEyB,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO6H,UAAWqI,IAC5CpN,EAAAC,EAAAC,cAACwkC,EAADvkC,EAAA,GAAWP,EAAX,CAAsBJ,UAAWa,IAAWnD,IAAOe,MAAOuB,KACvDD,IAMTklC,EAAYtiC,UAAZ,GAMesiC,QCxBf3jC,EAAAC,EAAAC,EAAA,sBAAA2jC,IAMA,IAAMC,EAAc,CAClBlnC,QAASR,IAAM,QACfD,QAASC,IAAOD,QAChBI,MAAOH,IAAOG,MACd4sB,OAAQ/sB,IAAO+sB,OACf4a,KAAM3nC,IAAO2nC,KACbl8B,IAAKzL,IAAOyL,IACZm8B,cAAe5nC,IAAO4nC,cACtBC,SAAU7nC,IAAO6nC,SACjBnnC,OAAQV,IAAOU,QAGKozB,OAAOC,KAAK2T,GAElC,SAASI,EAATzmC,GAAyD,IAAxCO,EAAwCP,EAAxCO,MAAOU,EAAiCjB,EAAjCiB,UAAWD,EAAsBhB,EAAtBgB,SAAUX,EAAYL,EAAZK,SAC3C,OACEoB,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTnD,IAAOe,MACP2mC,EAAY9lC,GACZU,EACAZ,GAAY1B,IAAO4C,aAGpBP,GAKPylC,EAAM//B,aAAe,CACnBnG,MAAO,WAGTkmC,EAAM7iC,UAAN,GAOe6iC,uICpCf,SAASC,EAAT1mC,GAA2E,IAAnDwD,EAAmDxD,EAAnDwD,MAAOC,EAA4CzD,EAA5CyD,QAASkjC,EAAmC3mC,EAAnC2mC,QAASjzB,EAA0B1T,EAA1B0T,YAAazS,EAAajB,EAAbiB,UACtDyM,EAAcjM,EAAAC,EAAAC,cAACilC,EAAA,EAAD,CAAaD,QAASA,EAASpmC,MAAM,UAEzD,OACEkB,EAAAC,EAAAC,cAACklC,EAAD,CACErjC,MAAOA,EACPkK,YAAaA,EACbqI,gBAAiBpX,IAAOwN,OACxB26B,2BAA4BnoC,IAAOooC,YACnC9lC,UAAWa,IAAWnD,IAAOgF,KAAMhF,IAAOa,OAAQyB,GAClDV,MAAM,UAELmT,GACCjS,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAsBvuB,UAAWtC,IAAO+U,aAAcA,GAEvDjQ,GAKPijC,EAAa9iC,UAAb,GAmBe8iC,0BCjDfnkC,EAAAC,EAAAC,EAAA,sBAAAukC,IAQA,IAAMC,EAAkB,CACtBC,KAAMvoC,IAAOuoC,KACbC,OAAQxoC,IAAOwoC,OACfC,MAAOzoC,IAAOyoC,OAGVhI,EAAS,CACbjgC,QAASR,IAAM,QACf0oC,MAAO1oC,IAAO0oC,MACdpqB,KAAMte,IAAOse,KACbne,MAAOH,IAAOG,MACdU,OAAQb,IAAOa,OACfJ,KAAM,MAGR,SAASyO,EAAT7N,GAaG,IAZDgF,EAYChF,EAZDgF,GACAxB,EAWCxD,EAXDwD,MACAkK,EAUC1N,EAVD0N,YACA1M,EASChB,EATDgB,SACAsmC,EAQCtnC,EARDsnC,YACAC,EAOCvnC,EAPDunC,eACAtmC,EAMCjB,EANDiB,UACA6G,EAKC9H,EALD8H,eACAiO,EAIC/V,EAJD+V,gBACA+wB,EAGC9mC,EAHD8mC,2BACA9wB,EAEChW,EAFDgW,gBACAzV,EACCP,EADDO,MAEMinC,EAAkBhkC,GAASkK,EAEjC,OACEjM,EAAAC,EAAAC,cAAA,OAAKqD,GAAIA,EAAI/D,UAAWa,IAAWnD,IAAOgF,KAAMy7B,EAAO7+B,GAAQU,IAC5DumC,GACC/lC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOwN,OAAQ4J,IACvCvS,GAAS/B,EAAAC,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,IAAO6E,MAAOsE,IAAkBtE,GACnEkK,GAAejM,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWglC,IAA8Bp5B,IAI5E1M,EAEAsmC,GACC7lC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOgQ,OAAQs4B,EAAgBM,GAAiBvxB,IACxEsxB,IAOXz5B,EAAKnH,aAAe,CAClB6gC,eAAgB,QAChBhnC,MAAO,WAGTsN,EAAKjK,UAAL,GAsBeiK,8CCtFftL,EAAAC,EAAAC,EAAA,sBAAAglC,IAAAllC,EAAAC,EAAAC,EAAA,sBAAAilC,IAAAnlC,EAAAC,EAAAC,EAAA,sBAAAklC,IAAAplC,EAAAC,EAAAC,EAAA,sBAAAmlC,IAAArlC,EAAAC,EAAAC,EAAA,sBAAAolC,IAAAtlC,EAAAC,EAAAC,EAAA,sBAAAqlC,IAAAvlC,EAAAC,EAAAC,EAAA,sBAAAslC,IAAAxlC,EAAAC,EAAAC,EAAA,sBAAAulC,IAAAzlC,EAAAC,EAAAC,EAAA,sBAAAwlC,IAAA1lC,EAAAC,EAAAC,EAAA,sBAAAylC,IAAA3lC,EAAAC,EAAAC,EAAA,sBAAA0lC,IAAA5lC,EAAAC,EAAAC,EAAA,sBAAA2lC,IAAA7lC,EAAAC,EAAAC,EAAA,sBAAA4lC,IAAA9lC,EAAAC,EAAAC,EAAA,sBAAA6lC,IAAA/lC,EAAAC,EAAAC,EAAA,sBAAA8lC,IAAAhmC,EAAAC,EAAAC,EAAA,sBAAA+lC,IAAAjmC,EAAAC,EAAAC,EAAA,sBAAAgmC,IAAAlmC,EAAAC,EAAAC,EAAA,sBAAAimC,IAAAnmC,EAAAC,EAAAC,EAAA,sBAAAkmC,IAAO,IAAMlB,EAAqB,WACrBC,EAAkB,QAClBC,EAAkB,SAClBC,EAAqB,WACrBC,EAAoB,UACpBC,EAAiB,OACjBC,EAAoB,eAGpBC,EAAoB,IAEpBC,EAAe,CAC1B,CACE3kC,MAAO,gBACPD,MAAOqkC,GAET,CACEpkC,MAAO,aACPD,MAAOokC,GAET,CACEnkC,MAAO,mBACPD,MAAOskC,GAET,CACErkC,MAAO,iBACPD,MAAOukC,GAET,CACEtkC,MAAO,SACPD,MAAOwkC,GAET,CACEvkC,MAAO,OACPD,MAAOykC,GAET,CACExkC,MAAO,eACPD,MAAO0kC,IAIEG,EAAgB,CAC3BU,IAAK,MACLC,iBAAkB,oBAGPV,EAAwB,CACnC,CACE7kC,MAAO,WACPD,MAAO6kC,EAAcU,KAEvB,CACEtlC,MAAO,yBACPD,MAAO6kC,EAAcW,mBAIZT,EAAyB,CACpC,CACE9kC,MAAO,MACPD,OAAO,GAET,CACEC,MAAO,KACPD,OAAO,IAIJ,SAASglC,EAAwBS,GAAmC,IACnEzkB,GADmEnT,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAd+2B,GAC/B/T,KAAK,SAAAhnB,GAAI,OAAIA,EAAK7J,QAAUylC,IAExD,OAAKzkB,EAIEA,EAAO/gB,MAHL,QAMJ,IAAMglC,EAAqB,CAChCS,UAAW,aACXrlC,YAAa,cACbslC,UAAW,aACXx1B,KAAM,OACNy1B,SAAU,WACVC,MAAO,QACPnkC,QAAS,UACTokC,SAAU,WACVC,QAAS,UACTC,WAAY,WACZhyB,OAAQ,SACRiyB,aAAc,gBAGHf,EAAmB,oCACnBC,EAAqB,oCACrBC,EAAe,wEACfC,EAAmB,gBACnBC,EAA0B,uaClGvC,IAiCaY,EAAY,CACvBC,qBAAsB,uBACtBC,kBAAmB,oBACnBC,iBAAkB,mBAClBC,4BAA6B,8BAC7BC,0BAA2B,4BAC3BC,SAAU,WACVC,WAAY,aACZC,sBAAuB,wBACvBC,gBAAiB,kBACjBC,WAAY,aACZC,MAAO,QACPC,wBAAyB,0BACzBC,4BAA6B,8BAC7BC,WAAY,aACZC,2BAA4B,6BAC5BC,gBAAiB,kBACjBC,mBAAoB,qBACpBC,2BAA4B,6BAC5BC,eAAgB,iBAChBC,uBAAwB,0BAObC,EAAKhpC,EAAA,GA5DH,CACbipC,iBAAkB,mBAClBC,mBAAoB,qBACpBC,YAAa,cACbC,cAAe,gBACfC,gBAAiB,kBACjBC,UAAW,YACXC,gBAAiB,kBACjBC,gBAAiB,kBACjBC,kBAAmB,oBACnBC,qBAAsB,wBAkDN,GA/CL,CACXC,WAAY,aACZC,aAAc,gBA6CE,GA1CC,CACjBC,iBAAkB,mBAClBC,mBAAoB,sBAwCJ,GArCA,CAChBC,gBAAiB,kBACjBC,kBAAmB,qBAmCH,GAhCQ,CACxBC,SAAU,WACVC,iBAAkB,oBA8BF,GAMbvC,EANa,CAOhBwC,YAXkB,cAYlBC,KAVW,sFCrCb,SAASC,EAATjsC,GAAoC,IAAZgB,EAAYhB,EAAZgB,SACtB,OACES,EAAAC,EAAAC,cAACuqC,EAAA,SAAD,KACGlrC,GApBPmrC,OAAKC,SAAS,CACZC,OAAQ,SACRC,MAAO,CACL,CAAEzS,IAAK,iCAAkC0S,WAAY,KACrD,CAAE1S,IAAK,uCAAwC0S,WAAY,IAAK/oB,UAAW,UAC3E,CAAEqW,IAAK,mCAAoC0S,WAAY,KACvD,CAAE1S,IAAK,kCAAmC0S,WAAY,KACtD,CAAE1S,IAAK,gCAAiC0S,WAAY,KACpD,CAAE1S,IAAK,iCAAkC0S,WAAY,QAIzDJ,OAAKK,oBAAoB,CACvB9zB,IAAK,6CACL+zB,OAAQ,QAWVR,EAAaroC,UAAb,GAIeqoC,QC7BTttC,EAAS+tC,aAAWC,OAAO,CAC/BC,KAAM,CACJroB,QAAS,GACTsoB,WAAY,YAIhB,SAASC,EAAT9sC,GAAgC,IAAZgB,EAAYhB,EAAZgB,SAClB,OACES,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMzrC,KAAK,KAAK4hB,MAAO1jB,EAAOiuC,KAAMG,MAAI,GACrC/rC,GAKP8rC,EAASlpC,UAAT,GAIekpC,gBCjBTnuC,EAAS+tC,aAAWC,OAAO,CAC/BK,cAAe,CACbvoC,SAAU,WACVwoC,OAAQ,GACR/F,KAAM,GACNE,MAAO,GACP8F,cAAe,MACf5pB,eAAgB,gBAChB6pB,WAAY,SACZxoB,MAAOnK,sBAET4yB,WAAY,CACVC,SAAU,GACVd,WAAY,OAIhB,SAASe,EAATttC,GAA+D,IAArCutC,EAAqCvtC,EAArCutC,YAAaC,EAAwBxtC,EAAxBwtC,qBASrC,OACE/rC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,OAAK,EAACprB,MAAO1jB,EAAOquC,eACxBvrC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,OAAK,GAAEF,GACb9rC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACE7pB,MAAO1jB,EAAOyuC,WACdhnC,OAbN,SAAAb,GAA0C,IAAdmoC,EAAcnoC,EAAdmoC,WAC1B,OAAIF,EACF,QAAApkC,OAAeskC,GAGV,IASHD,OAAK,KAMbH,EAAe1pC,UAAf,GAKe0pC,iDCtCT3uC,EAAS+tC,aAAWC,OAAO,CAC/BgB,cAAe,CACbT,cAAe,MACf5pB,eAAgB,gBAChB6pB,WAAY,aACZxoB,MAAOnK,qBACPmJ,cAAe,IAEjBtV,MAAO,CACL62B,OAAQ,GACR0I,SAAU,IACVC,UAAW,GAEbC,iBAAkB,CAChBC,KAAM,EACNC,QAAS,OACTd,cAAe,SACfU,SAAU,QAEZK,WAAY,CACVF,KAAM,EACNG,UAAW,GACXb,SAAU,GACVd,WAAY,IACZ4B,UAAW,QACXxpB,MAAOnK,sBAET4zB,UAAW,CACTL,KAAM,EACNV,SAAU,GACVd,WAAY,IACZ4B,UAAW,QACXxpB,MAAOnK,wBAIX,SAAS6zB,EAATruC,GAA8E,IAArDsuC,EAAqDtuC,EAArDsuC,QAAS9qC,EAA4CxD,EAA5CwD,MAAOsxB,EAAqC90B,EAArC80B,KAAMyZ,EAA+BvuC,EAA/BuuC,SAAUd,EAAqBztC,EAArBytC,MAAOe,EAAcxuC,EAAdwuC,WACxDC,EAAc3Z,GAAQC,MAAS0X,OAAOiC,KAE5C,OACEjtC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOgvC,cAAeF,MAAOA,GACvCc,GACC9sC,EAAAC,EAAAC,cAACuqC,EAAA,MAAD,CACErS,IAAK8U,YAAgBL,GACrBjsB,MAAO,CAAC1jB,EAAO0P,MAAOmgC,KAG1B/sC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOmvC,kBAClBrsC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOsvC,YAApB,WAAyCQ,EAAzC,KACCjrC,GAAS/B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOyvC,WAAY5qC,KAMlD6qC,EAAc3nC,aAAe,CAC3B6nC,UAAU,EACVD,QAASM,KAGXP,EAAczqC,UAAd,GASeyqC,iQCzEf,IAAM1vC,EAAS+tC,aAAWC,OAAO,CAC/BkC,UAAW,CACTtC,WAAY,IACZc,SAAU,GACV1oB,MAAOnK,qBACPmJ,cAAe,KAInB,SAASmrB,EAAT9uC,GAA6C,IAAvBsD,EAAuBtD,EAAvBsD,MAAO+e,EAAgBriB,EAAhBqiB,MAAOorB,EAASztC,EAATytC,MAClC,GAAI39B,IAAQxM,GACV,OAAO,KAGT,IAAMyrC,EAAYntC,EAAA,GAAQjD,EAAOkwC,UAAf,GAA6BxsB,GAE/C,OACE5gB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,MAAOA,EAAOprB,MAAO0sB,GAAezrC,GAI9CwrC,EAAWpoC,aAAe,CACxB2b,MAAO,GACPorB,OAAO,GAGTqB,EAAWlrC,UAAX,GAMekrC,2OC5Bf,IAAMnwC,EAAS+tC,aAAWC,OAAO,CAC/BqC,UAAW,CACTzC,WAAY,IACZc,SAAU,GACV1oB,MAAOhK,qBACPgJ,cAAe,GAEjBsrB,YAAa,CACXC,eAAgB,QAElBC,UAAW,CACT5C,WAAY,IACZc,SAAU,GACV1oB,MAAOnK,qBACPmJ,cAAe,KAInB,SAASyrB,EAATpvC,GASG,IARDykC,EAQCzkC,EARDykC,eACAnhC,EAOCtD,EAPDsD,MACA4D,EAMClH,EANDkH,KACA7D,EAKCrD,EALDqD,MACAgsC,EAICrvC,EAJDqvC,YACAC,EAGCtvC,EAHDsvC,UACAC,EAECvvC,EAFDuvC,eACAC,EACCxvC,EADDwvC,WAEA,GAAI1/B,IAAQ5I,GAAO,CACjB,IAAMuoC,EAAUC,EAAA,GACX/wC,EAAOwwC,UADI,GAEXI,GAGL,OACE9tC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOoiB,GACXhjC,EAAAC,EAAAC,cAACguC,EAAD,CAAYttB,MAAOmtB,EAAYlsC,MAAOA,IACtC7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOotB,GAAapsC,GAASiF,MAKzC,IAAMymC,EAAYW,EAAA,GACb/wC,EAAOqwC,UADM,GAEXK,EAAmC,GAArB1wC,EAAOswC,YAFV,GAGbK,GAGL,OACE7tC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOoiB,GACXhjC,EAAAC,EAAAC,cAACguC,EAAD,CAAYttB,MAAOmtB,EAAYlsC,MAAOA,IACtC7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMrS,IAAK3yB,EAAMmb,MAAO0sB,GAAe1rC,GAAS6D,IAKtDkoC,EAAU1oC,aAAe,CACvB8oC,WAAY,GACZH,aAAa,GAOfD,EAAUxrC,UAAV,GAWewrC,2OC9Ef,IAAMzwC,EAAS+tC,aAAWC,OAAO,CAC/BqC,UAAW,CACTzC,WAAY,IACZc,SAAU,GACV1oB,MAAOnK,qBACPmJ,cAAe,KAInB,SAASisB,EAAT5vC,GAAgF,IAA3DqiB,EAA2DriB,EAA3DqiB,MAAO/e,EAAoDtD,EAApDsD,MAAOD,EAA6CrD,EAA7CqD,MAAOwsC,EAAsC7vC,EAAtC6vC,UAAWL,EAA2BxvC,EAA3BwvC,WAAYzC,EAAe/sC,EAAf+sC,KAAMU,EAASztC,EAATytC,MAC/DqC,EAAgBC,EAAA,GAAQpxC,EAAOqwC,UAAf,GAA6Ba,GAC7CG,EAAiBD,EAAA,GAAQpxC,EAAOqwC,UAAf,GAA6BQ,GAEpD,OACE/tC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,MAAOA,EAAOprB,MAAOA,EAAO0qB,KAAMA,GACrCzpC,GAAS7B,EAAAC,EAAAC,cAACguC,EAAD,CAAYlC,MAAOA,EAAOnqC,MAAOA,EAAO+e,MAAO2tB,EAAmBjD,KAAMA,IAClFtrC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,MAAOA,EAAOV,KAAMA,EAAM1qB,MAAOytB,GAAmBzsC,GAASiF,MAKzEsnC,EAAUlpC,aAAe,CACvB2b,MAAO,GACP0qB,MAAM,EACNkD,YAAY,EACZxC,OAAO,GAGTmC,EAAUhsC,UAAV,GAcegsC,QCzCTjxC,EAAS+tC,aAAWC,OAAO,CAC/BqC,UAAW,CACTzC,WAAY,IACZc,SAAU,GACV1oB,MAAOnK,qBACPmJ,cAAe,KAInB,SAASusB,EAATlwC,GAAkD,IAAxBqiB,EAAwBriB,EAAxBqiB,MAAO/e,EAAiBtD,EAAjBsD,MAAO2jB,EAAUjnB,EAAVinB,OACtC,OAAInX,IAAQmX,GAERxlB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACV/e,GAAS7B,EAAAC,EAAAC,cAACguC,EAAD,CAAYrsC,MAAOA,IAC7B7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOqwC,WAAY1mC,MAMpC7G,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACV/e,GAAS7B,EAAAC,EAAAC,cAACguC,EAAD,CAAYrsC,MAAOA,IAC5B2jB,EAAOpd,IAAI,SAACxG,EAAOsF,GAAR,OACVlH,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAG,aAAAC,OAAeT,GAAS0Z,MAAO1jB,EAAOqwC,WAAY3rC,MAMnE6sC,EAAexpC,aAAe,CAC5B2b,MAAO,IAGT6tB,EAAetsC,UAAf,GAMessC,kBCtCTvxC,EAAS+tC,aAAWC,OAAO,CAC/BqC,UAAW,CACTzC,WAAY,IACZc,SAAU,GACV1oB,MAAOnK,qBACPmJ,cAAe,KAInB,SAASwsB,EAATnwC,GAAkE,IAApCqiB,EAAoCriB,EAApCqiB,MAAO/e,EAA6BtD,EAA7BsD,MAAO2jB,EAAsBjnB,EAAtBinB,OAAQmpB,EAAcpwC,EAAdowC,WAClD,GAAItgC,IAAQmX,GACV,OACExlB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACV/e,GAAS7B,EAAAC,EAAAC,cAACguC,EAAD,CAAYrsC,MAAOA,IAC7B7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOqwC,WAAY1mC,MAwBtC,OACE7G,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACV4E,EAAOpd,IAXZ,SAAsBwmC,EAAa1nC,GACjC,OACElH,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAG,kBAAAC,OAAoBT,GAAS0Z,MAAO+tB,GAC3C3uC,EAAAC,EAAAC,cAACguC,EAAD,CAAYrsC,MAAO2jB,EAAOxe,OAAS,EAAhB,GAAAW,OAAuB9F,EAAvB,KAAA8F,OAAgCT,EAAQ,GAAMrF,KAZ7DD,GADmCkC,GAAjB+qC,EAcFD,IAbmB,IAAnChtC,MAAO6D,EAD4B3B,EAC5B2B,KAEX4I,IAAQ5I,GACHzF,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOqwC,WAAY3rC,GAASiF,KAG3C7G,EAAAC,EAAAC,cAAC4uC,EAAcD,KAPxB,IAA4BA,EAAiB/qC,EACnClC,EAAO6D,KAyBnBipC,EAAmBzpC,aAAe,CAChC2b,MAAO,IAGT8tB,EAAmBvsC,UAAnB,GAOeusC,6DC5BAxxC,EAhCA+tC,aAAWC,OAAO,CAC/Bz+B,MAAO,CACLsiC,UAAW,cAEbC,IAAK,CACHvD,cAAe,MACfC,WAAY,UAEduD,UAAW,CACTC,gBAAiB/1B,qBACjB+J,MAAOnK,qBACP6yB,SAAU,GACVF,WAAY,cAEdyD,aAAc,CACZrsB,QAAS,YAEXssB,SAAU,CACRtE,WAAY,OACZhoB,QAAS,cAEXusB,QAAS,CACPnsB,MAAOnK,qBACP6yB,SAAU,GACV9oB,QAAS,YAEXwsB,UAAW,CACTC,kBAAmB,EACnBC,kBAAmBr2B,2PCzBvB,SAASs2B,EAATlxC,GAAgE,IAA3CmxC,EAA2CnxC,EAA3CmxC,aAAclqB,EAA6BjnB,EAA7BinB,OAAQmqB,EAAqBpxC,EAArBoxC,kBACzC,GAAIvrC,IAAQohB,GACV,OAAOxlB,EAAAC,EAAAC,cAAC0vC,EAAD,MAIT,IAAMC,EAAc,IAAMH,EAAa1oC,OACjC8oC,EAAqB,CAAEC,MAAK,GAAApoC,OAAKkoC,EAAL,MAsFlC,IAAMG,EAAQC,EAAA,GAAQ/yC,EAAOoyC,UAAf,GAA6BpyC,EAAO8xC,IAApC,GAA4C9xC,EAAO+xC,WAEjE,OACEjvC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOuP,OAClBzM,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,OAAK,EAACxsC,UAAU,eAAeohB,MAAOovB,GACzCN,EAAatnC,IAzFpB,SAAsB4uB,GAAQ,IAE1BU,EAMEV,EANFU,QACA71B,EAKEm1B,EALFn1B,MACAutC,EAIEpY,EAJFoY,SACAW,EAGE/Y,EAHF+Y,MAL0BG,EAQxBlZ,EAFFmZ,yBAN0B,IAAAD,EAMN,GANMA,EAAAE,EAQxBpZ,EADFqZ,+BAP0B,IAAAD,EAOA,GAPAA,EAStB9C,EAAY2C,EAAA,GACbH,EADa,GAEZC,GAAS,CAAEA,SAFC,GAGbI,GAGCG,EAAWL,EAAA,GACZ/yC,EAAOiyC,aADK,GAEZkB,GAGL,OACErwC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO0sB,EAAc5lC,IAAG,gBAAAC,OAAkB+vB,IAC9C13B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO0vB,GAAczuC,GAE1ButC,GACCpvC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOkyC,UAAWA,OAmEnCpvC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMjrC,UAAU,gBAAgBohB,MAAO1jB,EAAOwN,QAC3C8a,EAAOpd,IA3Bd,SAAqBxG,EAAOsF,GAC1B,IAAMqpC,EAAe/qB,EAAOxe,OAGtBwpC,IAFctpC,IAAWqpC,EAAe,IAEVrzC,EAAOoyC,UAErCU,EAAQC,EAAA,GACT/yC,EAAO8xC,IADE,GAETwB,GAGL,OACExwC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,MAAM,EAAO5jC,IAAG,aAAAC,OAAeT,GAAS0Z,MAAOovB,GAClDN,EAAatnC,IAAI,SAAA5F,GAAK,OAhD7B,SAAkBosC,EAAa1nC,GAAO,IAC5BwwB,EAA2CkX,EAA3ClX,QAASqY,EAAkCnB,EAAlCmB,MADmBU,EACe7B,EAA3B8B,yBADY,IAAAD,EACQ,GADRA,EAE9BnD,EAAY2C,EAAA,GACbH,EADa,GAEb5yC,EAAOmyC,QAFM,GAGZU,GAAS,CAAEA,SAHC,GAIbW,GAGD9uC,EAAQgtC,EAAYlX,GAKxB,OAJIiZ,IAAWhB,KACb/tC,EAAQ+tC,EAAkBf,EAAalX,IAGrCpwB,IAAS1F,IAAUgvC,IAAShvC,IAAUwC,IAAQxC,GAE9C5B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACE7pB,MAAO0sB,EACP5lC,IAAG,eAAAC,OAAiB+vB,EAAjB,KAAA/vB,OAA4BT,IAE9BtF,GAASiF,KAMd7G,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACE7pB,MAAO0sB,EACP5lC,IAAG,eAAAC,OAAiB+vB,EAAjB,KAAA/vB,OAA4BT,IAE9BtF,GAkB0B+c,CAASsxB,EAAA,GAAKztC,EAAN,GAAgBZ,GAASsF,UAoBpEuoC,EAAUttC,UAAV,GAaestC,6OC3Hf,IAAMvyC,GAAS+tC,aAAWC,OAAO,CAC/B5c,KAAM,CACJie,QAAS,cACT1qB,eAAgB,aAChB4pB,cAAe,MACfoF,SAAU,OACVjF,SAAU,IAEZkF,MAAO,CACLC,YAAa,GAEftlC,KAAM,CACJ8gC,QAAS,cACTd,cAAe,SAInB,SAASuF,GAATzyC,GAAqF,IAA5DqiB,EAA4DriB,EAA5DqiB,MAAOqwB,EAAqD1yC,EAArD0yC,UAAWlD,EAA0CxvC,EAA1CwvC,WAAYlsC,EAA8BtD,EAA9BsD,MAAOtC,EAAuBhB,EAAvBgB,SAAU2xC,EAAa3yC,EAAb2yC,UAKhEC,EAAc3U,WAASC,QAAQl9B,GAAUyH,OACzCoqC,EAAUC,GAAA,GAAQn0C,GAAOoxB,KAAf,GAAwB2iB,GAExC,SAASK,EAAW5U,EAAOx1B,GAAO,IACxBQ,EAAQg1B,EAARh1B,IACF6pC,GAAsBL,GAAahqC,IAAUiqC,EAAc,EAEjE,OACEnxC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOuO,KAAM/D,IAAKA,EAAK4jC,MAAM,GACvC5O,EACA6U,GAAuBvxC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO4zC,OAApB,MAa9B,OACE9wC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACX5gB,EAAAC,EAAAC,cAACguC,EAAD,CAAYrsC,MAAOA,EAAO+e,MAAOmtB,IACjC/tC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOwwB,GAVK,IAAhBD,EACKnxC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KAAO5jC,KAGT21B,WAASp0B,IAAIo0B,WAASC,QAAQl9B,GAAW+xC,KAapDN,GAAc/rC,aAAe,CAC3B2b,MAAO,GACPqwB,UAAW,GACXlD,WAAY,IAGdiD,GAAc7uC,UAAd,GASe6uC,oRChEf,IAAM9zC,GAAS+tC,aAAWC,OAAO,CAC/BsG,UAAW,CACTC,WAAY,EACZlwB,aAAc,EACd2B,MAAO7J,cACPyJ,QAAS,UACTgoB,WAAY,IACZc,SAAU,GACVsD,gBAAiBl1B,sBACjB03B,cAAe,cAEjBC,WAAY,CACVzC,gBAAiBp1B,0BAEnB83B,SAAU,CACR1C,gBAAiBp1B,0BAEnB+3B,WAAY,CACV3C,gBAAiBn1B,4BAIrB,SAAS+3B,GAATvzC,GAIG,IAHDwzC,EAGCxzC,EAHDwzC,WACAC,EAECzzC,EAFDyzC,UACApxB,EACCriB,EADDqiB,MAEA,IAAKmxB,EACH,OAAO,KAGT,IAAME,EAAeC,GAAA,GAChBh1C,GAAOs0C,UADS,GAEft0C,GAAOi1C,KAAQH,KAAe,GAFf,GAGhBpxB,GAGL,OAAO5gB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOqxB,GAAkBF,GAGxCD,GAAU7sC,aAAe,CACvB2b,MAAO,IAGTkxB,GAAU3vC,UAAV,GAMe2vC,UC9BA50C,GA3BA+tC,aAAWC,OAAO,CAC/BnmC,UAAW,CACTwnC,QAAS,SACT1qB,eAAgB,aAChB6pB,WAAY,aACZD,cAAe,MACfoF,SAAU,OACVjF,SAAU,IAEZ/hC,KAAM,CACJqZ,MAAOnK,sBAETvb,KAAM,CACJ0lB,MAAOhK,qBACPu0B,eAAgB,QAElB7gC,MAAO,CACL2U,aAAc,EACdwvB,YAAa,EACb5E,SAAU,GACViG,SAAU,GACV3F,UAAW,GACXprB,UAAW,GACXgxB,UAAW,gPCjBf,SAASC,GAAT/zC,GAUG,IATDg0C,EASCh0C,EATDg0C,WACAxgC,EAQCxT,EARDwT,KACAggC,EAOCxzC,EAPDwzC,WACAC,EAMCzzC,EANDyzC,UACAQ,EAKCj0C,EALDi0C,UACAv7B,EAIC1Y,EAJD0Y,IACA+rB,EAGCzkC,EAHDykC,eACAyP,EAECl0C,EAFDk0C,eACAC,EACCn0C,EADDm0C,UAEMC,EAAUC,GAAA,GAAQ11C,GAAO2M,KAAf,GAAwB6oC,GAExC,GAAIrkC,IAAQ0D,GACV,OAAO/R,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO+xB,GAAa9rC,KAGnC,IAAMgsC,IAAeL,IAAcD,EAC7BO,EAAUF,GAAA,GAAQ11C,GAAOM,KAAf,GAAwBk1C,GAClCK,EAAeH,GAAA,GAAQ11C,GAAO6H,UAAf,GAA6Bi+B,GAUlD,OACEhjC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOmyB,GACVF,GAAc7yC,EAAAC,EAAAC,cAACuqC,EAAA,MAAD,CAAO7pB,MAAO1jB,GAAO0P,MAAOwrB,IAAK8U,YAAgBsF,KAT9DnkC,IAAQ4I,GACHjX,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO+xB,GAAa5gC,GAAQlL,KAGpC7G,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOkyB,EAAY1a,IAAK4a,aAAe/7B,IAAOlF,GAOzD/R,EAAAC,EAAAC,cAAC+yC,GAAD,CACEryB,MAAO6xB,EACPV,WAAYA,EACZC,UAAWA,KAMnBM,GAAertC,aAAe,CAC5BstC,YAAY,EACZG,UAAW,GACX1P,eAAgB,GAChByP,eAAgB,IAGlBH,GAAenwC,UAAf,GAYemwC,UC9CAp1C,GArBA+tC,aAAWC,OAAO,CAC/BgI,YAAa,CACXzH,cAAe,MACfoF,SAAU,OACVd,MAAO,OACPoD,aAAc,EACdvH,SAAU,GACVd,WAAY,IACZ5nB,MAAOjK,uBAETm6B,aAAc,CACZ3H,cAAe,MACfoF,SAAU,OACVd,MAAO,OACPoD,aAAc,EACdvH,SAAU,GACVd,WAAY,IACZ5nB,MAAOnK,wBCjBX,SAASs6B,GAAT90C,GAAyC,IAAhBqD,EAAgBrD,EAAhBqD,MAAOC,EAAStD,EAATsD,MAC9B,OACE7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KACEzqC,EAAAC,EAAAC,cAAC0vC,EAAD,CACE7B,WAAY7wC,GAAOk2C,aACnBhF,UAAWlxC,GAAOg2C,YAClBtxC,MAAOA,EACPC,MAAOA,KAMfwxC,GAAcpuC,aAAe,CAC3BpD,MAAO,kBAGTwxC,GAAclxC,UAAd,GAKekxC,8BCyBAn2C,GA7CA+tC,aAAWC,OAAO,CAC/BoI,kBAAmB,CACjBlH,UAAW,EACXlqB,cAAe,GACflf,SAAU,WACV+sC,MAAO,QAETzK,YAAa,CACXyK,MAAO,OACPtM,OAAQ,EACR7E,IAAK,EACLrd,aAAc,GACdve,SAAU,WACVksC,gBAAiB/1B,sBAEnBo6B,kBAAmB,CACjBvwC,SAAU,WACV47B,IAAK,GAEP4U,cAAe,CACbpH,WAAY,EACZX,cAAe,MACf5pB,eAAgB,iBAElB4xB,aAAc,CACZzwC,SAAU,YAEZ0wC,QAAS,CACP1wC,SAAU,WACV4oC,SAAU,EACVQ,UAAW,GACX2D,MAAO,GACPjF,WAAY,IACZ5nB,MAAOjK,uBAET06B,SAAU,CACRlQ,OAAQ,GACRsM,MAAO,GACP6D,YAAa,EACbryB,aAAc,IACdsyB,YAAa16B,qBACb+1B,gBAAiB91B,0BC1CfukB,GAAS,CACbjgC,QCFmButC,aAAWC,OAAO,CACrC4I,kBAAmB,CACjB5E,gBAAiBz0B,6BAEnBs5B,eAAgB,CACdF,YAAan5B,yBACbw0B,gBAAiBz0B,gCDDrB,SAASu5B,GAATz1C,GAA4E,IAA9C01C,EAA8C11C,EAA9C01C,OAAQC,EAAsC31C,EAAtC21C,YAAap1C,EAAyBP,EAAzBO,MAAOkkC,EAAkBzkC,EAAlBykC,eAClDmR,EAAWF,EAAO7rC,IAAI,SAAAtE,GAAA,OAAAA,EAAGP,KACzB6wC,EAAYC,KAAKJ,EAAQ,CAAE1wC,GAAI2wC,IAErC,GAAI9vC,IAAQgwC,GACV,OAAO,KAGT,IAAM5hB,EAAW,SAAA8hB,GAAS,OACxBH,EAASI,QAAQD,IAAcH,EAASI,QAAQL,IAqBlD,IAnB2BM,EAmBrBC,EAA0B,CAC9Bv3C,GAAOooC,YACPpoC,GAAOq2C,kBACP5V,GAAO7+B,GAAOg1C,kBACd,CAAE/D,MAAK,GAAApoC,QAvBkB6sC,EAuBMN,EAtB9BC,EAASI,QAAQC,IAAkBL,EAASntC,OAAS,GAAK,KAsBpD,OAGT,OACEhH,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO,CAAC1jB,GAAOo2C,kBAAmBtQ,IACtChjC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOooC,cACpBtlC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO6zB,IACbz0C,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOs2C,eACjBS,EAAO7rC,IA5Bd,SAAmBqD,GAAM,IACflI,EAA6BkI,EAA7BlI,GAAI1B,EAAyB4J,EAAzB5J,MADW6yC,EACcjpC,EAAlBkpC,gBADI,IAAAD,EACO,GADPA,EAGjBE,EAAY,CAChB13C,GAAOy2C,SACPnhB,EAASjvB,IAAOo6B,GAAO7+B,GAAOi1C,gBAGhC,OACE/zC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOu2C,aAAc/rC,IAAG,oBAAAC,OAAsBpE,IACzDvD,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOg0B,IACb50C,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO,CAAC1jB,GAAOw2C,QAASiB,IAAY9yC,QAuBlDmyC,GAAmB/uC,aAAe,CAChCnG,MAAO,WAGTk1C,GAAmB7xC,UAAnB,GAYe6xC,6BEjCA92C,GAnCA+tC,aAAWC,OAAO,CAC/BnmC,UAAW,CACT8uC,YAAa16B,qBACby6B,YAAa,EACbryB,aAAc,GAEhBytB,IAAK,CACHe,MAAO,OACPtE,cAAe,MACf5pB,eAAgB,gBAChB6pB,WAAY,SACZ5oB,QAAS,YAEXwsB,UAAW,CACTuF,eAAgB17B,qBAChB27B,eAAgB,GAElBjzC,MAAO,CACL0f,aAAc,EACd2tB,gBAAiBr1B,wBACjBqJ,MAAOnK,qBACP6yB,SAAU,EACV9oB,QAAS,mBAEXiyB,UAAW,CACT5I,SAAU,OAEZvqC,MAAO,CACLmuC,MAAO,MACPtE,cAAe,MACf5pB,eAAgB,WAChB6pB,WAAY,YChChB,SAASsJ,GAATz2C,GAA0C,IAAfwN,EAAexN,EAAfwN,KAAM6U,EAASriB,EAATqiB,MAC/B,GAAIxc,IAAQ2H,GACV,OAAO,KAmBT,OACE/L,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO,CAAC1jB,GAAO6H,UAAW6b,IAC7BuL,KAAIpgB,EAlBT,SAAmBijC,EAAK9nC,GAAO,IACrBrF,EAAiBmtC,EAAjBntC,MAAOD,EAAUotC,EAAVptC,MACTqzC,EAAoB,IAAV/tC,EAEhB,OACElH,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAG,OAAAC,OAAS9F,EAAT,KAAA8F,OAAkBT,GAAS0Z,MAAO,CAAC1jB,GAAO8xC,KAAMiG,GAAW/3C,GAAOoyC,YACzEtvC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO63C,WAClB/0C,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO2E,OACjBA,IAGL7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO0E,OAAQA,OAYpCozC,GAAgB7yC,UAAhB,GAQe6yC,uEClCT93C,WAAS+tC,aAAWC,OAAO,CAC/B8D,IAAK,CACH6B,SAAU,OACVpF,cAAe,MACfC,WAAY,SACZyH,aAAc,GAEhB+B,cAAe,CACbnF,MAAO,GACPtM,OAAQ,GACRsN,YAAa,GAEfvzC,KAAM,CACJ23C,WAAY,EACZvJ,SAAU,GACVd,WAAY,IACZ5nB,MAAO5J,aACP87B,cAAe,EACf3H,eAAgB,gBAIpB,SAAS4H,GAAT92C,GAAuC,IAO3B+2C,EAPY7vC,EAAelH,EAAfkH,KAAM5D,EAAStD,EAATsD,MAC5B,GAAI0zC,KAAM9vC,GACR,OAAO,KAGT,GAAI+vC,KAAQ/vC,GAAO,CAejB,OACEzF,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO8xC,MAddsG,EAAoBnpB,KAAI1mB,EAAM,SAAA3B,GAAA,IAAU2xC,EAAV3xC,EAAGlC,MAAwB8zC,EAA3B5xC,EAAoBjC,MAApB,OAClC7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAK+tC,GACTz1C,EAAAC,EAAAC,cAACuqC,EAAA,MAAD,CACE7pB,MAAO1jB,GAAOg4C,cACd9c,IAAK4a,aAAe,+BAEtBhzC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOM,KAAM46B,IAAKqd,GAAWC,MAIvCC,KAAOL,EAAmB,SAACM,EAAMC,GAAP,MAAgB,CAACD,EAAM,MAAOC,OAUnE,OAAKC,aAAMrwC,GASTzF,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO8xC,KAClBhvC,EAAAC,EAAAC,cAACuqC,EAAA,MAAD,CACE7pB,MAAO1jB,GAAOg4C,cACd9c,IAAK4a,aAAe,+BAEtBhzC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOM,KAAM46B,IAAK3yB,GAAO5D,IAZtC7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO8xC,KAClBhvC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOM,MAAOiI,IAgBnC4vC,GAAalzC,UAAb,GAKekzC,wGC3Df,IAAMn4C,GAAS+tC,aAAWC,OAAO,CAC/B3iC,cAAe,CACb4qC,aAAc,OACd1H,cAAe,MACfC,WAAY,SACZmF,SAAU,QAEZ5yC,MAAO,CACLixC,gBAAiBr1B,wBACjBqJ,MAAO7J,cACPuyB,SAAU,GACVrqB,aAAc,EACduB,QAAS,UACTL,OAAQ,eAEVszB,WAAY,CACV7G,gBAAiBv1B,oBACjBi6B,YAAa,EACbC,YAAaj6B,4BAEfo8B,UAAW,CACTpC,YAAa,EACb1E,gBAAiB11B,mBACjBq6B,YAAap6B,2BAEfjc,KAAM,CACJiwC,eAAgB,UAIpB,SAASz/B,GAATzP,GAAkE,IAAlD03C,EAAkD13C,EAAlD03C,gBAAiBrqC,EAAiCrN,EAAjCqN,KAAMqL,EAA2B1Y,EAA3B0Y,IAAKiR,EAAsB3pB,EAAtB2pB,SAAUguB,EAAY33C,EAAZ23C,SAGpD,IAF2BC,aAAoB,CAAEF,kBAAiBG,QAASC,QAEhDjyC,IAAQwH,GACjC,OAAO,KAGT,IAAM0qC,EAAWC,KAAK3qC,GAChB4qC,EAAatuB,EAAWhrB,GAAO64C,WAAa74C,GAAO84C,UA+BzD,OACEh2C,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOqL,eACjB4jB,KAAIsqB,KAAM7qC,EAAM,EAAG8qC,MA/BxB,SAAmB7qC,EAAK3E,GAAO,IACrBrF,GAAUgK,GAAO,IAAjBhK,MAER,OAAKA,EAKH7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACE/iC,IAAG,YAAAC,OAAcT,GACjB0Z,MAAO,CAAC1jB,GAAOe,MAAOu4C,EAAYN,IAEjCS,KAAS90C,EAAO,CAAEmF,OAAQ,MARtB,OAcLsvC,EAAWI,KAEX12C,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMrS,IAAKnhB,EAAK2J,MAAO,CAAC1jB,GAAOe,MAAOf,GAAO84C,UAAW94C,GAAOM,KAAM04C,IAArE,IACII,EAAWI,MAKZ,MAWX1oC,GAAK/I,aAAe,CAClBixC,SAAU,IAGZloC,GAAK7L,UAAL,GAUe6L,UClHflN,EAAAC,EAAAC,EAAA,sBAAA41C,IAAA91C,EAAAC,EAAAC,EAAA,sBAAA61C,IAAA/1C,EAAAC,EAAAC,EAAA,sBAAA81C,IAAAh2C,EAAAC,EAAAC,EAAA,sBAAA+1C,IAAAj2C,EAAAC,EAAAC,EAAA,sBAAA8tC,IAAAhuC,EAAAC,EAAAC,EAAA,sBAAA4uC,IAAA9uC,EAAAC,EAAAC,EAAA,sBAAAg2C,IAAAl2C,EAAAC,EAAAC,EAAA,sBAAAktC,IAAAptC,EAAAC,EAAAC,EAAA,sBAAAi2C,EAAA,IAAAn2C,EAAAC,EAAAC,EAAA,sBAAAk2C,IAAAp2C,EAAAC,EAAAC,EAAA,sBAAAm2C,IAAAr2C,EAAAC,EAAAC,EAAA,sBAAAo2C,KAAAt2C,EAAAC,EAAAC,EAAA,sBAAAq2C,KAAAv2C,EAAAC,EAAAC,EAAA,sBAAAs2C,KAAAx2C,EAAAC,EAAAC,EAAA,sBAAAu2C,KAAAz2C,EAAAC,EAAAC,EAAA,sBAAAw2C,KAAA12C,EAAAC,EAAAC,EAAA,sBAAAy2C,KAAA32C,EAAAC,EAAAC,EAAA,sBAAAiyC,KAAAnyC,EAAAC,EAAAC,EAAA,sBAAA02C,mCCAA52C,EAAAC,EAAAC,EAAA,sBAAA22C,IAAA,IAAAh4B,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA+3B,EAAA92C,EAAA,IAAA+2C,EAAA/2C,EAAAsI,EAAAwuC,GAAAE,EAAAh3C,EAAA,KAAAi3C,EAAAj3C,EAAA,KAAAk3C,EAAAl3C,EAAA,KAAAm3C,EAAAn3C,EAAA,MAAAo3C,EAAAp3C,EAAAsI,EAAA6uC,GAWe,SAASN,EAATp5C,GAiBZ,IAhBDgF,EAgBChF,EAhBDgF,GACA40C,EAeC55C,EAfD45C,gBACAp2C,EAcCxD,EAdDwD,MACAE,EAaC1D,EAbD0D,YACA1C,EAYChB,EAZDgB,SACA64C,EAWC75C,EAXD65C,WACAC,EAUC95C,EAVD85C,iBACA74C,EASCjB,EATDiB,UACA6G,EAQC9H,EARD8H,eACAiyC,EAOC/5C,EAPD+5C,qBACAC,EAMCh6C,EANDg6C,WACApmB,EAKC5zB,EALD4zB,aACAqmB,EAICj6C,EAJDi6C,qBACAC,EAGCl6C,EAHDk6C,YACAC,EAECn6C,EAFDm6C,qBACA55C,EACCP,EADDO,MAEMmT,EACJ2N,EAAA3f,EAAAC,cAAC63C,EAAA,EAAD,CACEh2C,MAAOq2C,EACPn2C,YAAao2C,EACb74C,UAAW84C,IAsBf,OACE14B,EAAA3f,EAAAC,cAAC43C,EAAA,EAAD,CACEv0C,GAAIA,EACJ/D,UAAWa,IAAWnD,IAAO6H,UAAWozC,GAAmBj7C,IAAOy7C,gBAAiBn5C,GACnFV,MAAOA,GArBL85C,IAAWH,GACNA,IAIP74B,EAAA3f,EAAAC,cAAC83C,EAAA,EAAD,CACEj2C,MAAOA,EACPE,YAAaA,EACbzC,UAAW6G,EACXA,eAAgBqyC,EAChBH,WAAYA,EACZpmB,aAAcA,EACdqmB,qBAAsBA,IAYvBL,EAAkBlmC,EAAc1S,GAKvCo4C,EAAS1yC,aAAe,CACtBkzC,iBAAiB,GAGnBR,EAASx1C,UAAT,ixDC/DA,IAAM02C,GAA2BpnC,EAAAqnC,EAAA,GAC9BC,IAAW77C,IAAO87C,YADYvnC,EAAAqnC,EAE9BG,IAAU54C,IAAWnD,IAAOg8C,SAAU,WAAY,SAFpBznC,EAAAqnC,EAG9BK,IAAUj8C,IAAO87C,YAHavnC,EAAAqnC,EAI9BM,IAAS/4C,IAAWnD,IAAOg8C,SAAU,aAJPJ,GAOjC,SAASO,EAAUC,GACjB,OAAOA,EAAKC,aAOd,SAASC,EAATj7C,GAWG,IAVDiV,EAUCjV,EAVDiV,OACAhU,EASCjB,EATDiB,UACAD,EAQChB,EARDgB,SACAk6C,EAOCl7C,EAPDk7C,WACAC,EAMCn7C,EANDm7C,UACAC,EAKCp7C,EALDo7C,OACAC,EAICr7C,EAJDq7C,UACAC,EAGCt7C,EAHDs7C,SACAC,EAECv7C,EAFDu7C,iBACGC,EACFl6C,EAAAtB,EAAA,+GAAA2Q,EAAAC,EAC2BC,mBAAS,MADpC,GACMq0B,EADNv0B,EAAA,GACc8qC,EADd9qC,EAAA,GA+BD,IAAM0R,EAAmB,OAAX6iB,EAAkB,CAAEA,UAAW,GAE7C,OACEzjC,EAAAC,EAAAC,cAAC+5C,EAAA,EAAD,CACEC,QAASJ,EACTK,GAAI3mC,EACJimC,WAlCJ,SAA0BH,EAAMc,GAC9BJ,EAAUX,EAAUC,IACpBG,EAAWH,EAAMc,IAiCfV,UA9BJ,SAAyBJ,EAAMc,GAC7BJ,EAAU,MACVN,EAAUJ,EAAMc,IA6BdT,OA1BJ,SAAsBL,GACpBU,EAAUX,EAAUC,IACpBK,EAAOL,IAyBLM,UAtBJ,SAAyBN,GAEPA,EAAKzZ,aAErBma,EAAU,GACVJ,EAAUN,IAkBRO,SAfJ,SAAwBP,GACtBU,EAAU,MACVH,EAASP,KAeN,SAAC7kC,GACA,IAAM4lC,EA3Dd,SAA4B5lC,GAC1B,OAAOokC,EAA4BpkC,IAAW,WA0DlB6lC,CAAmB7lC,GAEzC,OACEzU,EAAAC,EAAAC,cAAA,OACEE,IAAK25C,EAAUp6C,SACfihB,MAAOA,EACPphB,UAAWa,IAAWb,EAAW66C,IAEhC96C,KAQbi6C,EAASv0C,aAAT9E,EAAA,GACK85C,IAAWh1C,aADhB,CAEE60C,iBAAkB,MAGpBN,EAASr3C,UAAT,GAYeq3C,2OC1Gf,SAASe,EAAK/3C,GAAO,IACXgR,EAA+FhR,EAA/FgR,OAAQjU,EAAuFiD,EAAvFjD,SAAUC,EAA6EgD,EAA7EhD,UAAWg7C,EAAkEh4C,EAAlEg4C,YAAaC,EAAqDj4C,EAArDi4C,cAAeX,EAAsCt3C,EAAtCs3C,iBAAkBY,EAAoBl4C,EAApBk4C,YAAan3C,EAAOf,EAAPe,GAC1Fo3C,EAAQp3C,EAAE,mBAAAoE,OAAsBpE,GAAO,KAE7C,OAAIm3C,EAEA16C,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,EAAW+D,GAAIo3C,GAC5BH,EAAYI,EAAA,GAAKp4C,IAEjBgR,IAAWjU,GAAYk7C,EAAcG,EAAA,GAAKp4C,MAM/CxC,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,EAAW+D,GAAIo3C,GAC5BH,EAAYI,EAAA,GAAKp4C,IAClBxC,EAAAC,EAAAC,cAAC26C,EAAD,CAAUf,iBAAkBA,EAAkBtmC,OAAQA,GACnDjU,GAAYk7C,EAAcG,EAAA,GAAKp4C,MAMxC+3C,EAAKp4C,UAAL,GAWAo4C,EAAKt1C,aAAe,CAClBuO,QAAQ,EACRhU,UAAW,GACXk7C,aAAa,EACbn3C,GAAI,MAGSg3C,qCCzCf,SAASO,EAATv8C,GAA+C,IAAzBwD,EAAyBxD,EAAzBwD,MAAOyR,EAAkBjV,EAAlBiV,OAAQqC,EAAUtX,EAAVsX,OACnC,OACE7V,EAAAC,EAAAC,cAAA,OAAK1B,QAASqX,EAAQvD,UAAWuD,EAAQrW,UAAWtC,IAAO69C,WACzD/6C,EAAAC,EAAAC,cAAC86C,EAAA,EAAD,CAAOxnC,OAAQA,IACdzR,GAKP+4C,EAAW34C,UAAX,GAMe24C,wlDCVf,SAASG,EAAT18C,GAQG,IAPDuB,EAOCvB,EAPDuB,WACAN,EAMCjB,EANDiB,UACAD,EAKChB,EALDgB,SACAqd,EAICre,EAJDqe,MACAhJ,EAGCrV,EAHDqV,SACAJ,EAECjV,EAFDiV,OACGhR,EACF04C,EAAA38C,EAAA,mEACK48C,EAAoB,GACtBC,GAAoB,EAExB5e,WAASpe,QAAQ7e,EAAU,SAAAuE,GAAgC,IAA7B4D,EAA6B5D,EAA7B4D,IAAY2zC,EAAiBv3C,EAAxBtB,MAC3B84C,EAAkB1+B,IAAUw+B,EAElCD,EAAkBzzC,GAAO4zC,GAAmBD,EAAW7nC,OAEvD4nC,EAAoBA,GAAqBC,EAAW7nC,SATrD,IAAA+nC,EAYsEC,YAAkBL,EAAmBv+B,GAA5F6+B,EAZfF,EAYO/nC,OAAsCkoC,EAZ7CH,EAY+BI,aAZ/B/a,EAAAgb,EAakChoC,EAAW,CAACJ,EAAQI,GAAY,CAAC6nC,EAAgBC,GAbnF,GAaMG,EAbNjb,EAAA,GAakB+a,EAblB/a,EAAA,GAeD,OACE5gC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWP,GAAc5C,IAAO0B,SAAUY,IACvDg9B,WAASp0B,IAAI7I,EAAU,SAAAm9B,GAAK,OAAII,uBAAaJ,EAADof,EAAA,GACxCt5C,EADwC,GAExCk6B,EAAMl6B,MAFkC,CAG3CjD,SAAUm9B,EAAMl6B,MAAMjD,SACtBiU,OAAQqoC,EAAWnf,EAAMh1B,KACzBmO,OAAQ,kBAAM8lC,EAAajf,EAAMh1B,gJAMzCuzC,EAAU94C,UAAV,GASA84C,EAAUh2C,aAAe,CACvBzF,UAAW,GACXod,OAAO,GAGMq+B,wPCnDf,SAASc,EAATx9C,GAA6E,IAAzDkN,EAAyDlN,EAAzDkN,KAAMurB,EAAmDz4B,EAAnDy4B,OAAQx3B,EAA2CjB,EAA3CiB,UAAWhB,EAAgCD,EAAhCC,QAASw9C,EAAuBz9C,EAAvBy9C,QAASt2C,EAAcnH,EAAdmH,WACrDnC,EAAakI,EAAblI,GAAIwO,EAAStG,EAATsG,KAEZ,OAAI6mC,IAAWoD,GAEXh8C,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,YACNE,KAAK,OACLyG,KAAMu2C,EAAQz4C,EAAIwO,EAAMilB,GACxBx3B,UAAWa,IAAWnD,IAAOO,UAAW+B,GACxCkG,WAAYA,GAEXqM,GAKH6mC,IAAWp6C,GAEXwB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNE,KAAK,OACLR,QAASA,EAAQ+E,EAAIwO,EAAMilB,GAC3Bx3B,UAAWa,IAAWnD,IAAOO,UAAW+B,IAEvCuS,GAML/R,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOO,UAAW+B,IAC1CuS,GAKPgqC,EAAS55C,UAAT,GASe45C,QC1Cf,SAASE,EAAT19C,GAWG,IAqKK29C,EA/KNxkB,EAUCn5B,EAVDm5B,QACAykB,EASC59C,EATD49C,SACAC,EAQC79C,EARD69C,YACA58C,EAOCjB,EAPDiB,UACA68C,EAMC99C,EAND89C,aACAC,EAKC/9C,EALD+9C,YACAC,EAICh+C,EAJDg+C,WACA/9C,EAGCD,EAHDC,QACAw9C,EAECz9C,EAFDy9C,QACAQ,EACCj+C,EADDi+C,QAEMC,EAAelG,IAAK4F,GAE1B,SAASO,EAAYC,GACnB,OAAIv4C,IAAQu4C,GACH,KAGFxwB,IAAIwwB,EAAU,SAAClxC,EAAMmxC,GAAP,OACnB58C,EAAAC,EAAAC,cAAA,KAAGwH,IAAG,GAAAC,OAAK8D,EAAL,KAAA9D,OAAai1C,GAAgBp9C,UAAWa,IAAWnD,IAAO2/C,YAAa3/C,IAAO4/C,UACjFrxC,KAuBP,SAASsxC,EAAetxC,GAA6B,IAAvBuxC,EAAuBvtC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GACnD,OAAO+sC,EAAUA,EAAQ/wC,EAAMuxC,GAAiBvxC,EAGlD,SAASwxC,IACP,OAAIb,EACK,KAGLC,EAxBFr8C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACpBjL,IAAIgwB,EAAU,WAAuB,IAAtBe,EAAsBztC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAd,GAAIvI,EAAUuI,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAC5BqC,EAAgBmrC,EAAhBnrC,KAAMqa,EAAU8wB,EAAV9wB,MAEd,OACEpsB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,GAAAC,OAAKu1C,EAAL,KAAAv1C,OAAcT,IACzBlH,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAO2/C,YAAa3/C,IAAOigD,cAAeprC,GAClE2qC,EAAYtwB,OAqBnBmwB,EAEAv8C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACpBjL,IAAIgwB,EAAU,SAACe,EAAOh2C,GAAR,OACblH,EAAAC,EAAAC,cAACk9C,EAAD,CACE11C,IAAG,GAAAC,OAAKu1C,EAAM35C,GAAX,KAAAoE,OAAiBT,GACpB1H,UAAWtC,IAAOuK,YAClBjJ,QAASA,EACTw9C,QAASA,EACTvwC,KAAMyxC,EACNlmB,OAAQU,OAQhB13B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACpBjL,IAAIgwB,EAAU,SAACe,EAAOh2C,GAAR,OACblH,EAAAC,EAAAC,cAAA,KAAGwH,IAAG,GAAAC,OAAKu1C,EAAL,KAAAv1C,OAAcT,GAAS1H,UAAWtC,IAAO2/C,aAC5CE,EAAeG,GAAO,OAOjC,SAASG,EAAcv2C,EAAWw2C,GAChC,OACEt9C,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,iBAAkBnD,IAAOqgD,gBAAiB/9C,IACnEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,uBAAwBnD,IAAO2E,QACxD7B,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAASi7C,IACT50C,UAAU,SACV7I,UAAWa,IACT,4BACAnD,IAAOsgD,eACPtgD,IAAOugD,kBAETC,SAAUC,SAASvlC,KACnB9P,aAAW,GAEXtI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0gD,aACrB59C,EAAAC,EAAAC,cAAA,WAAM4G,GACN9G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOe,OAAvB,IAAgCq/C,EAAhC,aAoBZ,SAASO,IACP,GAAIzB,EACF,OAAOv1C,IAGT,IAhBIi3C,EAiBE/rC,GADYgsC,IAAK5B,IAAa,IACbpqC,MAAQlL,IAE/B,OAAqB,IAAjB41C,EACKz8C,EAAAC,EAAAC,cAAA,WAAM6R,GAGRsrC,EAActrC,GAvBjB+rC,EAAqB1B,EAA6B,EAAfK,EAElCL,GACH4B,IAAQ7B,EAAU,SAAAr4C,GAAe,IAAZsoB,EAAYtoB,EAAZsoB,OAClBhoB,IAAQgoB,KAAW0xB,GAAqBvH,IAAKnqB,MAI3C0xB,EAAoB,IAkB7B,SAASG,IACP,GAAI7B,GAAgC,IAAjBK,EACjB,OAAO51C,IAGT,IAAMC,EAAYi2C,EAAegB,IAAK5B,IAEtC,OAAqB,IAAjBM,EACKz8C,EAAAC,EAAAC,cAAA,WAAM4G,GAGRu2C,EAAcv2C,EAAW21C,EAAe,GAGjD,SAASyB,IACP,GAAI9B,GAAgC,IAAjBK,EACjB,OAAO51C,IAGT,IAAMs3C,EAAgBJ,IAAK5B,IAAa,GAElCr1C,EACJ9G,EAAAC,EAAAC,cAACk9C,EAAD,CACE59C,UAAWtC,IAAOO,UAClBe,QAASA,EACTw9C,QAASA,EACTvwC,KAAM0yC,EACNnnB,OAAQU,IAIZ,OAAqB,IAAjB+kB,EACK31C,EAGFu2C,EAAcv2C,EAAW21C,EAAe,GAyBjD,OArBMP,EAAc+B,EAEd1B,IACFL,EAAcgC,GAGZ7B,IACFH,EAAc2B,GAGZvB,EACKJ,IAIPl8C,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAC5BwkB,GAQTD,EAAa95C,UAAb,GAYe85C,0BChOFmC,EAAgB,SAACC,GAAD,OAA0BC,IAAaC,KAAKF,sBCUzE,SAASG,EAATjgD,GAA2D,IAAtCm5B,EAAsCn5B,EAAtCm5B,QAASjsB,EAA6BlN,EAA7BkN,KAAMjN,EAAuBD,EAAvBC,QAASkH,EAAcnH,EAAdmH,WACnC24C,EAAuB5yC,EAAvB4yC,MADiDI,EAC1BhzC,EAAhBizC,OACTvC,EAAWkC,EAAQ,CAACA,QAF+B,IAAAI,EACjC,GADiCA,EAInDE,EAAc,SAACC,EAAWC,GAAZ,OAAwB,kBAAMA,GAAWrgD,GAAWA,EAAQogD,KAmBhF,OACE5+C,EAAAC,EAAAC,cAAC4+C,EAAD,CACEpnB,QAASA,EACTykB,SAAUA,EACVC,YAAa/tC,IAAQ8tC,GACrBK,QAtBJ,SAAqBoC,EAAW5B,GAC9B,IAAM6B,EAAUT,EAAcQ,GAC9B,OACE5+C,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEvG,KAAK,OACLF,MAAM,OACNU,UAAWa,IAAWnD,IAAOM,KAAMw/C,GAAiB9/C,IAAOuK,aAC3DhC,KAAMo5C,EAAUE,YAAkBH,GAAaA,EAC/CpgD,QAASmgD,EAAYC,EAAWC,GAChCn5C,WAAYA,EACZE,qBAAqB,GAEpBi5C,EAAUD,EAAY,eAe/BJ,EAAUv5C,aAAe,CACvBwG,KAAM,GACN/F,YAAY,GAGd84C,EAAUr8C,UAAV,GAaeq8C,qYCzDf,SAASQ,IAID,IAAAzgD,EAAAkR,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAHFioB,EAGMn5B,EAHNm5B,QACA4kB,EAEM/9C,EAFN+9C,YACG18C,EACGC,EAAAtB,EAAA,2BACN,SAAS0gD,IACP,OAAOj/C,EAAAC,EAAAC,cAACg/C,EAAA,EAAmBt/C,GAG7B,OAAO08C,EACH2C,IACAj/C,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAAUunB,GAG/CD,EAAe78C,UAAf,GAKe68C,6DCZf,SAASG,EAAT5gD,GAAkF,IAA1Dm5B,EAA0Dn5B,EAA1Dm5B,QAAS91B,EAAiDrD,EAAjDqD,MAAOpD,EAA0CD,EAA1CC,QAASw9C,EAAiCz9C,EAAjCy9C,QAASoD,EAAwB7gD,EAAxB6gD,SAAU15C,EAAcnH,EAAdmH,WAClE,GAAI05C,IAAah7C,IAAQxC,IAAUA,IAAUiF,KAC3C,OAAO7G,EAAAC,EAAAC,cAACm/C,GAAD,CAAW3nB,QAASA,IAG7B,IAAM4nB,EAAoB19C,EAAMwG,IAAI,SAAAtE,GAAA,IAAGP,EAAHO,EAAGP,GAAIwO,EAAPjO,EAAOiO,KAAP,MAAmB,CAAExO,KAAIwO,KAAMwtC,IAAWxtC,MACxEytC,EAAa7tB,IAAO2tB,EAAmB,QACvCx4C,EAAY04C,EAAW,GAkBvBC,EAAc,WAClB,OAA0B,IAAtBD,EAAWx4C,OAEXhH,EAAAC,EAAAC,cAACk9C,EAAD,CACE3xC,KAAM3E,EACNtI,QAASA,EACTw9C,QAASA,EACThlB,OAAQU,EACRhyB,WAAYA,IAMhB1F,EAAAC,EAAAC,cAAA,OAAKwuB,KAAK,SAASlvB,UAAWtC,IAAOwiD,eACnC1/C,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,mBAAoBnD,IAAOyiD,YACpD3/C,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACE1I,UAAWa,IACT,mBACAnD,IAAOsgD,eACPtgD,IAAOugD,kBAETz7C,QArCRhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACpBooB,EAAWp3C,IAAI,SAAC80C,EAAOh2C,GAAR,OACdlH,EAAAC,EAAAC,cAACk9C,EAAD,CACE11C,IAAG,GAAAC,OAAKu1C,EAAM35C,GAAX,KAAAoE,OAAiBT,GACpB1I,QAASA,EACTw9C,QAASA,EACTvwC,KAAMyxC,EACNlmB,OAAQU,EACRl4B,UAAWtC,IAAOuK,YAClB/B,WAAYA,OA6BV2C,UAAU,SACVq1C,SAAUC,SAASvlC,KACnB9P,aAAW,GAEXtI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0gD,aACrB59C,EAAAC,EAAAC,cAACk9C,EAAD,CACE3xC,KAAM3E,EACNtI,QAASA,EACTw9C,QAASA,EACThlB,OAAQU,EACRhyB,WAAYA,IAEd1F,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOe,OAAvB,IACIuhD,EAAWx4C,OAAS,EADxB,cAWZ,OAAKo4C,EAIEp/C,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAAU+nB,GAHvCA,IAMXN,EAAal6C,aAAe,CAC1Bm6C,UAAU,GAGZD,EAAah9C,UAAb,GASeg9C,2BChGAS,MAJf,SAAyBh+C,GACvB,OAAO5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2iD,YAAaj+C,ICM7C,SAASk+C,EAATvhD,GAAiD,IAA1Bm5B,EAA0Bn5B,EAA1Bm5B,QAASjsB,EAAiBlN,EAAjBkN,KAAMjN,EAAWD,EAAXC,QAC5BuhD,EAAuBt0C,EAAvBs0C,MADuCC,EAChBv0C,EAAhBw0C,OACT9D,EAAW4D,EAAQ,CAACA,QAFqB,IAAAC,EACvB,GADuBA,EAGzCrB,EAAc,SAAAuB,GAAS,OAAI,kBAAM1hD,EAAQ0hD,KAiB/C,OACElgD,EAAAC,EAAAC,cAAC4+C,EAAD,CACEpnB,QAASA,EACTykB,SAAUA,EACVC,YAAa/tC,IAAQ8tC,GACrBK,QApBJ,SAAqB0D,EAAWlD,GAC9B,OACEh9C,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEvG,KAAK,OACLF,MAAM,OACNU,UAAWa,IAAWnD,IAAOM,KAAMw/C,GAAiB9/C,IAAOuK,aAC3DhC,KAAM06C,YAAaD,GACnB1hD,QAASmgD,EAAYuB,GACrBt6C,qBAAqB,GAEpBs6C,MAeTJ,EAAY76C,aAAe,CACzBwG,KAAM,GACNjN,QAAS,cAGXshD,EAAY39C,UAAZ,GASe29C,oCCzCf,SAASM,GAAT7hD,GAAoE,IAAhDgF,EAAgDhF,EAAhDgF,GAAIm0B,EAA4Cn5B,EAA5Cm5B,QAASjsB,EAAmClN,EAAnCkN,KAAM5J,EAA6BtD,EAA7BsD,MAAOw+C,EAAsB9hD,EAAtB8hD,QAAS7gD,EAAajB,EAAbiB,UAC/C8gD,EAAe70C,EAAKlI,GAgB1B,OACEvD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAfjC,WACE,GAAIrpB,IAAQiyC,GACV,OAAOz5C,IAET,IAAMwsB,EAAOD,aAAektB,GAE5B,OACEtgD,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO85B,OAAQx3B,IACvC+gD,aAAaltB,EAAM4Z,MACnBxhC,EAAK40C,IAAYx+C,GAAS7B,EAAAC,EAAAC,cAAA,gBAAS2B,EAAT,QAUnCu+C,GAASn7C,aAAe,CACtBwG,KAAM,GACNlI,GAAI,QAGN68C,GAASj+C,UAAT,GAYei+C,UC/Cf,SAASI,GAATjiD,GAAgC,IAAXm5B,EAAWn5B,EAAXm5B,QACnB,OACE13B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAAU,kBAAM7wB,MAInD25C,GAAUr+C,UAAV,GAIeq+C,mFCRf,SAASC,GAATliD,GAAoE,IAAxCsJ,EAAwCtJ,EAAxCsJ,WAAYC,EAA4BvJ,EAA5BuJ,cAAetI,EAAajB,EAAbiB,UACrD,GAAI4E,IAAQyD,GACV,OAAO,KAGT,IAAM64C,EAAcC,KAAQ94C,EAAY,SAAU,IAC5C+4C,EAAwB,CAAEC,OAAQH,GAExC,GAAInK,IAAKmK,IAAgB54C,EACvB,OACE9H,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IAAWnD,KAAO4jD,gBAAiBthD,GAC9CuhD,wBAAyBH,IAS/B,IACMI,EAAY,CAAEH,OADElK,KAAS+J,EAAa,CAAE15C,OAAQc,EAAem5C,UAAW,gBAGhF,OACEjhD,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QARKhC,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOgkD,SAAUH,wBAAyBH,IAShEphD,UAAWa,IAAWnD,KAAOugD,kBAC7Bp1C,UAAU,UAEVrI,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,KAAO4jD,gBAAiBthD,GAAYuhD,wBAAyBC,KAK/FP,GAAiBx7C,aAAe,CAC9B6C,cAAe,IAGjB24C,GAAiBt+C,UAAjB,GAMes+C,+OC1Cf,SAASU,GAAT5iD,GAaG,IAZDqD,EAYCrD,EAZDqD,MACA81B,EAWCn5B,EAXDm5B,QACAjsB,EAUClN,EAVDkN,KACA21C,EASC7iD,EATD6iD,eACA5hD,EAQCjB,EARDiB,UACAiG,EAOClH,EAPDkH,KACA5D,EAMCtD,EANDsD,MACAw+C,EAKC9hD,EALD8hD,QACAgB,EAIC9iD,EAJD8iD,OACAC,EAGC/iD,EAHD+iD,YACA9iD,EAECD,EAFDC,QACAmH,EACCpH,EADDoH,aAEQsR,EAAQxL,EAARwL,IACFsqC,EAAUD,EAAc1/C,EAASqV,GAAOxR,EACxC+7C,EAAe/1C,EAAK40C,IAAYx+C,GAAS7B,EAAAC,EAAAC,cAAA,gBAAS2B,EAAT,KA2C/C,OAAO7B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAzCtC,WACE,GAAIrpB,IAAQzM,IAAUA,IAAUiF,IAC9B,OAAOA,IAGT,GAAIwH,IAAQkzC,GACV,OACEvhD,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO85B,OAAQx3B,IACvCoC,EACA4/C,GAKP,IAAM37C,EAAW1F,GAAA,GACXihD,GAAkB,CACpBt7C,OAAQ,SACRC,IAAK,wBAIH07C,EAAU,GAAA95C,OAAM05C,GAAN15C,OAAe45C,GAE/B,OACEvhD,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO85B,OAAQx3B,IACxCQ,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,GAAA,GACM0F,EADN,CAEEF,aAAcA,EACd7G,MAAM,OACNsH,GAAIq7C,EACJh8C,KAAMg8C,EACNjiD,UAAWtC,IAAOM,KAClBgB,QAASA,IAERoD,GAEF4/C,KAQTL,GAASl8C,aAAe,CACtBwG,KAAM,GACN21C,gBAAgB,EAChBE,aAAa,EACbD,OAAQ,GACR7iD,QAAS,aACTmH,cAAc,GAGhBw7C,GAASh/C,UAAT,GAiBeg/C,oDClFTO,GAAc,QAEpB,SAASC,GAATpjD,GAAyF,IAAnEm5B,EAAmEn5B,EAAnEm5B,QAAS91B,EAA0DrD,EAA1DqD,MAAOggD,EAAmDrjD,EAAnDqjD,SAAUn2C,EAAyClN,EAAzCkN,KAAMo2C,EAAmCtjD,EAAnCsjD,cAAeC,EAAoBvjD,EAApBujD,iBAEjEC,EAEEH,EAFFG,qCACAC,EACEJ,EADFI,oCAGMC,EAAsCx2C,EAAtCw2C,UAAWC,EAA2Bz2C,EAA3By2C,WAAYC,EAAe12C,EAAf02C,WA8C/B,OAAOniD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GA5CtC,WAGE,OAFiBrpB,IAAQ4zC,IAAc5zC,IAAQ6zC,IAAe7zC,IAAQ8zC,IAEtDN,EACPH,GAGLrzC,IAAQzM,IAAUA,IAAUiF,IACvBA,IAGLjF,EAAMlD,OAAS0jD,KAEfpiD,EAAAC,EAAAC,cAACmiD,GAAA,EAAD,CACEH,WAAYtgD,EACZkgD,iBAAkBA,EAClBtjD,QAASujD,EACTviD,UAAWtC,KAAOolD,YAClBC,cAAc,IAKhB3gD,EAAMlD,OAAS8jD,KAEfxiD,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEvG,KAAK,OACLF,MAAM,OACNU,UAAWijD,IAAajlD,KACxBiI,KAAM7D,EAAMqV,IACZzY,QAASwjD,GAERpgD,EAAMmQ,MAKTnQ,EAAMlD,OAASgkD,KACV9gD,EAAMmQ,KAGRlL,MAMX86C,GAAW18C,aAAe,CACxBrD,MAAO,GACP6J,KAAM,GACNo2C,eAAe,EACfC,iBAAkB,WAGpBH,GAAWx/C,UAAX,GASew/C,giCC7Ef,SAASgB,GAATpkD,GAOG,IANDm5B,EAMCn5B,EANDm5B,QACAkrB,EAKCrkD,EALDqkD,uBACAC,EAICtkD,EAJDskD,oBACAC,EAGCvkD,EAHDukD,gBACAC,EAECxkD,EAFDwkD,qBAECj/C,EAAAvF,EADDkN,MAKY,GAJXu3C,EAAAl/C,EAECm/C,mBAFD,IAAAD,EAEe,CAAC,IAFhBA,EAAAE,EAAAp/C,EAGCq/C,0BAHD,IAAAD,EAGsB,EAHtBA,EAMKp8C,EAAYm8C,EAAY,IAAM,GAC9B7G,EAAch4C,IAAQ6+C,GACtBG,EAAoBH,EAAYj8C,OAChCq8C,EAA4B9N,KAAM4N,GAA2CC,EAArBD,EAE9D,SAASG,IAAmC,IAAjBpB,EAAiBzyC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC9BsC,EAAamwC,EAAbnwC,KAAMxO,EAAO2+C,EAAP3+C,GACR0T,EC/BH,SAA0BirC,EAAYW,GAAqB,IAAAtkD,EAC5C2jD,GAAc,GAA1B3+C,EADwDhF,EACxDgF,GAAI0T,EADoD1Y,EACpD0Y,IAEZ,OAAK7S,IAAQ6S,IAIR05B,IAAW15B,IAAQ7S,IAAQb,GACvB,KAGFs/C,EAAoBt/C,GAPlB0T,ED2BKssC,CAAiBrB,EAAYW,GAEnCW,EAAQtB,EAAWnQ,WAAaxuC,EAAxB,aAAAoE,OAA0CpE,GAKxD,OACEvD,EAAAC,EAAAC,cAACujD,EAADC,GAAA,GACMxB,EADN,CAEE1iD,UAAWa,IAAWnD,KAAOymD,eAAgBzmD,KAAO0mD,eACpDlsB,QAAO,GAAA/vB,OAAK+vB,EAAL,UAAA/vB,OAAqB67C,GAC5Bh3C,iBAAkBtP,KAAO2mD,iBACzB5sC,IAAKA,EACLqlC,aAAW,EACX50C,IAAG,mBAAAC,OAAqB67C,GACxBhlD,QAZ0B,kBAAMokD,GAC/BA,EAAuB7wC,OAgB9B,SAASkrC,IACP,GAAIb,EACF,OAAO,KAGT,IAAM0H,EAAkBtlC,GAAOykC,GAG/B,OAFAa,EAAmBC,QAGjB/jD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOk6B,gBACpB0sB,EAAmB17C,IAAIk7C,GAEvBP,GAyCP,OAAO/iD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GApCtC,WACE,OAAI0kB,GAAeh4C,IAAQ0C,GAClBD,IAGiB,IAAtBu8C,EACKE,EAAkBx8C,GAIzB9G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAASi7C,IACTz9C,UAAWa,IACTnD,KAAOsgD,eACPtgD,KAAOugD,iBACPqF,GAEFz6C,UAAU,SACVq1C,SAAUC,SAASvlC,KACnB9P,aAAW,GAEXtI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOyiD,WACrB3/C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0mD,eACpBN,EAAkBx8C,IAGrB9G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOe,OAAvB,MACMolD,EAA2B,EADjC,cAYZV,GAAmBxgD,UAAnB,GASewgD,gCE5Gf,SAASqB,GAATzlD,GAA2D,IAAlCm5B,EAAkCn5B,EAAlCm5B,QAASjsB,EAAyBlN,EAAzBkN,KAAMw4C,EAAmB1lD,EAAnB0lD,gBAAmBngD,EACd2H,GAAQ,GAA3ClI,EADiDO,EACjDP,GAAI2gD,EAD6CpgD,EAC7CogD,OAAQC,EADqCrgD,EACrCqgD,UAAWC,EAD0BtgD,EAC1BsgD,QACvBC,EAAqBJ,EAArBI,iBACF1F,EAAc,kBAAM0F,GAAoBA,EAAiBH,IAkC/D,OACElkD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,EAASl4B,UAAWtC,KAAO6H,WAjC5D,WACE,GAAIsJ,IAAQ61C,GACV,OAAOr9C,IAGT,GAAIwH,IAAQ9K,IAAO8K,IAAQ+1C,GACzB,OAAOpkD,EAAAC,EAAAC,cAAA,WAAMgkD,GAGf,IAAMI,EACJtkD,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACE/F,UAAWtC,KAAOqnD,eAClBzlD,MAAM,UACN2G,KAAM2+C,EACN5lD,QAASmgD,GAERuF,GAIL,OAAI71C,IAAQ81C,GACHG,EAIPtkD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOsnD,YACpBF,EACDtkD,EAAAC,EAAAC,cAACukD,GAAA,EAAD,CAAc58C,WAAYs8C,EAAWr8C,cAAe,QAU5Dk8C,GAAc/+C,aAAe,CAC3BwG,KAAM,GACNw4C,gBAAiB,IAGnBD,GAAc7hD,UAAd,GAMe6hD,UCxDf,SAASU,GAATnmD,GAA4D,IAAhCm5B,EAAgCn5B,EAAhCm5B,QAASjsB,EAAuBlN,EAAvBkN,KAAM3D,EAAiBvJ,EAAjBuJ,cAGnC68C,GAFoBl5C,GAAQ,IAA1Bm5C,cAE2BltB,GAC7BmtB,EAAsB16C,MAAM6T,QAAQ2mC,GAW1C,OAAO3kD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GATtC,WACE,GAAIrpB,IAAQs2C,GACV,OAAO99C,IAET,IAAM7E,EAAU6iD,EAAsBF,EAAaj2C,KAAK,MAAQi2C,EAEhE,OAAO3kD,EAAAC,EAAAC,cAACukD,GAAA,EAAD,CAAc58C,WAAY7F,EAAS8F,cAAeA,MAM7D48C,GAAiBz/C,aAAe,CAC9B6C,cAAe,IAGjB48C,GAAiBviD,UAAjB,GAMeuiD,+QC3Bf,SAASI,GAATvmD,GAA0E,IAAjDm5B,EAAiDn5B,EAAjDm5B,QAASkF,EAAwCr+B,EAAxCq+B,gBAAiBp9B,EAAuBjB,EAAvBiB,UAAWw6B,EAAYz7B,EAAZy7B,SAQ5D,OAAOh6B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAPf,kBACrB13B,EAAAC,EAAAC,cAAA,OAAA6kD,GAAA,GAAUnoB,EAAV,CAA2Bp9B,UAAWa,IAAWnD,KAAO8F,SAAUxD,KAChEQ,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,sBAAuBnD,KAAOsD,QADzD,IAEIw5B,EAAW,KAOnB8qB,GAAc3iD,UAAd,GAOe2iD,UC3BfhkD,EAAAC,EAAAC,EAAA,sBAAA89C,IAAAh+C,EAAAC,EAAAC,EAAA,sBAAAgkD,IAAAlkD,EAAAC,EAAAC,EAAA,sBAAAyiD,IAAA3iD,EAAAC,EAAAC,EAAA,sBAAAikD,IAAAnkD,EAAAC,EAAAC,EAAA,sBAAAkkD,IAAApkD,EAAAC,EAAAC,EAAA,sBAAAmkD,IAAArkD,EAAAC,EAAAC,EAAA,sBAAAokD,KAAAtkD,EAAAC,EAAAC,EAAA,sBAAAq+C,KAAAv+C,EAAAC,EAAAC,EAAA,sBAAAyjD,GAAA,IAAA3jD,EAAAC,EAAAC,EAAA,sBAAAqkD,KAAAvkD,EAAAC,EAAAC,EAAA,sBAAAskD,KAAAxkD,EAAAC,EAAAC,EAAA,sBAAAukD,KAAAzkD,EAAAC,EAAAC,EAAA,sBAAAwkD,KAAA1kD,EAAAC,EAAAC,EAAA,sBAAAykD,KAAA3kD,EAAAC,EAAAC,EAAA,sBAAA0kD,KAAA5kD,EAAAC,EAAAC,EAAA,sBAAA2kD,4hECSe,SAASC,EAATrnD,GAKZ,IAJDsnD,EAICtnD,EAJDsnD,cACAlxB,EAGCp2B,EAHDo2B,cACAtiB,EAEC9T,EAFD8T,SACGzS,EACFC,EAAAtB,EAAA,8CAAA2Q,EAAAC,EACqCC,mBAAS,IAD9C,GACM02C,EADN52C,EAAA,GACmB62C,EADnB72C,EAAA,GAAA+I,EAAA9I,EAEmCC,mBAAS,IAF5C,GAEMgC,EAFN6G,EAAA,GAEkBjF,EAFlBiF,EAAA,GAIDhI,oBAAU,WACQ81C,EAAhBpxB,GAA+D,KAC9D,CAACA,IAuCJ,OACE30B,EAAAC,EAAAC,cAAC2d,EAAA,EAAD1d,EAAA,CACEjD,OAAQ4B,cACR8C,MAAOkkD,EACP10C,WAAYA,EACZkB,UAnCkB,SAACjC,GACrB,IAAMM,EAAUN,EAAMM,SAAWN,EAAM21C,UAAY31C,EAAM41C,MACnDC,EAAav1C,IAAYC,IAAUI,MACnCm1C,EAAWx1C,IAAYC,IAAUC,IAE/BjP,EAAUyO,EAAMvK,OAAhBlE,MAEHA,IAEDskD,GAAcC,KAChBJ,EAAe,SAACK,GACd,IAhBevkD,EAgBTwkD,EAAc,GAAA1+C,OAAA6W,EAAO4nC,GAAP,EAhBLvkD,EAgBoCD,EAhB1B,CAC7BA,MAAOikD,EAAa,GAAAl+C,OAAM9F,EAAN,KAAA8F,OAAe2+C,OAAezkD,EAClDA,YAiBI,OAFAwQ,GAAYA,EAASg0C,GAEdA,IAETrzC,EAAc,IACd3C,EAAMU,mBAmBNsB,SAXiB,SAACzQ,GACpBmkD,EAAenkD,GACfyQ,EAASzQ,IAUP2kD,cAhBsB,SAAC3kD,GACzBoR,EAAcpR,IAgBZ4a,WA7CqB,CAAED,kBAAmB,MA8C1C6C,YAAY,EACZJ,SAAO,EACPE,aAAW,GACPtf,ICjEK,SAAS4mD,EAAcC,GACpC,OAAO,SAACnjD,GACN,GAAI+K,IAAQ/K,GACV,MAAO,GAGT,IAAKmjD,EACH,OAAOnjD,EAAQkL,OAAO,SAAAoU,GAAM,OAAqB,OAAjBA,EAAOhhB,QAGzC,IAAM8kD,EAAcpjD,EAAQ,GAC5B,OAAuB,IAAnBA,EAAQ0D,QAAsC,OAAtB0/C,EAAY9kD,MAC/B,CAAC,CACNC,MAAO6kD,EAAY7kD,MACnBD,MAAO8kD,EAAY7kD,QAIhByB,GDoDXsiD,EAAe3gD,aAAe,CAC5B4gD,eAAe,EACf5zC,YAAa,IAGf2zC,EAAezjD,UAAf,mkDEpEe,SAASwkD,EAATpoD,GAYZ,IAXDqoD,EAWCroD,EAXDqoD,iBACAH,EAUCloD,EAVDkoD,YACAI,EASCtoD,EATDsoD,SACAC,EAQCvoD,EARDuoD,UACAjqC,EAOCte,EAPDse,SACAgM,EAMCtqB,EANDsqB,eACAk+B,EAKCxoD,EALDwoD,aACAn/B,EAICrpB,EAJDqpB,SACAo/B,EAGCzoD,EAHDyoD,eACAl0C,EAECvU,EAFDuU,aACGlT,EACFqnD,EAAA1oD,EAAA,iJACM2oD,EADNC,EACuB/3C,mBAASw3C,GADhC,MAGD,OAAIE,EAEA9mD,EAAAC,EAAAC,cAAC0lD,EAAmBhmD,GAKtBI,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACknD,EAAA,EAADC,EAAA,CACEvoD,MAAOA,YAAM,CAAE8oB,WAAUiB,iBAAgBk+B,eAAc1zC,SAAUhF,IAAQyE,KACzEk0C,eAAgBA,EAChBM,eAAgBpqD,IAAO2E,MACvBglD,SAAUA,EACVhqC,SAAUA,EACV+pC,iBAAkBM,EAClBV,cAAeA,EAAcC,IACzB7mD,IAENI,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAc7f,UAAWtC,IAAO4V,aAAcsC,QAAStC,qCAK7D6zC,EAAS1hD,aAAe,CACtByvB,qBAAqB,EACrB6yB,gBAAgB,EAChBT,WAAW,EACXjqC,UAAU,EACV+K,UAAU,EACViB,gBAAgB,EAChBk+B,cAAc,GAGhBJ,EAASxkD,UAAT,qCC7DA,IAAAwd,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMM4d,EAAS,CACb1gC,QAASC,IAAOD,QAChBE,UAAWD,IAAOC,WAGpB,SAASqqD,EAATjpD,GAAsD,IAAlCkpD,EAAkClpD,EAAlCkpD,KAAMjoD,EAA4BjB,EAA5BiB,UAAWkoD,EAAiBnpD,EAAjBmpD,OAAQ5oD,EAASP,EAATO,MAC3C,OAAK2oD,EAGH7nC,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOyqD,SAAUhqB,EAAO7+B,GAAQU,IAAakoD,GAHzD,KAOpBF,EAASviD,aAAe,CACtBwiD,MAAM,EACNC,OAAQ,IACR5oD,MAAO,WAGT0oD,EAASrlD,UAAT,GAOeqlD,mDChCf,IAAA7nC,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMA,SAASyR,EAATjzB,GAA0E,IAApDgB,EAAoDhB,EAApDgB,SAAUC,EAA0CjB,EAA1CiB,UAAW4N,EAA+B7O,EAA/B6O,mBAAoBiG,EAAW9U,EAAX8U,QAC7D,OACEuM,EAAA3f,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,IAAO0qD,MAAOv0C,GAAWnW,IAAO2qD,WAAYz6C,IAElEovB,WAASp0B,IAAI7I,EAAU,SAAAm9B,GAAK,OAAIA,GAC9B9c,EAAA3f,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,IAAOuO,KAAMjM,IACpCk9B,MAQblL,EAAWrvB,UAAX,GAOeqvB,2BC1Bf3Y,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA+iD,WAAA,oCAAAC,kBAAA,2CAAArpD,KAAA,8BAAAspD,gBAAA,yCAAAC,WAAA,oCAAAC,eAAA,wCAAAC,UAAA,mCAAAC,UAAA,mCAAAC,2BAAA,oDAAAC,qBAAA,8CAAAC,iBAAA,0CAAAC,cAAA,uCAAAC,gBAAA,yCAAArsB,WAAA,oCAAAssB,sBAAA,+CAAAC,8BAAA,uDAAAC,iBAAA,0CAAAC,yBAAA,kDAAAC,gBAAA,yCAAAC,oBAAA,6CAAAC,oBAAA,6CAAAC,oBAAA,6CAAAC,sBAAA,+CAAAC,wBAAA,iDAAAC,uBAAA,gDAAAn3C,YAAA,qCAAAo3C,aAAA,sCAAA13C,QAAA,iCAAA23C,2BAAA,oDAAAC,wBAAA,iDAAAC,SAAA,kCAAA5xB,OAAA,gCAAA6xB,qBAAA,8CAAAC,0BAAA,6zBCCX,IAAMC,EAAoB,SAAC/nD,GAAD,IAAQmQ,EAARtC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAe,MAAf,oBAAA9H,OAAuCoK,EAAvC,MAAApK,OAAgD/F,EAAhD,MAMpBgoD,EAAmB,SAAChoD,EAAOC,GAAR,MAAmB,CAAEA,QAAOD,QAAOumB,OAAO,IAE7D0hC,EAAe,SAAAtrD,GAAA,IAAG4pB,EAAH5pB,EAAG4pB,MAAOvmB,EAAVrD,EAAUqD,MAAOC,EAAjBtD,EAAiBsD,MAAjB,OAAA1B,EAAA,GAAAN,EAAAtB,EAAA,4BAE1B4pB,QAASA,EACTtmB,MAAOsmB,EAAQvmB,EAAQC,EACvBD,WAGWkoD,EAAqB,SAACl+C,EAAMgqB,GAAP,OAAmBm0B,IAAIn+C,EAAM,SAAAH,GAAI,OAAAtL,EAAA,GAAUsL,EAAV,CAAgBmqB,8LCftEo0B,EAAU,SAAC7e,EAAM9d,GAC5B,OAAI8d,EAAO,EACF,EAELA,EAAO9d,EACFA,EAGF8d,GAGI8e,EAAiB,SAACl3B,EAAOC,GAAR,OAAgBk3B,IAAMn3B,EAAOC,EAAM,IAEpDm3B,EAAuB,SAACp3B,EAAOC,EAAKo3B,GAAb,OAClCp3B,EAAMD,EAAQ,IAAMq3B,GAMTC,EAA6B,SAACC,EAAaF,EAAe/8B,GACrE,IAAMk9B,EAAYC,IAAMJ,EAAgB,GAClCr3B,EAAQu3B,EAAcC,EACxBv3B,EAAMs3B,EAAcC,EAUxB,OANIH,EAAgB,IAAM,IACxBp3B,GAAO,GAKLA,EAAM3F,EACD,CAAE0F,MAAO1F,EAAQ+8B,EAAgB,EAAGp3B,IAAK3F,GAK9C0F,EAAQ,EACH,CAAEA,MAAO,EAAGC,IAAKo3B,GAGnB,CAAEr3B,QAAOC,QAMLy3B,EAAkB,SAACC,EAAUN,EAAe/8B,GACvD,IAAI0F,EAAQ23B,EACN13B,EAAMg3B,EAAQU,EAAWN,EAAgB,EAAG/8B,GAMlD,OAJK88B,EAAqBp3B,EAAOC,EAAKo3B,KACpCr3B,EAAQ1F,EAAQ+8B,EAAgB,GAG3B,CAAEr3B,QAAOC,QAML23B,EAAsB,SAACD,EAAUN,EAAe/8B,GAC3D,IAAM0F,EAAQi3B,EAAQU,EAAWN,EAAgB,EAAG/8B,GAChD2F,EAAM03B,EAMV,OAJKP,EAAqBp3B,EAAOC,EAAKo3B,KACpCp3B,EAAMo3B,GAGD,CAAEr3B,QAAOC,u+BC9DH,SAAS43B,EAATrsD,GAQZ,IAPDsR,EAOCtR,EAPDsR,QACAwd,EAMC9uB,EAND8uB,MACAhb,EAKC9T,EALD8T,SACAub,EAICrvB,EAJDqvB,WACAD,EAGCpvB,EAHDovB,SACA/F,EAECrpB,EAFDqpB,SACAnoB,EACClB,EADDkB,UAEMorD,EAAmBjjC,EAAWkjC,IAAsBC,IACpDX,EAAgBY,IAAI,CAACH,EAAkBx9B,IACvC49B,EAAcp7C,GAAWq7C,IAH9Bh8C,EAAAC,EAKyCC,mBAAS,CAAE2jB,MAAO,EAAGC,IAAKo3B,IALnE,GAAAe,EAAAj8C,EAAA,GAKQ6jB,EALRo4B,EAKQp4B,MAAOC,EALfm4B,EAKen4B,IAAOo4B,EALtBl8C,EAAA,GAAA+I,EAAA9I,EAMqCC,mBAAS67C,GAN9C,GAMMX,EANNryC,EAAA,GAMmBozC,EANnBpzC,EAAA,GAQKqzC,EAAmB,SAACngB,GACpBA,IAASmf,IACXe,EAAelgB,GACf94B,EAAS84B,KAebl7B,oBAAU,WACR,IAAMs7C,EACJlB,EAA2BC,EAAaF,EAAe/8B,GAEzD+9B,EAAgBG,IACf,CAACnB,EAAe/8B,IAGnBpd,oBAAU,WAAQJ,GAAWw7C,EAAex7C,IAAa,CAACA,IAI1DI,oBAAU,WACJq6C,EAAct3B,GAChBo4B,EAAgBX,EAAgBH,EAAaF,EAAe/8B,IAE1Di9B,EAAcv3B,GAChBq4B,EAAgBT,EAAoBL,EAAaF,EAAe/8B,KAEjE,CAACi9B,IAEJ,IAAMkB,EAAoB79B,GAAY28B,EAAc,GAAM,EACpDmB,EAAiBT,IAAI,CAACr9B,EAAW28B,EAAa18B,IAKpD,MAAO,CACLmF,QACAC,MACAs3B,cACAoB,eARqBpB,IAAgBj9B,GAAS5tB,EAS9CksD,mBARyC,IAAhBrB,GAAqB7qD,EAS9C+rD,mBACAC,iBACAZ,mBACAe,YAXkB,SAAAzgB,GAAI,OAAI,kBAAMmgB,EAAiBngB,KAYjD0gB,YA3CqB,eAACC,EAADr8C,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAQ,EAAR,OAAc,kBACnC67C,EAAiBtB,EAAQM,EAAcwB,EAAMz+B,MA2C7C0+B,gBA1CyB,eAACD,EAADr8C,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAQ,EAAR,OAAc,kBACvC67C,EAAiBtB,EAAQM,EAAcwB,EAAMz+B,MA0C7C2+B,WAlDyB,WAAkC,IAAjC7gB,EAAiC17B,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAA1B66C,EAAawB,EAAar8C,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAN,EACrD47C,EAAelgB,EAAO2gB,GACtBz5C,EAAS84B,EAAO2gB,+PC1BpB,SAASG,EAAT1tD,GAeG,IAdD2tD,EAcC3tD,EAdD2tD,WACA9P,EAaC79C,EAbD69C,YACA38C,EAYClB,EAZDkB,UACA62B,EAWC/3B,EAXD+3B,iBACA61B,EAUC5tD,EAVD4tD,OACAC,EASC7tD,EATD6tD,aACAC,EAQC9tD,EARD8tD,YACA52C,EAOClX,EAPDkX,gBACA/V,EAMCnB,EANDmB,gBACAF,EAKCjB,EALDiB,UACAV,EAICP,EAJDO,MACAiD,EAGCxD,EAHDwD,MACA/C,EAECT,EAFDS,KACAstD,EACC/tD,EADD+tD,UAEoB9tD,EAAYosD,EAAa,CAAEv4C,SAAU85C,IAAjDH,WACAtB,GAAawB,GAAc,IAA3BxB,SAIR,MAF4Bp0B,IAAqB8lB,GAG/C,OAAO,KAsBT,OACEp8C,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAOA,EACPE,KAAMA,EACNQ,UAAWa,IAAWnD,IAAOyB,OAAQ8W,GACrCjX,QAzBN,WACE,OAAI8tD,EACKH,EAAOzB,GAGTlsD,EAAQksD,IAqBX9rD,SAAUa,GAETA,EAnBD2sD,GAGFpsD,EAAAC,EAAAC,cAACO,EAAA,EAADN,EAAA,GACMksD,EADN,CAEE7sD,UAAWa,IAAWnD,IAAOgX,OAAQxU,MAgBjCM,EAAAC,EAAAC,cAAA,YAAO6B,KAOnBkqD,EAAkBhnD,aAAe,CAC/BlD,MAAO,YACPjD,MAAO,YACPs9C,aAAa,EACb38C,WAAW,EACX62B,kBAAkB,EAClBg2B,WAAW,GAGbL,EAAkB9pD,UAAlB,GAiBe8pD,qgCC5DAM,MA/Bf,SAAAhuD,GAAiG,IAAtE6B,EAAsE7B,EAAtE6B,IAAK+rD,EAAiE5tD,EAAjE4tD,OAAQ1sD,EAAyDlB,EAAzDkB,UAAyD+sD,EAAAjuD,EAA9CkuD,yBAA8C,IAAAD,KAAAE,EAAAnuD,EAAnBouD,eAAmB,IAAAD,KAAAx9C,EAAA09C,EAC3Dx9C,mBAASq9C,GADkD,GACxFI,EADwF39C,EAAA,GAC5E49C,EAD4E59C,EAAA,GAO/F,SAAS69C,IACPD,EAAcE,YAAS5sD,IAGzB,IAAM6sD,EAAgBC,IARtB,WACE,OAAQztD,GAAaotD,GAAcV,KAOMgB,KAgB3Cl9C,oBANA,WAGE,OAVA0tC,SAAS/a,iBAAiB,SAAUmqB,EAAkBJ,GAU/C,WANPhP,SAAS9a,oBAAoB,SAAUkqB,EAAkBJ,KASzC,IAClB18C,oBAAUg9C,EAAe,CAACJ,KCzBtBO,EAAet7C,sBAErB,SAASu7C,EAAT9uD,GAQG,IAPDkB,EAOClB,EAPDkB,UACA4/B,EAMC9gC,EAND8gC,mBACA8sB,EAKC5tD,EALD4tD,OACA3sD,EAICjB,EAJDiB,UACAkB,EAGCnC,EAHDmC,SACA4sD,EAEC/uD,EAFD+uD,mBACAX,EACCpuD,EADDouD,QAEQX,EAAepB,EAAa,CAAEv4C,SAAU85C,IAAxCH,WAGR,GAFAO,EAAgB,CAAEJ,OAAQH,EAAY5rD,IAAKgtD,EAAc3tD,YAAWktD,aAE/DttB,EACH,OAAO,KAaT,OACEr/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,GAAYY,IAAKgtD,GAV1DE,EACKA,EAAmB7tD,GAGrBA,GACLO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQC,SAAUA,EAAUlB,UAAWtC,IAAOgX,OAAQlV,KAAK,WAWjEquD,EAAsBpoD,aAAe,CACnCvE,UAAU,GAGZ2sD,EAAsBlrD,UAAtB,GAUekrD,0BC5Cf,SAAStiD,EAATxM,GAWG,IAVDgvD,EAUChvD,EAVDgvD,YACA9tD,EASClB,EATDkB,UACAoQ,EAQCtR,EARDsR,QACAwd,EAOC9uB,EAPD8uB,MACAhb,EAMC9T,EAND8T,SACAsb,EAKCpvB,EALDovB,SACAnuB,EAICjB,EAJDiB,UACAouB,EAGCrvB,EAHDqvB,WACAhG,EAECrpB,EAFDqpB,SACA6F,EACClvB,EADDkvB,iBACC+/B,EAaG5C,EAAa,CACf/6C,UACAwd,QACAhb,WACAsb,WACAC,aACAhG,WACAnoB,cAlBAszB,EAFDy6B,EAECz6B,MACAC,EAHDw6B,EAGCx6B,IACAw4B,EAJDgC,EAIChC,iBACAC,EALD+B,EAKC/B,eACAnB,EANDkD,EAMClD,YACAsB,EAPD4B,EAOC5B,YACAf,EARD2C,EAQC3C,iBACAgB,EATD2B,EASC3B,YACAE,EAVDyB,EAUCzB,gBACAL,EAXD8B,EAWC9B,eACAC,EAZD6B,EAYC7B,mBAUI8B,EACJztD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOwwD,gBACtB1tD,EAAAC,EAAAC,cAAA,UACExB,KAAK,SACLc,UAAWtC,IAAOywD,WAClB/uD,SAAU+sD,EACVntD,QAASutD,EAAgBlB,IAEzB7qD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,8BAEfQ,EAAAC,EAAAC,cAAA,UACExB,KAAK,SACLc,UAAWtC,IAAOywD,WAClB/uD,SAAU+sD,EACVntD,QAASutD,KAET/rD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,wBAKbouD,EACJ5tD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOwwD,gBACtB1tD,EAAAC,EAAAC,cAAA,UACExB,KAAK,SACLc,UAAWtC,IAAOywD,WAClB/uD,SAAU8sD,EACVltD,QAASqtD,KAET7rD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,wBAEfQ,EAAAC,EAAAC,cAAA,UACExB,KAAK,SACLc,UAAWtC,IAAOywD,WAClB/uD,SAAU8sD,EACVltD,QAASqtD,EAAYhB,IAErB7qD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,gCAKbquD,EACJ7tD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+E,aAAxB,WAEEjC,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO4wD,UAAWC,YAAavC,IAFlD,IAIExrD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO4wD,UAAWC,YAAatC,IAJlD,KAKK8B,GAAgBvtD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO8wD,OAAxB,SACnBhuD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO4wD,UAAWC,YAAangC,KAI9CqgC,EACJjuD,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAapL,MAAM,QAAQU,UAAWtC,IAAOqgD,iBAC1C0M,EAAel3B,EAAOC,GAAK5qB,IAAI,SAAA+iC,GAAI,OAClCnrC,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEoJ,IAAKyjC,EACLrsC,MAAM,UACNE,KAAK,QACLJ,SAAUa,EACVD,UAAWa,IACTnD,IAAOgxD,WACP5D,IAAgBnf,GAAQjuC,IAAO+sB,QAEjCzrB,QAASotD,EAAYzgB,IAEpBA,MAMH/9B,EAAqB/M,IACzBnD,IAAO6H,UACP0oB,GAAoBvwB,IAAOixD,aAC3B3uD,GAGF,OACEQ,EAAAC,EAAAC,cAAA,OAAKqD,GAAG,YAAY/D,UAAW4N,GAC7BpN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkxD,gBACpBX,EACAQ,EACAL,GAEFC,GAtIP/sD,EAAAC,EAAAC,EAAA,sBAAAqtD,IA2IAtjD,EAAU5I,UAAV,GAyBA4I,EAAU9F,aAAe,CACvB0oB,SAAU4Y,IACV9Y,kBAAkB,EAClBhuB,WAAW,GAGEsL,kDC1Kf,IAAA4U,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMA,SAASuuC,EAAT/vD,GAAwC,IAAbiB,EAAajB,EAAbiB,UACzB,OACEogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOqxD,UAAW/uD,KAIjD8uD,EAAgBnsD,UAAhB,GAIemsD,uBCffz1C,EAAAC,QAAA,CAAkBna,OAAA,gCAAA6B,KAAA,8BAAAF,QAAA,iCAAAC,WAAA,oCAAAtD,QAAA,iCAAA6C,WAAA,oCAAA3C,UAAA,mCAAAC,SAAA,kCAAAC,MAAA,+BAAAO,OAAA,gCAAAF,QAAA,iCAAAF,KAAA,8BAAAC,UAAA,mCAAAH,QAAA,iCAAAC,OAAA,gCAAAO,MAAA,+BAAAC,OAAA,gCAAAC,MAAA,+BAAAL,KAAA,8BAAAM,MAAA,+BAAA0C,cAAA,qwBCUlB,SAAS6tD,EAATjwD,GAAyG,IAA3EkB,EAA2ElB,EAA3EkB,UAAWw9C,EAAgE1+C,EAAhE0+C,YAAawR,EAAmDlwD,EAAnDkwD,iBAAkBh5C,EAAiClX,EAAjCkX,gBAAoB7V,EAAaC,EAAAtB,EAAA,kEACjG2/B,EAAawwB,mBAOnB,OACE1uD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACgkC,EAAA,EAAD/jC,EAAA,GACMP,EADN,CAEE+gB,WAAYud,EACZl8B,QAASi7C,EACTz9C,UAAWa,IAAWnD,IAAOugD,iBAAkBgR,GAC/CE,UAAU,QACVr6C,gBAAiBpX,IAAO0xD,gBAExB5uD,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWa,IAAWnD,IAAO2xD,aAAcp5C,GAC3C3W,MAAM,YACNF,SAAUa,EACVjB,QAnBY,YACF6P,IAAQ6vB,EAAWruB,QAAQgT,MAAM/c,SACvC47B,WAAWxD,EAAWruB,QAAQ8xB,WAAY,KAmB9C3hC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4xD,YACpBrvD,EACGO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQ4B,UAAQ,IAC3CV,EAAAC,EAAAC,cAAA,KAAGV,UAAU,oBAHnB,UAQAQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6xD,MACvB/uD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsD,MACrBR,EAAAC,EAAAC,cAAA,KAAGV,UAAU,yBAQzBgvD,EAAmBrsD,UAAnB,GAOeqsD,uBCrDTQ,EAAoB,CACxB3xD,MAAOH,IAAOG,OAGhB,SAAS6M,EAAT3L,GAAqD,IAA9BgB,EAA8BhB,EAA9BgB,SAAUT,EAAoBP,EAApBO,MAAOU,EAAajB,EAAbiB,UACtC,OACEQ,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IACTnD,IAAO8sB,SACPlrB,GAASkwD,EAAkBlwD,GAC3BU,GAEFkvB,KAAK,SAEJnvB,GAKP2K,EAAY/H,UAAZ,GAQe+H,uCClCf,IAAA+kD,EAAAnuD,EAAA,IAAAouD,EAAApuD,EAAA,IAOM5D,EAAS+tC,aAAWC,OAAO,CAC/BikB,eAAgB,CACdjgB,gBAAiBv0B,wBAEnBy0C,oBAAqB,CACnBxjB,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,sBACPk8B,WAAY,KAEdka,oBAAqB,CACnBzjB,SAAU,EACVuJ,WAAY,KAEdma,cAAe,CACb1jB,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,uBAETs2C,eAAgB,CACdhjB,QAAS,OACT1qB,eAAgB,gBAChB6pB,WAAY,UACZD,cAAe,MACfsE,MAAO,OACPoD,aAAc,GAEhBqc,kBAAmB,CACjBjjB,QAAS,OACT1qB,eAAgB,gBAChB6pB,WAAY,MACZD,cAAe,MACfsE,MAAO,OAET0f,0BAA2B,CACzBnjB,KAAM,GAERojB,sBAAuB,CACrBpjB,KAAM,EACNxqB,aAAc,IAEhB6tC,wBAAyB,CACvB5e,YAAa,GAEf6e,eAAgB,CACdhkB,SAAU,EACVd,WAAY,IACZqK,WAAY,KAEd0a,mBAAoB,CAClBjkB,SAAU,EACVrqB,aAAc,EACduB,QAAS,aAIE5lB,6HCtDf,SAAS4yD,EAATvxD,GAQG,IAPDkB,EAOClB,EAPDkB,UACAoC,EAMCtD,EANDsD,MACAD,EAKCrD,EALDqD,MACApC,EAICjB,EAJDiB,UACA4N,EAGC7O,EAHD6O,mBACA2iD,EAECxxD,EAFDwxD,kBACA59B,EACC5zB,EADD4zB,aAEA,OAAI1yB,EACK,KAIPO,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOuO,KAAM2B,IACtCpN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACpBnuD,GACC7B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO69C,WAClBl5C,GAGJswB,GACCnyB,EAAAC,EAAAC,cAACgkC,EAAA,EAAD,CACEhlC,cAAehC,IAAO+yD,aACtBzjD,iBAAkBnM,IAAWnD,IAAOgzD,gBAAiBH,GACrD/tD,QAASmwB,KAKfnyB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOizD,YAAa3wD,IAC5CoC,GAASiF,MAMlBipD,EAAU3tD,UAAV,GAUe2tD,0nBChDf,SAASM,EAAT7xD,GAQG,IAPDsD,EAOCtD,EAPDsD,MACAD,EAMCrD,EANDqD,MACApC,EAKCjB,EALDiB,UACAkG,EAICnH,EAJDmH,WACAlH,EAGCD,EAHDC,QACAiH,EAEClH,EAFDkH,KACG7F,EACFC,EAAAtB,EAAA,6DACK8xD,EAAczuD,GAAS6D,GAC3BzF,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,UACNE,KAAK,OACLyG,KAAMA,EACNC,WAAYA,EACZlH,QAASA,EACTgB,UAAWtC,IAAOozD,WAEjB1uD,GAIL,OACE5B,EAAAC,EAAAC,cAACqwD,EAADpwD,EAAA,CACE0B,MAAOA,EACPD,MAAOyuD,EACP7wD,UAAWA,GACPI,IAKVwwD,EAAUjuD,UAAV,GASeiuD,uCC1Cf,SAASI,EAATjyD,GAAgD,IAAtB0D,EAAsB1D,EAAtB0D,YAAaJ,EAAStD,EAATsD,MAC/B4uD,GAAmBpiD,IAAQpM,IAC/BjC,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOwzD,eACnBzuD,EAAYmG,IAAI,SAACqD,EAAMvE,GAAP,OACflH,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,eAAAC,OAAiBT,IAAUuE,MAKxC,OACEzL,EAAAC,EAAAC,cAACqwD,EAAD,CACE1uD,MAAOA,EACPD,MAAO6uD,IAKbD,EAAeruD,UAAf,GAKAquD,EAAevrD,aAAe,CAC5BpD,MAAO,aAGM2uD,uBCxBf,SAASG,EAATpyD,GAAsD,IAA5BsD,EAA4BtD,EAA5BsD,MAAO2jB,EAAqBjnB,EAArBinB,OAAQhmB,EAAajB,EAAbiB,UACvC,GAAI6O,IAAQmX,GACV,OAAOxlB,EAAAC,EAAAC,cAACqwD,EAAD,CAAW1uD,MAAOA,EAAOrC,UAAWA,IA8B7C,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0zD,YACpB/uD,GAAS7B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO2E,OAAQA,GACtC2jB,EAAOpd,IA9BZ,SAAqByoD,EAAW3pD,GAC9B,IAAMQ,EAAG,SAAAC,OAAY9F,EAAZ,KAAA8F,OAAqBT,GACtBtF,EAAqCivD,EAArCjvD,MAAO8D,EAA8BmrD,EAA9BnrD,WAAYlH,EAAkBqyD,EAAlBryD,QAASiH,EAASorD,EAATprD,KAE9B4qD,EAAczuD,GAAS6D,EAC3BzF,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEmC,IAAKA,EACL5I,MAAM,UACNE,KAAK,OACLyG,KAAMA,EACNC,WAAYA,EACZlH,QAASA,EACTgB,UAAWtC,IAAOozD,WAEjB1uD,GAEDA,EAEJ,OACE5B,EAAAC,EAAAC,cAACqwD,EAAD,CACE7oD,IAAKA,EACL9F,MAAOyuD,EACP7wD,UAAWA,OAanBmxD,EAAexuD,UAAf,GAMewuD,YChDf,SAASG,EAATvyD,GAA6C,IAAbiB,EAAajB,EAAbiB,UAC9B,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOuO,KAAMjM,IACtCQ,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAO6zD,mBACnC/wD,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAO8zD,oBAKzCF,EAAqB3uD,UAArB,GAIe2uD,qDCXf,SAASG,EAAT1yD,GAA0B,IAAT6tB,EAAS7tB,EAAT6tB,MACf,GAAI/d,IAAQ+d,GACV,OAAO,KA4BT,OACEpsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOg0D,gBACpB9kC,EAAMhkB,IA3BX,SAAoBqD,EAAMvE,GACxB,IAAMwwB,EAAO,mBAAA/vB,OAAsBT,GAEnC,GAAImH,IAAQ5C,GACV,OAAOzL,EAAAC,EAAAC,cAAA,OAAKwH,IAAKgwB,GAAU7wB,KAJE,IAAA/C,EAOP2H,GAAQ,GAAxB7J,EAPuBkC,EAOvBlC,MAAO6D,EAPgB3B,EAOhB2B,KAEf,OAAI4I,IAAQ5I,GACHzF,EAAAC,EAAAC,cAAA,OAAKwH,IAAKgwB,GAAU91B,GAI3B5B,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEE,KAAMA,EACNiC,IAAKgwB,EACL54B,MAAM,UACNU,UAAWtC,IAAOi0D,UAEjBvvD,MAYTqvD,EAAM9uD,UAAN,GAIe8uD,+lBCtCf,SAASG,EAAT7yD,GAOG,IAND8yD,EAMC9yD,EAND8yD,UACAC,EAKC/yD,EALD+yD,oBACAC,EAIChzD,EAJDgzD,YACAvuD,EAGCzE,EAHDyE,SACAopB,EAEC7tB,EAFD6tB,MACGxsB,EACF4xD,EAAAjzD,EAAA,sEACD,OACEyB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CAAM5M,UAAWa,IAAWnD,IAAOu0D,eAAgBpjD,IAAQ+d,IAAUlvB,IAAOw0D,YAC1E1xD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOy0D,aACrB3xD,EAAAC,EAAAC,cAACg/C,EAAA,EAAD0S,EAAA,GAAoBhyD,EAApB,CAA+BJ,UAAWtC,IAAOglD,eAEnDliD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOy0D,aACpBN,GAAarxD,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWtC,IAAO20D,cAAzB,WACbP,GAAuBtxD,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWtC,IAAO40D,cAAzB,sBACvBP,GAAevxD,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWtC,IAAO40D,cAAzB,aACf9uD,GAAYhD,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWtC,IAAO40D,cAAe9uD,KAIzDhD,EAAAC,EAAAC,cAAC6xD,EAAD,CAAO3lC,MAAOA,KAKpBglC,EAAqBjvD,UAArB,GAQeivD,oDCtCf,SAASY,EAATzzD,GAA6D,IAAnCkH,EAAmClH,EAAnCkH,KAAM5D,EAA6BtD,EAA7BsD,MAAOrC,EAAsBjB,EAAtBiB,UAAWhB,EAAWD,EAAXC,QAChD,OAAI6P,IAAQ5I,GACH,KAIPzF,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEE,KAAMA,EACNjG,UAAWa,IAAWnD,IAAO+0D,SAAUzyD,GACvCV,MAAM,UACNE,KAAK,OACLR,QAASA,EACTkH,YAAU,GAET7D,GAAS,aAKhBmwD,EAAe7vD,UAAf,GAOe6vD,QCrBf,SAASE,EAAT3zD,GAUG,IATD4zD,EASC5zD,EATD4zD,iBACAC,EAQC7zD,EARD6zD,SACAC,EAOC9zD,EAPD8zD,WACAtwD,EAMCxD,EANDwD,MACAkwD,EAKC1zD,EALD0zD,SACAK,EAIC/zD,EAJD+zD,iBACAC,EAGCh0D,EAHDg0D,iBACAC,EAECj0D,EAFDi0D,kBAECC,EAAAl0D,EADDm0D,mBACC,IAAAD,KAAAE,EAWGC,YAAW,CAAEP,aAAYD,WAAUG,qBATrCM,EAFDF,EAECE,WACAr/C,EAHDm/C,EAGCn/C,OACA1T,EAJD6yD,EAIC7yD,WACAL,EALDkzD,EAKClzD,UACA4S,EANDsgD,EAMCtgD,SACA7T,EAPDm0D,EAOCn0D,QACAs0D,EARDH,EAQCG,UACA9wD,EATD2wD,EASC3wD,QACA+wD,EAVDJ,EAUCI,YAGF,GAAIZ,EACF,OAAOnyD,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAO+U,cAW5C,OACEjS,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2N,gBACrB7K,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,MAAOixD,cAAY,qBAAqBjxD,GAXhE62C,IAAW0Z,GACNA,IAGFtyD,EAAAC,EAAAC,cAAC+yD,EAAmBhB,GASpBS,GAAeF,GAEjBE,GACC1yD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOg2D,eACrBlzD,EAAAC,EAAAC,cAACizD,EAAA,EAAD,CACErzD,WAAYA,EACZizD,YAAaA,EACbtzD,UAAWA,EACXjB,QAASA,MAKhBk0D,GACC1yD,EAAAC,EAAAC,cAAA,OAAKE,IAAKyyD,GACR7yD,EAAAC,EAAAC,cAACizD,EAAA,EAAD,CACE3/C,OAAQA,EACRs/C,UAAWA,EACX9wD,QAASA,EACTqQ,SAAUA,EACV7S,UAAWtC,IAAOg2C,gBAQ9Bgf,EAAW/vD,UAAX,GAkBe+vD,QCrGfpxD,EAAAC,EAAAC,EAAA,sBAAAoyD,EAAA,IAAAtyD,EAAAC,EAAAC,EAAA,sBAAAuvD,IAAAzvD,EAAAC,EAAAC,EAAA,sBAAAqyD,IAAAvyD,EAAAC,EAAAC,EAAA,sBAAAsyD,IAAAxyD,EAAAC,EAAAC,EAAA,sBAAAuyD,IAAAzyD,EAAAC,EAAAC,EAAA,sBAAAiyD,oGCMMt1B,EAAS,CACbjgC,QAASR,IAAM,QACfG,MAAOH,IAAOG,OAGVm2D,EAAY,CAChB7tB,MAAOzoC,IAAOyoC,MACd6F,OAAQtuC,IAAOsuC,QAGjB,SAASioB,EAATl1D,GAA0G,IAAhFO,EAAgFP,EAAhFO,MAAOkE,EAAyEzE,EAAzEyE,SAAUxD,EAA+DjB,EAA/DiB,UAAWN,EAAoDX,EAApDW,cAAew0D,EAAqCn1D,EAArCm1D,kBAAmBC,EAAkBp1D,EAAlBo1D,eACtF,OACE3zD,EAAAC,EAAAC,cAAA,QACEwuB,KAAK,SACLlvB,UAAWa,IACT,uBACAszD,GAAkBz2D,IAAO02D,YACzBj2B,EAAO7+B,GACP00D,EAAUxwD,GACVxD,IAGFQ,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWqzD,EAAmBx0D,EAAehC,IAAOsD,SAKxEizD,EAAexuD,aAAe,CAC5BnG,MAAO,UACPkE,SAAU,GACV9D,cAAe,gBACfw0D,kBAAmB,MACnBC,gBAAgB,GAGlBF,EAAetxD,UAAf,GASesxD,2BC5Cf,SAASI,EAATt1D,GAA8C,IAA9Bw4B,EAA8Bx4B,EAA9Bw4B,UACd,OAD4Cx4B,EAAnBu1D,gBAGrB9zD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO02D,aACtB5zD,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAOsD,KAAM,MAAOu2B,MAMjD/2B,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,MAAO02B,KAIpC88B,EAAK5uD,aAAe,CAClB6uD,iBAAiB,GAGnBD,EAAK1xD,UAAL,GAKe0xD,mDCpBA,SAASE,EAATx1D,GAAkD,IAApBy1D,EAAoBz1D,EAApBy1D,MAAOx0D,EAAajB,EAAbiB,UAClD,GAAI6O,IAAQ2lD,GACV,OAAO,KAGT,IAAMC,EAAiB,GAAAtsD,OAAGqsD,GAAQphD,cAC5Bm/B,EAAaiiB,EAAM,GAEzB,OACEh0D,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOs0C,UAAWhyC,IAC3CQ,EAAAC,EAAAC,cAACg0D,EAAA,EAAD,CAAWliB,UAAWiiB,EAAgBliB,WAAYA,KAKxDgiB,EAAmB5xD,UAAnB,0BCTegyD,EAVMxzC,qBAAW,SAACne,EAAOpC,GAAQ,IACtCZ,EAAcgD,EAAdhD,UAER,OACEQ,EAAAC,EAAAC,cAAA,QAAME,IAAKA,EAAKZ,UAAWa,IAAWnD,IAAOsD,KAAMhB,IACjDQ,EAAAC,EAAAC,cAAA,OAAKk4B,IAAI,4BAA4B54B,UAAWtC,IAAOk3D,UAAW/7B,IAAI,QCV5Ev3B,EAAAC,EAAAC,EAAA,sBAAAqzD,IAAAvzD,EAAAC,EAAAC,EAAA,sBAAAszD,IAAAxzD,EAAAC,EAAAC,EAAA,sBAAA+yD,IAAAjzD,EAAAC,EAAAC,EAAA,sBAAAuzD,wCCkCevzD,EAAA,GACbwzD,YAlCkB,aAmClBC,qBAhC2B,aAiC3BC,8BA9BoC,YA+BpCC,eA5BqB,KA6BrBC,2BA1BiC,gBA2BjCC,aAVmB,OAWnBC,YAVkB,OAWlBC,iBAVuB,IAWvBC,OA5Ba,CACb,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,kICnBMC,EAAiB3wC,IAAjB2wC,aAEFC,EAAanW,YAAkBkW,GAErC,SAASE,EAAT52D,GAAsD,IAArBwT,EAAqBxT,EAArBwT,KAAM9P,EAAe1D,EAAf0D,YACrC,OACEjC,EAAAC,EAAAC,cAAA,wDAC0C6R,EAD1C,6CAE2C9P,EAF3C,kCAEuF,IACrFjC,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,QACN2G,KAAMyvD,EACN11D,UAAWtC,IAAOk4D,YAClB1vD,YAAU,EACVE,qBAAqB,GALvB,WAHF,wCAiBJuvD,EAAsBhzD,UAAtB,GAKegzD,2BC7Bf,SAASt5B,EAATt9B,GAQG,IAPD82D,EAOC92D,EAPD82D,SACAtzD,EAMCxD,EANDwD,MACAE,EAKC1D,EALD0D,YACAzC,EAICjB,EAJDiB,UACAN,EAGCX,EAHDW,cACAmH,EAEC9H,EAFD8H,eACAivD,EACC/2D,EADD+2D,qBAEA,OACEt1D,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOq4D,iBAAkB/1D,GAAYm4B,YAAU,qBACvE09B,GACCr1D,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOsD,KAAMtB,IAAiBm2D,GAG1DtzD,GACC/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6E,MAAOsE,IAAkBtE,GAG5DE,GACCjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO+E,YAAaqzD,IAAwBrzD,IA3B/EnB,EAAAC,EAAAC,EAAA,sBAAAw0D,IAiCA35B,EAAiB15B,UAAjB,GAUe05B,0CC3Cf/6B,EAAAC,EAAAC,EAAA,sBAAAy0D,IAAA30D,EAAAC,EAAAC,EAAA,sBAAA00D,IAAA50D,EAAAC,EAAAC,EAAA,sBAAA20D,IAAA70D,EAAAC,EAAAC,EAAA,sBAAA40D,IAAA90D,EAAAC,EAAAC,EAAA,sBAAA60D,IAAA,IAAAl2C,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAm2C,EAAAh1D,EAAA,MAIa20D,EAAY,GAEZC,EAAyB,CACpC5gD,aAAa,EACb/S,MAAO,gBACPC,QAAS4d,EAAA3f,EAAAC,cAAC41D,EAAA,EAAD,MACT/gD,WAAY,cAGD4gD,EAAa,QACbC,EAAa,QACbC,EAAW,0rBCTxB,IAAME,EAAc,CAClBr4D,QAASR,IAAM,QACfyB,OAAQzB,IAAOyB,OACftB,MAAOH,IAAOG,MACd6iB,OAAQhjB,IAAOgjB,QAGjB,SAASqc,EAATh+B,GAAoF,IAAhEsD,EAAgEtD,EAAhEsD,MAAOoQ,EAAyD1T,EAAzD0T,YAAanT,EAA4CP,EAA5CO,MAAOU,EAAqCjB,EAArCiB,UAAW6S,EAA0B9T,EAA1B8T,SAAazS,EAAaC,EAAAtB,EAAA,wDAQlF,OACEqhB,EAAA3f,EAAAC,cAAA,SACEV,UAAWa,IACTnD,IAAO6H,UACPgxD,EAAYj3D,IACX+C,GAAS3E,IAAO+U,YACjBzS,IAGFogB,EAAA3f,EAAAC,cAAA,QAAAC,EAAA,GACMP,EADN,CAEEyS,SAlBe,SAAChC,GAAU,IACtBvK,GAAWuK,GAAS,IAApBvK,OAERA,EAAOgK,OAAShK,EAAOgK,QACvBuC,GAAYA,EAAShC,IAejB7Q,UAAWtC,IAAO84D,WAClBt3D,KAAK,WAEPkhB,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOkwC,WAAYvrC,GAASoQ,GAC7C2N,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+4D,SAK9B15B,EAASt3B,aAAe,CACtBnG,MAAO,UACPmT,YAAa,IAGfsqB,EAASp6B,UAAT,GAaeo6B,qCC5Dfz7B,EAAAC,EAAAC,EAAA,sBAAAqe,IAAA,IAAAM,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMe,SAASV,EAAT9gB,GAA8C,IAAtB6W,EAAsB7W,EAAtB6W,QAAS5V,EAAajB,EAAbiB,UAC9C,OAAK4V,EAKHwK,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO4V,aAActT,IAC9C4V,GALI,KAUXiK,EAAald,UAAb,yBCjBA0W,EAAAC,QAAA,CAAkBirB,aAAA,sCAAAlM,cAAA,uCAAAnB,UAAA,mCAAAc,WAAA,oCAAAF,aAAA,sCAAA0M,aAAA,sCAAA1H,aAAA,sCAAApG,SAAA,kCAAA+N,sBAAA,+CAAAG,aAAA,sCAAAxI,SAAA,kCAAAD,aAAA,sCAAAgI,eAAA,wCAAAh3B,SAAA,kCAAAu/C,WAAA,oCAAAzyB,WAAA,oCAAA/7B,QAAA,iCAAAkmC,cAAA,uCAAAE,aAAA,sCAAAD,WAAA,oCAAAQ,aAAA,sCAAAz5B,UAAA,mCAAAqvB,cAAA,uCAAAlC,eAAA,wCAAA9sB,gBAAA,yCAAA2sB,OAAA,gCAAAv6B,MAAA,+BAAA2/B,WAAA,oCAAAk5B,YAAA,mCAAA95B,WAAA,8KCQlB,SAAS+5B,EAAT53D,GAAiG,UAAzE63D,EAAyE73D,EAAzE63D,aAAcC,EAA2D93D,EAA3D83D,cAAeC,EAA4C/3D,EAA5C+3D,gBAAiBv0D,EAA2BxD,EAA3BwD,MAAOw0D,EAAoBh4D,EAApBg4D,SAAU7wB,EAAUnnC,EAAVmnC,OAC/E2vB,EAAWmB,EAAAv2D,EAAAC,cAAA,OAAKk4B,IAAI,uBAAuBC,IAAI,cAC/Co+B,EACJD,EAAAv2D,EAAAC,cAAA,sEAEMs2D,EAAAv2D,EAAAC,cAAA,KAAGuF,KAAM2wD,GAAeM,IAAUC,IAAQN,KAFhD,2CAOIp0D,EACJu0D,EAAAv2D,EAAAC,cAAAs2D,EAAAv2D,EAAAgG,SAAA,KACEuwD,EAAAv2D,EAAAC,cAAA,SAAIq2D,GACHD,GAAmBG,GAIlBG,EAAiBv2D,IAAWnD,IAAO6H,aAAR,KAC9B7H,IAAOwoC,SAASA,mGAGnB,OACE8wB,EAAAv2D,EAAAC,cAAA,OAAKV,UAAWo3D,GACdJ,EAAAv2D,EAAAC,cAAC22D,EAAA,EAAD,CACE90D,MAAO20D,IAAU30D,GACjBszD,SAAUA,EACVpzD,YAAaA,KAMrBk0D,EAAah0D,UAAb,GASAg0D,EAAalxD,aAAe,CAC1BlD,MAAO,YACPw0D,SAAU,4GACVF,cAAe,OACfD,aAAc,IACdE,gBAAiB,KACjB5wB,QAAQ,GAGKywB,oCC3Dfr1D,EAAAC,EAAAC,EAAA,sBAAA81D,IAAAh2D,EAAAC,EAAAC,EAAA,sBAAA+1D,IAAAj2D,EAAAC,EAAAC,EAAA,sBAAAg2D,IAAA,IAAA9tD,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAAA+tD,EAAAn2D,EAAA,IAAAo2D,EAAAp2D,EAAA,KAKag2D,EAAaxtD,IAAU6tD,MAAM,CACxC5zD,GAAI+F,IAAU8E,OAAOwmB,WACrB/yB,MAAOyH,IAAU8E,OACjB9B,SAAUhD,IAAU8tD,KACpBC,gBAAiB/tD,IAAUguD,OAC3BtrD,QAAS1C,IAAUiuD,QAAQjuD,IAAU6tD,MAAM,CACzC5zD,GAAI+F,IAAU8E,OAAOwmB,WACrB4iC,QAASluD,IAAU8E,OACnB1K,WAAY4F,IAAU8tD,KACtBhP,UAAW9+C,IAAUmuD,eAEvBtzD,KAAMmF,IAAUiuD,QAAQjuD,IAAU6tD,MAAM,CACtC5zD,GAAIm0D,IACJ71D,MAAOyH,IAAU8E,OACjBpM,QAASsH,IAAUgwC,UAIjBqe,EAAiBruD,IAAU6tD,MAAM,CACrCS,MAAOtuD,IAAU8E,OACjBilB,KAAM/pB,IAAU8E,OAChBypD,UAAWvuD,IAAU8E,SAGjB0pD,EAAaxuD,IAAU6tD,MAAM,CACjCY,KAAMzuD,IAAU8E,OAChB2D,KAAMzI,IAAU8E,SAGZ4pD,EAAW1uD,IAAU6tD,MAAM,CAC/BlgD,IAAK3N,IAAU8E,OAUf1P,KAAM4K,IAAU8E,OAChB6pD,aAAcP,MAGVQ,EAAiB5uD,IAAU6tD,MAAM,CACrCgB,SAAU7uD,IAAU8E,OACpBilB,KAAM/pB,IAAU8E,SAGZgqD,EAAY9uD,IAAU6tD,MAAM,CAChCttD,KAAMP,IAAU8E,OAChBiqD,OAAQ/uD,IAAU8E,OAClBilB,KAAM/pB,IAAU8E,OAChB6pD,aAAcP,MAGVY,EAAgBhvD,IAAU6tD,MAAM,CACpCl1D,YAAaqH,IAAU8E,OACvB6pD,aAAcP,MAGVa,EAAyBjvD,IAAU6tD,MAAM,CAC7CqB,aAAclvD,IAAU8E,OACxBrM,MAAOuH,IAAU8E,OACjBnM,YAAaqH,IAAU8E,OACvBolB,UAAWlqB,IAAU8E,OACrBqlB,QAASnqB,IAAU8E,OACnB6pD,aAAcP,MAGVe,EAA0BnvD,IAAU6tD,MAAM,CAC9Cp1D,MAAOuH,IAAU8E,OACjBsqD,QAASpvD,IAAU8E,OACnBolB,UAAWlqB,IAAU8E,OACrBqlB,QAASnqB,IAAU8E,SAGfuqD,EAAoBrvD,IAAU6tD,MAAM,CACxCp1D,MAAOuH,IAAU8E,OACjBsqD,QAASpvD,IAAU8E,OACnBwqD,UAAWtvD,IAAU8E,OACrByqD,QAASvvD,IAAU8E,SAGf0qD,EAAqBxvD,IAAU6tD,MAAM,CACzC4B,OAAQzvD,IAAU8E,OAClB4qD,QAAS1vD,IAAU8E,OACnB6qD,OAAQ3vD,IAAU8E,OAClBolB,UAAWlqB,IAAU8E,OACrBqlB,QAASnqB,IAAU8E,OACnB6pD,aAAcP,MAGVwB,EAAsB5vD,IAAU6tD,MAAM,CAC1CgC,YAAa7vD,IAAU8E,OACvBgrD,OAAQ9vD,IAAU8E,OAClB4qD,QAAS1vD,IAAU8E,OACnBirD,OAAQ/vD,IAAU8E,OAClBkrD,UAAWhwD,IAAU8E,OACrBolB,UAAWlqB,IAAU8E,OACrBqlB,QAASnqB,IAAU8E,OACnB6pD,aAAcP,MAGV6B,EAAsBjwD,IAAU6tD,MAAM,CAC1Cp1D,MAAOuH,IAAU8E,OACjBoqD,aAAclvD,IAAU8E,OACxB1P,KAAM4K,IAAU8E,OAChB4qD,QAAS1vD,IAAU8E,OACnBwqD,UAAWtvD,IAAU8E,OACrByqD,QAASvvD,IAAU8E,OACnB6pD,aAAcP,MAGV8B,EAAmBlwD,IAAU6tD,MAAM,CACvCz4D,KAAM4K,IAAU8E,OAChBrM,MAAOuH,IAAU8E,OACjBqrD,UAAWnwD,IAAU8E,OACrB4qD,QAAS1vD,IAAU8E,OACnBsrD,KAAMpwD,IAAU8E,OAChB6pD,aAAcP,MAGViC,EAAarwD,IAAU6tD,MAAM,CACjCp1D,MAAOuH,IAAU8E,OACjBoqD,aAAclvD,IAAU8E,OACxB1P,KAAM4K,IAAU8E,OAChB4qD,QAAS1vD,IAAU8E,OACnBsrD,KAAMpwD,IAAU8E,OAChB6pD,aAAcP,MAGHkC,EAAoBtwD,IAAU6tD,MAAM,CAC/C0C,YAAanC,IACboC,aAAcxwD,IAAU8E,OACxB2rD,YAAazwD,IAAU8E,OACvB4rD,aAAc1wD,IAAU8E,OACxB6rD,gBAAiB3wD,IAAU8E,SAGhB2oD,EAAaztD,IAAU6tD,MAAM,CACxCz4D,KAAM4K,IAAU8E,OAChB8rD,SAAU5wD,IAAU8E,OACpB+rD,YAAa7wD,IAAU8E,OACvB6pD,aAAcP,MAGHV,EAAe1tD,IAAU6tD,MAAM,CAC1CiD,OAAQ9wD,IAAU8E,OAClBisD,SAAU/wD,IAAU8E,OACpBksD,KAAMhxD,IAAU8E,OAChBmsD,KAAMjxD,IAAU8E,OAChBosD,QAASlxD,IAAU8E,OACnByU,MAAOvZ,IAAU6tD,MAAM,CACrBplD,KAAMzI,IAAU8E,OAChB2pD,KAAMzuD,IAAU8E,WAIPqsD,EAAmBnxD,IAAUC,MAAM,CAC9CmxD,IACAC,IACAC,MAGWC,EAAgBvxD,IAAU6tD,MAAM,CAC3Cp1D,MAAOuH,IAAU8E,OACjBsgB,KAAMplB,IAAU8E,OAChB0sD,SAAUL,EACVjC,aAAclvD,IAAU8E,OACxB1P,KAAM4K,IAAU8E,OAChBqG,OAAQnL,IAAU8E,OAClB2sD,UAAWzxD,IAAU8E,OACrBwqD,UAAWtvD,IAAU8E,OACrByqD,QAASvvD,IAAU8E,OACnB4sD,UAAW1xD,IAAU8E,OACrB6sD,cAAe3xD,IAAU8E,OACzB8sD,YAAa5xD,IAAU8E,OACvB+sD,aAAc7xD,IAAU8E,OACxBgtD,YAAa9xD,IAAU8E,OACvBitD,aAAczB,EACd3Z,OAAQ32C,IAAUiuD,QAAQR,GAC1BuE,QAAStE,IAGgB1tD,IAAU6tD,MAAM,CACzC7gD,SAAUohD,IACV6D,WAAYjyD,IAAU8E,OACtBotD,UAAWlyD,IAAU8E,OACrBqtD,WAAYnyD,IAAU8E,OACtBstD,SAAUpyD,IAAU8E,OACpButD,WAAYryD,IAAU8E,OACtBiI,SAAU/M,IAAU8E,OACpBokC,UAAWlpC,IAAU8E,OACrBwtD,UAAWtyD,IAAU8E,OACrBytD,OAAQvyD,IAAU8E,OAClB0tD,cAAexyD,IAAU8E,OACzB2tD,UAAWzyD,IAAU8E,OACrB4tD,SAAU1yD,IAAU8E,OACpB6tD,WAAY3yD,IAAU8E,OACtBw8B,OAAQthC,IAAU8E,OAClB8tD,UAAWvE,EACX3D,MAAO8D,EACPqE,KAAM7yD,IAAUiuD,QAAQS,GACxBoE,mBAAoBlE,EACpBmE,YAAanE,EACboE,MAAOhzD,IAAUiuD,QAAQa,GACzBmE,UAAWjzD,IAAUiuD,QAAQe,GAC7BkE,iBAAkBlzD,IAAUiuD,QAAQgB,GACpCkE,kBAAmBnzD,IAAUiuD,QAAQkB,GACrCiE,cAAepzD,IAAUiuD,QAAQoB,GACjCgE,UAAWrzD,IAAUiuD,QAAQuB,GAC7B8D,gBAAiBtzD,IAAUiuD,QAAQ2B,GACnC2D,WAAYvzD,IAAUiuD,QAAQgC,GAC9BuD,aAAcxzD,IAAUiuD,QAAQiC,GAChCuD,OAAQzzD,IAAUiuD,QAAQoC,GAC1BnG,UAAWlqD,IAAUiuD,QAAQsD,KAGGvxD,IAAU6tD,MAAM,CAChDlV,UAAW34C,IAAU8E,OACrB4uD,eAAgB1zD,IAAU8E,kSCzGbwS,IAzGD,SAACxD,EAAa/J,GAAd,OAAAlT,EAAA,CACZ0gB,QAAS,SAACC,EAAM+B,GAAP,OAAA1iB,EAAA,GACJ2gB,EADI,CAEPO,UAAW47C,oBACPp6C,EAAMq6C,WAAa,CACrB97C,UAAW+7C,mBACXtpB,YAAaupB,sBALR,CAOP37C,UAAW,CACToyB,YAAa/yB,EAAK+yB,cAEhBz2B,GAAWjd,EAAA,CACb6gB,OAAQ,QACR8B,QAASu6C,iBACTn8C,gBAAiBC,oBACjBC,sBACAC,UAAWC,uBACPuB,EAAMzD,YAAc,CACtBmC,aAAc+7C,0BACdpuB,gBAAiB5sB,wBACjBpB,gBAAiB,QATN,GAWT7N,GAAW,CACb2P,WAAYu6C,uBACZv8C,OAAQU,cACRN,UAAW,OACXK,UAAW,CACTT,OAAQU,mBAKhBkB,OAAQ,SAAA9B,GAAI,OAAA3gB,EAAA,GACP2gB,EADO,GAEN1D,GAAe,CACjBogD,aAAc,WACdC,WAAY,SACZtxB,SAAU,OACVuxB,SAAU,SACV3tB,MAAO,UAGX/tB,kBAAmB,SAAAlB,GAAI,OAAA3gB,EAAA,GAClB2gB,EADkB,CAErBmB,WAAY,EACZC,cAAe,KAEjBE,KAAM,SAAAtB,GAAI,OAAA3gB,EAAA,GACL2gB,EADK,GAEJ1D,GAAe,CACjB4D,OAAQ,QACRE,gBAAiBC,oBACjBI,aAAcgB,mBACdnB,sBACAuB,OAAQ,EACRH,UAAW,SACXC,OAAQ,KAGZk7C,eAAgB,SAAA78C,GAAI,OAAA3gB,EAAA,GACf2gB,EADe,CAElBmB,WAAY,EACZC,cAAe,KAEjB07C,mBAAoB,SAAC98C,EAAM+B,GAAP,OAAA1iB,EAAA,GACf2gB,EADe,GAEd1D,IAAgByF,EAAMg7C,YAAY3+C,aAAe,CACnDqtB,QAAS,UAGbuxB,WAAY,SAACh9C,EAAM+B,GAAP,OAAA1iB,EAAA,GACP2gB,EADO,GAEN+B,EAAM1e,KAAKyxB,SAAW,CACxBsZ,gBAAiB,UAGrB6uB,gBAAiB,SAACj9C,EAAM+B,GAAP,OAAA1iB,EAAA,GACZ2gB,EADY,GAEX+B,EAAM1e,KAAKyxB,SAAW,CACxBkV,WAAY,OACZ5nB,MAAO,QACPpB,aAAc,KAGlBk8C,iBAAkB,SAACl9C,EAAM+B,GAAP,OAAA1iB,EAAA,GACb2gB,EADa,GAEZ+B,EAAM1e,KAAKyxB,SAAW,CACxB2W,QAAS,WAGTnvB,GAAe84B,IA1FP,CA2FZjkC,YAAa,SAAA6O,GAAI,OAAA3gB,EAAA,GACZ2gB,EADY,GAEX1D,GAAe,CACjB2E,UAAW,SACX+oB,WAAY,IACZ0yB,aAAc,WACdC,WAAY,SACZtxB,SAAU,OACVuxB,SAAU,SACV3tB,MAAO,6tEC7GPnyB,wSAAeqJ,6QACnB03B,YAAc,WAAM,IAAAxf,EAC4BtB,EAAKr7B,MAA3C2B,EADUg7B,EACVh7B,KAAM6a,EADImgB,EACJngB,QAASi/C,EADL9+B,EACK8+B,SAAUt/C,EADfwgB,EACexgB,SAEjC,IAAIxa,IAAQA,EAAKrE,WAAjB,CAEA,IAAM8B,EAAQod,EAAO,GAAArX,OAAA6W,EACbG,KADa,CACDxa,IAChBA,EAEJu9B,WAAW,kBAAMu8B,EAASr8D,EAAO,cAAc,OAGjDs8D,eAAiB,WAAM,IAAA39B,EACmB1C,EAAKr7B,MAArC2B,EADao8B,EACbp8B,KAAM5E,EADOghC,EACPhhC,SAAUs+D,EADHt9B,EACGs9B,YAExB,OAAIA,EAAYM,eAEZv+C,EAAA3f,EAAAC,cAACk+D,EAAA,EAADj+D,EAAA,GACMgE,EADN,CAEEiN,WAAYysD,EAAYzsD,WACxBy1C,SAAUgX,EAAYhX,YAKrBtnD,wCAGT,WAAS,IAAA8hC,EACgDtD,KAAKv7B,MAApD67D,EADDh9B,EACCg9B,UAAW1+D,EADZ0hC,EACY1hC,SAAU2+D,EADtBj9B,EACsBi9B,WAAYpB,EADlC77B,EACkC67B,UAEnC19D,EAAYa,IAChB,gBACA68D,GAAahgE,IAAOihE,gBAGtB,OACEv+C,EAAA3f,EAAAC,cAAA,MAAAC,EAAA,GACMm+D,EADN,CAEE9+D,UAAWA,EACXY,IAAKT,EACLnB,QAASu/B,KAAK4gB,YACd/9B,MAAOy9C,EAAU,SAAUtgC,KAAKv7B,SAE/Bu7B,KAAKmgC,0GAMdtgD,EAAOzb,UAAP,GAgBeyb,2CC1Ef,IAAA+B,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA0+C,EAAAz9D,EAAA,KAAA09D,EAAA19D,EAAA,GAAA29D,EAAA39D,EAAA,KAAA49D,EAAA59D,EAAA,KAAA69D,EAAA79D,EAAA,IAAA89D,EAAA99D,EAAA,MAAA+9D,EAAA/9D,EAAAsI,EAAAw1D,GAYME,EAAmB,CACvBC,UAAW7hE,IAAO6hE,UAClBC,UAAW9hE,IAAO8hE,UAClBnf,WAAY3iD,IAAO2iD,WACnBof,aAAc/hE,IAAOS,MAGvB,SAASuhE,EAAT3gE,GASG,IARDmlB,EAQCnlB,EARDmlB,eACApgB,EAOC/E,EAPD+E,QACA+O,EAMC9T,EAND8T,SACAuV,EAKCrpB,EALDqpB,SACApoB,EAICjB,EAJDiB,UACAM,EAGCvB,EAHDuB,WACA2V,EAEClX,EAFDkX,gBACA0pD,EACC5gE,EADD4gE,UAEM7X,EAAiBwX,EAAiBK,GAOlC5uD,EAAe,SAACqS,EAAQ/gB,GAAT,OAAmB,kBAAMwQ,EAASuQ,EAAQ/gB,KAE/D,OAAI+lB,EAEAhI,EAAA3f,EAAAC,cAACu+D,EAAA,EAAD,CAAYj/D,UAAWtC,IAAO40B,YAC3BxuB,EAAQ8E,IAAI,SAAAtE,GAAA,IAND8e,EAMIhhB,EAAHkC,EAAGlC,MAAOC,EAAViC,EAAUjC,MAAV,OACX+d,EAAA3f,EAAAC,cAACw+D,EAAA,EAAD,CACEh3D,IAAK9F,EACLC,MAAOA,EACP/C,MAAM,UACNF,SAAUkB,EACVN,UAAWa,IAAWoV,EAAiB6xC,GACvCj1C,SAAU9B,EAAa3O,EAAOC,GAC9BwjB,SAdQzC,EAcYhhB,EAdFghB,IAAWc,QAsBrC9D,EAAA3f,EAAAC,cAACq+D,EAAA,EAAD,CAAaz/D,MAAM,QAAQU,UAAWa,IAAWnD,IAAOo1B,YAAa9yB,IAClE8D,EAAQ8E,IAAI,SAAApE,GAAA,IA5BQ4e,EA4BLhhB,EAAHoC,EAAGpC,MAAOC,EAAVmC,EAAUnC,MAAV,OACX+d,EAAA3f,EAAAC,cAACs+D,EAAA,EAAD,CACE92D,IAAK9F,EACL9C,MAAM,UACNF,SAAUkB,EACVtB,QAAS+R,EAAa3O,EAAOC,GAC7BrC,WAlCiBojB,EAkCWhhB,EAlCDvB,IACjCuiB,IAAWc,GAAkBxmB,IAAOs1B,SACpC/c,EACA6xC,KAiCOzlD,MAOXq9D,EAAiBj6D,aAAe,CAC9B3B,QAAS5B,IACTy9D,UAAW,aAGbD,EAAiB/8D,UAAjB,GAWe+8D,6MCvBAE,MA1Cf,SAAA7gE,GAcU,UAbRgM,EAaQhM,EAbRgM,gBACAioC,EAYQj0C,EAZRi0C,UACA6sB,EAWQ9gE,EAXR8gE,WACAp9D,EAUQ1D,EAVR0D,YACAF,EASQxD,EATRwD,MACAu9D,EAQQ/gE,EARR+gE,eACAC,EAOQhhE,EAPRghE,iBACAl5D,EAMQ9H,EANR8H,eACAm5D,EAKQjhE,EALRihE,qBACAlK,EAIQ/2D,EAJR+2D,qBACAl+B,EAGQ74B,EAHR64B,eACAq3B,EAEQlwD,EAFRkwD,iBACA7mC,EACQrpB,EADRqpB,SAEM63C,EAAmBp/D,IACvBnD,IAAO2N,kBAD0B,KAE9B3N,IAAOwiE,iBAAiBH,kGAC3Bl5D,GAGIs5D,EAAwBt/D,IAAWnD,IAAO0iE,qBAAsBJ,GAEhEK,EAAav7C,IAAIw7C,uBAAyBl4C,EAC1Cm4C,EAAwB1/D,IAAWnD,IAAO8iE,qBAAsB1K,GAEtE,OACEt1D,EAAAC,EAAAC,cAAA,OAAKqD,GAAG,mBAAmB/D,UAAWigE,GACpCz/D,EAAAC,EAAAC,cAAA,OAAKV,UAAWmgE,GACbp1D,GAAmBioC,GAClBxyC,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CAAQC,SAAU1tB,EAAWzgC,KAAMstD,EAAY7/D,UAAWtC,IAAOijE,SAElEN,GAAcj4C,GAAY5nB,EAAAC,EAAAC,cAAA,MAAIV,UAAU,oBAAd,IAAmCuC,GAAc/B,EAAAC,EAAAC,cAAA,MAAIV,UAAU,oBAAd,IAAmCuC,GAC9Gu9D,EACDt/D,EAAAC,EAAAC,cAACkgE,EAAA,EAAD,CAAc5gE,UAAWivD,EAAkBr3B,eAAgBA,MAG3D/oB,IAAQpM,IAAgBjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWugE,GAAwB99D,+mBCjDxE,SAAS27B,EAATr/B,GAkBG,IAjBDkB,EAiBClB,EAjBDkB,UACA4gE,EAgBC9hE,EAhBD8hE,iBACArzD,EAeCzO,EAfDyO,aACAszD,EAcC/hE,EAdD+hE,WACA91D,EAaCjM,EAbDiM,YACA+0D,EAYChhE,EAZDghE,iBACAh1D,EAWChM,EAXDgM,gBACA+J,EAUC/V,EAVD+V,gBACAisD,EASChiE,EATDgiE,sBACAC,EAQCjiE,EARDiiE,uBACAC,EAOCliE,EAPDkiE,iBACAC,EAMCniE,EANDmiE,cACAC,EAKCpiE,EALDoiE,kBACAC,EAICriE,EAJDqiE,sBACAC,EAGCtiE,EAHDsiE,oBACAC,EAECviE,EAFDuiE,eACGlhE,EACFC,EAAAtB,EAAA,0SACOqpB,EAAauN,cAAbvN,SACFnd,EAAmBpK,IACvB,cACAmK,GAAe,aACf81D,GAAcpjE,IAAO6jE,aACrBL,GAAiBxjE,IAAO8jE,YACxB1sD,GAGI3J,EAA0BtK,IAC9B,kBACCmK,GAAetN,IAAO+jE,eACvBT,GAqDF,OACExgE,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG2hB,GACC5nB,EAAAC,EAAAC,cAACghE,EAAA,EAAD/gE,EAAA,GACMP,EADN,CAEEygE,iBAAkBA,EAClBc,kBAAmBR,EACnBS,gBAAiBR,KAzDzB,WACE,GAAInhE,EACF,OACEO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CACExjB,gBAAiBA,EACjBC,YAAaA,IAKnB,GAAIod,GAAYi5C,EACd,OAAOjoB,IAAWioB,GACdA,IACAA,EAGN,IAAMh2D,EACJ7K,EAAAC,EAAAC,cAACmhE,EAADlhE,EAAA,GACMP,EADN,CAEE2/D,iBAAkBA,EAClB33C,SAAUA,KAId,OACE5nB,EAAAC,EAAAC,cAAA,UAAQV,UAAWiL,GACjBzK,EAAAC,EAAAC,cAAA,OAAKV,UAAWmL,GACd3K,EAAAC,EAAAC,cAAA,OAAKV,UAAU,oBACXshE,GACA9gE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4uC,aACrB9rC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOokE,cACnB/B,GAAoB10D,IAI5B7K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8P,cACpBA,GACChN,EAAAC,EAAAC,cAAA,OAAKqD,GAAG,iBAAiB/D,UAAW+gE,GACjCvzD,KAKRuyD,GAAoB10D,EACpB41D,GAAoBzgE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOqkE,gBAgB/C9mB,IAKP7c,EAAU34B,aAAe,CACvBuF,aAAa,EACbo2D,uBAAuB,EACvBE,gBAAgB,GAGlBljC,EAAUz7B,UAAV,GAsBey7B,ymBCrIA,SAAS4jC,EAATjjE,GAUZ,IATDwD,EASCxD,EATDwD,MACAE,EAQC1D,EARD0D,YACAkpC,EAOC5sC,EAPD4sC,KACAs2B,EAMCljE,EANDkjE,SACAC,EAKCnjE,EALDmjE,UACAjB,EAICliE,EAJDkiE,iBACAnsD,EAGC/V,EAHD+V,gBACA+rD,EAEC9hE,EAFD8hE,iBACGzgE,EACF+hE,EAAApjE,EAAA,+GACD,OACEyB,EAAAC,EAAAC,cAACoK,EAADs3D,EAAA,GACMhiE,EADN,CAEE6gE,iBAAkBA,EAClBnsD,gBAAiBA,EACjB+rD,iBAAkBA,EAClBt+D,MAAOA,EACPopC,KAAMA,EACNs2B,SAAUA,EACVx/D,YAAaA,EACb+K,aAAchN,EAAAC,EAAAC,cAAC2hE,EAAA,QAAD,CAAmBH,UAAWA,OAKlDF,EAAiBv8D,aAAe,CAC9Bw7D,kBAAkB,GAGpBe,EAAiBr/D,UAAjB,8BClCa2/D,EAA6Bx4D,IAAUiuD,QAClDjuD,IAAU6tD,MAAM,CACdt1D,MAAOyH,IAAU8E,OACjB6I,IAAK3N,IAAU8E,OACf5P,QAAS8K,IAAU8tD,0BCOR,SAAS2K,EAATxjE,GAA6D,IAAnCwD,EAAmCxD,EAAnCwD,MAAOuB,EAA4B/E,EAA5B+E,QAASmC,EAAmBlH,EAAnBkH,KAAMjG,EAAajB,EAAbiB,UACrD4/B,EAAmBjK,cAAnBiK,eAER,SAAS4iC,EAAYp/C,EAAQ1b,GAAO,IAC1BrF,EAAwB+gB,EAAxB/gB,MAAOoV,EAAiB2L,EAAjB3L,IAAKzY,EAAYokB,EAAZpkB,QAEpB,OAAIA,EAEAwB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEoJ,IAAG,GAAAC,OAAKT,EAAL,KAAAS,OAAc9F,GACjB/C,MAAM,QACNU,UAAWtC,IAAOuO,KAClBjN,QAASA,GAERqD,GAML7B,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEmC,IAAG,GAAAC,OAAKT,EAAL,KAAAS,OAAc9F,GACjB/C,MAAM,QACNU,UAAWtC,IAAOuO,KAClBhG,KAAMwR,GAELpV,GAcP,OAAIwM,IAAQ/K,GAERtD,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,YACNU,UAAWa,IAAWnD,IAAO+kE,eAAgBziE,GAC7CiG,KAAMA,GAENzF,EAAAC,EAAAC,cAAA,KAAGV,UAAU,gBACZ4/B,GAAkB,YAMvBp/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACdQ,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAxBJhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAO6E,OAAQA,GACjCuB,EAAQ8E,IAAI45D,KAsBbljE,MAAM,QACNuJ,UAAU,aACV65D,QAAQ,QACR55D,aAAW,GAEXtI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOglE,SACrBliE,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNU,UAAWtC,IAAO+kE,gBAElBjiE,EAAAC,EAAAC,cAAA,KAAGV,UAAU,gBACZ4/B,GAAkB,eAQ/B2iC,EAAe98D,aAAe,CAC5BlD,MAAO,YAGTggE,EAAe5/D,UAAf,inBCrFA,SAASggE,EAAT5jE,GAA4F,IAAjE6H,EAAiE7H,EAAjE6H,GAAIrE,EAA6DxD,EAA7DwD,MAAOyK,EAAsDjO,EAAtDiO,iBAAkBY,EAAoC7O,EAApC6O,mBAAuBxN,EAAawiE,EAAA7jE,EAAA,wDAC1F,OACEyB,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO8E,QAASwK,IAC7CxM,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWqI,IAC3CpN,EAAAC,EAAAC,cAACqF,EAAA,EAAD88D,EAAA,GAAYziE,EAAZ,CAAuBwG,GAAIA,EAAIrE,MAAOA,OAM9CogE,EAAgBl9D,aAAe,CAC7BlD,MAAO,mBAGTogE,EAAgBhgE,UAAhB,GAaeggE,QCnCfrhE,EAAAC,EAAAC,EAAA,qCAAAwgE,IAAA1gE,EAAAC,EAAAC,EAAA,mCAAA+gE,IAAAjhE,EAAAC,EAAAC,EAAA,+CAAA8gE,IAAAhhE,EAAAC,EAAAC,EAAA,oCAAAshE,IAAAxhE,EAAAC,EAAAC,EAAA,mCAAAqgE,IAgBezjC,+XCFF63B,EAAY,GACZ8M,EAAkB,CAAEC,SAAU,KAEpC,SAASpvC,EAAeC,GAG7B,IAAMovC,EAAiBnvC,IAAOD,EAAM4Z,KAAoB,GAAM57B,UACxDqxD,EAAmBpvC,IAAOD,EAAMsvC,KAAsB,GAAMtxD,UAElE,OAAIoxD,EACKnvC,IAAOD,EAAM4Z,KAAoB,GAGtCy1B,EACKpvC,IAAOD,EAAMsvC,KAAsB,GAGrCtvC,GAAQC,IAAOD,GAGjB,SAASuvC,EAAWvvC,GACzB,OAAOktB,YAAaltB,EAAM4Z,KAGrB,SAAS41B,EAAmBC,GACjC,IAAMC,EAAgB,GAOtB,OALA/xC,OAAOC,KAAK6xC,GAAiBE,UAAU5kD,QAAQ,SAAA1W,GAAG,OAAIq7D,EAAczkD,KAAK,CACvE1c,MAAO8F,EACP7F,MAAOihE,EAAgBp7D,OAGlBq7D,EAGF,IAAME,EAAc,SAACC,GAAoC,IAA5BC,EAA4B1zD,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAAAlR,EACpB2kE,GAAU,GAA5C7sD,EADsD9X,EACtD8X,SAAUmlD,EAD4Cj9D,EAC5Ci9D,UAAWE,EADiCn9D,EACjCm9D,SACvB3pD,EAAOua,YAAY,CAACkvC,EAAWE,GAAW,KAEhD,OAAIyH,EACKC,IAAQ/sD,GAAYtE,EAAOsE,EAG7BtE,GAGIsxD,EAAiB,SAAApjB,GAAM,OAAIqjB,IACtCrjB,EACA,SAAAn8C,GAAA,IAAGpF,EAAHoF,EAAGpF,KAAH,OAAc6kE,IAAQ7kE,KAAUm3D,KAAY0N,IAAQ7kE,KAAUk3D,4uBCrDhE,SAASqK,EAAT1hE,GAWG,IAAAilE,EAAAjlE,EAVD2hE,gBAUC,IAAAsD,EAVU,GAUVA,EAAAC,EAAAllE,EATDwT,YASC,IAAA0xD,EATM,GASNA,EAAAC,EAAAnlE,EARDiC,YAQC,IAAAkjE,EARM,GAQNA,EAAAC,EAAAplE,EAPDC,eAOC,IAAAmlE,EAPS,aAOTA,EAAAC,EAAArlE,EANDiB,iBAMC,IAAAokE,EANW,GAMXA,EAAAC,EAAAtlE,EALDW,qBAKC,IAAA2kE,EALe,GAKfA,EAAAC,EAAAvlE,EAJDwlE,wBAIC,IAAAD,KAAAE,EAAAzlE,EAHD0lE,mBAGC,IAAAD,KAAAE,EAAA3lE,EAFD4lE,eAEC,IAAAD,EAFS,aAETA,EADEtkE,EACFC,EAAAtB,EAAA,6GACK6lE,EAAoBH,GAAeI,IAAW7lE,GAC9C2hE,EAASmE,YAAUpE,EAAU6D,EAAkBI,GAE/CI,EAAqBH,GAAqBlnE,IAAOsnE,UACjDC,EAAiBL,GAAqB,CAC1C5lE,UACAkwB,KAAM,UAGR,OACEg2C,EAAAzkE,EAAAC,cAAA,MAAAC,EAAA,CACEX,UAAWa,IAAWnD,IAAOijE,OAAQ3gE,EAAW+kE,IAC5CE,EACA7kE,GAEHugE,EAAO9uD,SACNqzD,EAAAzkE,EAAAC,cAAA,OACEk4B,IAAK8nC,EACL1gE,UAAWtC,IAAOynE,MAClBR,QAAShE,EAAOyE,YAChBvsC,IAAI,MAIN8nC,EAAO9uD,SAAWwzD,YAAY9yD,GAE/BvR,GACCkkE,EAAAzkE,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOsD,KAAMtB,IAAiBsB,IAMjEy/D,EAAOh7D,aAAe,CACpB8+D,kBAAkB,EAClBE,aAAa,EACbzjE,KAAM,GACNhC,QAAS,aACTU,cAAe,GACfilE,QAAS,aACTjE,SAAU,GACV1gE,UAAW,IAGbygE,EAAO99D,UAAP,GAYe89D,2CC7Efn/D,EAAAC,EAAAC,EAAA,sBAAA8jE,IAAA,IAAA57D,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEa47D,EAAiBx7D,IAAU6tD,MAAM,CAC5CtnD,QAASvG,IAAUguD,OACnB3pC,SAAUrkB,IAAUguD,OACpBjqC,MAAO/jB,IAAUguD,OACjB9pC,WAAYlkB,IAAUguD,6BCLxBz+C,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAhD,MAAA,+BAAAE,YAAA,qCAAAkxC,aAAA,sCAAA4xB,iBAAA,0CAAAC,kBAAA,2CAAAloB,QAAA,iCAAA53C,MAAA,2VCCX,IAAM+/D,EAAiBn+C,IAAMC,gBAUrBm+C,IARf,SAAqBj+C,GACnB,OAAO,SAAAzkB,GAAK,OACVod,EAAA3f,EAAAC,cAAC+kE,EAAe/9C,SAAhB,KACG,SAAAC,GAAQ,OAAIvH,EAAA3f,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,0BCN7CtO,EAAAC,QAAA,CAAkBqsD,IAAA,6BAAAC,QAAA,iCAAA14D,UAAA,mCAAA24D,YAAA,qCAAAnjE,KAAA,8BAAAyK,SAAA,kCAAA24D,QAAA,iCAAAC,QAAA,iCAAAC,eAAA,wCAAAjtB,WAAA,oCAAAt6C,MAAA,+BAAAwnE,KAAA,8BAAAC,YAAA,qCAAAryC,KAAA,8BAAAsyC,QAAA,iCAAAC,WAAA,oCAAA5M,QAAA,iCAAAj3D,MAAA,+BAAA8H,KAAA,8BAAArM,KAAA,8DCDlBsD,EAAAC,EAAAC,EAAA,sBAAA6kE,IAAA,IAAA38D,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAAA+tD,EAAAn2D,EAAA,IAAAglE,EAAAhlE,EAAA,IAAAilE,EAAAjlE,EAAA,KAMa+kE,EAAwBv8D,IAAU6tD,MAAM,CACnD6O,UAAW/8D,IACXg9D,WAAY38D,IAAU48D,KACtBC,YAAa78D,IAAU48D,KACvBE,SAAU98D,IAAU48D,KACpBG,SAAU/8D,IAAU8E,OACpBk4D,mBAAoBh9D,IAAU48D,KAC9BK,kBAAmBj9D,IAAU6tD,MAAM,CACjCqP,SAAU9O,MAEZ+O,kBAAmBn9D,IAAU8E,OAC7BrM,MAAOuH,IAAU8E,OACjBq5B,MAAOn+B,IAAU8E,SAGc9E,IAAU6tD,MAAM,CAC/CuP,aAAcp9D,IAAU8E,OACxBgkD,SAAUsF,IACViP,aAAcd,IAGQv8D,IAAU6tD,MAAM,CACtCyP,mBAAoBt9D,IAAU8tD,KAAKxiC,WACnCiyC,mBAAoBv9D,IAAU8tD,KAAKxiC,WACnCkyC,oBAAqBx9D,IAAU8tD,KAAKxiC,WACpCmyC,mBAAoBz9D,IAAU8tD,KAAKxiC,aAGNtrB,IAAU6tD,MAAM,CAC7C3xC,OAAQlc,IAAUiuD,QAAQyP,KAAiBpyC,WAC3CqyC,eAAgB39D,IAAU8tD,KAAKxiC,WAC/BsyC,oBAAqB59D,IAAU48D,KAAKtxC,WACpCuyC,kBAAmB79D,IAAU8tD,KAAKxiC,WAClCwyC,gBAAiB99D,IAAU48D,KAAKtxC,WAChCyyC,cAAe/9D,IAAU8tD,KAAKxiC,kVCtCzB,IAAM0yC,EAAaxgD,IAAMC,gBAYjBwgD,IAVf,SAAiBtgD,GACf,OAAO,SAAsBzkB,GAC3B,OACEod,EAAA3f,EAAAC,cAAConE,EAAWpgD,SAAZ,KACG,SAAAC,GAAQ,OAAIvH,EAAA3f,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,0iBCJxC,IAAMqgD,EAAa,SAAAC,GAAW,OAAItwD,KAAKuwD,MAAMD,IAE7C,SAASE,EAAahjD,GAC3B,GAAItW,IAAQsW,GACV,OAAO,KAGT,IAAMijD,EAAe,IAAIC,SAASC,aAMlC,OAJAnjD,EAAQvG,QAAQ,SAAA7f,GAAkB,IAAfwpE,EAAexpE,EAAfwpE,SACjBH,EAAaI,OAAOD,EAASE,eAGxBL,EAGF,SAASM,EAAY9/D,EAAK+/D,GAC/B,GAAI//D,EAAIggE,SAASD,GAAY,CAC3B,IAAME,EAAajgE,EAAIkgE,kBAAkBH,EAAW,cAC9CI,EAAmBF,GAA6B,YAAfA,EAAoC,UAAT,OAElEjgE,EAAIogE,kBAAkBL,EAAW,aAAcI,IAI5C,SAASE,EAAiBrgE,GAC/B,IAAMsgE,EAAgB,CACpBhqE,KAAM,OACN25D,OAAQ,CACN35D,KAAM,SACNuY,IAAG,YAAAtP,OAAc2c,IAAIO,kBAEvB8jD,eAAgBrkD,IAAIskD,kBACpBp6D,OAAQ2V,KAGV/b,EAAIygE,SAAJ1oE,EAAA,GACKuoE,EADL,CAEEnlE,GAAI,gBACJ7E,KAAM,OACNoqE,MAAO,CACLC,aAAc,QACdC,eAAgB,OAIpB5gE,EAAIygE,SAAJ1oE,EAAA,GACKuoE,EADL,CAEEnlE,GAAI,kBACJ7E,KAAM,OACNoqE,MAAO,CACLG,aAAc,QACdC,eAAgB,GAChBC,aAAc,MAKb,SAASC,EAATtlE,GAA2D,IAA9BsE,EAA8BtE,EAA9BsE,IAAKihE,EAAyBvlE,EAAzBulE,aAAcC,EAAWxlE,EAAXwlE,QACrD,GAAKlhE,GAEDihE,GAAgBC,EAAS,CAC3B,IAAM96D,EAAS,CACb,MACA,CAAC,KAAM,OAAQ86D,GACf,CAAC,KAAM,eAAgBD,IAGzBjhE,EAAImhE,UAAU,gBAAiB/6D,GAC/BpG,EAAImhE,UAAU,kBAAmB/6D,IAI9B,SAASg7D,EAATxlE,GAA8E,IAAtDoE,EAAsDpE,EAAtDoE,IAAKqhE,EAAiDzlE,EAAjDylE,SAAUC,EAAuC1lE,EAAvC0lE,UAAuCC,EAAA3lE,EAA5BV,eAA4B,IAAAqmE,EAAlB,CAAEC,QAAS,GAAOD,EACnF,GAAKvhE,GAAQqhE,GAAaC,EAA1B,CAIA,IAAMG,EAAS,CAAEC,IAAKL,EAAUM,IAAKL,GAErCthE,EAAI4hE,UAAU,CAACH,EAAQA,GAASvmE,IAG3B,SAAS2mE,EAAe7hE,GAA8D,IAAzD8hE,EAAyDz6D,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAA3C,6BAA8B06D,EAAa16D,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAC3FtH,EAAIgiE,UAAUF,EAAa,SAACnmE,EAAOsmE,GACjC,GAAItmE,EAAO,MAAMA,EACjBqE,EAAIkiE,SAAS,aAAcD,GAE3BF,MAIG,SAASI,EAAaC,EAAYrmE,EAAMiE,EAAKqiE,GAClDriE,EAAIsiE,UAAUF,EAAY,CACxB9rE,KAAM,UACNyF,OACAwmE,QAASF,EACTG,eAAgB,GAChBC,cAAe,oCCtGnB/pE,EAAAC,EAAAC,EAAA,sBAAA3C,IAAAyC,EAAAC,EAAAC,EAAA,sBAAA7C,IAAA2C,EAAAC,EAAAC,EAAA,sBAAA5C,IAAA0C,EAAAC,EAAAC,EAAA,sBAAA+a,IAAAjb,EAAAC,EAAAC,EAAA,sBAAAgb,IAAAlb,EAAAC,EAAAC,EAAA,sBAAAib,IAAAnb,EAAAC,EAAAC,EAAA,sBAAAmb,IACO,IAAM9d,EAAa,OACbF,EAAc,QACdC,EAAa,OAGb2d,EAAc,SACdC,EAAa,QACbC,EAAmB,SACnBE,EAAW,sJCDxB,SAASsE,EAATliB,GAQG,IAPDusE,EAOCvsE,EAPDusE,cACAC,EAMCxsE,EANDwsE,aACAvrE,EAKCjB,EALDiB,UACAC,EAIClB,EAJDkB,UACAwS,EAGC1T,EAHD0T,YACA+4D,EAECzsE,EAFDysE,gBAGM3iD,EAAayiD,EAAc,CAC/BC,eACAvrE,YACAyS,cACAoB,QALD9U,EADD8U,UASM43D,EACJjrE,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO+tE,YAAaD,GAAmB9tE,IAAO8tE,kBACxEhrE,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,MAAO,kBAAmB,cAIvD,OACEL,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAACkT,EAAA,EAAUiV,GAEV5oB,GAAawrE,GAKpBxqD,EAAexb,aAAe,CAC5B8lE,aAAc,OACdvrE,UAAW,eACXC,WAAW,EACXurE,iBAAiB,GAGnBvqD,EAAete,UAAf,GAUese,kCChDf,SAASyqD,EAAT3sE,GAAqD,IAAjC6tB,EAAiC7tB,EAAjC6tB,MAAO++C,EAA0B5sE,EAA1B4sE,uBACzB,GAAI98D,IAAQ+d,GACV,OAAO,KAkBT,OACEpsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkuE,0BACrBprE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOmuE,mBACpBj/C,EAAMhkB,IAlBb,SAAoBqD,GAAM,IAChBwe,EAAgCxe,EAAhCwe,OAAQqhD,EAAwB7/D,EAAxB6/D,oBACVC,EAAYlrE,IAAWnD,IAAOsuE,aAAcvhD,GAAU/sB,IAAOs1B,UAC7Di5C,EAAYN,EAAuB1/D,EAAM,CAAEjM,UAAW+rE,IACtDG,EAAgBC,YAAgBL,EAAoBI,eAE1D,OACE1rE,EAAAC,EAAAC,cAAA,MAASurE,EACPzrE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsD,KAAM43B,IAAI,6BAA6BC,IAAI,oBAClEr4B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO0uE,UAAWN,EAAoBM,UACpD5rE,EAAAC,EAAAC,cAAA,aAAQwrE,QAchBR,EAAS/oE,UAAT,GAKe+oE,m+BC4EAW,MAhHf,SAAAttE,GAAgF,IAAAutE,EAAAvtE,EAA9CqD,aAA8C,IAAAkqE,EAAtC,GAAsCA,EAAlCC,EAAkCxtE,EAAlCwtE,QAAS15D,EAAyB9T,EAAzB8T,SAAUyK,EAAeve,EAAfue,OAAQ1c,EAAO7B,EAAP6B,IAAO8O,EAAAC,EAChDC,mBAASxN,GADuC,GACvE05D,EADuEpsD,EAAA,GAC9D88D,EAD8D98D,EAAA,GAAA+I,EAAA9I,EAEhCC,mBAASxN,GAFuB,GAEvEqqE,EAFuEh0D,EAAA,GAEtDi0D,EAFsDj0D,EAAA,GAAAgT,EAAA9b,EAG5BC,mBAAS28D,GAHmB,GAGvEI,EAHuElhD,EAAA,GAGpDmhD,EAHoDnhD,EAAA,GAAAE,EAAAhc,EAI1CC,qBAAWxN,GAJ+B,GAIvEmhB,EAJuEoI,EAAA,GAI3DkhD,EAJ2DlhD,EAAA,GAAAmhD,EAAAn9D,EAK9BC,qBAL8B,GAKvEm9D,EALuED,EAAA,GAKrDE,EALqDF,EAAA,GAAAG,EAAAt9D,EAMhCC,oBAAS,GANuB,GAMvEs9D,EANuED,EAAA,GAMtDE,EANsDF,EAAA,GAQ9E,SAASG,IACFtR,EAIMv4C,GACTipD,EAAWC,GACXnvD,GAAUA,EAAO,CAAEw+C,QAAS2Q,EAAiBF,QAASI,MAEtDrvD,GAAUA,EAAO,CAAEw+C,QAAS,GAAIyQ,QAAS,KACzCC,EAAW,MARXE,EAAmB,IACnBE,EAAqB,IACrBtvD,GAAUA,EAAO,CAAEw+C,QAAS,GAAIyQ,QAAS,MAQ3CY,GAAmB,GAGrB,SAASE,EAAkBx8D,GACrBA,EAAMM,UAAYC,IAAUk8D,SAC9BF,IACAjvB,SAAS9a,oBAAoB,UAAWgqC,IAI5C,SAASE,EAAmB18D,GACtBq8D,GAAmBtsE,EAAIyP,UAAYzP,EAAIyP,QAAQm9D,SAAS38D,EAAMvK,UAGhEymE,IACAK,IACAjvB,SAAS9a,oBAAoB,UAAWgqC,IAgE5C,OA5DA58D,oBAAU,WACRqrD,GAAWjpD,GAAYipD,IAAY15D,GAASyQ,EAAS,CAAEipD,UAASyQ,QAASI,KACxE,CAAC7Q,EAAS6Q,IAEbl8D,oBAAU,WACJqrD,IAAY15D,GAASqqE,IAAoBrqE,GAC3CsqE,EAAmBtqE,IAEpB,CAACA,IAEJqO,oBAAU,WACR+7D,EAAWC,IACV,CAACA,IAEJh8D,oBAAU,WAMR,OALIy8D,IACF/uB,SAAS/a,iBAAiB,YAAamqC,GACvCpvB,SAAS/a,iBAAiB,UAAWiqC,IAGhC,WACDH,GACF/uB,SAAS9a,oBAAoB,YAAakqC,KAG7C,CACD3sE,EACAk7D,EACAx+C,EACAiG,EACAkpD,EACA55D,EACAk6D,EACAJ,EACAO,IA0BK,CACLpR,UACA2Q,kBACAE,oBACAppD,aACAkqD,eA5BF,SAAwBC,GACjB7+D,IAAQ6+D,IAAwC,oBAArBX,IAC9BC,EAAoB,kBAAMU,EAAQX,mBAClCW,EAAQC,kBAAoB,eA0B9B96D,SAtBmB,SAAC+6D,GACpBpB,EAAWoB,GACXT,GAAmB,IAqBnBxI,QATkB,SAACkJ,EAASC,GAAV,OAAgCA,KAUlDC,SAnBmB,SAACC,EAAeC,GACnC,IAAMC,EAAkB/B,YAAgB6B,GAExCtB,EAAmBwB,GACnBtB,EAAqBqB,GACrBpB,GAAc,GACdL,EAAW0B,6lBCxFf,SAASC,EAATpvE,GAaG,IAZDwtE,EAYCxtE,EAZDwtE,QACAnqE,EAWCrD,EAXDqD,MACAyQ,EAUC9T,EAVD8T,SACAyK,EASCve,EATDue,OACA8wD,EAQCrvE,EARDqvE,UACAzwD,EAOC5e,EAPD4e,eACAlL,EAMC1T,EAND0T,YACA47D,EAKCtvE,EALDsvE,cACA7C,EAICzsE,EAJDysE,gBACA33D,EAGC9U,EAHD8U,QACAy6D,EAECvvE,EAFDuvE,yBACGluE,EACFC,EAAAtB,EAAA,2JACK6B,EAAMsuD,iBAAO,MADlBqf,EASGlC,EAAuB,CAAEjqE,QAAOmqE,UAAS15D,WAAUyK,SAAQ1c,QAL7Dk7D,EAJDyS,EAICzS,QACU/qD,EALXw9D,EAKC17D,SACSuyD,EANVmJ,EAMC5J,QACU6J,EAPXD,EAOCR,SACAN,EARDc,EAQCd,eAoBF,IAhBQ3pE,EAgBF2qE,EAAU5tE,IACdnD,IAAOgxE,oBACPL,GAAiB,cAGnB,OACE7tE,EAAAC,EAAAC,cAACiuE,EAAAluE,EAAD,CACE2B,MAAO05D,EACPjpD,SAAU9B,EACVg9D,SAAUS,EACV7J,QAASS,EACTwJ,eA3BI9qE,EAAU,CACd+qE,SAAU,IAAIC,OAAOC,KAAKC,OAAOC,IAAkBC,KACnDC,OAAQC,IACRC,MAAOjB,EAAY,CAACA,GAAa,IAG/BE,EAAiCxqE,EAErCnD,EAAA,GACKmD,EADL,CAEEwrE,sBAAuB,CACrBC,QAAS,SAiBX7hB,SAAUC,IACV6hB,0BAAwB,EACxB5uE,IAAK6sE,GAEJ,SAAAnpE,GAAA,IAAGgnE,EAAHhnE,EAAGgnE,cAAemE,EAAlBnrE,EAAkBmrE,YAAa9D,EAA/BrnE,EAA+BqnE,uBAAwB+D,EAAvDprE,EAAuDorE,QAAvD,OACClvE,EAAAC,EAAAC,cAAA,OAAKV,UAAWyuE,EAAS7tE,IAAKA,GAC5BJ,EAAAC,EAAAC,cAACivE,EAADhvE,EAAA,GACMP,EADN,CAEEkrE,cAAeA,EACfrrE,UAAWyvE,EACX1vE,UAAW2d,EACXlL,YAAaA,EACb+4D,gBAAiBA,EACjB33D,QAASA,KAEXrT,EAAAC,EAAAC,cAACkvE,EAAD,CACEhjD,MAAO6iD,EACP9D,uBAAwBA,OAQpCwC,EAAoB1oE,aAAe,CACjCrD,MAAO,GACPisE,eAAe,EACf7C,iBAAiB,EACjB8C,0BAA0B,GAG5BH,EAAoBxrE,UAApB,GAeewrE,4GCzGf,SAAS0B,EAAT9wE,GAAkE,IAAjCwD,EAAiCxD,EAAjCwD,MAAOE,EAA0B1D,EAA1B0D,YAAazC,EAAajB,EAAbiB,UACnD,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOoyE,qBAAsB9vE,IACtDQ,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CACE95B,MAAOA,EACPE,YAAaA,KAMrBotE,EAAsBltE,UAAtB,GAQektE,moBClBf,SAASE,EAAThxE,GAAoE,IAAtC+5C,EAAsC/5C,EAAtC+5C,qBAAyB14C,EAAaC,EAAAtB,EAAA,0BAClE,OACEyB,EAAAC,EAAAC,cAACy3C,EAAA,EAADx3C,EAAA,CAAU4B,MAAM,IAAOnC,GACrBI,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOsyE,iBAAkBl3B,IAClDt4C,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQ2U,QAAQ,8BAMxBm6D,EAAmBptE,UAAnB,GAIeotE,2BChBf,SAASE,EAATlxE,GAIG,IAHDmxE,EAGCnxE,EAHDmxE,kBACAr3B,EAEC95C,EAFD85C,iBACAs3B,EACCpxE,EADDoxE,0BAEM1tE,EACJjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOoyE,sBACrBtvE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0yE,aAAeF,GAAqBC,GAA8Bt3B,IAI7F,OAAOr4C,EAAAC,EAAAC,cAAC2vE,EAAD,CAAuB5tE,YAAaA,IAG7CwtE,EAA0BttE,UAA1B,GASestE,QC9Bf3uE,EAAAC,EAAAC,EAAA,sBAAA6uE,IAAA/uE,EAAAC,EAAAC,EAAA,sBAAA8uE,IAAAhvE,EAAAC,EAAAC,EAAA,sBAAA+uE,qBCCAl3D,EAAAC,QAAA,CAAkBtH,MAAA,+BAAA9T,QAAA,iCAAAI,MAAA,+BAAA6T,QAAA,iCAAAq+D,eAAA,gECAlBn3D,EAAAC,QAAA,CAAkB0sD,eAAA,wCAAAyK,WAAA,oCAAAhyE,MAAA,+BAAAiyE,UAAA,mCAAAC,aAAA,sCAAA53B,WAAA,oCAAAqtB,WAAA,oCAAAwK,WAAA,oCAAAC,YAAA,qECAlBx3D,EAAAC,QAAA,CAAkBw3D,UAAA,mCAAArkE,YAAA,qCAAAskE,cAAA,uCAAA9jE,MAAA,+BAAA+jE,UAAA,mCAAAC,OAAA,gCAAAC,WAAA,oCAAAC,WAAA,oCAAAC,UAAA,mCAAAC,YAAA,qCAAAC,eAAA,wCAAA9mD,SAAA,kCAAAjC,UAAA,mCAAAgpD,aAAA,sCAAAC,SAAA,kCAAA1L,QAAA,iCAAA9nB,eAAA,wCAAAC,iBAAA,0CAAAwzB,YAAA,qCAAAtsB,aAAA,+ECDlB,IAAAhlC,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAuxD,EAAApwE,EAAA,MAAAqwE,EAAArwE,EAAAsI,EAAA8nE,GAceE,IAVf,WACE,OACExxD,EAAA3f,EAAAC,cAAA,OACEV,UAAWtC,IAAOm0E,KAClBj5C,IAAI,qCACJC,IAAI,qDCTVv3B,EAAAC,EAAAC,EAAA,sBAAAswE,IAAA,IAAApoE,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEaooE,EAAYhoE,IAAU6tD,MAAM,CACvCv1D,MAAO0H,IAAU8E,OACjB3I,KAAM6D,IAAU8E,OAChB1I,WAAY4D,IAAU48D,OAGI58D,IAAU6tD,MAAM,CAC1CvhD,OAAQtM,IAAU8E,OAClBgS,MAAO9W,IAAU8tD,KACjBma,WAAYjoE,IAAU8tD,KACtBoa,GAAIloE,IAAU8tD,KACdqa,OAAQnoE,IAAU8tD,KAClBsa,UAAWpoE,IAAU8tD,KACrBpwD,OAAQsC,IAAUguD,OAClBqa,OAAQroE,IAAU8tD,KAClBiX,SAAU/kE,IAAU6tD,MAAM,CACxBya,SAAUtoE,IAAU8E,OACpByjE,OAAQvoE,IAAU8E,OAClB0jE,KAAMxoE,IAAU8E,SAElBkQ,KAAMhV,IAAU8tD,KAChB2a,QAASzoE,IAAU8tD,OAGK9tD,IAAU6tD,MAAM,CACxC6a,QAAS1oE,IAAU48D,KACnB+L,OAAQ3oE,IAAU6tD,MAAM,CACtB5zD,GAAI+F,IAAU4oE,UAAU,CACtB5oE,IAAUguD,OACVhuD,IAAU8E,WAGd+jE,KAAM7oE,IAAU8E,OAChB6I,IAAK3N,IAAU8E,wCCnCjB,SAASgkE,IAIP,MAAO,CACLC,kBAJwB10B,SAAS20B,eAAe,cAKhDC,qBAJ2B50B,SAAS20B,eAAe,SAQhD,SAASE,IAA0B,IAAAC,EACYL,IAA5CC,EADgCI,EAChCJ,kBAAmBE,EADaE,EACbF,qBAEvBF,GACFA,EAAkBK,UAAUC,IAAI,oBAG9BJ,GACFA,EAAqBG,UAAUC,IAAI,oBAIhC,SAASC,IAA0B,IAAAC,EACYT,IAA5CC,EADgCQ,EAChCR,kBAAmBE,EADaM,EACbN,qBAEvBF,GACFA,EAAkBK,UAAUI,OAAO,oBAGjCP,GACFA,EAAqBG,UAAUI,OAAO,oBAInC,SAAS7yC,IAAkC,IAAlBrY,EAAkBnY,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAIhD,QAHwB6U,KAAO,IAAvByuD,aACmC,IAAnCC,kBAEmBprD,EAtC7B9mB,EAAAC,EAAAC,EAAA,sBAAAwxE,IAAA1xE,EAAAC,EAAAC,EAAA,sBAAA4xE,IAAA9xE,EAAAC,EAAAC,EAAA,sBAAAi/B,8TCaO,IAAMiW,EAAW,CACtB6nB,gBAAiB,SAACj9C,EAAM+B,GAAP,OAAA1iB,EAAA,GACZ2gB,EADY,CAEfoC,MAAO+vD,YACPrnC,SAAU,GACV9oB,QAAS,WACLD,EAAM1e,KAAKyxB,SAAW,CACxBkV,WAAY,OACZ5nB,MAAO,WAGX86C,iBAAkB,SAACl9C,EAAM+B,GAAP,OAAA1iB,EAAA,GACb2gB,EADa,CAEhBE,OAAQ,OACRkuB,gBAAiBgkC,gBACjBhwD,MAAO+vD,YACP7gC,SAAU,OACVX,WAAY,EACZlwB,4BACAE,UAAW,CACT0xD,OAAQ,UACRjkC,gBAAiBgkC,gBACjBhwD,MAAO+vD,cAELpwD,EAAM1e,KAAKyxB,SAAW,CACxB2W,QAAS,UAGbuxB,WAAY,SAACh9C,EAAM+B,GAAP,OAAA1iB,EAAA,GACP2gB,EADO,CAEVouB,gBAAiBgkC,gBACjB3xD,4BACAuB,QAAS,EACTL,OAAQ,EACR0pB,SAAU,KACNtpB,EAAM1e,KAAKyxB,SAAW,CACxBsZ,gBAAiBkkC,2BAGrBC,YAAa,SAAAvyD,GAAI,OAAA3gB,EAAA,GACZ2gB,EADY,CAEfgC,QAAS,SACTL,OAAQ,MAmFG6wD,IA/EE,eAAA/0E,EAAAkR,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAuD,GAApDmY,EAAHrpB,EAAGqpB,SAAUiB,EAAbtqB,EAAasqB,eAAgBk+B,EAA7BxoD,EAA6BwoD,aAAc1zC,EAA3C9U,EAA2C8U,QAA3C,OAAAlT,EAAA,GACZ+1C,EADY,CAEfr1B,QAAS,SAAAC,GAAI,OAAA3gB,EAAA,GACR2gB,EADQ,GAEPimC,GAAgB,CAClBta,UAAW,OACXjqB,UAAW,QAJF,CAMXpB,UAAS,qBAAAzZ,OAAuB4rE,kBAChCryD,gBAAiBC,oBACjBH,OAAQ,OACR8B,QAAS,EACTvB,4BACAupB,WAAY,IACZM,wBACA/pB,UAAW,IACPhO,GAAW,CACb2P,WAAYu6C,uBACZv8C,OAAQU,cACRN,UAAW,OACXK,UAAW,CACTT,OAAQU,kBAIdE,eAAgB,SAAAd,GAAI,OAAA3gB,EAAA,GACf2gB,EADe,CAElBgC,QAAS,UACTzB,UAAW,aAEbW,kBAAmB,SAAAlB,GAAI,OAAA3gB,EAAA,GAClB2gB,EADkB,CAErB9d,SAAU,cAEZ26D,eAAgB,SAAA78C,GAAI,OAAA3gB,EAAA,GACf2gB,EADe,GAEd+H,GAAmB,CACrB/G,aAAc8F,EAAW,GAAK,OAGlC3V,YAAa,SAAA6O,GAAI,OAAA3gB,EAAA,GACZ2gB,EADY,CAEfqB,YAAa,EACbs7C,WAAY,SACZC,SAAU,SACVF,aAAc,WACdztB,MAAO,OACPjuB,aAAc,GACdC,UAAW,YAEbvQ,MAAO,SAAAsP,GAAI,OAAA3gB,EAAA,GACN2gB,EADM,CAETqB,YAAa,KAEfC,KAAM,SAAAtB,GAAI,OAAA3gB,EAAA,GACL2gB,EADK,CAER8qB,SAAU,GACV1oB,MAAO+vD,YACP7xD,UAAWoyD,gBACXzjC,MAAO,MACP0B,WAAY,OACZzwB,OAAQ,OACRoqB,wBACAN,WAAY,IACZnoB,OAAQ,GACR8wD,UAAW,CACTzxE,QAAS,KACTgB,SAAU,WACV8f,QAAS,UAGbF,OAAQ,SAAA9B,GAAI,OAAA3gB,EAAA,GACP2gB,EADO,CAEV08C,aAAc,WACdE,SAAU,SACVD,WAAY,ikDC7HT,IAAMiW,EAAgB,eAAAn1E,EAAAkR,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAA0B,GAAvB/Q,EAAHH,EAAGG,KAAMu5D,EAAT15D,EAAS05D,aAAT,SAAAtwD,OACxBgsE,IAAWC,IAAQl1E,IADK,KAAAiJ,OACKswD,IAGrB4b,EAAW,eAAA/vE,EAAA2L,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAA6B,GAA1B0qD,EAAHr2D,EAAGq2D,YAAaD,EAAhBp2D,EAAgBo2D,SAAhB,OAAoC5tC,YAC1D,CAACwnD,YAAmB5Z,GAAWC,GAC/B,MAGI4Z,EAAsB,SAAAC,GAAa,OAAIjqB,IAAIkqB,IAAOD,EAAe,SAAU,SAEpEE,EAAyB,SAAClxE,GAAa,IAAAgB,EACKhB,GAAY,GAA3DjB,EAD0CiC,EAC1CjC,MAAO2sB,EADmC1qB,EACnC0qB,KAAMslD,EAD6BhwE,EAC7BgwE,cAD6BpzC,EAAA58B,EACdmwE,gBACa,GAAzC/a,EAF0Cx4B,EAE1Cw4B,OAAQgb,EAFkCxzC,EAElCwzC,WAEhB,OACEC,EAAAp0E,EAAAC,cAAAm0E,EAAAp0E,EAAAgG,SAAA,KACEouE,EAAAp0E,EAAAC,cAAA,OAAK8yD,cAAY,cAAc1mC,YAAYgoD,IAAK,CAACvyE,EAAO2sB,MACxD2lD,EAAAp0E,EAAAC,cAAA,OAAK8yD,cAAY,oBACd1mC,YAAYgoD,IAAA,CAAMlb,EAAQgb,GAAdzsE,OAAA6W,EAA6Bu1D,EAAoBC,UAMzDO,EAA+B,SAACvxE,GAAa,IAAA89B,EACD99B,GAAY,GAA3DjB,EADgD++B,EAChD/+B,MAAO2sB,EADyCoS,EACzCpS,KAAMslD,EADmClzC,EACnCkzC,cADmC9yC,EAAAJ,EACpBqzC,gBAC0C,GAAtE/a,EAFgDl4B,EAEhDk4B,OAAQgb,EAFwClzC,EAExCkzC,WAAYI,EAF4BtzC,EAE5BszC,OAAQC,EAFoBvzC,EAEpBuzC,UAAWC,EAFSxzC,EAETwzC,SAEzCC,EAAWb,YACfxnD,YAAYgoD,IAAK,CAACE,EAAQC,EAAWC,MAGjCE,EAAkBtoD,YAAY,CAAC8sC,EAAQub,GAAW,KAExD,OAAOroD,YACLgoD,IAAA,CAAMvyE,EAAO2sB,GAAb/mB,OAAA6W,EAAsBu1D,EAAoBC,IAA1C,CAA0DI,EAAYQ,OAI7DC,EAAU,SAACx+D,EAAUy+D,GAAiB,IAAAC,GACtBD,GAAgB,IAAnCX,gBACkD,GAAlDK,EAFyCO,EAEzCP,OAAQC,EAFiCM,EAEjCN,UAAWC,EAFsBK,EAEtBL,SACrBM,EAAqBlB,YACzBxnD,YAAYgoD,IAAK,CAACE,EAAQC,EAAWC,MAGvC,OAAOpoD,YAAY,CAACjW,EAAU2+D,GAAqB,MAGxCC,EAAa,WAAgD,IAAAC,EAAAzlE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GAAtC+qD,EAA6C0a,EAA7C1a,QAASJ,EAAoC8a,EAApC9a,OAAQG,EAA4B2a,EAA5B3a,KAA4B4a,EAAAD,EAAtBryD,aAAsB,IAAAsyD,EAAd,GAAcA,EAClEC,EAAYC,YAAaC,IAAIzyD,EAAO,SACpCy4C,EAAUhvC,YAAY,CAAC8tC,EAAQG,EAAM6a,EAAW5a,IAEtD,OAAOc,QAAW5rD,GAGP6lE,EAAkB,WAAmC,IAAAC,EAAA/lE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GAAzB4qD,EAAgCmb,EAAhCnb,SAAaiB,EAAmBz7D,EAAA21E,EAAA,cAC1DC,EAAmBR,EAAW3Z,GAEpC,MAAO,CACL/3D,GAAI,WACJY,KAAM,CACJ,CACEZ,GAAI,UACJ1B,MAAO,UACPG,QAASyzE,GAEX,CACElyE,GAAI,WACJ1B,MAAO,WACPG,QAASq4D,MAMJqb,EAAgB,SAAAz1B,GAAM,MAAK,CACtC18C,GAAI,QACJyI,QAAS,CAAC,CACRzI,GAAI,OACJ6kD,UAAWutB,IACXC,OAAQ/B,IAEV1vE,KAAMk/D,YAAepjB,GACrB3zC,SAAUonE,4BC7FZ76D,EAAAC,QAAA,CAAkB5E,OAAA,gCAAAspC,eAAA,wCAAAC,iBAAA,0CAAAo4B,eAAA,wCAAAnrE,OAAA,gCAAA0N,KAAA,8BAAAlL,OAAA,gCAAA4+C,KAAA,8BAAAt5B,SAAA,kCAAAsjD,eAAA,wCAAA7hE,QAAA,iCAAA8hE,kBAAA,2CAAAC,UAAA,mCAAAC,eAAA,wCAAAC,gBAAA,yECDlBp1E,EAAAC,EAAAC,EAAA,sBAAAm1E,IAAA,IAAAjtE,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAOaitE,GALkB7sE,IAAU6tD,MAAM,CAC7Ct1D,MAAOyH,IAAU8E,OACjBxM,MAAO0H,IAAU8E,SAGM9E,IAAU6tD,MAAM,CACvCif,KAAM9sE,IAAU8E,OAChBioE,UAAW/sE,IAAU8E,OACrBkoE,QAAShtE,IAAU48D,kCCTrBrtD,EAAAC,QAAA,CAAkBse,eAAA,wCAAA3vB,YAAA,qCAAA81C,gBAAA,yCAAAt/C,MAAA,+BAAA4D,MAAA,+BAAA27C,eAAA,wCAAAC,iBAAA,0CAAAZ,YAAA,qCAAAM,YAAA,qCAAAL,QAAA,iCAAAr/C,UAAA,mCAAAmgD,YAAA,uDCAlB/kC,EAAAC,QAAA,CAAkBpM,UAAA,mCAAA6pE,SAAA,kCAAA5pE,SAAA,kCAAA24D,QAAA,iCAAAtjE,QAAA,iCAAA0I,OAAA,gCAAAmtB,cAAA,uCAAA0tC,QAAA,iCAAAiR,KAAA,8BAAAC,eAAA,wCAAAj2E,KAAA,wJCCLggB,EAAa,CACxB9iB,QAASR,IAAM,QACfY,MAAOZ,IAAOY,OAiBH44E,EAAsB,SAACC,EAADp4E,GAAkC,IAd7C+4D,EAKhBr3D,EACA22E,EACAC,EAO8CC,EAAev4E,EAAfu4E,SAC9CC,EAAkBJ,EAAe5E,QAAQ,UAAW,IACpDiF,EAAYF,EAAS/E,QAAQ,UAAW,IAE9C,OAAIiF,EAAUhwE,OAAS,GACd2vE,GAImC,IAAxCI,EAAgBxiC,QAAQyiC,IAlBtB/2E,GAJNq3D,GADsBA,EAwBEwf,GAtBrB/E,QAAQ,UAAW,IACnB5pE,OAAO,KAEOA,MAAM,EAAG,GACpByuE,EAAItf,EAAOnvD,MAAM,EAAG,GACpB0uE,EAAIvf,EAAOnvD,MAAM,GAEH,OAAAR,OAAU1H,EAAV,MAAA0H,OAAgBivE,EAAhB,KAAAjvE,OAAqBkvE,IAkBlCF,qBCZHM,EAAW,CACf,KACA,KACA,IACA,KACA,KACA,IACA,KACA,KACA,KACA,MAGIC,EAAY,GAAAvvE,OACbsvE,EADa,CAEhB,IACA,MACA,KACA,IACA,QACA,KACA,IACA,MACA,MA0BaE,EAnBK,CAClBC,kCAAmC,CACjCC,KApDqC,CACvC,IACA,IACA,IACA,IACA,QACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,MAoCEplE,YAAa,qBAEfqlE,QAAS,CACPD,KAVgBE,IAAiB,CACnCl2B,OAAQ,KAUNpvC,YAAa,UAEfohB,KAAM,CACJgkD,KAAMJ,EACNhlE,YAAa,cAEfulE,UAAW,CACTH,KAAMH,EACNjlE,YAAa,4mBCvDF,SAASwlE,EAATl5E,GAA4G,IAArF8U,EAAqF9U,EAArF8U,QAASqkE,EAA4En5E,EAA5Em5E,SAAUzlE,EAAkE1T,EAAlE0T,YAAaa,EAAqDvU,EAArDuU,aAActT,EAAuCjB,EAAvCiB,UAAWR,EAA4BT,EAA5BS,KAAM24E,EAAsBp5E,EAAtBo5E,KAAS/3E,EAAaC,EAAAtB,EAAA,+EACnHq5E,EAAaT,EAAYO,GAEzBv6D,EAAiB9c,IACrBb,EACAtC,IAAOsU,MACPgP,EAAWxhB,GACX8T,GAAgB5V,IAAOyU,SAMrBkmE,EAAcF,EAMlB,MAJiB,sCAAbD,IACFG,EAAcnB,GAId12E,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC43E,EAAA73E,EAADE,EAAA,GACMP,EADN,CAEEJ,UAAWa,IAAW8c,EAAgB9J,GAAWnW,IAAOyU,SACxD0lE,KAAMO,EAAWP,KACjBplE,YAAaA,GAAe2lE,EAAW3lE,YACvC0lE,KAAME,KAER73E,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAAStC,qCAK7B2kE,EAAYt1E,UAAZ,GAcAs1E,EAAYxyE,aAAe,CACzBjG,KAAM,UACN+4E,OAAO,EACPC,gBAAiB,IACjBC,mBAAmB,yGCvDN,SAASC,EAAT35E,GAAkE,IAA/CmM,EAA+CnM,EAA/CmM,OAAQ3I,EAAuCxD,EAAvCwD,MAAOxC,EAAgChB,EAAhCgB,SAAUf,EAAsBD,EAAtBC,QAASgB,EAAajB,EAAbiB,UAC5D24E,EAAa35E,GACjBwB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,SAEEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQQ,MAAM,QAAQU,UAAWtC,IAAOM,KAAMgB,QAASA,GAAvD,QACQuD,GAHV,KASF,OACE/B,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAO6H,WACxB2F,GACC1K,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAOwN,QACxB1K,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOi7D,UAClBztD,EADH,IACYytE,IAKhBn4E,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASxC,IAAaD,IAK9D24E,EAAQjzE,aAAe,CACrBlD,MAAO,WAGTm2E,EAAQ/1E,UAAR,uCC5BA,SAASi2E,EAAT75E,GAUG,IATDsD,EASCtD,EATDsD,MACAD,EAQCrD,EARDqD,MACA6D,EAOClH,EAPDkH,KACA4yE,EAMC95E,EAND85E,UACA3yE,EAKCnH,EALDmH,WACA4hD,EAIC/oD,EAJD+oD,eACAgxB,EAGC/5E,EAHD+5E,eACAC,EAECh6E,EAFDg6E,UACAC,EACCj6E,EADDi6E,sBAEM7pC,EAAatuC,IAAWnD,IAAOu7E,QAASv7E,IAAO0E,MAAO02E,GACtDvqC,EAAa1tC,IAAWnD,IAAOu7E,QAASv7E,IAAO2E,MAAOylD,GAmB5D,OACEtnD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOw7E,MACpB72E,GAAS7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWuuC,GAAalsC,IAErC02E,GACAv4E,EAAAC,EAAAC,cAAA,OAAKV,UAAWmvC,GArBhBtgC,IAAQ5I,GACH7D,GAASiF,IAIhB7G,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,QACN2G,KAAMA,EACNjG,UAAWtC,IAAOM,KAClBkI,WAAYA,GAEX9D,GAAS6D,GAYP4yE,GAAar4E,EAAAC,EAAAC,cAAA,0BACbs4E,IAOXJ,EAAKnzE,aAAe,CAClB0zE,UAAU,EACVN,WAAW,EACXE,WAAW,GAGbH,EAAKj2E,UAAL,GAYei2E,+lBClEf,SAASQ,EAATr6E,GAA4D,IAAvCsD,EAAuCtD,EAAvCsD,MAAO2jB,EAAgCjnB,EAAhCinB,OAAQqzD,EAAwBt6E,EAAxBs6E,WAAYjxD,EAAYrpB,EAAZqpB,SAC9C,GAAIvZ,IAAQmX,GACV,OAAOxlB,EAAAC,EAAAC,cAAC44E,EAAD,CAAMj3E,MAAOA,EAAOD,MAAOi3E,IAGpC,IAAME,EAAmBvzD,EAAOxe,OAAS,EAEzC,SAASgyE,EAAsB9xE,EAAOnF,EAAOk3E,EAAUz5E,GACrD,OACEQ,EAAAC,EAAAC,cAAA,YACG6B,EADH,IACWg3E,GAAoB7xE,EAAQ,EACpC+xE,IAAarxD,GACZ5nB,EAAAC,EAAAC,cAAA,QAAMV,UAAWA,GAAjB,KAA+By5E,EAA/B,MAmBR,OAAOzzD,EAAOpd,IAbd,SAAoByoD,EAAW3pD,GAAO,IAC5B+xE,EAAkCpoB,EAAlCooB,SAAUr3E,EAAwBivD,EAAxBjvD,MAAUhC,EADQC,EACMgxD,EADN,sBAGpC,OACE7wD,EAAAC,EAAAC,cAAC44E,EAAD34E,EAAA,GACMP,EADN,CAEE8H,IAAG,GAAAC,OAAK9F,EAAL,KAAA8F,OAAcT,GACjBrF,MAAOm3E,EAAsB9xE,EAAOrF,EAAOo3E,GAC3Cr3E,MAAOA,OAQfg3E,EAAU3zE,aAAe,CACvB4zE,WAAYhyE,IACZ+gB,UAAU,GAGZgxD,EAAUz2E,UAAV,GAOey2E,sCC1Cf,SAASlyE,EAATnI,GAAuD,IAAnCsD,EAAmCtD,EAAnCsD,MAAOuqB,EAA4B7tB,EAA5B6tB,MAAO8sD,EAAqB36E,EAArB26E,SAAUC,EAAW56E,EAAX46E,QAa1C,IAAMC,EAAQhtD,EAAMhkB,IAAI,SAAAqD,GAAI,OAZ5B,SAAkBA,GAChB,OACEzL,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNU,UAAWtC,IAAOM,KAAMkK,IAAK+D,EAAKsG,KAClCvT,QAAS66E,YAAkB5tE,EAAMytE,EAAUC,IAE1C1tE,EAAKsG,MAKoBunE,CAAS7tE,KACnC7J,EAAQyM,IAAQ+qE,GAAS,MAAQG,YAAeH,GAEtD,OAAOp5E,EAAAC,EAAAC,cAAC44E,EAAD,CAAMj3E,MAAOA,EAAOD,MAAOA,IAGpC8E,EAASvE,UAAT,GAOeq3E,kBAAW9yE,GCtC1B5F,EAAAC,EAAAC,EAAA,sBAAAk3E,IAAAp3E,EAAAC,EAAAC,EAAA,sBAAA83E,IAAAh4E,EAAAC,EAAAC,EAAA,sBAAAy4E,IAAA34E,EAAAC,EAAAC,EAAA,sBAAA+H,2hBCUA,IAAMjB,EAAgB,IAcf,SAAS4xE,EAAiBC,GAG/B,OAfF,WAAuC,IAAX9vE,EAAW4F,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACjC,OAAImqE,IAAQ/vE,GACH,GAGFgwE,IAAIC,YAAmBjwE,GAAO,SAAAtL,EAA+B2I,GAA/B,IAAG0oE,EAAHrxE,EAAGqxE,YAAamK,EAAhBx7E,EAAgBw7E,YAAhB,OACnCC,EAAA/5E,EAAAC,cAAC+5E,EAAA,KAAD,CAAMvyE,IAAG,eAAAC,OAAiBT,GAAS0Z,MAAOm5D,GAAe78E,IAAOiyD,gBAC7DygB,KAQEsK,CAFgBC,IAAQA,IAAQR,EAASS,IAAgB,KAAMC,IAAqB,KAKtF,SAASC,EAAcX,GAC5B,OACEK,EAAA/5E,EAAAC,cAAC+5E,EAAA,KAAD,KACED,EAAA/5E,EAAAC,cAACq6E,EAAA,EAAD,CACEnsC,UAAWlxC,IAAOkyD,oBAClBrhB,WAAY7wC,IAAOoyD,cACnB1tD,MAAO83E,EAAiBC,GACxB93E,MAAM,aAMP,SAAS24E,EAAmBjmD,EAAWmhB,EAAW4O,GAA8C,IAApCm2B,EAAoChrE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAf3H,EAKhF4yE,EAAiBC,IAASpmD,EAAW,CAAEvtB,OAAQyzE,EAAoBx5B,UAAW,MAC9E25B,EAAqBC,IAAKtmD,GAAakmD,EAE7C,OACET,EAAA/5E,EAAAC,cAAC+5E,EAAA,KAAD,KACED,EAAA/5E,EAAAC,cAACq6E,EAAA,EAAD,CACEnsC,UAAWlxC,IAAOkyD,oBAClBrhB,WAAY7wC,IAAOoyD,cACnB1tD,MAAO84E,EACP74E,MAAO6zC,IAERklC,GACCZ,EAAA/5E,EAAAC,cAACq6E,EAAA,EAAD,CACE34E,MAAM,6BACN6D,KAAM6+C,EACNzW,UAAW3wC,IAAOmyD,oBAClBvhB,eAAgB5wC,IAAO49E,iBAO1B,SAASC,EAAiB74B,GAAY,IACnC3+C,EAAmB2+C,EAAnB3+C,GACFm0B,EADqBwqB,EAAfnQ,WACiBxuC,EAAH,aAAAoE,OAAqBpE,GAE/C,OACEy2E,EAAA/5E,EAAAC,cAAC+5E,EAAA,KAAD,CAAMvyE,IAAKgwB,EAAS9W,MAAO1jB,IAAOyyD,yBAChCqqB,EAAA/5E,EAAAC,cAACq6E,EAAA,EAADp6E,EAAA,CACEoyC,YAAU,EACVG,UAAWx1C,IAAO0yD,eAClBnd,eAAgBv1C,IAAO2yD,oBACnB3N,4BChFZrpC,EAAAC,QAAA,CAAkBxV,QAAA,iCAAA03E,QAAA,iCAAA94E,KAAA,8BAAAF,QAAA,iCAAAiQ,YAAA,qCAAApQ,MAAA,+BAAAo5E,kBAAA,2CAAAC,cAAA,uCAAAC,YAAA,qCAAAlwE,gBAAA,yCAAAmwE,WAAA,sDCAlBviE,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA1sD,UAAA,mCAAAmsD,eAAA,wCAAAnvD,MAAA,+BAAAs5E,eAAA,wCAAA18E,OAAA,gCAAAssE,YAAA,qCAAAnkE,UAAA,mCAAAovE,gBAAA,yCAAAhiE,OAAA,gCAAA6qD,UAAA,mCAAAuc,WAAA,oCAAAC,UAAA,mCAAAC,mBAAA,8DCAlB3iE,EAAAC,QAAA,CAAkBtE,MAAA,+BAAAzP,UAAA,mCAAA2F,OAAA,gCAAA0N,KAAA,8BAAAqjE,SAAA,kCAAAzxD,SAAA,kCAAAwI,SAAA,kCAAAkpD,YAAA,qCAAAC,UAAA,mCAAAjD,KAAA,8BAAA12E,QAAA,iCAAAH,MAAA,+BAAAD,MAAA,iDCAlBiX,EAAAC,QAAA,CAAkBqkD,iBAAA,qEAAAC,mBAAA,UAAAwe,aAAA,UAAAC,uBAAA,gBAAAz6D,UAAA,sCAAAD,kBAAA,+CAAAmB,sBAAA,UAAAg7C,wBAAA,cAAA/6C,iBAAA,cAAA86C,eAAA,UAAAJ,iBAAA,OAAA37C,oBAAA,OAAAi8C,qBAAA,0BAAA77C,YAAA,sCCAlB7I,EAAAC,QAAA,CAAkBgjE,sBAAA,wBAAAC,yBAAA,UAAA9I,UAAA,UAAA+I,SAAA,UAAAC,KAAA,UAAAC,WAAA,UAAAn+E,OAAA,UAAAo+E,UAAA,UAAAC,IAAA,UAAAC,QAAA,+HCKlB,SAASC,EAAT/9E,GAAsC,IAAvBgB,EAAuBhB,EAAvBgB,SAAUC,EAAajB,EAAbiB,UACvB,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO0E,OACrBrC,IAMT+8E,EAAIn6E,UAAJ,GAKem6E,QCff,SAASC,EAATh+E,GAIG,IAHDgB,EAGChB,EAHDgB,SACAC,EAECjB,EAFDiB,UAGA,OADCjB,EADDi+E,UAKEx8E,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOu/E,IAAKj9E,IACtCQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOw/E,UAAxB,QACCn9E,GALkB,KAXzBuB,EAAAC,EAAAC,EAAA,sBAAA27E,IAqBAJ,EAAWt3E,aAAe,CACxBu3E,WAAW,GAGbD,EAAWp6E,UAAX,GAUeo6E,+LC3Bf,SAASxuD,EAATxvB,GAAoC,IAAbiB,EAAajB,EAAbiB,UACrB,OAAOQ,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWnD,IAAO+U,YAAazS,KAGpEuuB,EAAY5rB,UAAZ,GAIe4rB,05CCFf,IAAM6uD,EAAuBt4D,IAAIu4D,oBAAsB,GAAK,CAACC,eAE7D,SAASC,EAATx+E,GAUG,IATDqW,EASCrW,EATDqW,YACAC,EAQCtW,EARDsW,YACA+W,EAOCrtB,EAPDqtB,SACAnsB,EAMClB,EANDkB,UACAsC,EAKCxD,EALDwD,MACAE,EAIC1D,EAJD0D,YACA+6E,EAGCz+E,EAHDy+E,UACAC,EAEC1+E,EAFD0+E,aACAC,EACC3+E,EADD2+E,sBACChuE,EAAAC,EACyCC,mBAASwtE,GADlD,GACMO,EADNjuE,EAAA,GACqBkuE,EADrBluE,EAAA,GAGDe,oBAAU,WACR2E,GAAewoE,EAAiBR,IAC/B,CAAChoE,IAEJ,IAAMyoE,EAAmB,SAAAv5E,GAAgB,IAAbgC,EAAahC,EAAbgC,OACpBw3E,EAAe,CAAEvrE,KAAMjM,EAAOiM,KAAM01B,MAAO3hC,EAAOlE,OAOxDkE,EAAOuf,QALkB+3D,EAAiB,SAAAG,GAAa,SAAA51E,OAAA6W,EAAQ++D,GAAR,CAAuBD,MACrDF,EACvB,SAAAG,GAAa,OAAIC,IAAOD,EAAe,SAAAv5E,GAAA,OAAAA,EAAGyjC,QAAsB61C,EAAa71C,WAQ3ExzB,EACJjU,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLR,QAASqW,GAHX,UAOA7U,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLR,QAbqB,kBAAMotB,EAASuxD,IAcpC19E,UAAWA,EACXb,SAAUq+E,GAAgB74E,IAAQ+4E,IAJpC,YA2BJ,OACEn9E,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAOA,EACPyR,OAAQoB,EACRpV,UAAWtC,IAAOsX,MAClBD,gBAAiBrX,IAAOgQ,OACxBsI,cAAetY,IAAOugF,UACtBppE,WAAYQ,EACZZ,QAASA,EACTnV,MAAM,kBAENkB,EAAAC,EAAAC,cAAA,SACG+B,GAEFi7E,GACCl9E,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,KACGrF,IAAI6wD,EAhCU,SAAAp8C,GAAc,IAAX88C,EAAW98C,EAAX88C,KAClB14D,EAAY24D,IAAKR,EAAe,SAAAr8C,GAAA,OAAAA,EAAG2G,QAAsBi2C,EAAKj2C,QAEpE,OACEznC,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACErd,IAAKg2E,EAAKj2C,MACV11B,KAAM2rE,EAAK3rE,KACXlQ,MAAO67E,EAAK3rE,KACZnQ,MAAO87E,EAAKj2C,MACZziB,UAAWA,EACXxlB,UAAWtC,IAAOyP,SAClB0F,SAAUgrE,QA4BlBN,EAAa93E,aAAe,CAC1BlD,MAAO,eACPE,YAAa,oOAGf86E,EAAa56E,UAAb,GAYe46E,8PCpGf,SAASa,EAATr/E,GAoCG,IAnCDs/E,EAmCCt/E,EAnCDs/E,YACAC,EAkCCv/E,EAlCDu/E,kBACA7X,EAiCC1nE,EAjCD0nE,WACAr+C,EAgCCrpB,EAhCDqpB,SACApU,EA+BCjV,EA/BDiV,OACAhU,EA8BCjB,EA9BDiB,UACA84C,EA6BC/5C,EA7BD+5C,qBACAouB,EA4BCnoE,EA5BDmoE,aACAtU,EA2BC7zD,EA3BD6zD,SACAC,EA0BC9zD,EA1BD8zD,WACA0rB,EAyBCx/E,EAzBDw/E,iBACA7E,EAwBC36E,EAxBD26E,SACAn+B,EAuBCx8C,EAvBDw8C,UACqBijC,EAsBpBz/E,EAtBD0/E,oBACAC,EAqBC3/E,EArBD2/E,eACAC,EAoBC5/E,EApBD4/E,aACAC,EAmBC7/E,EAnBD6/E,kBACAC,EAkBC9/E,EAlBD8/E,SACAC,EAiBC//E,EAjBD+/E,kBACAC,EAgBChgF,EAhBDggF,6BACAC,EAeCjgF,EAfDigF,eACAC,EAcClgF,EAdDkgF,eACAC,EAaCngF,EAbDmgF,aACAC,EAYCpgF,EAZDogF,mBACA1/E,EAWCV,EAXDU,WACAC,EAUCX,EAVDW,cACA0/E,EASCrgF,EATDqgF,kBACAC,EAQCtgF,EARDsgF,IACArgF,EAOCD,EAPDC,QACAsgF,EAMCvgF,EANDugF,UACAC,EAKCxgF,EALDwgF,SACA/B,EAICz+E,EAJDy+E,UACAgC,EAGCzgF,EAHDygF,sBACAz7E,EAEChF,EAFDgF,GACA07E,EACC1gF,EADD0gF,YACCn7E,EAIGi6E,GAAoB,GAFFmB,EAFrBp7E,EAECwiE,mBACA6Y,EAHDr7E,EAGCq7E,mBAHDC,EAoBGC,YAAe,CACjBL,wBACAnB,cACAiB,YACAC,WACAT,oBACAP,mBACA3rB,WACAC,aACA6mB,WACAn+B,YACAmjC,iBACAF,mBACAkB,4BACAC,qBACAG,iBAAkB9rE,EAClB6qE,WACAQ,MACA7B,YACAuB,iCAhCAjY,EAPD8Y,EAOC9Y,mBACA1xD,GARDwqE,EAQCxqE,YACAnV,GATD2/E,EASC3/E,UACAumE,GAVDoZ,EAUCpZ,UACAnxD,GAXDuqE,EAWCvqE,YACAxC,GAZD+sE,EAYC/sE,SACAktE,GAbDH,EAaCG,kBACAC,GAdDJ,EAcCI,aACAC,GAfDL,EAeCK,qBACA3yD,GAhBDsyD,EAgBCtyD,OACAlB,GAjBDwzD,EAiBCxzD,SACA8zD,GAlBDN,EAkBCM,WACA3vD,GAnBDqvD,EAmBCrvD,SAwBI4vD,IADqBb,GAAac,YAASd,IAAc7Y,EACjBpxD,GAAciY,GAQ5D,GANA7c,oBAAU,WACH6tE,GACHmB,GAAeU,MAEhB,CAACV,EAAanB,IAEbA,EACF,OAAO99E,EAAAC,EAAAC,cAAC2/E,EAAD,CAAargF,UAAW84C,IAGjC,IAAMwnC,GAAiBz/E,IACrB,sBACA4lE,GAAc/oE,IAAO6iF,aAEjBv/E,GAAOvB,GAAce,EAAAC,EAAAC,cAAA,KAAGV,UAAWsgF,KACnCE,GAAgB/Z,EAAa,WAAa,QA0DhD,OACEjmE,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KAzDF,WACE,IAAM0iB,EAAa,CACjBw2D,qBACA7Y,qBACAuX,cACAp+E,aACAmoB,WACAhT,eACA8xD,eACArU,aACA6mB,WACAlT,aACAsY,oBACAH,eACAtpE,eACAxC,YACAktE,qBACAC,gBACA1yD,UACAlB,YACAq0D,uBAAwBR,GACxB1vD,YACAitD,aAGF,GAAI/W,EAAY,CACd,IACMgX,GAAgB74E,IAAQ44E,GACxBE,EAAwBD,GAAgB34D,IAAIu4D,oBAE5C56E,EAAc08E,IADOzB,EAHG,oSAG6CxtE,GAG3E,OACE1P,EAAAC,EAAAC,cAACggF,EAAD//E,EAAA,GACMwoB,EADN,CAEE5mB,MAAO28E,EACPz8E,YAAaA,EACbg7E,aAAcA,EACdC,sBAAuBA,KAK7B,OACEl9E,EAAAC,EAAAC,cAACigF,EAAA,EAADhgF,EAAA,GACMwoB,EADN,CAEE61D,eAAgBA,EAChBC,eAAgBA,EAChBK,UAAWA,EACXY,WAAYA,GACZV,sBAAuBA,EACvBoB,YAAapB,KAOdqB,GACDrgF,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,YACNU,UAAWa,IAAWnD,IAAOyB,OAAQa,GACrCN,cAAemB,IAAWnD,IAAOsD,KAAMtB,GACvCN,SAAUa,GACVR,WAAYm/E,GAAqB59E,GACjChC,QAAS8hF,IAAKX,GAAmBnhF,GACjC+E,GAAIA,GAEHq7E,GAAqBoB,uCAM9BpC,EAAY34E,aAAe,CACzBm5E,mBAAmB,EACnBQ,mBAAmB,EACnBpgF,QAAS,aACTgV,QAAQ,EACRyrE,aAAa,EACbnB,mBAAmB,GAGrBF,EAAYz7E,UAAZ,GA0Cey7E,oCCtPf98E,EAAAC,EAAAC,EAAA,sBAAAu/E,IAAAz/E,EAAAC,EAAAC,EAAA,sBAAAw/E,IAAA1/E,EAAAC,EAAAC,EAAA,sBAAAy/E,IAAA3/E,EAAAC,EAAAC,EAAA,sBAAA01C,IAAO,IAAM6pC,EAAsB,GAEtBC,EAAuB,GAEvBC,EAAQ,CACnB3iF,MAAO,QACPC,OAAQ,SACRC,MAAO,SAGI04C,EAAsB,mCCVnC51C,EAAAC,EAAAC,EAAA,sBAAA0/E,IAAA5/E,EAAAC,EAAAC,EAAA,sBAAA2/E,IAAA7/E,EAAAC,EAAAC,EAAA,sBAAA4/E,IAAA9/E,EAAAC,EAAAC,EAAA,sBAAA6/E,IAAA//E,EAAAC,EAAAC,EAAA,sBAAA8/E,IAAAhgF,EAAAC,EAAAC,EAAA,sBAAA+/E,IAAAjgF,EAAAC,EAAAC,EAAA,sBAAAggF,IAAO,IAAMN,EAAc,EACdC,EAAqB,EACrBC,EAAe,gBACfC,EAAkB,aAClBC,EAAsB,GAEtBC,EAAuB,0BACvBC,EAAkC,4DCDhChgF,EAAA,GACbigF,iBAPuB,SAQvBC,gBAPsB,QAQtBC,gBAPsB,QAQtBC,QAPc,UAQdC,MAPY,koCCCNzsB,SAA+B0sB,EAA/B1sB,2BAGK2sB,EAA2B,kBAAMjuD,IAAOkuD,aAAa,KAAM,CAAEC,YAAa7sB,EAA2BjmD,MAAM,QAE3G+yE,EAAgB,SAAAruD,GAAI,OAAMA,GAAQA,EAAKsuD,OAAUtuD,EAAKsuD,SAAWtuD,GAExEuuD,EAA4B,SAAAC,GAAc,OAC9Cz5E,IAAIy5E,EAAgB,SAACC,GAAe,UAC3BC,EAD2B5yE,EACV6hB,OAAOC,KAAK6wD,GADF,MAGlC,cAAUC,IAAgB35E,IAAI05E,EAAWC,GAAgBL,qGAIhDM,EAA0B,SAACH,GACtC,IAAKA,EAAgB,MAAO,GAD6B,IAGlDI,EAHkD9yE,EAGhC0yE,EAHgC,MAKzD,OAAIvuD,IAAO4uD,SAASD,IAAmBA,aAA0BE,KACxD/5E,IAAIy5E,EAAgBH,GAGtBE,EAA0BC,wVC3B3BO,QAAoBC,EAApBD,gBAEFv+E,EAAU,SAAAuR,GAAO,OAAIgtE,EAAgB,CAAEhtE,UAASktE,MAAO,aAGxCC,2HACZC,iBAAmB,kBAAM3+E,EAAQ,sCADrB0+E,EAGZE,mBAAqB,kBAAM5+E,EAAQ,wCAHvB0+E,EAKZG,kBAAoB,kBAPJN,EAAgB,CAAEhtE,QAOF,uCAPWktE,MAAO,gCCJ3DzpE,EAAAC,QAAA,CAAkB6pE,UAAA,mCAAAC,SAAA,kCAAAC,WAAA,oCAAAC,uBAAA,gDAAAtiF,KAAA,8BAAA0T,OAAA,gCAAA6uE,aAAA,sCAAAC,YAAA,qCAAAxlC,eAAA,wCAAAC,iBAAA,0CAAAwzB,YAAA,oMCIlB,SAASgS,EAAT1kF,GAAsD,IAAtBwD,EAAsBxD,EAAtBwD,MAAOE,EAAe1D,EAAf0D,YACrC,OACEjC,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACIpsB,GAAS/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6E,OAASA,GAC1CE,GACAjC,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+jD,WAAxB,OACAjhD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+E,aAAeA,KAOjDghF,EAAqB9gF,UAArB,GAKA8gF,EAAqBh+E,aAAe,CAClClD,MAAO,UACPE,YAAa,kEAGAghF,2BCxBf,SAASC,EAAT3kF,GAA8B,IAAViV,EAAUjV,EAAViV,OAQlB,OACExT,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOimF,UAPpB3vE,EACKxT,EAAAC,EAAAC,cAAA,KAAGV,UAAU,iBAEfQ,EAAAC,EAAAC,cAAA,KAAGV,UAAW,8BAUzB0jF,EAAS/gF,UAAT,GAIA+gF,EAASE,YAAc,CACrB5vE,QAAQ,GAGK0vE,+CCrBf,SAASG,EAAT9kF,GAA2E,IAA5CgB,EAA4ChB,EAA5CgB,SAAUgE,EAAkChF,EAAlCgF,GAAI+/E,EAA8B/kF,EAA9B+kF,mBAAoBC,EAAUhlF,EAAVglF,OACzDC,EAAuB,CAC3BC,YAAavmF,IAAOwmF,mBACpBC,WAAYzmF,IAAO0mF,mBAGrB,OACE5jF,EAAAC,EAAAC,cAAC2jF,EAAA,EAAD,CACEn8E,IAAKnE,EACL22C,QAASopC,EACTjjF,WAAYmjF,EACZrpC,GAAIopC,GAEHhkF,GAKP8jF,EAAoBlhF,UAApB,GAOAkhF,EAAoBp+E,aAAe,CACjCq+E,mBAAoBQ,SAASC,8BAA6B,IAC1DR,QAAQ,GAGKF,q/BCrBf,IAAM1lD,EAAS,CACbjgC,QAASR,IAAM,QACfG,MAAOH,IAAOG,OAGhB,SAAS2mF,EAATzlF,GAYG,IAXD0lF,EAWC1lF,EAXD0lF,cACA1kF,EAUChB,EAVDgB,SACAwC,EASCxD,EATDwD,MACAE,EAQC1D,EARD0D,YACA2zB,EAOCr3B,EAPDq3B,QACA6I,EAMClgC,EANDkgC,cACA0F,EAKC5lC,EALD4lC,QACA3kC,EAICjB,EAJDiB,UACAgN,EAGCjO,EAHDiO,iBACA1N,EAECP,EAFDO,MACAolF,EACC3lF,EADD2lF,eACCh1E,EAAAC,EAC2BC,mBAAS60E,GADpC,GACMzwE,EADNtE,EAAA,GACcsQ,EADdtQ,EAAA,GAEKi1E,EAAgB//E,IAAQq6B,GAF7B2lD,EAG+BjvD,cAAxBvN,EAHPw8D,EAGOx8D,SAAUtc,EAHjB84E,EAGiB94E,UAMlB+4E,YAAgBF,EAAeD,EAAgB//C,IAE1Cvc,GAAYpU,GAAQgM,GAAU,GAEnC,IACM8kE,GADyB5yD,IAAQzvB,EAAa+hF,EAAU/+E,aAAahD,cAC7BkiF,EAAgBliF,EAAc,CAC1EvE,QAAA,GAAAiK,OAAY82B,EAAcz3B,OAA1B,KAAAW,OAAoC48E,YAAU,SAAU,UAAW9lD,EAAcz3B,QAAjF,cAYIhF,EAAU2uC,IAAWpxC,GAAYA,EAAS,CAAEilF,iBAAkBhlE,IAAejgB,EAC7EklF,EAAoBpkF,IACxBmM,EACAtP,IAAO8E,SAGT,OACEhC,EAAAC,EAAAC,cAAC+5C,EAAD,CAAqB12C,GAAG,wBAAwBggF,OAAQ/vE,GACtDxT,EAAAC,EAAAC,cAAA,WACEqD,GAAG,aACH/D,UAAWa,IACT,aACAnD,IAAOszE,UACP7yC,EAAO7+B,GACPU,EACAgU,GAAUtW,IAAOsW,OACjBoiB,GAAW14B,IAAO04B,SACjBA,GAAW14B,IAAOwnF,aAGrB1kF,EAAAC,EAAAC,cAAA,OAAKV,UAAWilF,GACdzkF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO26B,cAAer5B,QAtBxB,kBAAMopB,GAAYpI,GAAWhM,KAuBzCxT,EAAAC,EAAAC,cAACykF,EAAD,CAAa5iF,MAAOA,EAAOE,YA9B/B2lB,GAAY08D,EAAaM,QAAUpxE,EAAe8wE,EAAaM,OAC/Dh9D,IAAapU,EAhB0B,0BAiBvClI,GAAag5E,EAAaO,QAAgBP,EAAaO,QAEpDP,EAAY,UA2BV18D,GAAY5nB,EAAAC,EAAAC,cAAC4kF,EAAD,CAAUtxE,OAAQA,KAEjCxT,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6nF,iBACpB/iF,MAQbgiF,EAAU7hF,UAAV,GAkBA6hF,EAAU/+E,aAAe,CACvBlD,MAAO,UACP6zB,SAAS,EACTquD,eAAe,EACfC,gBAAgB,EAChBjiF,YCrDgC,CAChCvE,QAAS,sBACTknF,OAAQ,sBACRC,QAAS,kEDmDT1gD,SAAS,EACT1F,cAAe,GACf3/B,MAAO,WAGMklF,+TEzHR,IAAMgB,EAAqBl+D,IAAMC,gBAYzBk+D,IAVf,SAAyBh+D,GACvB,OAAO,SAA8BzkB,GACnC,OACEod,EAAA3f,EAAAC,cAAC8kF,EAAmB99D,SAApB,KACG,SAAAC,GAAQ,OAAIvH,EAAA3f,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,sHCC/C,SAAS+9D,EAAT3mF,GAAiF,IAA7DgB,EAA6DhB,EAA7DgB,SAAUC,EAAmDjB,EAAnDiB,UAAW2lF,EAAwC5mF,EAAxC4mF,gBAAiB9yE,EAAuB9T,EAAvB8T,SAAU2S,EAAazmB,EAAbymB,UAClE,OACEhlB,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CAAM5M,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC5CQ,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAOkoF,SACxBD,GACCnlF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOmoF,mBACrBrlF,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEvlB,UAAWtC,IAAOyP,SAClBqY,UAAWA,EACX3S,SAAUA,KAIhBrS,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACpBzC,KAOX2lF,EAAS/iF,UAAT,GAQe+iF,2BChCf,SAASI,EAAT/mF,GAAkD,IAAvBgB,EAAuBhB,EAAvBgB,SAAUC,EAAajB,EAAbiB,UACnC,OACEQ,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAWnD,IAAOgQ,OAAQ1N,IAC1CD,GAKP+lF,EAAgBnjF,UAAhB,GAKemjF,oGCbf,SAASC,EAAThnF,GAA8D,IAAzCG,EAAyCH,EAAzCG,KAAM8mF,EAAmCjnF,EAAnCinF,WAAYhmF,EAAuBjB,EAAvBiB,UAAWimF,EAAYlnF,EAAZknF,SAC1CC,EAAqBrlF,IACzBnD,IAAO+P,UACP/P,IAAOwB,GACPc,GAGF,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWkmF,GACbD,GACCzlF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOwB,MAAOA,GAE/B8mF,GAKPD,EAAUpjF,UAAV,GAWeojF,2SCrBf,SAASI,EAATpnF,GAWG,IAVD++E,EAUC/+E,EAVD++E,aACAxwE,EASCvO,EATDuO,SACAtN,EAQCjB,EARDiB,UACAomF,EAOCrnF,EAPDqnF,aACAC,EAMCtnF,EANDsnF,oBACAlgF,EAKCpH,EALDoH,aACAmgF,EAICvnF,EAJDunF,gBACAC,EAGCxnF,EAHDwnF,eACAC,EAECznF,EAFDynF,OACAC,EACC1nF,EADD0nF,YAEA,GAAI7hF,IAAQ0I,GACV,OAAO,KA8CT,IAAM9K,EACJhC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGkmB,IAAIrf,EA7CT,SAAuBC,EAAS7F,GAAO,IAAApD,EACbiJ,GAAW,GAA3BlD,EAD6B/F,EAC7B+F,KAAMglE,EADuB/qE,EACvB+qE,MACRoD,EAAM,SAAAtqE,OAAYkC,EAAZ,WAAAlC,OAA0BknE,GAA1BlnE,OAAkCu+E,YAAgB,CAAEF,SAAQC,iBAClEE,EAAc,CAClBvU,SAAUwU,IACVvU,OAAQI,EACRpvD,MAAO,CAAEy6D,iBAEL73E,EAAI,GAAAkC,OAAMy+E,KAANz+E,OAA0BsqE,GAE9BjwE,EAAUhC,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWa,IAAWnD,IAAOe,MAAO8nF,IAAkBl8E,GACvE4I,EAAc,CAClB/K,IAAG,GAAAC,OAAKkC,EAAL,KAAAlC,OAAaT,GAChB1H,UAAWtC,IAAO6P,QAClBjO,MAAO,QACPE,KAAM,QAGR,OAAI6mF,EAEA7lF,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMsS,EADN,CAEE/M,YAAU,EACVD,KAAMA,EACNG,qBAAqB,IAEpB5D,GAMLhC,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMsS,EADN,CAEErM,GAAI+/E,EACJ1gF,KAAMA,EACNE,aAAcA,IAEb3D,KAQF4jF,GAIL,OAAIE,EACK9jF,EAIPhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO4P,SAAUtN,IACzCwC,GAKP2jF,EAAS1gF,aAAe,CACtB4gF,qBAAqB,EACrBlgF,cAAc,EACdmgF,iBAAiB,GAGnBH,EAASxjF,UAAT,GAaewjF,2BCtGf,SAASU,EAAT9nF,GAAiE,IAA1CsO,EAA0CtO,EAA1CsO,OAAQwrD,EAAkC95D,EAAlC85D,OAAQ74D,EAA0BjB,EAA1BiB,UAAW8mF,EAAe/nF,EAAf+nF,YAClCC,GAAgBluB,GAAU,IAAhCtmD,KAEFy0E,EAAqBD,GAAe15E,EAAhB,GAAAlF,OACnB4+E,EADmB,QAAA5+E,OACDkF,GACrB05E,GAAe15E,EACb45E,GAAmBp4E,IAAQi4E,IAAT,MAAA3+E,OAA+B2+E,GAEvD,OACEtmF,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOm7D,OAAQ74D,IACxCgnF,EACAC,GAKPJ,EAAYlkF,UAAZ,GASekkF,6PCVf,SAAShwD,EAAT93B,GA2BG,IA1BDmoF,EA0BCnoF,EA1BDmoF,SACAruB,EAyBC95D,EAzBD85D,OACAxrD,EAwBCtO,EAxBDsO,OACApH,EAuBClH,EAvBDkH,KACA1D,EAsBCxD,EAtBDwD,MACA+K,EAqBCvO,EArBDuO,SACAw5E,EAoBC/nF,EApBD+nF,YACA1+D,EAmBCrpB,EAnBDqpB,SACA++D,EAkBCpoF,EAlBDooF,cACA35E,EAiBCzO,EAjBDyO,aACAxN,EAgBCjB,EAhBDiB,UACA89E,EAeC/+E,EAfD++E,aACAuI,EAcCtnF,EAdDsnF,oBACAe,EAaCroF,EAbDqoF,cACAh7E,EAYCrN,EAZDqN,KACAi7E,EAWCtoF,EAXDsoF,WACAC,EAUCvoF,EAVDuoF,mBACAnhF,EASCpH,EATDoH,aACAohF,EAQCxoF,EARDwoF,yBACA95E,EAOC1O,EAPD0O,UACA+5E,EAMCzoF,EANDyoF,QACAt0B,EAKCn0D,EALDm0D,YACAszB,EAICznF,EAJDynF,OACAC,EAGC1nF,EAHD0nF,YACAgB,EAEC1oF,EAFD0oF,mBACAC,EACC3oF,EADD2oF,SAqCA,IAhCQllF,EAgCFmlF,IAnCkB/iF,IAAQ0I,IAAa1I,IAAQwH,IAASxH,IAAQ8iF,IAoCpElnF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkqF,iBACrBpnF,EAAAC,EAAAC,cAACmnF,EAAD,CACEv6E,SAAUA,EACVwwE,aAAcA,EACduI,oBAAqBA,EACrBlgF,aAAcA,EACdqgF,OAAQA,EACRC,YAAaA,EACbH,iBAAe,IAGjB9lF,EAAAC,EAAAC,cAAConF,EAAA,EAAD,CACE7nF,UAAWmnF,GAAiBG,EAC5Bn7E,KAAMA,EACNk6E,iBAAe,EACftnF,QAASqoF,EACTU,QAASV,EACTlhF,aAAcA,EACd6hF,gBAAiB,CAAElK,gBACnBmK,cAAevqF,IAAO2O,IACtBm6E,OAAQA,EACRC,YAAaA,EACbxoE,iBAAkBvgB,IAAOwqF,WACzBR,SAAUA,KAGZ,KAEJ,OACElnF,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAWnD,IAAOwN,OAAQlL,IAC1CknF,GAAY1mF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0P,MAAOwrB,IAAKsuD,EAAUruD,IAAI,oBAC9Dr4B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,QAhEnBC,EACJhC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOyqF,WAAY5lF,GACnC6lB,GAAY5nB,EAAAC,EAAAC,cAAC0nF,EAADC,EAAA,CAAWroF,UAAWtC,IAAO+P,WAAeA,KAIxDxH,EAUHzF,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEG,YAAU,EACV5G,MAAM,UACNU,UAAWtC,IAAOM,KAClB0B,cAAehC,IAAOsD,KACtBiF,KAAMA,GAELzD,GAEFilF,GAlBDjnF,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOM,MAAOwE,GAC5BilF,IAwDHjnF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4qF,WACpBnB,GACC3mF,EAAAC,EAAAC,cAAC6nF,EAAD,CACE1vB,OAAQA,EACRxrD,OAAQA,EACRy5E,YAAa0B,IAAI1B,EAAa,WAIhC1+D,GAAYu/D,IAIjBv/D,GAAYu/D,EAEZn6E,GACChN,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO+qF,UAAWnB,IAC1C95E,GAIJ0lD,GAAes0B,GAKtB3wD,EAAOpxB,aAAe,CACpBytD,aAAa,GAGfr8B,EAAOl0B,UAAP,GA6Bek0B,qQCxKf,SAAS6xD,EAAT3pF,GAUG,IATDgF,EASChF,EATDgF,GACA/D,EAQCjB,EARDiB,UACA89E,EAOC/+E,EAPD++E,aACAuI,EAMCtnF,EANDsnF,oBACAsC,EAKC5pF,EALD4pF,cACA78E,EAIC/M,EAJD+M,UACA3F,EAGCpH,EAHDoH,aACAqgF,EAECznF,EAFDynF,OACAC,EACC1nF,EADD0nF,YAEMmC,EAAelC,YAAgB,CAAEF,SAAQC,cAAaoC,cAAc,IACpE5iF,EAAI,iBAAAkC,OAAoBpE,GAApBoE,OAAyBygF,GAC7BE,EAAc,CAClB1W,SAAUnsE,EACVod,MAAO,CAAEy6D,iBAGLr+E,EAAae,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBAC1BiT,EAAc,CAClB3T,MAAO,UACPI,cAAehC,IAAOsD,KACtBvB,cAGI8C,EAAQuJ,EAAY,gBAAkB,GAE5C,OAAIu6E,EAEA7lF,EAAAC,EAAAC,cAAC5B,EAAA,EAADiqF,EAAA,GACM91E,EADN,CAEEjU,QAAS2pF,EACT3oF,UAAWa,IAAWnD,IAAOsrF,kBAAmBhpF,KAE/CuC,GAML/B,EAAAC,EAAAC,cAACqF,EAAA,EAADgjF,EAAA,GACM91E,EADN,CAEE9M,aAAcA,EACdnG,UAAWa,IAAWnD,IAAOurF,gBAAiBjpF,GAC9C4G,GAAIkiF,EACJ7iF,KAAMA,IAEL1D,GAKPmmF,EAAgBjjF,aAAe,CAC7B4gF,qBAAqB,EACrBlgF,cAAc,GAGhBuiF,EAAgB/lF,UAAhB,GAYe+lF,QChFfpnF,EAAAC,EAAAC,EAAA,sBAAA0nF,IAAA5nF,EAAAC,EAAAC,EAAA,sBAAA2nF,IAAA7nF,EAAAC,EAAAC,EAAA,sBAAA4nF,IAAA9nF,EAAAC,EAAAC,EAAA,sBAAAqmF,IAAAvmF,EAAAC,EAAAC,EAAA,sBAAA4mF,IAAA9mF,EAAAC,EAAAC,EAAA,sBAAA6nF,IAAA/nF,EAAAC,EAAAC,EAAA,sBAAA+mF,yGCQe,SAASe,EAATvqF,GAMZ,IALDwD,EAKCxD,EALDwD,MACAE,EAIC1D,EAJD0D,YACAzC,EAGCjB,EAHDiB,UACA6G,EAEC9H,EAFD8H,eACAkyC,EACCh6C,EADDg6C,WAEA,OACEv4C,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAA,QAAMV,UAAW6G,GACdtE,GAEH/B,EAAAC,EAAAC,cAACgkC,EAAA,EAAD,CAASliC,QAASC,IACjBs2C,GAAcv4C,EAAAC,EAAAC,cAAA,WAAMq4C,IAK3BuwC,EAAiB3mF,UAAjB,0BCjBA,SAAS62B,EAATz6B,GAYG,IAXDwD,EAWCxD,EAXDwD,MACAgnF,EAUCxqF,EAVDwqF,OACA9mF,EASC1D,EATD0D,YACAzC,EAQCjB,EARDiB,UACA6G,EAOC9H,EAPD8H,eACAivD,EAMC/2D,EAND+2D,qBACA/c,EAKCh6C,EALDg6C,WACApmB,EAIC5zB,EAJD4zB,aACAqmB,EAGCj6C,EAHDi6C,qBACAwwC,EAECzqF,EAFDyqF,cACAC,EACC1qF,EADD0qF,wBAEA,OAAID,EAEAhpF,EAAAC,EAAAC,cAAC4oF,EAAD,CACE/mF,MAAOA,EACPE,YAAaA,EACbzC,UAAWA,EACX6G,eAAgBA,EAChBkyC,WAAYA,IAMhBv4C,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO2N,eAAgBo+E,IAChDjpF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACpBjuD,GACC/B,EAAAC,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,IAAO6E,MAAOsE,IACrCtE,EACAgnF,GAAU/oF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6rF,QAASA,IAG/C52D,GACCnyB,EAAAC,EAAAC,cAACgkC,EAAA,EAAD,CACEliC,QAAShC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBAAiBjF,GACjDrzB,MAAO05C,KAKZD,GAAcv4C,EAAAC,EAAAC,cAAA,WAAMq4C,IAGtBt2C,GACCjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO+E,YAAaqzD,IAAwBrzD,IAM/E+2B,EAAM72B,UAAN,GAce62B,6TC1ER,IAAMkwD,EAAyBpiE,IAAMC,gBAY7BoiE,IAVf,SAAsBliE,GACpB,OAAO,SAA+BzkB,GACpC,OACEod,EAAA3f,EAAAC,cAACgpF,EAAuBhiE,SAAxB,KACG,SAAAC,GAAQ,OAAIvH,EAAA3f,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,qJCFlCiiE,EAAa,SAAC31D,GACzB,OAAKA,GAHc,SAGHA,EAITA,EAHE,WAME41D,EAAU,SAACt2D,EAAOC,GAC7B,IAAMD,IAASC,EACb,MAAO,GAGT,IAAMK,EAAON,EAAK,GAAAprB,OAAMorB,EAAN,KAAAprB,OAAeyhF,EAAWp2D,IAASo2D,EAAWp2D,GAEhE,OAAO8gD,YAAmBzgD,IAGfgiD,EAAe,SAACxyD,GAG3B,MAF4B,QAAVA,EAGT,KAGF6zC,IAAUC,IAAQ9zC,uBC9B3BhK,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAkN,OAAA,gCAAAlK,KAAA,8BAAAuB,MAAA,+BAAAunF,SAAA,kCAAAtnF,QAAA,iCAAAssB,KAAA,8BAAAphB,OAAA,gCAAAq8E,MAAA,mDCAlB1wE,EAAAC,QAAA,CAAkB0W,cAAA,uCAAAE,gBAAA,yCAAAC,SAAA,kCAAA3tB,QAAA,iCAAAqsB,cAAA,uCAAAC,KAAA,8BAAAE,SAAA,kCAAAC,QAAA,iCAAA5D,aAAA,sCAAAmC,IAAA,6BAAAU,UAAA,mCAAAqB,UAAA,mCAAAd,aAAA,0DCAlBpV,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAC,cAAA,uCAAAC,mBAAA,4CAAArpF,KAAA,8BAAAV,WAAA,oCAAAgqF,MAAA,+BAAA7rF,MAAA,+BAAA8rF,QAAA,iCAAAC,QAAA,iCAAAC,WAAA,oCAAAz1E,MAAA,+BAAA01E,QAAA,iCAAAC,GAAA,4BAAA1M,UAAA,qDCAlB5kE,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAA3nF,QAAA,iCAAAmoF,GAAA,4BAAAz/E,OAAA,gCAAA0/E,YAAA,qCAAAC,aAAA,sCAAAtoF,MAAA,+BAAAyB,YAAA,qCAAAhD,KAAA,8BAAAopF,cAAA,uCAAAU,WAAA,oCAAAC,UAAA,mCAAAC,WAAA,oCAAAC,aAAA,sCAAAryE,KAAA,8BAAA1Z,KAAA,8BAAA4mE,QAAA,iCAAAolB,cAAA,yDCAlB7xE,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA9C,YAAA,qCAAA6rD,SAAA,kCAAAE,MAAA,+BAAAN,eAAA,wCAAAU,eAAA,wCAAAT,WAAA,oCAAAO,WAAA,oCAAAjkC,OAAA,gCAAAszB,gBAAA,yCAAA4Q,aAAA,sCAAA1G,KAAA,8BAAAkjC,KAAA,kDCAlB9xE,EAAAC,QAAA,CAAkB7G,YAAA,qCAAAkzD,IAAA,6BAAAylB,SAAA,kCAAAC,eAAA,wCAAArzD,WAAA,oCAAAszD,WAAA,oCAAAC,MAAA,+BAAAC,WAAA,oCAAAC,KAAA,8BAAAC,OAAA,gCAAAxgF,OAAA,gCAAAygF,OAAA,gCAAAC,MAAA,+BAAAvhF,KAAA,8BAAA4B,KAAA,gcCDX,IAAM4/E,EAAiB,cACjBC,EAAa,UACbC,EAAa,UACbC,EAAY,SAEnBC,EAAW,qBAEJj4B,GAAS/hD,EAAAi6E,EAAA,GACnBL,EAAiB,CAChBnoE,MAAO,OACPrhB,MAAO,cACPrB,KAAM,sBACNoM,MAAK,GAAAjF,OAAK8jF,EAAL,qBALah6E,EAAAi6E,EAOnBJ,EAAa,CACZpoE,MAAO,SACPrhB,MAAO,UACPrB,KAAM,aACNoM,MAAK,GAAAjF,OAAK8jF,EAAL,iBAXah6E,EAAAi6E,EAanBH,EAAa,CACZroE,MAAO,QACPrhB,MAAO,UACPrB,KAAM,mBACNoM,MAAK,GAAAjF,OAAK8jF,EAAL,iBAjBah6E,EAAAi6E,EAmBnBF,EAAY,CACXtoE,MAAO,MACPrhB,MAAO,SACPrB,KAAM,qBACNoM,MAAK,GAAAjF,OAAK8jF,EAAL,gBAvBaC,GA2BTC,GAAgBl6E,EAAAm6E,EAAA,GAC1BL,EAAa/3B,EAAU+3B,IADG95E,EAAAm6E,EAE1BP,EAAiB73B,EAAU63B,IAFD55E,EAAAm6E,EAG1BN,EAAa93B,EAAU83B,IAHG75E,EAAAm6E,EAI1BJ,EAAYh4B,EAAUg4B,IAJII,GAOhBC,EAA0B,CACrC,CAAEjqF,MAAO2pF,EAAY1pF,MAAO2xD,EAAU+3B,GAAY1pF,OAClD,CAAED,MAAO4pF,EAAW3pF,MAAO2xD,EAAUg4B,GAAW3pF,OAChD,CAAED,MAAO0pF,EAAYzpF,MAAO2xD,EAAU83B,GAAYzpF,OAClD,CAAED,MAAOypF,EAAgBxpF,MAAO2xD,EAAU63B,GAAgBxpF,QAG/CiqF,EAAc,SAAA9oF,GAAQ,OAAI2oF,EAAiB3oF,uCChDxDlC,EAAAC,EAAAC,EAAA,sBAAA+qF,IAAA,IAAApsE,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAqsE,EAAAlrF,EAAA,GAAAmrF,EAAAnrF,EAAAsI,EAAA4iF,GAAAE,GAAAprF,EAAA,GAAAA,EAAA,KAAAqrF,EAAArrF,EAAA,GAAAsrF,EAAAtrF,EAAAsI,EAAA+iF,GAAAE,EAAAvrF,EAAA,KAAAwrF,EAAAxrF,EAAA,IAAAm3C,EAAAn3C,EAAA,MAAAo3C,EAAAp3C,EAAAsI,EAAA6uC,GAWe,SAAS8zC,EAATxtF,GAA+E,IAAnDyD,EAAmDzD,EAAnDyD,QAAS9C,EAA0CX,EAA1CW,cAAesN,EAA2BjO,EAA3BiO,iBAAkB1N,EAASP,EAATO,MACnF,GAAIuP,IAAQrM,GACV,OAAO,KAGT,IAAMo1B,EACJxX,EAAA3f,EAAAC,cAAA,OAAKV,UAAWgN,GACbxK,GAIL,OACE4d,EAAA3f,EAAAC,cAACgsF,EAAA,EAAD,CACElqF,QAASo1B,EACT/uB,UAAU,SACVkkF,OAAQC,IACR1tF,MAAOA,GAEP8gB,EAAA3f,EAAAC,cAACmsF,EAAA,EAAD,CAAc7sF,UAAWa,IAAWnD,IAAOsD,KAAMtB,MAKvD6sF,EAAiB5pF,UAAjB,i2DC1BMsqF,wSAAwBxlE,qNAC5B,WAAS,IAAAkY,EACyCpB,KAAKv7B,MAA7ChE,EADD2gC,EACC3gC,QAASkuF,EADVvtD,EACUutD,aAAiB9sF,EAD3BC,EAAAs/B,EAAA,4BAGP,OACEn/B,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,KACE1B,QAASA,EACTgB,UAAWa,IAAW,kBAAmBnD,IAAOsD,KAAMtD,IAAOwvF,MAE/D1sF,EAAAC,EAAAC,cAACkT,EAAA,EAADjT,EAAA,GACMP,EADN,CAEEpB,QAASA,EACTgB,UAAWa,IAAWnD,IAAOsU,MAAOtU,IAAOwvF,gGAOrDD,EAAgBxnF,aAAe,CAC7BynF,aAAc,QAGhBD,EAAgBtqF,UAAhB,GAKesqF,oCChCf,SAASE,EAATpuF,GAIG,IAHDC,EAGCD,EAHDC,QACAI,EAECL,EAFDK,SAGMguF,EADLruF,EADDsuF,OAEkC,QAAU,OAE5C,OACE7sF,EAAAC,EAAAC,cAAA,UAAQxB,KAAK,SAASc,UAAWtC,IAAOyB,OAAQH,QAASA,EAASI,SAAUA,GAC1EoB,EAAAC,EAAAC,cAAA,KAAGV,UAAS,iBAAAmI,OAAmBilF,MAKrCD,EAAiBxqF,UAAjB,GAMAwqF,EAAiB1nF,aAAe,CAC9BrG,UAAU,EACViuF,QAAQ,GAGKF,0BCrBP33B,EAAyBssB,IAAzBtsB,OAAQH,EAAiBysB,IAAjBzsB,aAEhB,SAASi4B,EAATvuF,GAA8C,IAAvB80B,EAAuB90B,EAAvB80B,KAAM05D,EAAiBxuF,EAAjBwuF,cACrBC,EAAgB15D,IAAOD,GAAM2X,OAAO6pB,GAO1C,OACE70D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,UACEV,UAAWtC,IAAOoT,OAClB1O,MAAOorF,EACP36E,SAVN,SAA2B46E,GAAG,IACpBrrF,EAAUqrF,EAAEnnF,OAAZlE,MACRmrF,EAAc/3B,EAAOzgB,QAAQ3yC,MAUxBozD,EAAO5sD,IAAI,SAAAwa,GAAM,OAChB5iB,EAAAC,EAAAC,cAAA,UAAQwH,IAAKkb,EAAQhhB,MAAOghB,GAASA,MAIzC5iB,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,OAAQ,MAAO,gBAAiBnD,IAAOgwF,iBAKtEJ,EAAY3qF,UAAZ,GAKe2qF,0BC/BPh4B,EAAkCwsB,IAAlCxsB,YAAaC,EAAqBusB,IAArBvsB,iBAErB,SAASo4B,EAAT5uF,GAA4C,IAAtB80B,EAAsB90B,EAAtB80B,KAAM+5D,EAAgB7uF,EAAhB6uF,aACpBC,EAAQz5D,IAAMmhC,EAAkBzhC,MAASomC,OAAS,EAAG,GACrD4zB,EAAeh6D,IAAOD,GAAM2X,OAAO8pB,GAOzC,OACE90D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,UACEV,UAAWtC,IAAOoT,OAClB1O,MAAO0rF,EACPj7E,SAVN,SAA0B46E,GAAG,IACnBrrF,EAAUqrF,EAAEnnF,OAAZlE,MACRwrF,EAAaxrF,KAURyrF,EAAMjlF,IAAI,SAAAwa,GAAM,OACf5iB,EAAAC,EAAAC,cAAA,UAAQwH,IAAKkb,EAAQhhB,MAAOghB,GAASA,MAGzC5iB,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,OAAQ,MAAO,gBAAiBnD,IAAOgwF,iBAKtEC,EAAWhrF,UAAX,GAKegrF,QC7Bbz4B,EAGE4sB,IAHF5sB,8BACAG,EAEEysB,IAFFzsB,aACAC,EACEwsB,IADFxsB,YAGF,SAASz+B,EAAT93B,GAUG,IATD80B,EASC90B,EATD80B,KACAk6D,EAQChvF,EARDgvF,WACAC,EAOCjvF,EAPDivF,YACAC,EAMClvF,EANDkvF,cACAC,EAKCnvF,EALDmvF,cACAC,EAICpvF,EAJDovF,wBACAC,EAGCrvF,EAHDqvF,wBACA/6D,EAECt0B,EAFDs0B,kBACAC,EACCv0B,EADDu0B,iBAEM+6D,EAAiBh7D,EAAoBiiC,EAAc,GAInDg5B,EAA0Bh7D,GAAoBD,EAE9CD,EAHqBE,GAAoBD,EAGV,GAAAlrB,OALbmrB,EAAmB+hC,EAAe,GAKrB,KAAAltD,OAAyBkmF,GAAmBn5B,EAE3Eq5B,EAAgBz6D,IAAOD,GAAM2X,OAAOpY,GAE1C,OACE5yB,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAOwN,QACxB1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOmuE,mBAEpBx4C,GACC7yB,EAAAC,EAAAC,cAAC8tF,EAAD,CAAa36D,KAAMA,EAAM05D,cAAeS,KAGxCM,GACA9tF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,OAAQgsF,GAGhCj7D,GACC9yB,EAAAC,EAAAC,cAAC+tF,EAAD,CAAY56D,KAAMA,EAAM+5D,aAAcG,KAG1CvtF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgxF,YACrBluF,EAAAC,EAAAC,cAACiuF,EAAD,CAAkB3vF,QAASivF,EAAe7uF,SAAU+uF,IACpD3tF,EAAAC,EAAAC,cAACiuF,EAAD,CAAkB3vF,QAASkvF,EAAe9uF,SAAUgvF,EAAyBf,QAAM,MAM3Fx2D,EAAOl0B,UAAP,GAYek0B,+nBC/DPm+B,EAAgC8sB,IAAhC9sB,YAAaG,EAAmB2sB,IAAnB3sB,eAoDNy5B,IAlDyB,SAAA7vF,GAclC,IAbJ0T,EAaI1T,EAbJ0T,YAaIo8E,EAAA9vF,EAZJ6iC,gBAYI,IAAAitD,EAZO,KAYPA,EAAAC,EAAA/vF,EAXJsjF,sBAWI,IAAAyM,EAXa,GAWbA,EAVJj8E,EAUI9T,EAVJ8T,SACA06E,EASIxuF,EATJwuF,cASIwB,EAAAhwF,EARJ8hB,cAQI,IAAAkuE,KAPJ/uF,EAOIjB,EAPJiB,UACAmhB,EAMIpiB,EANJoiB,WACA+rE,EAKInuF,EALJmuF,aAKI8B,EAAAjwF,EAJJq0B,kBAII,IAAA47D,EAJSh6B,EAITg6B,EAAAC,EAAAlwF,EAHJs0B,yBAGI,IAAA47D,KAAAC,EAAAnwF,EAFJu0B,wBAEI,IAAA47D,KADD9uF,EACC+uF,EAAApwF,EAAA,6KACJgjF,cAaA,OACEvhF,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,WAAYnD,IAAO0tF,SAAUprF,IACtDQ,EAAAC,EAAAC,cAAC0uF,EAAA3uF,EAAD4uF,EAAA,CACExuE,OAAQA,EACRyuE,YAAa9uF,EAAAC,EAAAC,cAAC6uF,EAAD,CAAiBrC,aAAcA,IAC5CsC,gBAAiB/8E,EACjBmvB,SAAUsgD,YAActgD,GACxB/uB,SAAUA,EACV06E,cAAeA,EACfkC,gBAAiB/xF,IAAOgyF,OACxBrN,eAAgBG,YAAwBH,GACxCsN,mBArBqB,SAAC3sF,GAAD,OACzBxC,EAAAC,EAAAC,cAACkvF,EAADP,EAAA,GACMrsF,EACA5C,EAFN,CAGEizB,kBAAmBA,EACnBC,iBAAkBA,MAiBhBu8D,iBAxBsB,SAACh8D,GAAD,OAAgBC,IAAOD,GAAM2X,OAAO2pB,IAyB1D26B,aAfe,kBAAMpyF,IAAOqyF,KAgB5BnvF,IAAKugB,EACLiS,WAAYA,GACRhzB,qCCzDL,SAAS4vF,IAAqC,IAAzBC,EAAyBhgF,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAjB,EAAGigF,EAAcjgF,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAH,EAChD,GAAc,IAAVggF,EAAa,MAAO,UAExB,IAEME,EAAIC,KAAKC,MAAMD,KAAKE,IAAIL,GAASG,KAAKE,IAFlC,OAIV,SAAAnoF,OAAUooF,YAAYN,EAAQG,KAAKI,IAJzB,KAIgCL,IAAIM,QAAQP,IAAtD,KAAA/nF,OAHc,CAAC,KAAM,KAAM,KAAM,KAAM,MAGmCgoF,IAGrE,SAASO,EAAT3xF,GAAsC,IAAdwT,EAAcxT,EAAdwT,KAAM/S,EAAQT,EAARS,KACnC,SAAA2I,OAAUoK,EAAV,KAAApK,OAAkB3I,GAGb,SAASmxF,EAAYC,EAArBtsF,GAEL,OAAOssF,EADQF,EAAa,CAAEn+E,KADsBjO,EAAdiO,KACF/S,KADgB8E,EAAR9E,QAf9C8B,EAAAC,EAAAC,EAAA,sBAAAwuF,IAAA1uF,EAAAC,EAAAC,EAAA,sBAAAkvF,IAAApvF,EAAAC,EAAAC,EAAA,sBAAAmvF,4BCCAt3E,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAwI,OAAA,gCAAA3I,MAAA,+BAAAmL,OAAA,gCAAAu4B,KAAA,8BAAAE,MAAA,+BAAAD,OAAA,gCAAAhoC,QAAA,iCAAA8d,KAAA,8BAAAne,MAAA,+BAAAuoC,MAAA,+BAAA7nC,OAAA,kDCAlB8a,EAAAC,QAAA,CAAkBo6D,cAAA,UAAAE,sBAAA,UAAAH,UAAA,UAAAM,eAAA,UAAAnoC,WAAA,uBAAAjqB,kBAAA,+CAAAqyD,cAAA,8EAAAjyD,aAAA,wBCAlB1I,EAAAC,QAAA,CAAkBgQ,gBAAA,yCAAAG,WAAA,oCAAAzX,MAAA,+BAAA6+E,gBAAA,yCAAAC,gBAAA,yCAAAC,SAAA,kCAAA1nE,eAAA,wCAAA3J,YAAA,qCAAAkK,SAAA,kCAAAzqB,OAAA,gCAAA6xF,OAAA,gCAAArnE,WAAA,oCAAA3oB,KAAA,8BAAAiwF,gBAAA,2DCAlB53E,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA2F,OAAA,gCAAA+6B,KAAA,8BAAAE,MAAA,+BAAA+qD,aAAA,sCAAA98B,YAAA,qCAAApzD,KAAA,8BAAAqxE,OAAA,gCAAA5P,eAAA,8zBCalB,IAAMjlE,EAAe,CACnBwzF,OAAQtzF,IAAOszF,QAGF,SAASG,EAATpyF,GAeZ,IAdDiB,EAcCjB,EAdDiB,UACA2d,EAaC5e,EAbD4e,eACAyzE,EAYCryF,EAZDqyF,WACAC,EAWCtyF,EAXDsyF,YACA99B,EAUCx0D,EAVDw0D,YACAw9B,EASChyF,EATDgyF,SACAx5D,EAQCx4B,EARDw4B,UACAljB,EAOCtV,EAPDsV,SACA2U,EAMCjqB,EANDiqB,gBACAD,EAKChqB,EALDgqB,qBACArJ,EAIC3gB,EAJD2gB,YACAtd,EAGCrD,EAHDqD,MACA6mB,EAEClqB,EAFDkqB,cACG7oB,EACFC,EAAAtB,EAAA,0LAAAmqB,EACoCpJ,cAA7B1K,EADP8T,EACO9T,YAAaC,EADpB6T,EACoB7T,YACf8T,EAAUxoB,EAAA,GAAQqoB,EAAR,CAAyB5T,cAAaC,cAAaG,eAAgB9X,IAAOuzF,kBACpF5nE,EAAiBN,IAAyBla,IAAQma,GAClDsoE,EAAY5xE,GAAetd,EAG3B0uF,EADS,WACSO,EAQxB,OACEjxE,EAAA3f,EAAAC,cAAA,QAAM2T,SAPR,SAAsBxD,GACpBA,EAAMU,iBACNV,EAAMkb,kBACN1X,EAASxD,IAIqB7Q,UAAWa,IAAWnD,IAAO4rB,gBAAiBtpB,IACzE+wF,GACC3wE,EAAA3f,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAO+rB,WAAY8N,KAG9CnX,EAAA3f,EAAAC,cAAC6wF,EAAA,EAAD5wF,EAAA,GACMP,EADN,CAEEgC,MAAOA,EACPlD,KAAK,OACLsyF,YAAY,EACZxxF,UAAWa,IACTnD,IAAOsU,MACP++E,GAAYrzF,IAAOqzF,SACnBD,GAAmBpzF,IAAOozF,gBAC1BznE,GAAkB3rB,IAAO2rB,eACzB+nE,GAAc1zF,IAAOmzF,gBACrBnxE,GAAehiB,IAAOgiB,YACtB/B,MAGH2zE,GACClxE,EAAA3f,EAAAC,cAAC+wF,EAAA,EAAD,CACEnyF,MAAM,QACNE,KAAK,OACLC,WAAY2gB,EAAA3f,EAAAC,cAAA,KAAGV,UAAU,wBACzBA,UAAWa,IAAWnD,IAAOksB,SAAUP,GAAkB3rB,IAAO2rB,gBAChErqB,QAASiqB,IAGZI,GACCjJ,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAC+wF,EAAA,EAAD,CACEnyF,MAAM,QACNE,KAAK,OACLC,WAAY2gB,EAAA3f,EAAAC,cAACgxF,EAAA,EAAD,CAAc1xF,UAAWtC,IAAOsD,OAC5ChB,UAAWtC,IAAOisB,WAClBjqB,cAAehC,IAAOsD,KACtBhC,QAASqW,IAEX+K,EAAA3f,EAAAC,cAACixF,EAAA,EAAexoE,IAInBioE,GACChxE,EAAA3f,EAAAC,cAAC+wF,EAAA,EAAD,CACEzyF,QAASqV,EACTrU,UAAWa,IACTnD,IAAOyB,OACP3B,EAAa6zF,KAGfjxE,EAAA3f,EAAAC,cAAA,KAAGV,UAAU,kBACZuzD,IAOX49B,EAAU1rF,aAAe,CACvBsrF,UAAU,EACVK,YAAY,EACZroE,sBAAsB,EACtBwO,UAAW,gBACXg8B,YAAa,SACbvqC,gBAAiB,GACjBtJ,aAAa,GAGfyxE,EAAUxuF,UAAV,spEC1BeivF,MAnFf,SAAA7yF,GAYG,IAAA8yF,EAAA9yF,EAXD+yF,mBAWC,IAAAD,EAXa,GAWbA,EAVDE,EAUChzF,EAVDgzF,gBACAC,EASCjzF,EATDizF,WACAtT,EAQC3/E,EARD2/E,eACA9rB,EAOC7zD,EAPD6zD,SACAC,EAMC9zD,EAND8zD,WACA6mB,EAKC36E,EALD26E,SACA1lE,EAICjV,EAJDiV,OACAi+E,EAGClzF,EAHDkzF,IACAC,EAECnzF,EAFDmzF,kBACAC,EACCpzF,EADDozF,kBACCjpE,EAC4EpJ,YAAS9L,GAAjEo+E,EADpBlpE,EACO9T,YAA8Ci9E,EADrDnpE,EACwC7T,YADxCi9E,EAEgDC,cAAzCtyF,EAFPqyF,EAEOryF,UAAWuyF,EAFlBF,EAEkBE,YAAaC,EAF/BH,EAE+BG,aAF/B/iF,EAAAgjF,EAGqC9iF,mBAASkiF,GAH9C,GAGMa,EAHNjjF,EAAA,GAGmBkjF,EAHnBljF,EAAA,GAAA+I,EAAAi6E,EAIuB9iF,mBAAS+iF,GAJhC,GAIMvmF,EAJNqM,EAAA,GAIYo6E,EAJZp6E,EAAA,GAKKq6E,GAAqBf,GACtBntF,IAAQktF,MACNl/B,IACDhuD,IAAQiuD,GAEd,SAASkgC,EAA0BC,GACjCJ,EAAetoC,YAAmB0oC,EAAcjB,IAGlD,IAAM38E,EAAc69E,IAAYf,GAAqBE,EAAqBF,EACpE78E,EAAc87B,IAAWghD,GAAqBA,EAAoBE,EA8CxE,OA5CA5hF,oBAAU,WACRqiF,GACG19E,GCzBA,SAAArW,GAAwE,IAAnD6zD,EAAmD7zD,EAAnD6zD,SAAUC,EAAyC9zD,EAAzC8zD,WAAuBqgC,EAAkBn0F,EAA7B4X,UAczCw8E,YAA+B,CAAC,CAAEvgC,WAAUsU,aAAcrU,KAC9D76C,KAdH,SAAmBo7E,GAAU,IAEbC,GAFa1jF,EACVyjF,EADU,OAEwB,IAA3ChnF,KAER8mF,EAAeG,KASV,MANP,SAAmB9uF,GAGjB,MAFA6lF,IAAckJ,4BAER/uF,IDeHgvF,CAAU,CAAE3gC,WAAUC,aAAYl8C,UAAWo8E,KAE/CD,GAAqBF,EAAed,IACpC,CAAC18E,IAEJ3E,oBAAU,WAER,IAAM+iF,EAAYlpC,YAAmBqoC,EAAaZ,GAElDc,EAAQW,IACP,CAACp+E,EAAau9E,IA+BV,CACLvmF,OACAgJ,cACAC,cACApV,YACA4S,SAlCF,SAAsB+Z,GACpBimE,EAAQlmE,IAAIC,EAAOy9B,OAkCnB/8B,OA/BF,WACE,IAAMmmE,EAAW9mE,IAAIgmE,EAAa,SAAAtmF,GAAG,OAAIqnF,IAAKrnF,EAAK,CAAC,QAAS,YACvDsnF,EAAYhnE,IAAIvgB,EAAM,SAAAC,GAAG,OAAIqnF,IAAKrnF,EAAK,CAAC,QAAS,YAEvD,OAAI6lB,IAAQuhE,EAAUE,GACbt+E,KAQTo9E,IAEOT,EAAW,CAChBC,MACA7lF,OACAstE,WACA9mB,WACAC,aACAl8C,UAAW+nE,IANN,QAPP,WACE8T,IACAn9E,0rBErDuB7U,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KAAEjG,EAAAC,EAAAC,cAAA,WAAKF,EAAAC,EAAAC,cAAA,KAAGV,UAAU,gBAApB,OAAtB,IAEM4zF,EAAyB,SAAA9nF,GAAS,OAC7CA,EACItL,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KAAEjG,EAAAC,EAAAC,cAAA,WAAKF,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAApB,WACAQ,EAAAC,EAAAC,cAAA,WAAKF,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAGxB,SAAS6zF,EAAT90F,GAmBG,IAlBD6zD,EAkBC7zD,EAlBD6zD,SACAC,EAiBC9zD,EAjBD8zD,WACAo/B,EAgBClzF,EAhBDkzF,IACA5vF,EAeCtD,EAfDsD,MACA4T,EAcClX,EAdDkX,gBAcC69E,EAAA/0F,EAbDqN,KAAM0lF,OAaL,IAAAgC,EAbmB,GAanBA,EAZD9B,EAYCjzF,EAZDizF,WACAD,EAWChzF,EAXDgzF,gBACWgC,EAUVh1F,EAVDkB,UACA+zF,EASCj1F,EATDi1F,cACAC,EAQCl1F,EARDk1F,SACAvV,EAOC3/E,EAPD2/E,eACA1qE,EAMCjV,EANDiV,OACAkgF,EAKCn1F,EALDm1F,sBACA90F,EAICL,EAJDK,SACA8yF,EAGCnzF,EAHDmzF,kBACAC,EAECpzF,EAFDozF,kBACG/xF,EACFC,EAAAtB,EAAA,6OAAAo1F,EAQGvC,EAAajxF,EAAA,GACZP,EADY,CAEf6xF,MACAj+E,SACA4+C,WACAC,aACAm/B,aACAF,cACAC,kBACArT,iBACAwT,oBACAC,uBAjBA/lF,EAFD+nF,EAEC/nF,KACAnM,EAHDk0F,EAGCl0F,UACAmV,EAJD++E,EAIC/+E,YACAkY,EALD6mE,EAKC7mE,OACAza,EANDshF,EAMCthF,SACAwC,EAPD8+E,EAOC9+E,YAeIZ,EACJjU,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLQ,UAAWtC,IAAO02F,aAClBp1F,QAASqW,GAJX,UAQA7U,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLS,UAAWA,GAAa8zF,EACxB/0F,QAASsuB,EACTpuB,KAAK,UAJP,SAWEqD,EAAQwvF,EAAkB,WAAa,cACvCsC,EAAkBH,GAAyBp1F,IAEjD,OACE0B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC2zF,EAAD1zF,EAAA,GACMP,EADN,CAEEJ,UAAWiW,EACX7W,SAAUa,GAAa8zF,GAAkB30F,EACzCJ,QAASqW,IAERhT,GAEH7B,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAOA,EACPyR,OAAQoB,EACRpV,UAAWtC,IAAOsX,MAClBD,gBAAiBrX,IAAOgQ,OACxBmH,WAAYQ,EACZZ,QAASA,GAETjU,EAAAC,EAAAC,cAACkyB,EAAA,EAAD,CACErwB,MAAM,WACNwlD,gBAAc,EACdoW,gBAAiB4zB,EACjBryE,aAAcqyE,EACd1qC,SAAS,MACTitC,qBAAqB,OACrBnqC,kBAAmBA,IACnBC,iBAAkBA,IAClBmqC,kBAAmBnoF,EACnB+oB,cAAe/oB,EACfyG,SAAUA,EACVmhF,cAAeA,EACfC,SAAUA,EACV1sC,cAAY,MAOtBssC,EAAiBpuF,aAAe,CAC9BpD,MAAO,MACP2vF,WD9FK,SAAAxtF,GAMJ,IALD4H,EAKC5H,EALD4H,KACAstE,EAICl1E,EAJDk1E,SACA9mB,EAGCpuD,EAHDouD,SACAC,EAECruD,EAFDquD,WACW2hC,EACVhwF,EADDmS,UACC89E,EACiCC,YAAgBtoF,GAA1CuoF,EADPF,EACOE,QAASC,EADhBH,EACgBG,aAEjB,SAASj+E,EAAUy8E,GACjBoB,GAAiBA,EAAc,CAC7B5hC,WACAC,aACAzmD,KAAMyoF,YAAsBzB,KAG9B0B,YAAc,CAAEpb,aAGlB,SAASqb,EAAUxwF,GAGjB,MAFA6lF,IAAckJ,4BAER/uF,EAYR,OAAOywF,YAAyB,CAAEL,UAASM,kBAT3C,SAA2BC,GACzB,OAAOC,YAAoC,CACzCC,OAAQC,YAAmBT,EAAcM,GACzCtiC,SAAU0iC,IAAS1iC,GACnBC,eACC76C,KAAKrB,GAJD,MAKEo+E,OCgEX31F,UAAU,GAGZy0F,EAAiBlxF,UAAjB,GA2BekxF,2ICrJf,SAASxjE,EAATtxB,GAYG,IAXDw2F,EAWCx2F,EAXDw2F,iBACAC,EAUCz2F,EAVDy2F,MACAC,EASC12F,EATD02F,WACAphF,EAQCtV,EARDsV,SACAqhF,EAOC32F,EAPD22F,YACAC,EAMC52F,EAND42F,WACAC,EAKC72F,EALD62F,WACAC,EAIC92F,EAJD82F,aACAC,EAGC/2F,EAHD+2F,cACA71F,EAEClB,EAFDkB,UACA81F,EACCh3F,EADDg3F,SAEA,GAAID,EACF,OACEt1F,EAAAC,EAAAC,cAACo1F,EAAD,CACEN,MAAOA,EACPD,iBAAkBA,EAClBt1F,UAAWA,GAAa81F,EACxBN,WAAYA,EACZphF,SAAUA,EACVqhF,YAAaA,EACbC,WAAYA,EACZC,WAAYA,EACZC,aAAcA,IAKpB,SAASG,EAAezzF,GACtB,OAAO/B,EAAAC,EAAAC,cAAA,YAAO6B,GAGhB,IAAM+zE,EACJ91E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO44E,gBACpBkf,EAAM5sF,IAAI,SAAAtE,GAAA,IAAGoD,EAAHpD,EAAGoD,MAAOnF,EAAV+B,EAAU/B,MAAV,OACT/B,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACER,IAAG,YAAAC,OAAcT,GACjBlF,QAASwzF,EAAezzF,GACxBsG,UAAU,MACVsa,OAAO,QACPnjB,UAAWa,IACT,cACAnD,IAAOsgD,eACPtgD,IAAOugD,mBAGTz9C,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNJ,KAAK,SACLc,UAAWa,IACTnD,IAAO64E,kBACPgf,IAAqB7tF,GAAShK,IAAOs1B,UAEvCh0B,QAAS02F,EAAYhuF,UAQjC,OACElH,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACG2nD,EAED91E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+W,SACrBjU,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNF,SAAUa,EACVjB,QAAS62F,EACT71F,UAAWa,IAAWnD,IAAO+4E,eAAgB/4E,IAAO84E,YALtD,WAUEif,GACAj1F,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,WACNE,KAAK,QACLJ,SAAUa,EACVjB,QAASqV,EACTrU,UAAWtC,IAAO+4E,gBAEjBx2E,EACGO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQU,UAAWtC,IAAOgX,SACrDlU,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,uBAGNnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLJ,SAAUa,EACVjB,QAAS22F,EACT31F,UAAWtC,IAAO+4E,gBAJpB,SAWHgf,GACCj1F,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLJ,SAAUa,EACVjB,QAASqV,EACTrU,UAAWtC,IAAO+4E,gBAEjBx2E,EACGO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQU,UAAWtC,IAAOgX,SACrDlU,EAAAC,EAAAC,cAAA,uBAShB2vB,EAAc1tB,UAAd,GAce0tB,4/BClHA4lE,MA9Bf,WAAuF,IAAzDl2E,EAAyD9P,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAAnCimF,EAAmCjmF,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAAlBimF,EAAkBlmF,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAAAR,EAAAC,EACzDC,mBAASmQ,GADgD,GAC9E/L,EAD8EtE,EAAA,GACtEsQ,EADsEtQ,EAAA,GAGrF,SAAS0mF,IACPp2E,GAAWhM,GAiBb,MAAO,CACLqiF,mBAAoBriF,EACpBsiF,mBAAoBF,EACpBG,iBAbF,WACEv2E,GAAU,GACVm2E,KAYAK,iBAlBF,WACEx2E,GAAU,IAkBVy2E,mBAVF,WACEP,IACAE,y9BCwEWM,MAvFf,SAAA33F,GAaG,IAAA43F,EAAA53F,EAZD63F,mBAYC,IAAAD,EAZa,EAYbA,EAXDnB,EAWCz2F,EAXDy2F,MACA3gF,EAUC9V,EAVD8V,WACAgiF,EASC93F,EATD83F,sBACAC,EAQC/3F,EARD+3F,QACAh0F,EAOC/D,EAPD+D,QACAi0F,EAMCh4F,EANDg4F,YACAC,EAKCj4F,EALDi4F,UACAC,EAICl4F,EAJDk4F,oBACA10F,EAGCxD,EAHDwD,MACAyR,EAECjV,EAFDiV,OACAkjF,EACCn4F,EADDm4F,uBACCxnF,EAAAynF,EAC+CvnF,mBAASgnF,GADxD,GACMrB,EADN7lF,EAAA,GACwB0nF,EADxB1nF,EAAA,GASD,SAAS2nF,EAAiB3vF,GACxB0vF,EAAoB1vF,GACpBuvF,GAAuBA,EAAoBvvF,GAR7C+I,oBAAU,WACmB3I,IAASivF,IAAgBA,GAAe,GAE7CK,EAAoBL,IACzC,CAACA,EAAaC,IAOjBvmF,oBAAU,YACNuD,GAAUkjF,GAA2BG,EAAiBT,IACvD,CAAC5iF,EAAQkjF,IAOZ,IAAMI,EAAc1yF,IAAQrC,GAAT,QAAA4F,OACTotF,EAAmB,EADV,MAAAptF,OACgBqtF,EAAMD,GAAkBhzF,OADtBA,EAvBpCg1F,EA+BGtB,GAAqB,EAAOphF,EAbhC,WACEiiF,GAAWA,IACXO,EAAiBT,KAOjBP,EA3BDkB,EA2BClB,mBACAE,EA5BDgB,EA4BChB,iBACAC,EA7BDe,EA6BCf,iBACAC,EA9BDc,EA8BCd,mBAGIhB,EAAaF,IAAqBC,EAAMhuF,OAAS,EA0BvD,MAAO,CACLiuF,aACAY,qBACAd,mBACA+B,aACAf,mBACAE,qBACAe,iBA/BF,WACE3iF,IACA/R,GAAWA,IACX+zF,GAAyBL,KA6BzBa,mBACAI,gBA3BF,SAAyB/vF,GACvB,OAAO,WACL2vF,EAAiB3vF,KA0BnBgwF,eAtBF,WAGEL,EAFc5B,EAAaF,EAAmBA,EAAmB,IAsBjEoC,eAjBF,WAGEN,EAFc9B,EAAmBA,EAAmB,EAAIqB,MC5D5D,SAASgB,EAAT74F,GAwBG,IAvBDiV,EAuBCjV,EAvBDiV,OACAa,EAsBC9V,EAtBD8V,WACAgjF,EAqBC94F,EArBD84F,aACArC,EAoBCz2F,EApBDy2F,MACAv1F,EAmBClB,EAnBDkB,UACA42F,EAkBC93F,EAlBD83F,sBACAiB,EAiBC/4F,EAjBD+4F,mBACAh1F,EAgBC/D,EAhBD+D,QACAg0F,EAeC/3F,EAfD+3F,QACAC,EAcCh4F,EAdDg4F,YACAC,EAaCj4F,EAbDi4F,UACAC,EAYCl4F,EAZDk4F,oBACAnB,EAWC/2F,EAXD+2F,cACAvzF,EAUCxD,EAVDwD,MACAjD,EASCP,EATDO,MACAU,EAQCjB,EARDiB,UACA+1F,EAOCh3F,EAPDg3F,SACAmB,EAMCn4F,EANDm4F,uBACAa,EAKCh5F,EALDg5F,mBACAC,EAICj5F,EAJDi5F,qBACAC,EAGCl5F,EAHDk5F,mBACAC,EAECn5F,EAFDm5F,qBACAC,EACCp5F,EADDo5F,uBACCC,EAYG1B,EAAkB,CACpBlB,QACA3gF,aACAgiF,wBACA/zF,UACAg0F,UACAC,cACAC,YACAC,sBACA10F,QACAyR,SACAkjF,2BArBAI,EAFDc,EAECd,WACA7B,EAHD2C,EAGC3C,WACAF,EAJD6C,EAIC7C,iBACAc,EALD+B,EAKC/B,mBACAoB,EANDW,EAMCX,gBACAD,EAPDY,EAOCZ,iBACAE,EARDU,EAQCV,eACAC,EATDS,EASCT,eACApB,EAVD6B,EAUC7B,iBACAE,EAXD2B,EAWC3B,mBAuCF,IAAMhiF,EACJjU,EAAAC,EAAAC,cAACowB,EAAD,CACE0kE,MAAOA,EACPD,iBAAkBA,EAClBt1F,UAAWA,EACX81F,SAAUA,EACVN,WAAYA,EACZphF,SAAUwjF,EACVnC,YAAa+B,EACb9B,WAAY+B,EACZ9B,WAAY+B,EACZ9B,aAAc2B,EACd1B,cAAeA,IAInB,OACEt1F,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACEZ,OAAQA,EACRzR,MAAO+0F,EACP7iF,QAASA,EACTI,WAAY2iF,EACZl4F,MAAOA,EACP0W,cAAenV,IAAWnD,IAAOkb,KAAMq/E,GACvCnjF,gBAAiBjU,IAAWnD,IAAOwN,OAAQ8sF,GAC3CjjF,gBAAiBlU,IAAWnD,IAAOgQ,OAAQwqF,GAC3Cl4F,UAAWa,IAAWnD,IAAO24E,eAAgBr2E,IAlD7Cm4F,GAA0Bl4F,EAE1BO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOg5E,iBACrBl2E,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQ2U,QAAQ,iBAKf4/E,EAAM5sF,IAAI,SAAAtE,GAA0B,IAAvBoD,EAAuBpD,EAAvBoD,MAAOkhD,EAAgBtkD,EAAhBskD,UACnB51B,EAAWuiE,IAAqB7tF,EAEtC,OACElH,EAAAC,EAAAC,cAAA,OACEwH,IAAG,QAAAC,OAAUT,GACb1H,UAAWa,IAAWnD,IAAO4uD,KAAMt5B,GAAYt1B,IAAOs1B,SAAU+kE,GAChE7oE,KAAK,OAEJ05B,MAsCJiuC,GACCr2F,EAAAC,EAAAC,cAACuY,EAAA,EAAD,CACEpE,WAAY0hF,EACZ8B,SAAU5B,EACVziF,OAAQqiF,EACRiC,cAAeR,KAOzBF,EAAej1F,UAAf,GAoCAi1F,EAAenyF,aAAe,CAC5BoxF,uBAAuB,EACvBsB,wBAAwB,EACxB74F,MAAO,cAGMs4F,6dCjKf,IAAMz5D,EAAS,CACbo6D,SAAU76F,IAAO66F,SACjBrvF,MAAOxL,IAAOwL,MACdsvF,SAAU96F,IAAO86F,SACjBrvF,IAAKzL,IAAOyL,IACZF,KAAMvL,IAAOuL,MAGf,SAASwvF,EAAT15F,GAYG,IAXD25F,EAWC35F,EAXD25F,WACAp5F,EAUCP,EAVDO,MACAq5F,EASC55F,EATD45F,aACAC,EAQC75F,EARD65F,YACA74F,EAOChB,EAPDgB,SACAf,EAMCD,EANDC,QACAgB,EAKCjB,EALDiB,UACA+nF,EAIChpF,EAJDgpF,OACA9hF,EAGClH,EAHDkH,KACAE,EAECpH,EAFDoH,aACAS,EACC7H,EADD6H,GAuBMpE,EACJhC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG1G,GAtBE44F,GAAgB/zF,IAAQg0F,GACpB,KAIPp4F,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGkyF,GACCn4F,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOm7F,QACrBr4F,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAGhB2sB,IAAIisE,EAAa,SAAA3sF,GAAI,OACpBzL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOm7F,QACrBr4F,EAAAC,EAAAC,cAAA,YAAOuL,QAqBXgH,EAAc,CAClBjT,UARmBa,IACnBnD,IAAOo7F,UACP36D,EAAOu6D,EAAa,QAAU,QAC9Bv6D,EAAO7+B,GACPU,GAKAV,MAAO,WACPE,KAAM,SAGR,OAAIuoF,GAAU5hF,EAEV3F,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GAAUsS,EAAV,CAAuBhN,KAAMA,EAAME,aAAcA,EAAcS,GAAIA,IAChEpE,GAMLhC,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACMsS,EADN,CAEEjU,QAASA,IAERwD,GAKPi2F,EAAUhzF,aAAe,CACvBsiF,QAAQ,EACR5hF,cAAc,GAGhBsyF,EAAU91F,UAAV,GAce81F,44BC7Ff,SAASM,EAATh6F,GAQG,IAPDiB,EAOCjB,EAPDiB,UACAie,EAMClf,EANDkf,iBACAypE,EAKC3oF,EALD2oF,SACAznF,EAIClB,EAJDkB,UACAu9E,EAGCz+E,EAHDy+E,UACAhrE,EAECzT,EAFDyT,UACAwmF,EACCj6F,EADDi6F,WAEA,GAAI/4F,EACF,OAAOO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWie,EAAkBtS,YAAa,IAGpE,IAAMu0E,EAAa/pC,IAAOuxC,EAAU,SAACuR,EAAKC,GAKxC,OAJiBrkD,IAAK2oC,EAAW,SAAAl5E,GAAA,OAAAA,EAAG45E,KAAgBj2C,QAAUixD,EAAQjxD,SAEvDgxD,EAAIn6E,KAAK,CAAEo/D,KAAMgb,IAEzBD,GALUj6E,EAMZw+D,IACD2b,EAAsBH,EAAa9Y,EAAajpC,IAAMipC,EAAY,EAAG1tE,GACrE4mF,EAAsBniD,IAAMipC,EAAY1tE,GACxC6mF,EAAiBtiD,IAAKmpC,GACtBoZ,GAAeN,GAAeK,EAAiB7mF,EAwB/ColB,EACJp3B,EAAAC,EAAAC,cAAA,OAAKV,UAAWu5F,IAAWt7C,kBACxBtxB,IAAIysE,EAZmB,SAAAh4D,GAAA,IAAG88C,EAAH98C,EAAG88C,KAAH,OAC1B19E,EAAAC,EAAAC,cAAC84F,EAAA,EAAD,CACEvzF,KAAMwzF,YAAWvb,EAAKj2C,OACtB//B,IAAKg2E,EAAKj2C,MACV3oC,MAAM,YACNU,UAAWtC,IAAOg8F,eAEjBxb,EAAK3rE,SASV,OACE/R,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGkmB,IAAIwsE,EA9BU,SAAA30F,GAAA,IAAG05E,EAAH15E,EAAG05E,KAAM/W,EAAT3iE,EAAS2iE,aAAcwyB,EAAvBn1F,EAAuBm1F,cAAvB,OACjBn5F,EAAAC,EAAAC,cAACk5F,EAAA,EAAD,CACE1xF,IAAKg2E,EAAKj2C,MACVjoC,UAAWA,EACXie,iBAAkBA,EAClB47E,UAAW3b,EACX/W,aAAcA,EACdwyB,cAAeA,EACf15F,UAAWA,MAuBVq5F,GACC94F,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACEpJ,MAAM,OACNkD,QAASo1B,EACT/uB,UAAU,SACV2pB,OAAK,EACL1pB,aAAW,EACX6jC,SAAU,KAEVnsC,EAAAC,EAAAC,cAAA,QAAMV,UAAWu5F,IAAWO,eAC1Bt5F,EAAAC,EAAAC,cAACq5F,EAAD,CAAWz6F,MAAM,SAAjB,IACI+5F,EAAiB7mF,MASjCumF,EAAetzF,aAAe,CAC5B+3E,UAAW,GACXhrE,UAAW0kC,IACX8hD,YAAY,GAGdD,EAAep2F,UAAf,GAUeo2F,gBC/Ef,SAASjR,EAAT/oF,GA2BG,IA1BDkB,EA0BClB,EA1BDkB,UACAmM,EAyBCrN,EAzBDqN,KACAitE,EAwBCt6E,EAxBDs6E,WACA2gB,EAuBCj7F,EAvBDi7F,aACAh6F,EAsBCjB,EAtBDiB,UACAhB,EAqBCD,EArBDC,QACAipF,EAoBClpF,EApBDkpF,cACA3B,EAmBCvnF,EAnBDunF,gBACAyB,EAkBChpF,EAlBDgpF,OACA3B,EAiBCrnF,EAjBDqnF,aACA4S,EAgBCj6F,EAhBDi6F,WACA7yF,EAeCpH,EAfDoH,aACA6hF,EAcCjpF,EAdDipF,gBACAiS,EAaCl7F,EAbDk7F,QACAzT,EAYCznF,EAZDynF,OACAC,EAWC1nF,EAXD0nF,YACAyT,EAUCn7F,EAVDm7F,kBACA56F,EASCP,EATDO,MACA66F,EAQCp7F,EARDo7F,QACAC,EAOCr7F,EAPDq7F,kBACAC,EAMCt7F,EANDs7F,mBACA76F,EAKCT,EALDS,KACAkoF,EAIC3oF,EAJD2oF,SACAlK,EAGCz+E,EAHDy+E,UACA8c,EAECv7F,EAFDu7F,qBACAC,EACCx7F,EADDw7F,oBAEQnyE,EAAauN,cAAbvN,SAER,GAAInoB,EACF,OAAOO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWA,IAGrC,IAAMw6F,EAAkB,CACtBhzF,OACE4gB,GAAa5oB,IAASyhF,IAAM3iF,MACxB87F,EACAC,GAGFI,IAAsB71F,IAAQ8iF,IAAa9iF,IAAQ44E,IAEzD,GAAI54E,IAAQwH,KAAUquF,EACpB,OAAOphB,EAGT,IAAMl6B,EAAc,SAAA9yC,GAAG,OAAI,WACzBrN,GAAWA,EAAQqN,KA6CrB,IAAMyqC,EAAWC,IAAO3qC,GA8ClBsuF,EAAgB1B,EAAa5sF,EAAO6qC,IAAM7qC,EAAM,EAAG8tF,GAEnD13F,EACJhC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACi6F,EAAD,CACE16F,UAAWA,EACXD,UAAWioF,EACXhqE,iBAAkBvgB,IAAOk9F,cACzBlT,SAAUA,EACVlK,UAAWA,EACXwb,WAAYsB,IAEb3tE,IAAI+tE,EApGT,SAAmBruF,EAAK3E,GAAO,IAYrBmzF,EAZqBv2F,EACJ+H,GAAO,GAAxBhK,EADqBiC,EACrBjC,MAAOD,EADckC,EACdlC,MACT81B,EAAO,GAAA/vB,OAAMT,EAAN,KAAAS,OAAe/F,GAEtB04F,EAAU,CACd1oB,SAAQ,GAAAjqE,OAAK8xF,EAAL,KAAA9xF,OAAgB/F,GACxBiwE,OAAM,SAAAlqE,OAAW9F,GACjBghB,MAAO2kE,GAEHphF,EAAKuqC,IAAWgpD,GAAWA,EAAQ9tF,GAAOyuF,EAiBhD,OACEt6F,EAAAC,EAAAC,cAACq5F,EAAD,CACE7xF,IAAKgwB,EACLl5B,QAASmgD,EAAY9yC,GACrB/M,MAAOA,EACPyoF,OAAQA,EACR9hF,KAAI,GAAAkC,OAAK8xF,EAAL,KAAA9xF,OAAgB/F,EAAhB,UAAA+F,OAA8B9F,GAA9B8F,OAAsCu+E,YAAgB,CAAEF,SAAQC,iBACpEtgF,aAAcA,EACdS,GAAIA,EACJ5G,UAAWa,IAAWonF,IAAiB92C,IAAWnyC,IAAY+oF,IAAWrqF,IAAOq9F,gBAvB5EF,EAAiB1jD,IAAS90C,EAAOm4F,GAEnCzjD,IAAO10C,GAASm4F,EAAgBhzF,OAEhChH,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CAAS1I,UAAWtC,IAAOs9F,gBAAiBx4F,QAASH,GACnD7B,EAAAC,EAAAC,cAAA,YAAOm6F,IAKNA,MA+ENzU,EAzD6B,WAChC,GAAI4S,EACF,OAAO,KAGT,GAAIliD,EAAWojD,EAAmB,CAChC,IAAMJ,EAAgB7iD,IAAM7qC,EAAM8tF,EAAmBpjD,GAC/CmkD,EAAatuE,IAAImtE,EAAe,SAAS5qF,KAAK,MAC9CgsF,EAAkBvuE,IAAImtE,EAAe,SAAAztF,GAAG,OAC5C7L,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEoJ,IAAG,eAAAC,OAAiBkE,EAAIjK,OACxBpD,QAASmgD,EAAY9yC,GACrB/M,MAAM,YACNU,UAAWtC,IAAOy9F,YAEjB9uF,EAAIhK,SAGHu1B,EACJp3B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOugD,kBACpBs8C,EAAsBW,EAAkBD,GAI7C,OACEz6F,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACEpJ,MAAO06F,EACPx3F,QAASo1B,EACT/uB,UAAU,SACVC,YAAayxF,EACb/nE,OAAK,GAELhyB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOo8F,eACtBt5F,EAAAC,EAAAC,cAACq5F,EAAD,CAAWz6F,MAAOA,GAAlB,IACIw3C,EAAWojD,KAOvB,OAAO,KAiBJkB,IAIL,OAAI9U,EACK9jF,EAIPhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACbwC,GAKPslF,EAASriF,aAAe,CACtB4zE,WAAY,KACZ2gB,aAAc,QACd1T,iBAAiB,EACjB0S,YAAY,EACZiB,QAAS,YACTC,kBAAmBhjD,IACnB53C,MAAO,WACP86F,kBAAmBrZ,IACnBsZ,mBAAoBrZ,IACpBxhF,KAAMyhF,IAAMziF,MACZ87F,sBAAsB,EACtBC,qBAAqB,GAGvBzS,EAASnlF,UAAT,GA2CemlF,yuBCzPf,IAAM9+E,EAAS,CACbqyF,YAAa39F,IAAO29F,YACpBn9F,QAASR,IAAM,SAGjB,SAAS49F,EAATv8F,GAAwE,IAA5CiB,EAA4CjB,EAA5CiB,UAAWV,EAAiCP,EAAjCO,MAAOa,EAA0BpB,EAA1BoB,SAAaC,EAAaC,EAAAtB,EAAA,kCACtE,OACEyB,EAAAC,EAAAC,cAAC66F,EAAA96F,EAADE,EAAA,GACMP,EADN,CAEEQ,IAAKT,EACLH,UAAWa,IAAWnD,IAAO89F,SAAUx7F,EAAWgJ,EAAO1J,OAK/Dg8F,EAAiB71F,aAAe,CAC9BnG,MAAO,WAGTg8F,EAAiB34F,UAAjB,0lBClBA,SAASoW,EAATha,GAAsE,IAAlDiB,EAAkDjB,EAAlDiB,UAAWsT,EAAuCvU,EAAvCuU,aAAcO,EAAyB9U,EAAzB8U,QAAYzT,EAAaq7F,EAAA18F,EAAA,wCACpE,OACEyB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAA,WAAAg7F,EAAA,GACMt7F,EADN,CAEEJ,UAAWa,IACTnD,IAAO89F,SACPx7F,EACA6T,GAAWnW,IAAOyU,QAClBmB,GAAgB5V,IAAOyU,YAI3B3R,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAAStC,KAK7ByF,EAAStT,aAAe,CACtBoO,SAAS,GAGXkF,EAASpW,UAAT,GAMeoW,uCCpCf,IAAAoH,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAs7E,EAAAr6F,EAAA,KAAAs6F,EAAAt6F,EAAAsI,EAAA+xF,GAAAE,EAAAv6F,EAAA,MAAAw6F,EAAAx6F,EAAA,KAAAy6F,EAAAz6F,EAAAsI,EAAAkyF,GAQA,SAASlnF,EAAT7V,GAkBG,IAjBDwD,EAiBCxD,EAjBDwD,MACAy5F,EAgBCj9F,EAhBDi9F,YACAvnF,EAeC1V,EAfD0V,QACA1U,EAcChB,EAdDgB,SACAiW,EAaCjX,EAbDiX,cACAlB,EAYC/V,EAZD+V,gBACAC,EAWChW,EAXDgW,gBACA/U,EAUCjB,EAVDiB,UACAkY,EASCnZ,EATDmZ,iBACAlE,EAQCjV,EARDiV,OACAa,EAOC9V,EAPD8V,WACAvV,EAMCP,EANDO,MACA6Y,EAKCpZ,EALDoZ,eACAC,EAICrZ,EAJDqZ,gBACAC,EAGCtZ,EAHDsZ,4BACAC,EAECvZ,EAFDuZ,eACAvU,EACChF,EADDgF,GAEA,IAAKiQ,EACH,OAAO,KAGT,IAAMioF,EAAqB9jF,GAAkBtD,EACvCqnF,EAAsB9jF,GAAmBvD,EAEzCyiF,EAAa0E,GAAez5F,EAGlC,OADA45F,IAAWC,cAAc,QAEvBh8E,EAAA3f,EAAAC,cAACk7F,EAAAn7F,EAAD,CACEsD,GAAIA,EACJiQ,OAAQA,EACRmE,eAAgB8jF,EAChBI,aAAc95F,EACdvC,UAAWa,IAAWy7F,IAAYh9F,GAAQU,GAC1CkY,iBAAkBrX,IAAWnD,IAAOgtF,QAASxyE,GAC7CG,4BAA6BA,EAC7BC,eAAgBA,GAEfg/E,GACCl3E,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOwN,OAAQ4J,IACxCsL,EAAA3f,EAAAC,cAAA,MAAIV,UAAWtC,IAAO45F,YAAaA,GAClC4E,GACC97E,EAAA3f,EAAAC,cAAA,UAAQxB,KAAK,SAASF,QAASk9F,EAAqBl8F,UAAWtC,IAAO6+F,WACpEn8E,EAAA3f,EAAAC,cAAA,KAAGV,UAAWa,IAAW,MAAO,gBAMxCuf,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOkb,KAAM5C,IACrCjW,GAGF0U,GACC2L,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOgQ,OAAQqH,IACvCN,IAOXG,EAAMjS,UAAN,GAyBAiS,EAAMnP,aAAe,CACnB1F,SAAWqgB,EAAA3f,EAAAC,cAAA,2BACXpB,MAAO,UACP+Y,6BAA6B,EAC7BtU,GAAI,SAGS6Q,4pDCRA4nF,MA5Ff,SAAAz9F,GAMG,IALDqW,EAKCrW,EALDqW,YAKCqnF,EAAA19F,EAJD29F,4BAIC,IAAAD,EAJsB,GAItBA,EAAAE,EAAA59F,EAHD69F,kCAGC,IAAAD,EAH4B,CAACE,KAG7BF,EAAAG,EAAA/9F,EAFDg+F,+BAEC,IAAAD,EAFyB,CAACE,KAE1BF,EADDG,EACCl+F,EADDk+F,eACCvtF,EAAAC,EACyCC,mBAAS,IADlD,GACMstF,EADNxtF,EAAA,GACqBytF,EADrBztF,EAAA,GAAA+I,EAAA9I,EAE+CC,mBAASmtF,GAFxD,GAEMK,EAFN3kF,EAAA,GAEwB4kF,EAFxB5kF,EAAA,GAAAgT,EAAA9b,EAGqDC,mBAAS,IAH9D,GAGM0tF,EAHN7xE,EAAA,GAG2B8xE,EAH3B9xE,EAAA,GAAAE,EAAAhc,EAImDC,mBAAS,IAJ5D,GAIM4tF,EAJN7xE,EAAA,GAI0B8xE,EAJ1B9xE,EAAA,GAiBD,SAAS+xE,EAAqB7yF,EAAGmb,GAC/Bm3E,EAAiBn3E,GAGnB,SAAS23E,EAAuB9yF,EAAGmb,GACjCq3E,EAAoBr3E,GAGtB,SAAS43E,EAA0B/yF,EAAGmb,GACpCu3E,EAAuBv3E,GAGzB,SAAS63E,EAATv5F,GAAiD,IAAd4D,EAAc5D,EAAd4D,IAAK9F,EAASkC,EAATlC,MACtCq7F,EAAqB98F,EAAA,GAChB68F,wHADgBvrF,CAAA,GAElB/J,EAAM9F,KA1BXqO,oBAAU,WAEJ2E,IACF+nF,EAAiBT,GACjBW,EAAoBN,GACpBQ,EAAuBX,GACvBa,EAAsB,IACtBR,MAED,CAAC7nF,IAqBJ,IA2BM0oF,EAAwB,SAAAp8D,GAAA,IAAGx5B,EAAHw5B,EAAGx5B,IAAH,OAAas1F,EAAmBt1F,IAW9D,MAAO,CACLg1F,gBACAE,mBACAE,sBACAE,qBACAO,mBA3CyB,eAAAv5F,EAAAyL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAqC,GAArC+tF,EAAAx5F,EAAGqO,gBAAH,IAAAmrF,EAAc,aAAdA,EAA2Bh7F,EAA3B3C,EAAAmE,EAAA,qBAAA7D,EAAA,GACtBqC,EADsB,CAEzBgjB,OAAQo3E,EACRvqF,SAAU,WACR8qF,EAAsB5+E,WAAtB,EAAA9O,WACA4C,EAAQkM,WAAR,EAAA9O,eAuCFguF,sBAnC4B,eAAA78D,EAAAnxB,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAqC,GAArCiuF,EAAA98D,EAAGvuB,gBAAH,IAAAqrF,EAAc,aAAdA,EAA2Bl7F,EAA3B3C,EAAA+gC,EAAA,qBAAAzgC,EAAA,GACzBqC,EADyB,CAE5BgjB,OAAQs3E,EACRzqF,SAAU,WACR+qF,EAAyB7+E,WAAzB,EAAA9O,WACA4C,EAAQkM,WAAR,EAAA9O,eA+BFkuF,iBA3BuB,eAAA78D,EAAArxB,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAqC,GAArCmuF,EAAA98D,EAAGzuB,gBAAH,IAAAurF,EAAc,aAAdA,EAA2Bp7F,EAA3B3C,EAAAihC,EAAA,qBAAA3gC,EAAA,GACpBqC,EADoB,CAEvBgjB,OAAQk3E,EACRrqF,SAAU,WACR6qF,EAAoB3+E,WAApB,EAAA9O,WACA4C,EAAQkM,WAAR,EAAA9O,eAuBFouF,oBAjB0B,eAAAC,EAAAruF,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAuC,GAApCsuF,EAAHD,EAAGC,iBAAkBr2F,EAArBo2F,EAAqBp2F,IAAQlF,EAA7B3C,EAAAi+F,EAAA,mCAAA39F,EAAA,GACvBqC,EADuB,CAE1BZ,MAAO07F,EAAsB,CAAE51F,QAC/B2K,SAAU,SAACzQ,GACTy7F,EAAwB,CAAE31F,MAAK9F,UAC/Bm8F,GAAoBA,EAAiBn8F,wGCtE3C,SAASo8F,EAATz/F,GAYG,IAXDgF,EAWChF,EAXDgF,GACAxB,EAUCxD,EAVDwD,MACAmD,EASC3G,EATD2G,MACAmsB,EAQC9yB,EARD8yB,QACAD,EAOC7yB,EAPD6yB,aACA1yB,EAMCH,EANDG,KACAu/F,EAKC1/F,EALD0/F,YACAn+F,EAICvB,EAJDuB,WACAo+F,EAGC3/F,EAHD2/F,YACAC,EAEC5/F,EAFD4/F,eACA/mE,EACC74B,EADD64B,eAEMpS,EAAYk5E,EACd9sE,EAAapqB,SAAYm3F,EAAiB,GADjB,IAEzB/sE,EAAaoD,QAASjxB,GAEpB66F,EACJp+F,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGlE,EAAOmD,GAASlF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOgI,OAAxB,OAAoCA,EAApC,WAIfm5F,EACJr+F,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,QAAAC,OAAUpE,IACrBvD,EAAAC,EAAAC,cAACq8B,EAAA,EAAD,CACExqB,KAAMxO,EACN3B,MAAO2B,EACP8hB,QAASL,EACTpmB,SAAUkB,EACV+B,MAAOo8F,GAAeG,EACtB/rF,SAAUgf,KAKVitE,EACJt+F,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEljB,MAAOo8F,GAAeG,EACtBx8F,MAAO2B,EACPwO,KAAMxO,EACN8O,SAAUgf,EACVrM,UAAWA,EACXllB,WAAYA,IAIV2L,EAAgB,UAAT/M,EAAmB2/F,EAAYC,EAE5C,OAAIx+F,IAAesE,IAAQgzB,GAEvBp3B,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAASo1B,EACTt4B,MAAM,QACNwJ,aAAW,EACX0pB,OAAK,GAELhyB,EAAAC,EAAAC,cAAA,WAAMuL,IAKLA,EAGTuyF,EAAU77F,UAAV,GAiBe67F,+lBChFf,SAASO,EAAThgG,GAOG,IANDinB,EAMCjnB,EANDinB,OACAnT,EAKC9T,EALD8T,SACAtQ,EAICxD,EAJDwD,MACAE,EAGC1D,EAHD0D,YACAu8F,EAECjgG,EAFDigG,eACAxV,EACCzqF,EADDyqF,cAEMyV,EAAmBD,EAAep2F,IAAI,SAAAs2F,GAAG,OAAIA,EAAIn7F,MAAO,GAD7D2tB,EAE2EC,YAC1E,WACA3L,EACAnT,EACAosF,EACAD,GALMptE,EAFPF,EAEOE,aAAcE,EAFrBJ,EAEqBI,WAAYD,EAFjCH,EAEiCG,QAASstE,EAF1CztE,EAE0CytE,eAAmB/+F,EAF7Dg/F,EAAA1tE,EAAA,0DASK7qB,EAAiB,CACrB7G,UAAWwpF,EAAgB9rF,IAAO6nE,iBAAmB7nE,IAAO6H,UAC5DsB,eAAgBnJ,IAAO6E,MACvBuzD,qBAAsBp4D,IAAO+E,aAG/B,SAASqK,EAASb,GAAM,IAAA3H,EAC4C2H,GAAQ,GAA3DsvC,EADOj3C,EACd/B,MAAkBm8F,EADJp6F,EACIo6F,YAAa1+F,EADjBsE,EACiBtE,UACjCq/F,EAFgB/6F,EAC4Bg7F,aACfztE,EAEnC,OACErxB,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,EAAWkI,IAAG,gBAAAC,OAAkBozC,IAC9C/6C,EAAAC,EAAAC,cAAC6+F,EAADC,EAAA,GACMvzF,EACA7L,EAFN,CAGEwxB,aAAcA,EACdC,QAAS6sE,EAAc5sE,EAAautE,EACpCV,eAAgBM,EAAiBz3F,WAyCzC,OACEhH,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC84B,EAAA,EAADgmE,EAAA,CACEj9F,MAAOA,EACPE,YAAaA,EACb+mF,cAAeA,GACX3iF,IAGNrG,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,KACGgtE,EAAep2F,IArBtB,SAA0BqD,EAAMvE,GAAO,IAC7By1C,GAAalxC,GAAQ,IAArBkxC,SAER,OACE38C,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,wBAAAC,OAA0BT,IACpCoF,EAASb,GA5BhB,SAAwBkxC,EAAUlxC,GAChC,GAAI4C,IAAQsuC,GACV,OAAO,KAF6B,IAK9Bp5C,GAAOkI,GAAQ,IAAflI,GAGR,OAFqB,IAAG6tB,EAAaoD,QAASjxB,GAO5CvD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8nE,mBACpBroB,EAASv0C,IAAI,SAAA5F,GAAK,OAAI8J,EAAS0yF,EAAA,GAC3Bx8F,EAD0B,CAE7BhD,UAAWtC,IAAO4/C,QAClBgiD,YAAa,SAAAzuF,GAAK,OAAIsuF,EAAetuF,EAAO5E,UARzC,KAoBJwzF,CAAetiD,EAAUlxC,QAqBlC8yF,EAASt5F,aAAe,CACtBlD,MAAOyJ,IAAO0zF,SAASn9F,MACvBE,YAAauJ,IAAO0zF,SAASj9F,aAG/Bs8F,EAASp8F,UAAT,GAYeo8F,o/BCrHA,SAASY,EAAT5gG,GAA+C,IAAtB8T,EAAsB9T,EAAtB8T,SAAUzT,EAAYL,EAAZK,SAAYsQ,EAAAkwF,EACxBhwF,mBAAS,IADe,GACrDgC,EADqDlC,EAAA,GACzC8D,EADyC9D,EAAA,GAmB5D,OAZAe,oBAAU,WACRrR,GAJAoU,EAAc,KAKb,CAACpU,IAEJqR,oBAAU,WACRoC,EAASjB,IACR,CAACA,IAMG,CACLA,aACAiuF,iBANF,SAA0Bh5E,GACxBrT,EAAcqT,4BCLlB,SAASi5E,EAAT/gG,GAYG,IAXDwD,EAWCxD,EAXDwD,MACAE,EAUC1D,EAVD0D,YACAoQ,EASC9T,EATD8T,SACAw0C,EAQCtoD,EARDsoD,SACA04C,EAOChhG,EAPDghG,eACA3gG,EAMCL,EANDK,SACA0E,EAKC/E,EALD+E,QACAsZ,EAICre,EAJDqe,MACAuhD,EAGC5/D,EAHD4/D,eACAqe,EAECj+E,EAFDi+E,UACAgjB,EACCjhG,EADDihG,WAEMriF,EAAiB9c,IACrBzB,GAAY1B,IAAOuiG,eAGfC,EAAkBr/F,IACtBnD,IAAOoT,OACP1R,GAAY1B,IAAOuiG,eAPpBE,EAaGC,EAAiB,CACnBvtF,WACAzT,aAJAwS,EAXDuuF,EAWCvuF,WACAiuF,EAZDM,EAYCN,iBAMF,OAAK7iB,EAKHx8E,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC84B,EAAA,EAAD,CACEj3B,MAAOA,EACPE,YAAaA,EACb+mF,eAAa,EACbxpF,UAAW6M,IAAa04D,iBACxB1+D,eAAgBgG,IAAatK,MAC7Bw2C,WAAYinD,IAGb34C,GAAY7mD,EAAAC,EAAAC,cAACymD,EAAA,EAAD,CACXE,SAAUA,EACV04C,eAAgBA,EAChBltF,SAAUgtF,EACVzgG,SAAUA,EACV+1B,cAAevjB,EACfsjB,qBAAmB,EACnB7X,SAAUD,EACVuhD,eAAgBA,EAChB3+D,UAAW2d,KAGX0pC,GAAY7mD,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACZpZ,QAASA,EACT+O,SAAUgtF,EACVv/F,WAAYlB,EACZye,YAAave,cACb8d,MAAOA,EACPhb,MAAOwP,EACP5R,UAAWkgG,KAjCR,KAuCXJ,EAAcr6F,aAAe,CAC3Bk5D,gBAAgB,EAChBqe,WAAW,GAGb8iB,EAAcn9F,UAAd,GAyBem9F,2+BC/GA,SAASH,EAAT5gG,GAA+C,IAAtB8T,EAAsB9T,EAAtB8T,SAAUzT,EAAYL,EAAZK,SAAYsQ,EAAA2wF,EAClCzwF,mBAAS,IADyB,GACrDrN,EADqDmN,EAAA,GAC9C4wF,EAD8C5wF,EAAA,GAAA+I,EAAA4nF,EAE9BzwF,mBAAS,IAFqB,GAErDpN,EAFqDiW,EAAA,GAE5C8nF,EAF4C9nF,EAAA,GAkB5D,OARAhI,oBAAU,WACRrR,GAHsBkhG,EAAS,KAAOC,EAAW,KAIhD,CAACnhG,IAEJqR,oBAAU,WACRoC,EAAS,CAAEtQ,QAAOC,aACjB,CAACD,EAAOC,IAEJ,CACLg+F,UAAWj+F,EACXk+F,YAAaj+F,EACbk+F,cAjBoB,SAAAp8F,GAAA,IAAoBq8F,EAApBr8F,EAAGgC,OAAUlE,MAAb,OAAqCk+F,EAASK,IAkBlEC,gBAhBsB,SAAAp8F,GAAA,IAAoBq8F,EAApBr8F,EAAG8B,OAAUlE,MAAb,OAAuCm+F,EAAWM,4BCI5E,SAASC,EAAT/hG,GASG,IARDwD,EAQCxD,EARDwD,MACAE,EAOC1D,EAPD0D,YACAoQ,EAMC9T,EAND8T,SACAkuF,EAKChiG,EALDgiG,uBACAC,EAICjiG,EAJDiiG,qBACAhhG,EAGCjB,EAHDiB,UACAZ,EAECL,EAFDK,SACA49E,EACCj+E,EADDi+E,UACCikB,EAMGtB,EAAc,CAChB9sF,WACAzT,aANAohG,EAFDS,EAECT,UACAC,EAHDQ,EAGCR,YACAC,EAJDO,EAICP,cACAE,EALDK,EAKCL,gBAMF,IAAK5jB,EACH,OAAO,KAGT,IAAMkkB,EAAuBrgG,IAC3BzB,GAAY1B,IAAO0B,SACnB1B,IAAOyjG,YAGHlc,EAAoBpkF,IACxBzB,GAAY1B,IAAO0B,UAGfgiG,EAAoBvgG,IACxBnD,IAAO2jG,QACPrhG,GAGF,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWohG,GACd5gG,EAAAC,EAAAC,cAAC84B,EAAA,EAAD,CACEj3B,MAAOA,EACPE,YAAaA,EACb+mF,eAAa,EACbxpF,UAAW6M,IAAa04D,iBACxB1+D,eAAgBgG,IAAatK,QAG/B/B,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACExU,SAAUA,EACVyT,SAAU6tF,EACVt+F,MAAOo+F,EACPxgG,UAAWkhG,EACX1uF,UAAWwuF,IAGbxgG,EAAAC,EAAAC,cAAC4gG,EAAA,EAAD,CACEliG,SAAUA,EACVyT,SAAU+tF,EACVW,SAAU,CACR77F,MAAOq7F,GAET3+F,MAAOq+F,EACPzgG,UAAWilF,KAMnB6b,EAAWr7F,aAAe,CACxBs7F,uBAAwB,IACxBC,qBAAsB,IACtBhkB,WAAW,GAGb8jB,EAAWn+F,UAAX,GAWem+F,09BC/EAU,OAjBf,SAAAziG,GAA8D,IAArCgF,EAAqChF,EAArCgF,GAAI09F,EAAiC1iG,EAAjC0iG,oBAAqB5uF,EAAY9T,EAAZ8T,SAAYnD,EAAAgyF,EACpB9xF,mBAAS6xF,GADW,GACrD7vE,EADqDliB,EAAA,GACvCiyF,EADuCjyF,EAAA,GAW5D,MAAO,CACLkiB,eACAC,QAVF,SAAuBhhB,GAAO,IAAA+wF,EACa/wF,EAAMvK,OAAhCw6C,EADa8gD,EACpBx/F,MACF6J,EAFsB21F,EACC/7E,QACN,CAACi7B,GAAgBlvB,EAExC+vE,EAAgB11F,GAChB4G,EAAS9O,EAAIkI,2OCCjB,SAAS41F,GAAT9iG,GAOG,IANDinB,EAMCjnB,EANDinB,OACAnT,EAKC9T,EALD8T,SACAtQ,EAICxD,EAJDwD,MACAE,EAGC1D,EAHD0D,YACAq/F,EAEC/iG,EAFD+iG,gBACAtY,EACCzqF,EADDyqF,cAEMuY,EAAmBP,GAAc,CACrCz9F,GAAI,aACJ09F,oBAAqBz7E,EACrBnT,aAEIhM,EAAiB,CACrB7G,UAAWwpF,EAAgB9rF,IAAO6nE,iBAAmB7nE,IAAO6H,UAC5DsB,eAAgBnJ,IAAO6E,MACvBuzD,qBAAsBp4D,IAAO+E,aAG/B,OACEjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC84B,EAAA,EAADwoE,GAAA,CACEz/F,MAAOA,EACPE,YAAaA,EACb+mF,cAAeA,GACX3iF,IAGNrG,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,KACG8vE,EAAgBl5F,IAAI,SAACqD,EAAMvE,GAAP,OACnBlH,EAAAC,EAAAC,cAAC6+F,EAADyC,GAAA,CACE95F,IAAG,eAAAC,OAAiBT,IAChBuE,EACA81F,EAHN,CAIE7iG,KAAK,eAQjB2iG,GAAWp8F,aAAe,CACxBlD,MAAOyJ,IAAOi2F,WAAW1/F,MACzBE,YAAauJ,IAAOi2F,WAAWx/F,aAGjCo/F,GAAWl/F,UAAX,GAYek/F,iDCjEf,SAASK,GAATnjG,GAKG,IAJDojG,EAICpjG,EAJDojG,iBACAtvF,EAGC9T,EAHD8T,SACAikF,EAEC/3F,EAFD+3F,QACA10F,EACCrD,EADDqD,MAUA,OARAqO,oBAAU,WACRqmF,GAAWA,KACV,IAEHrmF,oBAAU,YACP0xF,GAAoBrL,GAAWA,KAC/B,CAACqL,IAECA,EAKH3hG,EAAAC,EAAAC,cAACqY,GAAA,EAAD,CACExG,KAAK,kBACLE,YAAY,GACZI,SAAUA,EACVzQ,MAAOA,IARF,KAaX8/F,GAAgBv/F,UAAhB,GAOeu/F,+OC1Bf,SAASE,GAATrjG,GAUG,IATDinB,EASCjnB,EATDinB,OACAnT,EAQC9T,EARD8T,SACAtQ,EAOCxD,EAPDwD,MACAE,EAMC1D,EAND0D,YACA4/F,EAKCtjG,EALDsjG,yBACAriG,EAICjB,EAJDiB,UACA6G,EAGC9H,EAHD8H,eACAy7F,EAECvjG,EAFDujG,qBACA9Y,EACCzqF,EADDyqF,cAEMuY,EAAmBpwE,YAAgB,gBAAiB3L,EAAQnT,GAC5D0vF,EAAkB,CACtBviG,UAAWwpF,EAAgB9rF,IAAO6nE,iBAAmB7nE,IAAO6H,UAC5DsB,eAAgBhG,IAAWnD,IAAO6E,MAAOsE,GACzCivD,qBAAsBp4D,IAAO+E,aAG/B,OACEjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC84B,EAAA,EAADgpE,GAAA,CACEjgG,MAAOA,EACPE,YAAaA,EACb+mF,cAAeA,GACX+Y,IAGN/hG,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CAAYhyB,UAAWA,GACpB4I,KAAIy5F,EAA0B,SAAAp2F,GAAI,OACjCzL,EAAAC,EAAAC,cAAC6+F,EAADiD,GAAA,GACMv2F,EACA81F,EAFN,CAGE75F,IAAK+D,EAAK1J,YAKhB/B,EAAAC,EAAAC,cAAC+hG,GAAoBH,IAK3BF,GAAc38F,aAAe,CAC3BlD,MAAOyJ,IAAO02F,cAAcngG,MAC5BE,YAAauJ,IAAO02F,cAAcjgG,aAGpC2/F,GAAcz/F,UAAd,GAoBey/F,iSCvEf,SAASO,GAAT5jG,GAUG,IATDm+F,EASCn+F,EATDm+F,cACAE,EAQCr+F,EARDq+F,iBACAE,EAOCv+F,EAPDu+F,oBACAE,EAMCz+F,EANDy+F,mBACAv9F,EAKClB,EALDkB,UACAoV,EAICtW,EAJDsW,YACAg4B,EAGCtuC,EAHDsuC,QACAu1D,EAEC7jG,EAFD6jG,gBACAC,EACC9jG,EADD8jG,SAEMpjG,EAAaQ,GAAaO,EAAAC,EAAAC,cAACO,GAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQ4B,UAAQ,IAe3E,OACEV,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOolG,iBACrBtiG,EAAAC,EAAAC,cAAC5B,GAAA,EAAD,CAAQkB,UAAWtC,KAAOqlG,aAAcvjG,KAAK,QAAQF,MAAM,QAAQN,QAASqW,GAA5E,UAIA7U,EAAAC,EAAAC,cAAC5B,GAAA,EAAD,CAAQU,KAAK,QAAQR,QAnBzB,WACM6P,IAAQquF,GACVna,KAAcigB,oBAEdH,EAASI,GAAA,GACJzF,EADG,CAENkC,SAAUxC,EACV+E,WAAY7E,EACZsF,cAAepF,IACdjwD,EAASu1D,EAAiBvtF,IAUejW,SAAUa,EAAWR,WAAYA,GAA7E,WAONkjG,GAAQhgG,UAAR,GAYeggG,sECpDf,SAASO,GAATnkG,GAAmD,IAA1BsuC,EAA0BtuC,EAA1BsuC,QAAS81D,EAAiBpkG,EAAjBokG,cAC1B31D,EAAc1Z,OAAS0X,OAAOiC,MAEpC,OACEjtC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwN,QACrB1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0lG,UAAWxqE,IAAKyU,EAASxU,IAAI,gBAEpDr4B,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAO8vC,aAArB,WAA2CA,EAA3C,KACAhtC,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAO6E,OAAQ4gG,MAOxCD,GAAcz9F,aAAe,CAC3B4nC,QAASM,MAGXu1D,GAAcvgG,UAAd,GAKeugG,0nBChBf,SAASG,GAATtkG,GAaG,IAZDkB,EAYClB,EAZDkB,UACAmV,EAWCrW,EAXDqW,YACAC,EAUCtW,EAVDsW,YACAtV,EASChB,EATDgB,SACA8iG,EAQC9jG,EARD8jG,SACAS,EAOCvkG,EAPDukG,mBACA5G,EAMC39F,EAND29F,qBACAE,EAKC79F,EALD69F,2BACAG,EAICh+F,EAJDg+F,wBACAz9F,EAGCP,EAHDO,MACAU,EAECjB,EAFDiB,UACAgW,EACCjX,EADDiX,cACCutF,EAKGC,YAAmB,CAAEpuF,gBAHvBwtF,EAFDW,EAECX,gBACAa,EAHDF,EAGCE,gBACAxG,EAJDsG,EAICtG,eAJDyG,EAaGlH,EAAe,CACjBpnF,cACAsnF,uBACAE,6BACAG,0BACAE,mBAVAc,EARD2F,EAQC3F,mBACAE,EATDyF,EASCzF,sBACAE,EAVDuF,EAUCvF,iBACAE,EAXDqF,EAWCrF,oBACGr4E,EAZJ29E,GAAAD,EAAA,yFAAAE,EAyBGC,YAAe,CAAEP,qBAAoBluF,gBAHvC0uF,EAtBDF,EAsBCE,eACAC,EAvBDH,EAuBCG,cACA12D,EAxBDu2D,EAwBCv2D,QAGI22D,EACJxjG,EAAAC,EAAAC,cAACujG,GAADC,GAAA,GACMl+E,EADN,CAEE48E,gBAAiBA,EACjBv1D,QAASA,EACTptC,UAAWA,GAAa8jG,EACxBlB,SAAUA,EACVxtF,YAAaA,KAIjB,OACE7U,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAM,iBACNyR,OAAQoB,EACRP,WAAYQ,EACZrV,UAAWa,IAAWnD,KAAOsX,MAAOhV,GACpCgW,cAAeA,EACfvB,QAASuvF,EACT1kG,MAAOA,GAEPkB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOymG,gBACpBpkG,EAAS,CACRg+F,qBACAE,wBACAE,mBACAE,sBACAoF,kBACAxG,iBACA2F,kBACAkB,iBACAC,gBACA12D,oPAOVg2D,GAAY59F,aAAe,CACzBnG,MAAO,cAGT+jG,GAAY1gG,UAAZ,GAyBe0gG,4BC9HfhqF,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAA5kF,UAAA,mCAAAhD,MAAA,+BAAA03B,WAAA,oCAAAvsB,OAAA,gCAAA1M,KAAA,8BAAA23B,iBAAA,0CAAAK,iBAAA,0CAAAF,UAAA,mCAAAa,WAAA,oCAAAF,cAAA,2DCAlBpgB,EAAAC,QAAA,CAAkBtb,KAAA,8BAAA0E,KAAA,8BAAA0hG,gBAAA,yCAAAzjC,OAAA,gCAAA0jC,QAAA,iCAAAryD,UAAA,mCAAAzvC,MAAA,+BAAAE,YAAA,uDCAlB4W,EAAAC,QAAA,CAAkBgrF,WAAA,oCAAAC,gBAAA,yCAAA93E,QAAA,iCAAA+3E,eAAA,wCAAA5rF,KAAA,8BAAA6rF,WAAA,oCAAArZ,SAAA,kCAAAp/C,OAAA,gCAAA9d,UAAA,qDCAlB7U,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAzvD,QAAA,iCAAAkiG,WAAA,oCAAAC,QAAA,iCAAAv4F,KAAA,8BAAAw4F,SAAA,kCAAAC,kBAAA,2CAAAC,YAAA,qCAAAC,WAAA,oCAAAlxE,KAAA,8BAAAvK,gBAAA,yCAAA6G,SAAA,iECDX,IAQM60E,EAAwB,SAAAC,GAAO,MAAK,CAC/CC,KAAM,CACJ3yF,KAAM0yF,EAAQC,KAAKhuF,UACnBwpD,SAAUukC,EAAQC,KAAKC,gBACvBphG,GAAIkhG,EAAQC,KAAKnhG,GACjB86C,MAAOomD,EAAQC,KAAKrmD,OAEtBr8C,QAASyiG,EAAQ56F,KACjBtG,GAAIkhG,EAAQlhG,GACZqhG,aAAcH,EAAQI,eAAiB,EACvCv9D,UAAWm9D,EAAQK,qBChBRC,EAA0B,SAAChhG,GAGtC,MAFAihG,YAAkB,0CAAlBA,GAEMjhG,GCCKkhG,EAAgB,SAAA1mG,GAKvB,IAJJ2mG,EAII3mG,EAJJ2mG,SACAC,EAGI5mG,EAHJ4mG,WACAC,EAEI7mG,EAFJ6mG,gBAKM73E,EAHFhvB,EADJ8mG,sBANmB,IADJ,EAaTlhG,EAAO,CACXwS,UAAWuuF,EACXI,YAAaH,EACbI,kBAAmBH,GAAmB9xE,OAAO8xE,GAAiBI,cAC9DhjC,SAAUj1C,GAENxW,EAAOC,EAAED,KAAK,CAAEE,IAVV,oBAUeC,OATZ,MASoB/S,SAEnC,OAAOmT,QAAQC,QAAQR,GAAhB,MACEguF,IAGEU,EAAc,SAAChB,GAC1B,IAEMtgG,EF/B6B,SAAAsgG,GAAO,MAC1C,CACE9tF,UAAW8tF,EAAQS,SACnBI,YAAab,EAAQU,WACrBt7F,KAAM46F,EAAQ56F,KAAKyE,QE2BRo3F,CAAsBjB,GAE7B1tF,EAAOC,EAAED,KAAK,CAClBE,IALU,oBAMVC,OALa,OAMb/S,KAAMgT,KAAKC,UAAUjT,GACrBkT,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GAAhB,MACEguF,IAGEY,EAAgB,SAAA7hG,GAAkB,IAAfP,EAAeO,EAAfP,GAAIsG,EAAW/F,EAAX+F,KAC5BoN,EAAG,qBAAAtP,OAAwBpE,GAE3BY,EAAO,CAAE0F,QAETkN,EAAOC,EAAED,KAAK,CAClBE,MACAC,OALa,MAMb/S,KAAMgT,KAAKC,UAAUjT,GACrBkT,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GAAhB,MACEguF,IAGEa,EAAgB,SAACriG,GAC5B,IAAM0T,EAAG,qBAAAtP,OAAwBpE,GAG3BwT,EAAOC,EAAED,KAAK,CAClBE,MACAC,OAJa,SAKbG,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GAAhB,MACEguF,IClEEc,EAAe,SAAAtnG,GAAyD,IAAtD2mG,EAAsD3mG,EAAtD2mG,SAAUE,EAA4C7mG,EAA5C6mG,gBAAiBU,EAA2BvnG,EAA3BunG,qBAClD7uF,EAAG,qBAAAtP,OAAwBu9F,EAAxB,YAEH33E,EAAUu4E,EALG,IADJ,EAOT3hG,EAAO,CACXohG,kBAAmBH,GAAmB9xE,OAAO8xE,GAAiBI,cAC9DhjC,SAAUj1C,GAENxW,EAAOC,EAAED,KAAK,CAAEE,MAAKC,OANZ,MAMoB/S,SAEnC,OAAOmT,QAAQC,QAAQR,GAAhB,MACEguF,IAGEgB,EAAY,SAACb,EAAUr7F,GAClC,IAAMoN,EAAG,qBAAAtP,OAAwBu9F,EAAxB,YAEH/gG,EAAO,CAAE0F,QAETkN,EAAOC,EAAED,KAAK,CAClBE,MACAC,OALa,OAMb/S,KAAMgT,KAAKC,UAAUjT,GACrBkT,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GAAhB,MACEguF,IAGEiB,EAAc,SAACd,EAADphG,GAA4B,IAAfP,EAAeO,EAAfP,GAAIsG,EAAW/F,EAAX+F,KACpCoN,EAAG,qBAAAtP,OAAwBu9F,EAAxB,aAAAv9F,OAA4CpE,GAE/CY,EAAO,CAAE0F,QAETkN,EAAOC,EAAED,KAAK,CAClBE,MACAC,OALa,MAMb/S,KAAMgT,KAAKC,UAAUjT,GACrBkT,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GAAhB,MACEguF,IAGEkB,EAAc,SAACf,EAAU3hG,GACpC,IAAM0T,EAAG,qBAAAtP,OAAwBu9F,EAAxB,aAAAv9F,OAA4CpE,GAG/CwT,EAAOC,EAAED,KAAK,CAClBE,MACAC,OAJa,SAKbG,YAAa,qBAGf,OAAOC,QAAQC,QAAQR,GAAhB,MACEguF,IC9DXjkG,EAAAC,EAAAC,EAAA,sBAAAklG,IAAAplG,EAAAC,EAAAC,EAAA,sBAAAmlG,IAAArlG,EAAAC,EAAAC,EAAA,sBAAAolG,IAAAtlG,EAAAC,EAAAC,EAAA,sBAAAqlG,IAAAvlG,EAAAC,EAAAC,EAAA,sBAAAslG,IAAAxlG,EAAAC,EAAAC,EAAA,sBAAAulG,IAAAzlG,EAAAC,EAAAC,EAAA,sBAAAwlG,IAAA1lG,EAAAC,EAAAC,EAAA,sBAAAylG,IAAA3lG,EAAAC,EAAAC,EAAA,sBAAAwjG,qBCCA3rF,EAAAC,QAAA,CAAkBpM,UAAA,mCAAAC,SAAA,kCAAAzK,KAAA,8BAAAF,QAAA,iCAAA4K,MAAA,+BAAA/C,KAAA,8BAAAoD,UAAA,mCAAAJ,OAAA,gCAAAwmB,KAAA,8BAAAlmB,MAAA,+BAAAH,aAAA,sCAAAjL,MAAA,+BAAA+K,SAAA,kCAAAC,QAAA,iCAAAG,OAAA,iECAlB2L,EAAAC,QAAA,CAAkB4tF,oBAAA,6CAAAC,WAAA,oCAAAC,YAAA,qCAAAC,kBAAA,2CAAAC,kBAAA,2CAAAC,wBAAA,iDAAAC,eAAA,iECAlBnuF,EAAAC,QAAA,CAAkB/U,MAAA,+BAAAkO,YAAA,qCAAAlQ,MAAA,+BAAA8H,KAAA,8BAAA9E,UAAA,mCAAAkiG,SAAA,kCAAAC,eAAA,wCAAAhoG,cAAA,uCAAAmH,eAAA,wCAAAivD,qBAAA,8CAAA6xC,OAAA,sDCAlBtuF,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAuH,UAAA,mCAAA7C,KAAA,8BAAAklG,WAAA,oCAAAC,WAAA,oCAAArlG,QAAA,iCAAAH,MAAA,+BAAAylG,eAAA,wCAAAC,UAAA,mCAAAnvF,KAAA,8BAAAqgE,QAAA,iCAAAtgB,SAAA,kCAAAztD,OAAA,gCAAA9I,MAAA,+BAAA82E,KAAA,8BAAA8uB,KAAA,8BAAAC,gBAAA,2DCAlB5uF,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAA5kF,UAAA,mCAAA2iG,eAAA,wCAAAC,QAAA,iCAAAn5E,SAAA,kCAAA7vB,OAAA,gCAAAipG,aAAA,sCAAAC,wBAAA,iDAAAC,sBAAA,+CAAA9lG,QAAA,iCAAA+lG,wBAAA,iDAAAvkG,YAAA,qCAAAwkG,WAAA,sDCAlBnvF,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA+b,KAAA,8BAAAmnF,SAAA,kCAAArmG,MAAA,+BAAAsmG,OAAA,gCAAAv2F,QAAA,mDCAlBkH,EAAAC,QAAA,CAAkBmI,cAAA,oBAAAE,kBAAA,+CAAAmB,sBAAA,UAAAg7C,wBAAA,YAAA97C,oBAAA,cAAAe,iBAAA,MAAAU,yBAAA,UAAAG,sBAAA,UAAAD,YAAA,UAAA7B,oBAAA,OAAAK,yBAAA,OAAAD,YAAA,kICCEpY,IAAU6tD,MAAM,CAClCl1D,YAAaqH,IAAU8E,OAAOwmB,WAC9B2S,UAAWj+B,IAAU8E,OAAOwmB,WAC5B6S,MAAOn+B,IAAU8E,OAAOwmB,WACxBtxB,QAASgG,IAAUiuD,QAAQjuD,IAAU8E,QACrCs5B,SAAUp+B,IAAU48D,KAAKtxC,aCLNtrB,IAAU6tD,MAAM,CACnCpzD,MAAOuF,IAAU8E,OACjBxM,MAAO0H,IAAU4E,uBCFJ,SAASi6F,IAAkC,IAAZvmG,EAAY6N,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACpD,OAAOpB,IAAQzM,GAAS,GAAKA,EAAM,sOCHtB,SAASwmG,EAAqB/3F,EAAOg4F,GAGlD,OAAAloG,EAAA,GACKkQ,EADL,CAEEvK,OAAM3F,EAAA,GAJWkQ,EAAXvK,OAIA,GAEDuiG,8DCGT,SAAStc,EAATxtF,GAA8C,IAAlByD,EAAkBzD,EAAlByD,QAASlD,EAASP,EAATO,MACnC,OAAKkD,EAKHhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8sF,SACrBhqF,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAASA,EACTlD,MAAOA,EACPuJ,UAAU,SACVkkF,OAAQC,IACR7pE,OAAQ2lF,iBAERtoG,EAAAC,EAAAC,cAACgpB,EAAA,EAAD,CAAc1pB,UAAWtC,IAAOqrG,gBAZ7B,KAkBXxc,EAAiB5pF,UAAjB,GAKe4pF,ytBCrBf,IAAMyc,GAAU/2F,EAAAg3F,EAAA,GACbriE,IAAoB,UADP30B,EAAAg3F,EAEbviE,IAAkB,QAFLuiE,GAKD,SAASC,EAATnqG,GAA2F,IAAnEoqG,EAAmEpqG,EAAnEoqG,MAAO9lF,EAA4DtkB,EAA5DskB,MAAOxQ,EAAqD9T,EAArD8T,SAAUJ,EAA2C1T,EAA3C0T,YAAaunF,EAA8Bj7F,EAA9Bi7F,aAAiB55F,EAAaC,EAAAtB,EAAA,2DAChGkpC,EAAkDkhE,EAAlDlhE,MAAOxlC,EAA2C0mG,EAA3C1mG,YAAaslC,EAA8BohE,EAA9BphE,UAAWx1B,EAAmB42F,EAAnB52F,KAAM21B,EAAaihE,EAAbjhE,SACrC9lC,EAAiBihB,EAAjBjhB,MAAOmC,EAAU8e,EAAV9e,MACTrF,EAAO8pG,EAAWjhE,IAAcihE,EAAWtiE,KAC3C0iE,EAAeT,EAAsBvmG,GAW3C,OACE5B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOC,QAASknB,GACb11B,EADH,IACS/R,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM/f,IACvB1nC,EAAAC,EAAAC,cAACgkC,EAAD,CAASliC,QAASC,EAAanD,MAAO06F,KAExCx5F,EAAAC,EAAAC,cAACkT,EAAA,EAADy1F,EAAA,GACMjpG,EADN,CAEEkT,aAAc/O,EACdnC,MAAOgnG,EACP32F,YAAaA,EACbvT,KAAMA,EACN2T,SArBN,SAAsBhC,GAAO,IAIrBy4F,EAAkBV,EAAqB/3F,EAD7B,CAAEzO,MADD,CADEyO,EAAXvK,OACiBlE,OACU2B,GAAIkkC,IAGvCp1B,EAASy2F,QAqBbJ,EAAavmG,UAAb,04CCrCe,SAAS4mG,EAATxqG,GAAiF,IAAtDoqG,EAAsDpqG,EAAtDoqG,MAAO9lF,EAA+CtkB,EAA/CskB,MAAOxQ,EAAwC9T,EAAxC8T,SAAUmnF,EAA8Bj7F,EAA9Bi7F,aAAiB55F,EAAaopG,EAAAzqG,EAAA,6CACtF0D,EAAgD0mG,EAAhD1mG,YAAawlC,EAAmCkhE,EAAnClhE,MAAOnkC,EAA4BqlG,EAA5BrlG,QAASyO,EAAmB42F,EAAnB52F,KAAM21B,EAAaihE,EAAbjhE,SACnC9lC,EAAiBihB,EAAjBjhB,MAAOmC,EAAU8e,EAAV9e,MAETklG,EAAY,SAAArmF,GAAM,WAAIhhB,EAAM4yB,QAAS5R,IAU3C,SAASrS,EAAaF,GAAO,IAJVuS,EAKT9c,EAAWuK,EAAXvK,OACOugB,EAAsBvgB,EAA7BlE,MACF4jB,EAD+B1f,EAAZuf,SANRzC,EAOkByD,EANnC,GAAA1e,OAAA6W,EAAW5c,GAAX,CAAkBghB,KALpB,SAAsBA,GACpB,OAAOhhB,EAAM4M,OAAO,SAAA/C,GAAI,OAAIA,IAASmX,IAUUsmF,CAAa7iF,GACtDyiF,EAAkBV,EAAqB/3F,EAAO,CAAE9M,GAAIkkC,EAAO7lC,MAAO4jB,IAExEnT,EAASy2F,GAGX,OACE9oG,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOC,QAASknB,GACb11B,EADH,IACS/R,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM/f,IACvB1nC,EAAAC,EAAAC,cAACgkC,EAAD,CAASliC,QAASC,EAAanD,MAAO06F,KAExCx5F,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CAAYpkB,mBAAoBlQ,IAAOoG,SAEnCA,EAAQ8E,IAAI,SAAAwa,GAAM,OAChB5iB,EAAAC,EAAAC,cAAC6kB,EAAA,EAADokF,EAAA,GACMvpG,EADN,CAEE8H,IAAG,YAAAC,OAAcib,GACjB/gB,MAAO+gB,EACPhhB,MAAOghB,EACPoC,UAAWikF,EAAUrmF,GACrBvQ,SAAU9B,QAKlBvQ,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAASrR,KAK7BglG,EAAgB5mG,UAAhB,umBChDe,SAASinG,EAAT7qG,GAAiF,IAAtDoqG,EAAsDpqG,EAAtDoqG,MAAO9lF,EAA+CtkB,EAA/CskB,MAAOxQ,EAAwC9T,EAAxC8T,SAAUmnF,EAA8Bj7F,EAA9Bi7F,aAAiB55F,EAAaypG,EAAA9qG,EAAA,6CACtFkpC,EAAgDkhE,EAAhDlhE,MAAOxlC,EAAyC0mG,EAAzC1mG,YAAaqB,EAA4BqlG,EAA5BrlG,QAASyO,EAAmB42F,EAAnB52F,KAAM21B,EAAaihE,EAAbjhE,SACnC9lC,EAAiBihB,EAAjBjhB,MAAOmC,EAAU8e,EAAV9e,MAETklG,EAAY,SAAArmF,GAAM,WAAIhhB,EAAM4yB,QAAS5R,IAE3C,SAASrS,EAAaF,GAAO,IAEZgW,EADIhW,EAAXvK,OACAlE,MAEFknG,EAAkBV,EAAqB/3F,EADvB,CAAE9M,GAAIkkC,EAAO7lC,MAAO,CAACykB,KAG3ChU,EAASy2F,GAGX,OACE9oG,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOC,QAASknB,GACb11B,EADH,IACS/R,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM/f,IACvB1nC,EAAAC,EAAAC,cAACgkC,EAAD,CAASliC,QAASC,EAAanD,MAAO06F,KAExCx5F,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CAAYpkB,mBAAoBlQ,IAAOoG,SAEnCA,EAAQ8E,IAAI,SAAAwa,GAAM,OAChB5iB,EAAAC,EAAAC,cAACq8B,EAAA,EAAD+sE,EAAA,GACM1pG,EADN,CAEE8H,IAAG,aAAAC,OAAeib,GAClB/gB,MAAO+gB,EACPhhB,MAAOghB,EACPyC,QAAS4jF,EAAUrmF,GACnBvQ,SAAU9B,QAKlBvQ,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAASrR,KAK7BqlG,EAAgBjnG,UAAhB,umBC1Ce,SAASonG,EAAThrG,GAAiF,IAAtDoqG,EAAsDpqG,EAAtDoqG,MAAO9lF,EAA+CtkB,EAA/CskB,MAAOxQ,EAAwC9T,EAAxC8T,SAAUmnF,EAA8Bj7F,EAA9Bi7F,aAAiB55F,EAAa4pG,EAAAjrG,EAAA,6CACtFkpC,EAAuCkhE,EAAvClhE,MAAOxlC,EAAgC0mG,EAAhC1mG,YAAa8P,EAAmB42F,EAAnB52F,KAAM21B,EAAaihE,EAAbjhE,SAC1B9lC,EAAiBihB,EAAjBjhB,MAAOmC,EAAU8e,EAAV9e,MACT6kG,EAAeT,EAAsBvmG,GAW3C,OACE5B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOC,QAASknB,GACb11B,EADH,IACS/R,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM/f,IACvB1nC,EAAAC,EAAAC,cAACgkC,EAAD,CAASliC,QAASC,EAAanD,MAAO06F,KAExCx5F,EAAAC,EAAAC,cAACqY,EAAA,EAADkxF,EAAA,GACM7pG,EADN,CAEEgC,MAAOgnG,EACP32F,YAAY,GACZa,aAAc/O,EACdsO,SApBN,SAAsBhC,GAAO,IAIrBy4F,EAAkBV,EAAqB/3F,EADvB,CAAEzO,MADP,CADEyO,EAAXvK,OACiBlE,OACgB2B,GAAIkkC,IAG7Cp1B,EAASy2F,QAoBbS,EAAgBpnG,UAAhB,yCCxCeunG,EAAA,SAAU9nG,GACvB,MAAqB,kBAAVA,EACF0xB,IAAO1xB,EAAOqrC,KAGhBrrC,2lBCMM,SAAS+nG,GAATprG,GAA6E,IAAtDoqG,EAAsDpqG,EAAtDoqG,MAAO9lF,EAA+CtkB,EAA/CskB,MAAOxQ,EAAwC9T,EAAxC8T,SAAUmnF,EAA8Bj7F,EAA9Bi7F,aAAiB55F,EAAagqG,GAAArrG,EAAA,6CAClF0D,EAAuC0mG,EAAvC1mG,YAAawlC,EAA0BkhE,EAA1BlhE,MAAO11B,EAAmB42F,EAAnB52F,KAAM21B,EAAaihE,EAAbjhE,SAC1B9lC,EAAiBihB,EAAjBjhB,MAAOmC,EAAU8e,EAAV9e,MACT8lG,EAAgBH,EAAmB9nG,EAAM,IAS/C,OACE5B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOC,QAASknB,GACb11B,EADH,IACS/R,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM/f,IACvB1nC,EAAAC,EAAAC,cAACgkC,EAAD,CAASliC,QAASC,EAAanD,MAAO06F,KAExCx5F,EAAAC,EAAAC,cAACkuF,EAAA,EAAD0b,EAAA,GACMlqG,EADN,CAEEwhC,SAAUyoE,EACVx3F,SAhBN,SAAsBghB,GACpB,IAAM02E,EAAa12E,GAAQC,OAAOD,GAAM2X,OAAOiC,KACzC67D,EAAkBV,EAAqB,GAAI,CAAE7kG,GAAIkkC,EAAO7lC,MAAO,CAACmoG,KAEtE13F,EAASy2F,OAcP9oG,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAASrR,KAK7B4lG,GAAYxnG,UAAZ,0BC9BA,SAAS6nG,GAATzrG,GAAgG,IAAxEoqG,EAAwEpqG,EAAxEoqG,MAAO9lF,EAAiEtkB,EAAjEskB,MAAO22E,EAA0Dj7F,EAA1Di7F,aAAc18E,EAA4Cve,EAA5Cue,OAAQzK,EAAoC9T,EAApC8T,SAAU7S,EAA0BjB,EAA1BiB,UAAWyS,EAAe1T,EAAf0T,YACvEw1B,EAAqDkhE,EAArDlhE,MAAO11B,EAA8C42F,EAA9C52F,KAAM21B,EAAwCihE,EAAxCjhE,SAAUzlC,EAA8B0mG,EAA9B1mG,YAD+DgoG,EACjCtB,EAAjBrlG,eADkD,IAAA2mG,EACxC,GADwCA,EAyBxFrB,EAAeT,EAAsBtlF,EAAMjhB,OAEjD,OACE5B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,KACGvO,EADH,IACS/R,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM/f,IACvB1nC,EAAAC,EAAAC,cAACgkC,EAAD,CAASliC,QAASC,EAAanD,MAAO06F,KAExCx5F,EAAAC,EAAAC,cAACwc,GAAA,EAAD,CACEld,UAAWA,EACXsT,aAAc+P,EAAM9e,MACpBnC,MAAOgnG,EACP32F,YAAaA,EACbI,SAnCe,SAAChC,GACpB,IAAMy4F,EAAkB,CACtBhjG,OAAQ,CACNvC,GAAIkkC,EACJ7lC,MAAOyO,GAAS,CAACA,EAAMzO,SAI3ByQ,EAASy2F,IA4BLhsF,OAzBa,SAACzM,GAClB,IAAMy4F,EAAkB,CACtBhjG,OAAQ,CACNvC,GAAIkkC,EACJ7lC,MAAO,CAACyO,EAAMzO,SAIlBkb,EAAOgsF,IAkBHvlG,GAAIkkC,EACJnkC,QAASA,EAAQ8E,IAAI,SAAAwa,GAAM,MAAK,CAAE/gB,MAAO+gB,EAAQhhB,MAAOghB,KACxDvF,YAAai2D,aAAS,CAAEjgE,QAASwP,EAAM9e,WAM/CimG,GAAa7nG,UAAb,GAUe6nG,omBCnDA,SAASE,GAAT3rG,GAMZ,IALDoqG,EAKCpqG,EALDoqG,MACAwB,EAIC5rG,EAJD4rG,aACAC,EAGC7rG,EAHD6rG,SACAltG,EAECqB,EAFDrB,OACG0C,EACFyqG,GAAA9rG,EAAA,8CACOgpC,EAAqBohE,EAArBphE,UAAWE,EAAUkhE,EAAVlhE,MACX6iE,EAA+BptG,EAA/BotG,aAAcC,EAAiBrtG,EAAjBqtG,aAEhB93F,EAAW+3F,GAAA,CACfn4F,SAFmC+3F,EAA7B75F,aAGNuM,OAHmCstF,EAAfK,WAIpBjrG,UAAW8qG,EACXv4F,KAAM01B,EACN5kB,MAAOsnF,EACPxB,SACG/oG,GAyBL,OACEI,EAAAC,EAAAC,cAAA,OAAKwH,IAAK+/B,EAAOjoC,UAAW+qG,GAvB9B,WACE,OAAQhjE,GACN,KAAKvB,IACH,OAAOhmC,EAAAC,EAAAC,cAAC6oG,EAAoBt2F,GAE9B,KAAKwzB,IACH,OAAOjmC,EAAAC,EAAAC,cAACkpG,EAAoB32F,GAE9B,KAAK0zB,IACH,OAAOnmC,EAAAC,EAAAC,cAACqpG,EAAoB92F,GAE9B,KAAK4zB,IACH,OAAOrmC,EAAAC,EAAAC,cAACypG,GAAgBl3F,GAE1B,KAAK6zB,IACH,OAAOtmC,EAAAC,EAAAC,cAACwqG,GAAiBj4F,GAE3B,QACE,OAAOzS,EAAAC,EAAAC,cAACwoG,EAAiBj2F,IAM1Bk4F,qCAKPT,GAAYjlG,aAAe,CACzB/H,OAAQ,IAGVgtG,GAAY/nG,UAAZ,iCCzEA,IAAAwd,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAqsE,EAAAlrF,EAAA,GAAAmrF,EAAAnrF,EAAAsI,EAAA4iF,GAAA4e,EAAA9pG,EAAA,GAAA+pG,EAAA/pG,EAAA,KAAAA,EAAAC,EAAAC,EAAA,sBAAA6pG,EAAA,QAAAC,EAAAhqG,EAAA,MAAAiqG,EAAAjqG,EAAAsI,EAAA0hG,GA8CeE,IA9BmC,SAAAzsG,GAM5C,IAAA0sG,EAAA1sG,EALJwD,aAKI,IAAAkpG,EALI,kBAKJA,EAJJzrG,EAIIjB,EAJJiB,UACAN,EAGIX,EAHJW,cACAo2D,EAEI/2D,EAFJ+2D,qBACA41C,EACI3sG,EADJ2sG,aAQA,OACEtrF,EAAA3f,EAAAC,cAAC0qG,EAAA,EAAD,CACE9rG,MAAM,UACNE,KAAK,OACLQ,UAAWa,IAAWnD,IAAOyB,OAAQa,GACrChB,QAXsB,WAAM,IAAA2sG,EAC9BD,EAAY,QAAAC,EACRD,EAAar7F,eADL,IAAAs7F,GACRA,EAAsBxsE,SAAS,CAAEC,IAAK,EAAGE,SAAU,WACnDJ,OAAOC,SAAS,CAAEC,IAAK,EAAGE,SAAU,aAUtClf,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOsD,KAAMtB,IACtC0gB,EAAA3f,EAAAC,cAAA,KAAGV,UAAU,yBAEfogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO+E,YAAaqzD,IAC5CvzD,uVC/BT,SAASwxB,EAATh1B,GAeG,IAdDwD,EAcCxD,EAdDwD,MACAkQ,EAaC1T,EAbD0T,YACA2gB,EAYCr0B,EAZDq0B,WACAY,EAWCj1B,EAXDi1B,UACA43E,EAUC7sG,EAVD6sG,aACA33E,EASCl1B,EATDk1B,QACA43E,EAQC9sG,EARD8sG,mBACAC,EAOC/sG,EAPD+sG,iBACA33E,EAMCp1B,EANDo1B,gBACAD,EAKCn1B,EALDm1B,kBACAl0B,EAICjB,EAJDiB,UACAqzB,EAGCt0B,EAHDs0B,kBACAC,EAECv0B,EAFDu0B,iBACAy4E,EACChtG,EADDgtG,gBAEMC,EAAoB,SAAAn4E,GAAI,OAAKA,GAAQA,EAAKsuD,OAAStuD,EAAKsuD,SAAWtuD,GACnEo4E,EAAUD,EAAkB/3E,GAAW23E,GACvCM,EAAUF,EAAkBh4E,GAC5B/gB,EAAc,CAClBmgB,aACAY,UAAWg4E,EAAkBh4E,GAC7BC,QAAS+3E,EAAkB/3E,GAC3BxhB,cACA4gB,oBACAC,oBAGI64E,EAAiB75F,sBAOvB,OACE8N,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAW,aAAcnD,IAAO0uG,UAAWpsG,IACxDuC,GAAS6d,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAW,QAASnD,IAAO2M,OAAQ9H,GAC9D6d,EAAA3f,EAAAC,cAAC2rG,EAAA,EAAD1rG,EAAA,CACE2rG,cAAY,EACZ1qE,SAAU5N,EACVi4E,QAASA,EACTp5F,SAZN,SAAuBghB,GACrBK,EAAkBL,GAClBk4E,GAAmBI,EAAe97F,QAAQk8F,SAAQ,IAW9CC,gBAAgB,eAChBxsG,UAAWa,IAAWnD,IAAOs2B,UAAW63E,IACpC54F,IAENmN,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAO2M,MAAxB,MACA+V,EAAA3f,EAAAC,cAAC2rG,EAAA,EAAD1rG,EAAA,CACEihC,SAAU3N,EACVw4E,YAAU,EACV55F,SAAUshB,EACV+3E,QAASA,EACTlsG,UAAWa,IAAWnD,IAAOu2B,QAAS63E,GACtCU,gBAAgB,aAChB/c,gBAAiB/xF,IAAOgvG,cACxBvrF,WAAYgrF,GACRl5F,KAMZ8gB,EAAUtuB,aAAe,CACvB4tB,mBAAmB,EACnBC,kBAAkB,EAClBu4E,mBAAoB,KACpBC,iBAAkB,KAClBC,iBAAiB,GAGnBh4E,EAAUpxB,UAAV,GAiBeoxB,4ZChFf,SAAS44E,EAAT5tG,GA+BG,IA9BD6tG,EA8BC7tG,EA9BD6tG,UACAC,EA6BC9tG,EA7BD8tG,aACAltB,EA4BC5gF,EA5BD4gF,mBACAtB,EA2BCt/E,EA3BDs/E,YACAyuB,EA0BC/tG,EA1BD+tG,sBACAC,EAyBChuG,EAzBDguG,uBACAxlB,EAwBCxoF,EAxBDwoF,yBACAH,EAuBCroF,EAvBDqoF,cACAh/D,EAsBCrpB,EAtBDqpB,SACArkB,EAqBChF,EArBDgF,GAqBC+vF,EAAA/0F,EApBDqN,YAoBC,IAAA0nF,EApBM,GAoBNA,EAnBD5sB,EAmBCnoE,EAnBDmoE,aACAwS,EAkBC36E,EAlBD26E,SACA15E,EAiBCjB,EAjBDiB,UACA4N,EAgBC7O,EAhBD6O,mBACA6wE,EAeC1/E,EAfD0/E,oBACAj7E,EAcCzE,EAdDyE,SACAs1C,EAaC/5C,EAbD+5C,qBACAk0D,EAYCjuG,EAZDiuG,kBACApuB,EAWC7/E,EAXD6/E,kBACA+a,EAUC56F,EAVD46F,cACA7a,EASC//E,EATD+/E,kBACAmuB,EAQCluG,EARDkuG,kBACAluB,EAOChgF,EAPDggF,6BACAsI,EAMCtoF,EANDsoF,WACA6lB,EAKCnuG,EALDmuG,qBACAC,EAICpuG,EAJDouG,WACA7tB,EAGCvgF,EAHDugF,UACAoI,EAEC3oF,EAFD2oF,SACAlK,EACCz+E,EADDy+E,UAEM/W,EAAa2mC,YAAc5vB,GAC3Be,EAAmB,CAAEoB,qBAAoBotB,0BACzC95F,EAAc,CAClB2/C,SAAU7uD,EACV8uD,WAAYqU,EACZ9+C,YAGIu2D,EAAe,CACnB0uB,QAAStpG,EACTA,MAUF,IAAMupG,EAAyBR,GAAyBvlB,EAExD,OACEnnE,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWqI,IAC1Cu/F,GACC/sF,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkqF,iBACrBxnE,EAAA3f,EAAAC,cAAC6sG,EAAA,EAAD,CACE5T,cAAeA,EACf15F,UAAWmnF,GAAiBkmB,EAC5BlhG,KAAMA,EACNpN,QAASqoF,EACTrnF,UAAWa,IAAWnD,IAAO8vG,OAAQxtG,GACrCq5E,WAAY6zB,EACZxlB,SAAUA,EACVlK,UAAWA,EACX8c,sBAAoB,EACpBC,qBAAmB,KAIzBn6E,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+vG,eACpBb,GACCxsF,EAAA3f,EAAAC,cAACgtG,EAAA,EAAD/sG,EAAA,GACMsS,EADN,CAEEwzD,WAAYA,EACZ4X,YAAaA,EACbC,kBAAmBwuB,EACnBluB,kBAAmBA,EACnBlF,SAAUA,EACViF,aAAcA,EACdF,oBAAqBA,EACrBF,iBAAkBA,EAClBO,kBAAmBA,EACnBJ,eAAgBuuB,EAChBluB,6BAA8BA,EAC9BO,UAAWA,EACX9B,UAAWA,EACX4B,mBAAiB,KAIpBytB,GACCzsF,EAAA3f,EAAAC,cAACitG,EAAA,EAADhtG,EAAA,GACMsS,EADN,CAEErF,mBAAoBo/F,EACpBl0D,qBAAsBA,EACtBt1C,SAAUA,EACVoqG,kBAtDV,SAA2BC,GACzBC,YAAkB,CAChBp0B,WACAq0B,cAAe/5C,IAAU65C,GAAaxrG,SAoDhC2rG,mBAAiB,EACjBC,mBAAiB,OAQ7BtB,EAAclnG,aAAe,CAC3B0nG,YAAY,GAGdR,EAAchqG,UAAd,GAqCegqG,yBCtKftzF,EAAAC,QAAA,CAAkBrN,KAAA,8BAAAiiG,kBAAA,2CAAAC,uBAAA,gDAAA17F,YAAA,qCAAA27F,aAAA,oPCCLC,EAAmBvkG,IAAU6tD,MAAM,CAC9C5zD,GAAI+F,IAAU8E,OAAOwmB,WACrB2X,QAASjjC,IAAU8E,OAAOwmB,gBAGAtrB,IAAU6tD,MAAM,CAC1C+K,QAAS54D,IAAU8E,OAAOwmB,WAC1BzwB,KAAMmF,IAAUiuD,QAAQs2C,GACxBC,aAAcxkG,IAAU8E,q6DCDnB,IAAM2/F,EAAsB,SAAAD,GAAY,OAAI,SAAC71E,EAAO+1E,GACzD,GAAK/1E,EAAL,CAeAg2E,YAAQ,CAAEH,eAAcI,UAAWj2E,IAChCzgB,KAd0B,SAAA22F,GAAM,OAAIA,EAAO/lG,IAC5C,SAAA7J,GAAA,IACEsD,EADFtD,EACEsD,MACAD,EAFFrD,EAEEqD,MACAlD,EAHFH,EAGEG,KACG0vG,EAJLvuG,EAAAtB,EAAA,iCAAA4B,EAAA,CAMEoD,GAAE,GAAAoE,OAAKjJ,EAAL,KAAAiJ,OAAa/F,GACf2qC,QAAS1qC,EACTnD,QACG0vG,OAKJ52F,KAAKw2F,MAKGK,EAAgB,SAAAvqG,GAAA,IAAGP,EAAHO,EAAGP,GAAH,MAAsB,CACjDgpC,QAD2BzoC,EAAOyoC,QAElC7tC,KAAM6E,EAAGoL,MAAM,KAAK,GACpBpL,GAAIA,EAAGoL,MAAM,KAAK,KAGP2/F,EAAsB,SAACC,EAAMC,EAAerqG,GAAtB,OAA+B,SAACZ,EAAI1B,GAAU,IAAA4sG,EAAAt/F,EACzD5L,EAAGoL,MAAM,KADgD,GACxEjQ,EADwE+vG,EAAA,GAClE7sG,EADkE6sG,EAAA,GAG/ED,EAAcD,EAAD,GAAA5mG,OAAA6W,EAAWra,GAAX,CAAiB,CAAEtC,QAAOD,QAAOlD,aAGnCgwG,EAAmB,SAC9BC,EACA98B,EACA+8B,EACA1nG,EACA2nG,GACG,IACKtiE,EAAyBoiE,EAAzBpiE,QAAShpC,EAAgBorG,EAAhBprG,GAAO6qG,EADrBvuG,EAC8B8uG,EAD9B,kBAGH,OACE3uG,EAAAC,EAAAC,cAAA,OAAKwH,IAAKnE,EAAI/D,UAAWa,IAAWnD,IAAOyxG,WAAYE,GAAW3xG,IAAO4xG,oBACvE9uG,EAAAC,EAAAC,cAAC6uG,EAAA,EAAD5uG,EAAA,CACE0B,MAAO0qC,EACPn7B,WAAYygE,GACRu8B,MAOCY,EAA6B,SAACC,EAAYl9F,GAAb,OAAsB,SAAA1B,GAAK,OAAI4+F,EAAU9uG,EAAA,GAC9EkQ,EAD8E,CAEjFvK,OAAM3F,EAAA,GACDkQ,EAAMvK,OADL,CAEJiM,cAISm9F,EAAe,SAAAlrG,GAAA,IAAGk+D,EAAHl+D,EAAGk+D,QAAS4rC,EAAZ9pG,EAAY8pG,aAAc3pG,EAA1BH,EAA0BG,KAASvE,EAAnCC,EAAAmE,EAAA,0CAAA7D,EAAA,CAC1BgvG,OAAM,GAAAxnG,OAAKu6D,EAAL,yBACNA,UACA/9D,KAAMA,GAAQ4pG,EAAoBD,GAClCY,mBACAU,iBAAkB,SAAC7rG,EAAI1B,GAAL,SAAA8F,OAAkBu6D,GAAlBv6D,OAA4B9F,IAC9CwtG,kBAAkB,GACfzvG,IAGQ0vG,EAA2B,SAAA1uE,GAAA,IAAGvwB,EAAHuwB,EAAGvwB,MAAOgW,EAAVua,EAAUva,SAAUkpF,EAApB3uE,EAAoB2uE,kBAAmBC,EAAvC5uE,EAAuC4uE,YAAvC,OAAArvG,EAAA,GACnCkQ,EADmC,CAEtCvK,OAAM3F,EAAA,GACDkQ,EAAMvK,OADL,CAEJlE,MAAOykB,EACPA,WACAkpF,oBACAC,2EClFShnG,EAAS,CACpB9K,QAAS+xG,IACT5U,YAAa6U,KAaFC,GATDrmG,IAAU8E,OACC9E,IAAU8E,OACnB9E,IAAU8E,OACH9E,IAAU8E,OACd9E,IAAU8E,OACJ9E,IAAU8E,OACd9E,IAAU8E,OAGE,SAACwhG,EAAiB9wG,EAAOuU,GAAzB,MAAsC,CACnEvG,SAAUzM,IACRnD,IAAO4P,SACPtE,EAAO1J,GAAOgO,SACd8iG,EAAgB9iG,SAChBuG,GAAWw8F,IAAc/iG,UAE3BgjG,sBAAuBzvG,IACrBnD,IAAO6yG,oBACPvnG,EAAO1J,GAAOixG,oBACdH,EAAgBG,oBAChB18F,GAAWw8F,IAAcE,qBAE3BC,4BAA6B3vG,IAC3BnD,IAAO+yG,wBACPznG,EAAO1J,GAAOmxG,wBACdL,EAAgBK,wBAChB58F,GAAWw8F,IAAcI,yBAE3BtB,WAAYtuG,IACVnD,IAAOyxG,WACPnmG,EAAO1J,GAAO6vG,WACdiB,EAAgBjB,WAChBt7F,GAAWw8F,IAAclB,YAE3BG,kBAAmBzuG,IACjBnD,IAAO4xG,kBACPtmG,EAAO1J,GAAOgwG,kBACdc,EAAgBd,kBAChBz7F,GAAWw8F,IAAcf,mBAE3BoB,gBAAiB7vG,IACfnD,IAAOizG,cACP3nG,EAAO1J,GAAOqxG,cACdP,EAAgBO,cAChB98F,GAAWw8F,IAAcM,eAE3BC,sBAAuB/vG,IACrBnD,IAAOmzG,oBACP7nG,EAAO1J,GAAOuxG,oBACdT,EAAgBS,oBAChBh9F,GAAWw8F,IAAcQ,qBAE3BC,kBAAmBjwG,IACjBnD,IAAOqzG,gBACP/nG,EAAO1J,GAAOyxG,gBACdX,EAAgBW,gBAChBl9F,GAAWw8F,IAAcU,yECtEhBC,EAAe,CAC1BC,gBAAiB,SAAAlyG,GAAA,IAAG6zD,EAAH7zD,EAAG6zD,SAAH,yCAAAzqD,OAAqDyqD,IACtEs+C,mBAAoB,SAAA5sG,GAAA,IAAGsuD,EAAHtuD,EAAGsuD,SAAH,8BAAAzqD,OAA0CyqD,IAC9Du+C,aAAc,SAAA3sG,GAAA,IAAGouD,EAAHpuD,EAAGouD,SAAH,wBAAAzqD,OAAoCyqD,IAClDw+C,cAAe,SAAAhwE,GAAA,IAAGwxB,EAAHxxB,EAAGwxB,SAAH,yBAAAzqD,OAAqCyqD,IACpDy+C,WAAY,SAAA/vE,GAAA,IAAGsxB,EAAHtxB,EAAGsxB,SAAH,sBAAAzqD,OAAkCyqD,IAC9C0+C,iBAAkB,SAAA5vE,GAAA,IAAGkxB,EAAHlxB,EAAGkxB,SAAH,4BAAAzqD,OAAwCyqD,IAC1D2+C,UAAW,aACXC,YAAa,SAAAlT,GAAA,IAAG1rC,EAAH0rC,EAAG1rC,SAAH,6CAAAzqD,OAAyDyqD,i/BCEjE,IAgBD6+C,GAAuB,sCAKvBC,GAAyB,2CAIlBC,GAAkB,SAAAC,GAAS,OACtC,SAACxvG,GACC,IAJ0B,SAAAA,GAAK,OAA2C,IAAvCA,EAAMiwE,OAAOo/B,IAI3CI,CAAsBzvG,GACzB,MAAO,CAAEiI,KAAMjI,EAAO0vG,WAAW,GAGnC,IALSC,EAAAC,GAKW5vG,EAAM6vG,MAAMP,IALvB,GAQPrnG,EARO0nG,EAAA,GASPrvC,EATOqvC,EAAA,GAUP1vG,EAVO0vG,EAAA,GAWP7yG,EAXO6yG,EAAA,GAYPhuG,EAZOguG,EAAA,GAeT,MAAO,CACL1nG,OACAq4D,UACArgE,QACAnD,OACA6E,KACA0T,IAAKm6F,EAAU1yG,EAAM6E,GACrB+tG,WAAW,KAKJI,GAA+B,SAAC1vG,EAASovG,GAEpD,IAAMO,EAAeR,GAAgBC,GAC/BQ,EAAkBC,IAAM7vG,EAASivG,IACvC,OAAO9kF,IAAIylF,EAAiBD,yXCvD9B,SAASG,GAATvzG,GAAyE,IAA7CgB,EAA6ChB,EAA7CgB,SAAUwyG,EAAmCxzG,EAAnCwzG,cAAeX,EAAoB7yG,EAApB6yG,UAAWY,EAASzzG,EAATyzG,MACxDC,EAA2BP,GAA6BnyG,EAAU6xG,GAExE,OACEpxG,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGgsG,EAAyB7pG,IACxB,SAAAtE,EAAiCoD,GAAjC,IAAGoqG,EAAHxtG,EAAGwtG,UAAcY,EAAjBC,GAAAruG,EAAA,sBAIE9D,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,GAAAC,OAAKT,EAAL,KAAAS,OAAcuqG,EAAaroG,OACpCynG,GAAaU,EAASD,EAAcG,GAAgBE,YAAgB,CAAEvoG,KAAMqoG,EAAaroG,KAAMrK,UAAWtC,KAAOm1G,gBAQ/HP,GAAiB7sG,aAAe,CAC9B8sG,cDtBkC,SAAAhlG,GAAO,OACzC/M,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CAAME,KAAMsH,EAAQkK,IAAKnY,MAAM,OAAOU,UAAWtC,KAAOM,MAAxD,GAAAmK,OACMoF,EAAQm1D,SADdv6D,OACwBoF,EAAQlL,SCqBhCuvG,UDjB8B,SAAC1yG,EAAM0zD,GACrC,IAAKo+C,EAAa9xG,GAEhB,OADA4zG,YAAW,gCAAA3qG,OAAiCjJ,EAAjC,UACJ,KAGT,IAAMuY,EAAMu5F,EAAa9xG,GAAM,CAAE0zD,aACjC,OAAOn7C,GAAO+7B,YAAe/7B,ICW7B+6F,OAAO,GAGTF,GAAiB3vG,UAAjB,GAOe2vG,0jDClBf,SAASS,GAATh0G,GAWG,IAVDi0G,EAUCj0G,EAVDi0G,aACAngG,EASC9T,EATD8T,SACAogG,EAQCl0G,EARDk0G,iBACA31F,EAOCve,EAPDue,OACAlb,EAMCrD,EANDqD,MACAyR,EAKC9U,EALD8U,QACAvU,EAICP,EAJDO,MACAuB,EAGC9B,EAHD8B,WACAyS,EAECvU,EAFDuU,aACGlT,EACF8yG,GAAAn0G,EAAA,+GAAA2Q,EAAAyjG,GAC6CvjG,mBAAS,IADtD,GACMwjG,EADN1jG,EAAA,GACuB2jG,EADvB3jG,EAAA,GAEK4jG,EAAgBN,EAAapqG,IAAI8mG,GACjCj8F,EAAWI,IAAYjP,IAAQ0O,GAuBrC,OACE9S,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC6yG,EAAA,EAADC,GAAA,CACEpxG,MAAOA,EACPyQ,SAzBe,SAAChC,EAAOgW,EAAUkpF,EAAmBC,GACxDn9F,GAAYA,EACVi9F,EAAyB,CACvBj/F,QACAgW,WACAkpF,oBACAC,iBAIJ,IAAM1iG,EAAWmmG,IACfzD,EAAYpnG,IAAIimG,GADD38E,EAAAzxB,GAIXizG,EAAoBC,IAAQrmG,EAAU8lG,EAAlBlhF,EAAAzxB,GACrBmE,IAAQ8uG,KACXT,GAAoBA,EAAiB3lG,GACrC+lG,EAAmB/lG,KASjBgQ,OAAQA,EACRs2F,6BAA2B,EAC3B/yG,WAAYsvG,EAAgBtvG,EAAYvB,EAAOmU,IAC3CrT,GAGFusB,IAAI2mF,EAAe,SAAAO,GAAW,OAC5BrzG,EAAAC,EAAAC,cAAC6yG,EAAA,EAADC,GAAA,CAAStrG,IAAK2rG,EAAYnxC,SAAamxC,OAI7CrzG,EAAAC,EAAAC,cAACmf,EAAA,EAAD,CAAcjK,QAAStC,sGAK7By/F,GAAqBttG,aAAe,CAClCnG,MAAO,UACPuB,WAAY,GACZgT,SAAS,GAGXk/F,GAAqBpwG,UAArB,GAYeowG,6CCtGfzxG,EAAAC,EAAAC,EAAA,sBAAA8pD,IAAAhqD,EAAAC,EAAAC,EAAA,sBAAA+pD,IAAAjqD,EAAAC,EAAAC,EAAA,sBAAAulC,IAAAzlC,EAAAC,EAAAC,EAAA,sBAAAkqD,IAAApqD,EAAAC,EAAAC,EAAA,sBAAAmsD,IAAO,IAAMrC,EAAsB,EACtBC,EAAuB,GACvBxkB,EAAoB,GACpB2kB,EAAuB,EACvBiC,EAAwB,qBCHrCt0C,EAAAC,QAAA,CAAkBrR,YAAA,qCAAAuvB,OAAA,gCAAAx5B,KAAA,iDCAlBqb,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA6iD,MAAA,+BAAA0rD,UAAA,mCAAAC,kBAAA,2CAAAC,cAAA,uCAAAC,SAAA,sDCAlB56F,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAA5kF,UAAA,mCAAA2uG,SAAA,kCAAAhM,eAAA,wCAAA7G,QAAA,iCAAA7+F,QAAA,wLCGLy+E,EAAQ,CACnB3iF,MAAO,QACPC,OAAQ,SACRC,MAAO,2BCPF,SAAS21G,EAAkBx3C,GAChC,IACMh4D,EAAO,CAAEg4D,QAETplD,EAAOC,EAAED,KAAK,CAClBG,OAAQ,OACRD,IALiB,sBAMjB9S,SAGF,OAAOmT,QAAQC,QAAQR,ueCNlB,IAAM68F,EAA2B,SAAAxnF,GAAK,OAAID,IAAIC,EAAO,SAAA7tB,GAAA,IAAYs1G,EAAZt1G,EAAGu1G,QAAiB78F,EAApB1Y,EAAoB0Y,IAApB,OAAA9W,EAAA,GACvD+yF,IAAK2gB,EAAQ,CAAC,QAAS,cAAe,UADiB,CAE1D58F,WASK,IAAM88F,EAAuB,SAAAC,GAAK,OAAIx9F,IAC3Cm/B,IACEq+D,EACA,SAAC7F,EAAQjsG,GAAT,OAAA/B,EAAA,GACKguG,EADL18F,EAAA,GAEGvP,EAAKqB,IAXkBsG,EAWQ3H,EAAKD,YAVnCgyG,EAAgBC,YAAYrqG,GAE3BsqG,IAAIF,EAAe,MAH5B,IAA8BpqG,EACtBoqG,GAYJ,IAPyC7vG,EAAAnE,IAYhCm0G,EAAyB,SAAAtwG,GAAwC,IAArCuwG,EAAqCvwG,EAArCuwG,iBAAkBC,EAAmBxwG,EAAnBwwG,aACnDC,EAAUpoF,IAAImoF,EAAc,MAElC,OAAOE,IAAKH,EAAkBE,IAGnBE,EAAyB,SACpCC,EADoC1wG,GAOjC,IAJD2wG,EAIC3wG,EAJD2wG,UACAC,EAGC5wG,EAHD4wG,aAGCC,EAAA7wG,EAFD8wG,mBAEC,IAAAD,KACGE,EAAkBp/D,IAAOg/D,EAAW,SAACxG,EAAQ3wG,EAAMkK,GACvD,IAAMstG,EAAa3gE,IAAKugE,EAAc,CAAE39F,IAAKzZ,IAG7C,OAAA2C,EAAA,GACKguG,EADL18F,EAAA,GAEG/J,EAJetD,IAAQ4wG,KAAgBF,EAIrB,CAAE79F,IAAKzZ,GAASw3G,KAEpC,IAEH,OAAA70G,EAAA,GACKu0G,EADL,GAEKK,+BCpCQhnF,EAXK,kBAClB/tB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+3G,MACxBj1G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAACqxB,EAAA,EAAD,CAAiB/xB,UAAWtC,IAAO6E,QACnC/B,EAAAC,EAAAC,cAACqxB,EAAA,EAAD,CAAiB/xB,UAAWtC,IAAO+E,cACnCjC,EAAAC,EAAAC,cAACqxB,EAAA,EAAD,CAAiB/xB,UAAWtC,IAAO+Z,iICAzC,SAASi+F,EAAT32G,GAWG,IAAA42G,EAVDrvG,EAUCvH,EAVDuH,OACAtG,EASCjB,EATDiB,UACAuC,EAQCxD,EARDwD,MACAE,EAOC1D,EAPD0D,YACA2K,EAMCrO,EANDqO,MACAqK,EAKC1Y,EALD0Y,IACAm+F,EAIC72G,EAJD62G,WACAC,EAGC92G,EAHD82G,YACAr2G,EAECT,EAFDS,KACAyoD,EACClpD,EADDkpD,KAEQ7/B,EAAauN,cAAbvN,SAER,IAAK6/B,EAAM,OAAO,KAElB,IAAM6tD,GAAKC,EAAAJ,EAAA,GACR10B,EAAMziF,MAAQd,IAAOc,OADbu3G,EAAAJ,EAER10B,EAAM1iF,OAASb,IAAOa,QAFdw3G,EAAAJ,EAGR10B,EAAM3iF,MAAQZ,IAAOY,OAHbq3G,GAMLK,EAAU9jF,IAAQ1yB,EAAMyhF,EAAM3iF,QAAU4zB,IAAQ1yB,EAAMyhF,EAAM1iF,SAAW6pB,EACvE6tF,EAAkBC,YAAiBz+F,GAEnC+iF,EAAkB,CACtB2b,SAAU,MACV3uG,OAAQwuG,EAAUJ,EAAaC,GA8BjC,OACEr1G,EAAAC,EAAAC,cAAA,KACEuF,KAAMgwG,EACN3vG,OAAQA,EACRtG,UAAWa,IAAWnD,IAAO6H,UAAWvF,IA9BtC4E,IAAQwI,GACH,KAIP5M,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO04G,YACrB51G,EAAAC,EAAAC,cAAA,OAAKk4B,IAAKxrB,EAAOyrB,IAAKt2B,KA2BxB/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASszG,EAAMt2G,KAC/CgB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,OACpBA,GAEH/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+E,aACpB00C,IAAS10C,EAAa+3F,IA3Bb,WAChB,GAAI51F,IAAQ6S,GACV,OAAO,KAGT,IAAM4+F,EAAcC,YAAe7+F,GAEnC,OAAO4+F,GACL71G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+Z,KACrBjX,EAAAC,EAAAC,cAAA,KAAGV,UAAU,gBACZq2G,GAmBAE,qMAMTb,EAAYjwG,aAAe,CACzBa,OAAQ,SACR9G,KAAMyhF,EAAMziF,MACZo3G,WJ5F2B,GI6F3BC,YJ3F4B,II4F5B5tD,MAAM,GAGRytD,EAAY/yG,UAAZ,GAae+yG,kGCzGf,SAAS7+E,EAAT93B,GAAsD,IAApCwD,EAAoCxD,EAApCwD,MAAOi0G,EAA6Bz3G,EAA7By3G,YAAaC,EAAgB13G,EAAhB03G,aAC9BC,EAAcl2G,EAAAC,EAAAC,cAAA,YAEdi2G,EACJn2G,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOk5G,KAAM53G,QAASw3G,EAAaK,WAAYL,GAC9Dh2G,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBADf,SAKIgE,EACJxD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOo5G,MAAO93G,QAASy3G,EAAcI,WAAYJ,GAChEj2G,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAIjB,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOwN,QACpBsrG,EAAcG,EAAaD,EAE5Bl2G,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6E,OACrBA,GAGFk0G,EAAezyG,EAAc0yG,GAKpC7/E,EAAOl0B,UAAP,GAMek0B,2BCjCf,SAASoE,EAATl8B,GAAuC,IAAvBgB,EAAuBhB,EAAvBgB,SAAUC,EAAajB,EAAbiB,UACxB,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOkb,KAAM5Y,IACrCD,GAKPk7B,EAAKt4B,UAAL,GAKes4B,2BCbf,SAAS87E,EAATh4G,GAAyC,IAAvBgB,EAAuBhB,EAAvBgB,SAAUC,EAAajB,EAAbiB,UAC1B,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOgQ,OAAQ1N,IACvCD,GAKPg3G,EAAOp0G,UAAP,GAKeo0G,2BCVf,SAASC,EAATj4G,GAA6D,IAA3CiV,EAA2CjV,EAA3CiV,OAAQjU,EAAmChB,EAAnCgB,SAAuBk3G,EAAYl4G,EAAzB,aAClC,OACEyB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOw5G,QAASljG,GAAUtW,IAAOy5G,YAAaC,YAAWH,GACjFl3G,GAZPuB,EAAAC,EAAAC,EAAA,sBAAAouF,IAAAtuF,EAAAC,EAAAC,EAAA,sBAAA61G,IAAA/1G,EAAAC,EAAAC,EAAA,sBAAA81G,IAiBAN,EAAOvxG,aAAe,CACpBuO,QAAQ,EACRojG,YAAa,UAGfJ,EAAOr0G,UAAP,GAMeq0G,0BC3Bf39F,EAAAC,QAAA,CAAkB5E,OAAA,gCAAA6iG,cAAA,uCAAA15G,MAAA,+BAAAme,KAAA,8BAAA/S,KAAA,8BAAA4T,YAAA,qCAAAV,iBAAA,0CAAAC,gBAAA,yCAAAlb,SAAA,kCAAA3C,OAAA,gCAAAD,MAAA,+BAAAoe,OAAA,gCAAAE,IAAA,+CCAlBvD,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA0sD,cAAA,uCAAAvP,WAAA,oCAAAyP,YAAA,qCAAAE,aAAA,sCAAAC,aAAA,sCAAAJ,UAAA,mCAAAR,eAAA,wCAAAC,SAAA,qDCAlBt4C,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAj/E,OAAA,gCAAAy/E,GAAA,4BAAApoF,MAAA,+BAAAi1G,SAAA,kCAAAC,OAAA,gCAAAz2G,KAAA,8BAAA02G,iBAAA,0CAAAvxE,MAAA,+BAAAikD,cAAA,uCAAAzpB,OAAA,gCAAAg3C,aAAA,sCAAAC,SAAA,oDCAlBv+F,EAAAC,QAAA,CAAkBpO,OAAA,gCAAAkC,MAAA,+BAAA7K,MAAA,+BAAA+lF,UAAA,mCAAAtqF,KAAA,8BAAAmqF,UAAA,mCAAA16E,UAAA,mCAAAzM,KAAA,8BAAA4mF,gBAAA,yCAAAM,WAAA,oCAAA77E,IAAA,6BAAAo8E,UAAA,sDCAlBpvE,EAAAC,QAAA,CAAkBo2B,gBAAA,UAAAmoE,wBAAA,UAAAp6C,iBAAA,KAAA/5C,MAAA,UAAA4nB,WAAA,MAAA+I,YAAA,4fCMX,IAAMyjE,EAAiB,CAAC,CAAEz1G,MAAO01G,IAAW31G,MAAO41G,IAAQC,gBAAgB,IAErEC,EAAkB,WAClBC,EAAqB,SAKrBC,EAAgB,CAC3BD,EACAD,EAN+B,OACK,YACL,QAUpBG,EAAc,CAZM,OACK,aAazBniD,EAAsBv1D,EAAA,GAC9B23G,IAD8B,CAEjC9iG,eAAgB9X,IAAOsX,+ICnBzB,SAASiwC,EAATlmD,GAA6E,IAArDsJ,EAAqDtJ,EAArDsJ,WAAYC,EAAyCvJ,EAAzCuJ,cAAetI,EAA0BjB,EAA1BiB,UAAWuI,EAAexJ,EAAfwJ,YAC5D,GAAIgwG,IAAQlwG,GACV,OAAO,KAGT,GAAIA,EAAWb,QAAUc,EACvB,OAAO0uD,EAAAv2D,EAAAC,cAAA,QAAMV,UAAWa,IAAWb,IAAaqI,GAOlD,IAAMmwG,EAAgBC,IAASpwG,EAAY,CAAEb,OAAQc,EAAem5C,UAAW,YAE/E,OAAKl5C,EAOHyuD,EAAAv2D,EAAAC,cAACg4G,EAAA,EAAD,CACEl2G,QAbKw0D,EAAAv2D,EAAAC,cAAA,QAAMV,UAAWtC,IAAOgkD,UAAWr5C,GAcxCrI,UAAWtC,IAAOugD,iBAClBp1C,UAAU,UAEVmuD,EAAAv2D,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOi7G,SAAU34G,IAAaw4G,IAV1DxhD,EAAAv2D,EAAAC,cAAA,OAAKV,UAAWa,IAAWb,IAAaw4G,GAe9CvzD,EAAax/C,aAAe,CAC1B6C,cAAe,GACfC,aAAa,GAGf08C,EAAatiD,UAAb,GAOesiD,4BCnDf5rC,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAn+E,OAAA,gCAAA4sG,WAAA,oCAAAC,YAAA,qCAAAt9D,UAAA,mCAAAu9D,gBAAA,yCAAAC,gBAAA,yCAAApC,WAAA,oCAAAqC,UAAA,mCAAAC,gBAAA,2DCAlB5/F,EAAAC,QAAA,CAAkBpO,OAAA,gCAAA3I,MAAA,+BAAAuO,OAAA,gCAAA49E,WAAA,oCAAAnpF,UAAA,mCAAAmoF,aAAA,sCAAA7hB,kBAAA,mECAlBxyD,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAw2G,SAAA,kCAAA32G,MAAA,+BAAAC,QAAA,iCAAA22G,gBAAA,yCAAAzB,iBAAA,0CAAA0B,mBAAA,4CAAAhxD,MAAA,iDCAlB/uC,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,wCAAAk1E,YAAA,qCAAAC,aAAA,sCAAAC,YAAA,qCAAAh3G,MAAA,+BAAAyiD,WAAA,oCAAAD,eAAA,wCAAA4zD,SAAA,kCAAA7oC,qBAAA,8CAAA8a,YAAA,qCAAA4uB,SAAA,yDCAlBngG,EAAAC,QAAA,CAAkB0V,SAAA,kCAAA5jB,UAAA,mCAAAquG,gBAAA,yCAAAp3G,MAAA,+BAAAG,QAAA,iCAAA/D,MAAA,+BAAAi7G,eAAA,wCAAAC,iBAAA,8DCAlBtgG,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAq0G,aAAA,sCAAApvB,QAAA,iCAAAqvB,cAAA,uCAAAC,SAAA,kCAAAC,WAAA,oCAAA13G,MAAA,+BAAA2S,MAAA,+BAAAtH,OAAA,gCAAAssG,aAAA,wDCAlB3gG,EAAAC,QAAA,CAAkB2gG,eAAA,wCAAAC,WAAA,oCAAAC,gBAAA,yCAAAC,cAAA,uCAAApuG,OAAA,gCAAAquG,YAAA,qCAAAzB,WAAA,oCAAAr9D,UAAA,mCAAAu9D,gBAAA,yCAAAwB,aAAA,sCAAAC,aAAA,sCAAAC,gBAAA,4DCAlBnhG,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAA7gE,gBAAA,yCAAAK,WAAA,oCAAA3oB,KAAA,8BAAA4oB,SAAA,kCAAAP,eAAA,wCAAAI,WAAA,oCAAAzX,MAAA,+BAAAuX,eAAA,wCAAAC,YAAA,qCAAAK,kBAAA,8DCAlBxQ,EAAAC,QAAA,CAAkBmhG,UAAA,mCAAAC,kBAAA,2CAAAC,oBAAA,6CAAAvW,gBAAA,yCAAAzjC,OAAA,gCAAA3rD,MAAA,+BAAA4lG,YAAA,qCAAA38B,UAAA,mCAAA7wE,MAAA,+BAAA6kD,cAAA,uCAAA1sD,UAAA,mCAAAqiG,WAAA,oCAAA1uB,KAAA,8BAAAs0B,OAAA,gCAAAjrG,MAAA,+BAAAs4G,cAAA,uCAAAtoG,KAAA,8BAAAiuD,qBAAA,8CAAA/9D,YAAA,qCAAAs0D,SAAA,kCAAA/kB,UAAA,mCAAA8oE,KAAA,8BAAAC,gBAAA,yCAAAzvG,kBAAA,qNCCUxB,IAAUiuD,QACpCjuD,IAAU6tD,MAAM,CACdt1D,MAAOyH,IAAU8E,OACjBxM,MAAO0H,IAAU8E,UAIQ9E,IAAU6tD,MAAM,CAC3CqjD,QAASlxG,IAAU8E,OACnBgK,KAAM9O,IAAU8E,0uBCSlB,SAASqsG,EAATl8G,GAYG,IAAAm8G,EAXDC,EAWCp8G,EAXDo8G,YACAr3G,EAUC/E,EAVD+E,QACAs3G,EASCr8G,EATDq8G,SACAh0G,EAQCrI,EARDqI,cACAi0G,EAOCt8G,EAPDs8G,iBACAC,EAMCv8G,EANDu8G,wBACAC,EAKCx8G,EALDw8G,QACAvnG,EAICjV,EAJDiV,OACAwnG,EAGCz8G,EAHDy8G,QACAC,EAEC18G,EAFD08G,SACGr7G,EACFC,EAAAtB,EAAA,2IAAAmqB,EAKGpJ,YAAS9L,GAHEgpE,EAFd9zD,EAEC9T,YACasmG,EAHdxyF,EAGC7T,YACYsmG,EAJbzyF,EAIChJ,WAGIjN,EAAc,CAClB3T,MAAO,QACPU,UAAWa,IAAWnD,IAAOM,KAAMoJ,IAG/Bw0G,EAAoB,CACxB11G,YAAY,EACZE,qBAAqB,GAGjBy1G,GAAU5pG,EAAAipG,EAAA,GACbY,IAAWC,YAA2BP,EAASJ,IADlCnpG,EAAAipG,EAEbc,IAAUC,YAAoB,CAAEj+G,KAAMw9G,EAASnxG,KAAM+wG,KAFxCnpG,EAAAipG,EAGbgB,IAAWC,YAAmBV,IAHjBP,GAMVtjF,EACJp3B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACrBp3B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO0+G,cAAtB,eACCxzG,IAAI9E,EAAS,SAAAQ,GAAsB,IAAnBlC,EAAmBkC,EAAnBlC,MAAOC,EAAYiC,EAAZjC,MACtB,OAAID,IAAUi6G,IAEV77G,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACMsS,EADN,CAEE/K,IAAK9F,EACLpD,QAASu8G,IAERl5G,GAKA84G,GACL36G,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMsS,EACA2oG,EAFN,CAGE1zG,IAAK9F,EACL6D,KAAM41G,EAAWz5G,KAEhBC,MAOX,OACE7B,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACE8pB,OAAK,EACLlzB,MAAM,QACNg9G,QAASt/B,EACTu/B,OAAQZ,EACRa,eAAgBd,EAChB7yG,UAAWwyG,EACX74G,QAASo1B,EACTsmB,SAAUC,SAASvlC,KACnBuK,OAAQs5F,sBAERj8G,EAAAC,EAAAC,cAAA,QAAMV,UAAWs7G,GACf96G,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GAAYP,EAAZ,CAAuBpB,QAAS08G,IAAhC,WAMRT,EAAYx1G,aAAe,CACzB41G,iBAAkB,eAClBF,aAAa,GAGfF,EAAYt4G,UAAZ,GAiBes4G,o/BCvEAyB,MA9Cf,SAAA39G,GAAqF,IAAA49G,EAAA59G,EAAjEiV,cAAiE,IAAA2oG,KAAjD74G,EAAiD/E,EAAjD+E,QAASs3G,EAAwCr8G,EAAxCq8G,SAAUG,EAA8Bx8G,EAA9Bw8G,QAASC,EAAqBz8G,EAArBy8G,QAASC,EAAY18G,EAAZ08G,SACxDmB,GAAwB94G,EAAQ,IAAM,IAA7C1B,MAD2EsN,EAAAC,EAEnCC,mBAASoE,GAF0B,GAE5E6oG,EAF4EntG,EAAA,GAE1DotG,EAF0DptG,EAAA,GAAA+I,EAAA9I,EAG7CC,mBAASgtG,GAHoC,GAG5EG,EAH4EtkG,EAAA,GAG/DukG,EAH+DvkG,EAAA,GASnF,SAASwkG,IACPH,EAAoB,SAAA55E,GAAS,OAAKA,IA2BpC,OAhCAzyB,oBAAU,WACRusG,EAAeJ,IACd,CAACC,IA8BG,CACLA,mBACAE,cACAE,mBACAC,sBA5BF,WAAgE,IAAAC,GAAAltG,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,IAA3B3J,OAAUlE,GAAqB+6G,OAAA,IAAAA,EAAX,GAAWA,GAArB/6G,MACzC46G,EAAe56G,IA4Bfg7G,kBAzBF,WACML,IAAgBV,KAClBd,IAGEwB,IAAgBjB,KAClB58E,OAAOm+E,KAAKtB,YAA2BP,EAASJ,IAG9C2B,IAAgBf,KAClB98E,OAAOm+E,KAAKpB,YAAoB,CAAEj+G,KAAMw9G,EAASnxG,KAAM+wG,KAGrD2B,IAAgBb,KAClBh9E,OAAOm+E,KAAKlB,YAAmBV,IAGjCwB,8lBC7BJ,SAASK,EAATv+G,GASG,IARD+E,EAQC/E,EARD+E,QACAxE,EAOCP,EAPDO,MACAU,EAMCjB,EANDiB,UACAu7G,EAKCx8G,EALDw8G,QACAvnG,EAICjV,EAJDiV,OACAwnG,EAGCz8G,EAHDy8G,QACAC,EAEC18G,EAFD08G,SACGr7G,EACFm9G,EAAAx+G,EAAA,yEAAAy+G,EAOGd,EAASe,EAAA,GAAKr9G,EAAN,CAAiB0D,UAASy3G,UAASvnG,SAAQwnG,UAASC,cAL9DoB,EAFDW,EAECX,iBACAE,EAHDS,EAGCT,YACAE,EAJDO,EAICP,iBACAG,EALDI,EAKCJ,kBACAF,EANDM,EAMCN,sBAGIQ,EACJl9G,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,QACNN,QAASi+G,GAHX,UAQAz8G,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLJ,UAAW29G,EACX/9G,QAAS+9G,GAAeK,GAH1B,UAUJ,OACE58G,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAOA,EACPU,UAAWA,EACXhB,QAASi+G,GAHX,SAOAz8G,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACEZ,OAAQ6oG,EACRt6G,MAAM,cACNkS,QAASipG,EACT7oG,WAAYooG,GAEZz8G,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CAAYpkB,mBAAoBlQ,IAAOymG,gBACpCv7F,IAAI9E,EAAS,SAAAQ,GAAsB,IAAnBlC,EAAmBkC,EAAnBlC,MAAOC,EAAYiC,EAAZjC,MACtB,OAAcg6G,IAEV77G,EAAAC,EAAAC,cAACq8B,EAAA,EAAD,CACE70B,IAAK9F,EACLA,MAAOA,EACPC,MAAOA,EACPkQ,KAAK,SACL0lG,eAAgB71G,IAAU26G,EAC1BlqG,SAAUqqG,SAsB5BI,EAAW36G,UAAX,GAce26G,0nBCtGf,SAASrC,EAATl8G,GAWG,IAVDiV,EAUCjV,EAVDiV,OACA2pG,EASC5+G,EATD4+G,UACA75G,EAQC/E,EARD+E,QACA8uD,EAOC7zD,EAPD6zD,SACAC,EAMC9zD,EAND8zD,WACA6mB,EAKC36E,EALD26E,SACA/iE,EAIC5X,EAJD4X,UACAinG,EAGC7+G,EAHD6+G,QACAxC,EAECr8G,EAFDq8G,SACGh7G,EACFy9G,EAAA9+G,EAAA,sGAEK++G,EADoBlrD,GAAYC,EACO,CAAC,CAAExwD,MAAO,UAAWD,MAAOi6G,MAAa,GAChF0B,EAAc,GAAA51G,OACf21G,EADe,CAElB,CAAEz7G,MAAO,WAAYD,MAAO05G,KAC5B,CAAEz5G,MAAO,UAAWD,MAAO45G,KAC3B,CAAE35G,MAAO,QAASD,MAAO85G,OAErBV,EAAUllE,YAAMsnE,GAAWA,EAAUpqE,YAAeoqE,GACpDhlG,EAAI,GAAAzQ,OAAMizG,EAAN,KAAAjzG,OAAkBqzG,GAAO,YAAArzG,OAAgBqzG,IAQnD,IAAMwC,EAAUC,EAAA,GACX79G,EADW,CAEd0D,QAASA,GAAWi6G,EACpBxC,QARF,WACE,OChCG,SAAAx8G,GAAiD,IAAtBgF,EAAsBhF,EAAtBgF,GAAI7E,EAAkBH,EAAlBG,KAAMw6E,EAAY36E,EAAZ26E,SACpC/0E,EAAO,CAAEu5G,WAAY,CAACn6G,GAAK+hG,YAAa5mG,GAY9C,OAAOi/G,YAAkBx5G,GACtBqT,KAXH,WACEomG,YAAqB,CAAE1kC,eASlB,MANP,SAAmBn1E,GAGjB,MAFA6lF,IAAckJ,4BAER/uF,IDsBC85G,CAAgB,CAAEt6G,GAAI6uD,EAAU8mB,WAAUx6E,KAAM2zD,IACpD76C,KAAK,kBAAMrB,GAAaA,EAAUi8C,MAOrC5+C,SACAonG,WACAI,UACAC,SAde,CAAET,QAAO,GAAA7yG,OAAKizG,EAAL,qBAAkCxiG,UAiB5D,OAAI+kG,EACKn9G,EAAAC,EAAAC,cAAC49G,EAAeN,GAGlBx9G,EAAAC,EAAAC,cAAC69G,EAAiBP,GAG3B/C,EAAYx1G,aAAe,CACzB01G,aAAa,EACbwC,WAAW,EACXtC,iBAAkB,eAClBrnG,QAAQ,GAGVinG,EAAYt4G,UAAZ,GAmBes4G,0hCEvDAuD,IAzBf,WAA2C,IAAnBC,GAAmBxuG,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,IAAfwuG,WAChBC,EAAaxvD,mBACbyvD,EAAUF,GAAcC,EAFWhvG,EAAAC,EAIPC,oBAAS,GAJF,GAIlCotE,EAJkCttE,EAAA,GAIvBkvG,EAJuBlvG,EAAA,GAMzC,SAASmvG,IACP,GAAIF,EAAQtuG,QAAS,KACX27B,GAAW2yE,EAAQtuG,QAAQyuG,yBAA2B,IAAtD9yE,OACR4yE,EAAa5yE,EAAS,IAU1B,OANAv7B,oBAAU,WAGR,OAFAyuB,OAAOkE,iBAAiB,SAAUsqB,IAASmxD,EAAc,MAElD,kBAAM3/E,OAAOmE,oBAAoB,SAAUw7E,KACjD,CAACF,IAEG,CACL3hC,YACA+hC,aAAcL,sBCvBlBrlG,EAAAC,QAAA,CAAkB0lG,kBAAA,2CAAAC,UAAA,iLCQH,SAASC,EAATngH,GAAqF,IAA/DwD,EAA+DxD,EAA/DwD,MAAOuB,EAAwD/E,EAAxD+E,QAASq7G,EAA+CpgH,EAA/CogH,eAAgBC,EAA+BrgH,EAA/BqgH,cAAeC,EAAgBtgH,EAAhBsgH,aAKlF,OACE7+G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsR,QACpBzM,GAAS/B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQA,GACxC/B,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAa1K,UAAWtC,IAAOoG,SAC5BA,EAAQ8E,IAAI,SAAAtE,EAAmBoD,GAAnB,IARQwc,EAQL9hB,EAAHkC,EAAGlC,MAAOC,EAAViC,EAAUjC,MAAV,OACX7B,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEoJ,IAAG,GAAAC,OAAK/F,EAAL,KAAA+F,OAAcT,GACjBpI,MAAM,UACNU,UAAWa,IACTnD,IAAO0lB,OACPhhB,IAAU+8G,GAAkBzhH,IAAOs1B,UAErCh0B,SAhBiBklB,EAgBU9hB,EAf5B,kBAAMg9G,EAAcl7F,KAgBnB9kB,SAAUigH,GAETh9G,OAQb68G,EAAWv8G,UAAX,0BC3BA,SAAS28G,EAATvgH,GAAmG,IAAhFwD,EAAgFxD,EAAhFwD,MAAOuB,EAAyE/E,EAAzE+E,QAASq7G,EAAgEpgH,EAAhEogH,eAAgBC,EAAgDrgH,EAAhDqgH,cAAeC,EAAiCtgH,EAAjCsgH,aAAcE,EAAmBxgH,EAAnBwgH,gBAC9E,OAAI1wG,IAAQ/K,GACH,KAIPtD,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWg6G,IAC3C/+G,EAAAC,EAAAC,cAACw+G,EAAD,CACE38G,MAAOA,EACPuB,QAASA,EACTq7G,eAAgBA,EAChBC,cAAeA,EACfC,aAAcA,KAMtBC,EAAQ38G,UAAR,GASeolE,kBAAQu3C,sBC5BvB,SAASE,EAATzgH,GAAkF,IAA/DwD,EAA+DxD,EAA/DwD,MAAOuB,EAAwD/E,EAAxD+E,QAASq7G,EAA+CpgH,EAA/CogH,eAAgBC,EAA+BrgH,EAA/BqgH,cAAeC,EAAgBtgH,EAAhBsgH,aAChE,OACE7+G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACw+G,EAAD,CACE38G,MAAOA,EACPuB,QAASA,EACTq7G,eAAgBA,EAChBC,cAAeA,EACfC,aAAcA,KAMtBG,EAAQ/5G,aAAe,CACrBlD,MAAO,sBACPuB,QAAS,CACP,CACEzB,MAAO,cACPD,MAAOqiB,IAAiBU,SAE1B,CACE9iB,MAAO,UACPD,MAAOqiB,IAAiBW,WAK9Bo6F,EAAQ78G,UAAR,GAQeolE,kBAAQy3C,+BC/BR,SAASC,EAAT1gH,GAAoC,IAAlBwD,EAAkBxD,EAAlBwD,MAAOuB,EAAW/E,EAAX+E,QACtC,OACEtD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOguF,QACrBlrF,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAtB,WAAsCA,GACtC/B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOoG,SACnBA,EAAQ8E,IAAI,SAACwa,EAAQ1b,GACpB,IAAMg4G,EAAY,CAAEhwE,gBAAiBtsB,EAAOM,OAE5C,OACEljB,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,GAAAC,OAAKib,EAAOhhB,MAAZ,KAAA+F,OAAqBT,GAAS1H,UAAWtC,IAAO0lB,QACrD5iB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOsD,KAAMogB,MAAOs+F,IACrCl/G,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO2E,OACrB+gB,EAAO/gB,YAUxBo9G,EAAOh6G,aAAe,CACpBlD,MAAO,UACPuB,QAAS,CACP,CACE4f,MAAO84D,WACPn6E,MAAO,aAET,CACEqhB,MAAO+4D,OACPp6E,MAAO,QAET,CACEqhB,MAAOg5D,aACPr6E,MAAO,eAET,CACEqhB,MAAOnlB,SACP8D,MAAO,UAET,CACEqhB,MAAOi5D,YACPt6E,MAAO,cAET,CACEqhB,MAAOk5D,MACPv6E,MAAO,OAET,CACEqhB,MAAOm5D,UACPx6E,MAAO,cAKbo9G,EAAO98G,UAAP,6PC3DA,SAAS8tB,EAAT1xB,GAA6E,IAAtD0tB,EAAsD1tB,EAAtD0tB,QAASkzF,EAA6C5gH,EAA7C4gH,YAAaC,EAAgC7gH,EAAhC6gH,cAAeR,EAAiBrgH,EAAjBqgH,cAGpDS,EAAcD,EAAa,cAAiBn7F,IAAiBW,QAEnE,OACE5kB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACo/G,EAADn/G,EAAA,GACM8rB,EAAO,QADb,CAEEszF,UATW,UAUXX,cAAeA,EAVJ,WAWXD,eAAgBS,EAAa,WAE9BD,GACCn/G,EAAAC,EAAAC,cAACs/G,EAADr/G,EAAA,GACM8rB,EAAO,YADb,CAEEszF,UAfS,cAgBTX,cAAeA,EAhBN,eAiBTD,eAAgBS,EAAa,gBAIlCC,GAAer/G,EAAAC,EAAAC,cAAC++G,EAAD,OAKtBhvF,EAAY9tB,UAAZ,GAOeolE,kBAAQt3C,kQCpCvB,SAASM,EAAThyB,GAAgG,IAA1E0tB,EAA0E1tB,EAA1E0tB,QAASkzF,EAAiE5gH,EAAjE4gH,YAAal9G,EAAoD1D,EAApD0D,YAAam9G,EAAuC7gH,EAAvC6gH,cAAeR,EAAwBrgH,EAAxBqgH,cAAe78G,EAASxD,EAATwD,MAIrF,OACE/B,EAAAC,EAAAC,cAAC8jF,EAAA,EAAD,CACEjiF,MAAOA,EACP08B,cAAe,CAAC,GAChBj/B,UAAWtC,IAAOszE,UAClBvuE,YAAaA,GAEbjC,EAAAC,EAAAC,cAACo/G,EAADG,EAAA,GACMxzF,EAAO,QADb,CAEEszF,UAZa,UAabX,cAAeA,EAbF,WAcbD,eAAgBS,EAAa,WAE9BD,GACCn/G,EAAAC,EAAAC,cAACs/G,EAADC,EAAA,GACMxzF,EAAO,YADb,CAEEszF,UAlBW,cAmBXX,cAAeA,EAnBJ,eAoBXD,eAAgBS,EAAa,gBAOvC7uF,EAAWtrB,aAAe,CACxBlD,MAAO,SACPE,YAAa,CACXvE,QAAS,iBAIb6yB,EAAWpuB,UAAX,GASeolE,kBAAQh3C,GC/CvB,SAASmvF,EAATnhH,GAAuE,IAApDohH,EAAoDphH,EAApDohH,uBAAwB/3F,EAA4BrpB,EAA5BqpB,SAAUg4F,EAAkBrhH,EAAlBqhH,eACnD,SAASC,EAAkBnoF,GACzB,OAAO,SAAAooF,GAAmB,OAAIF,EAAeloF,EAASooF,IAGxD,OAAOl4F,IAAa+3F,EAChB3/G,EAAAC,EAAAC,cAACs1B,EAAD,CAAYopF,cAAeiB,IAC3B7/G,EAAAC,EAAAC,cAACq1B,EAAD,CAAaqpF,cAAeiB,IAGlCH,EAAQv9G,UAAR,GAMeolE,kBAAQm4C,sBClBvB,SAASK,EAATxhH,GAA4C,IAAlByhH,EAAkBzhH,EAAlByhH,eACxB,OACEhgH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+iH,gBACrBjgH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgyE,SACrBlvE,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO8iH,gBAAiBA,KAM9CD,EAAe96G,aAAe,CAC5B+6G,eAAgB,eAGlBD,EAAe59G,UAAf,GAIeolE,kBAAQw4C,yPCfvB,SAASG,EAAT3hH,GAQG,IAPDsgH,EAOCtgH,EAPDsgH,aACAp7E,EAMCllC,EANDklC,OACA08E,EAKC5hH,EALD4hH,YACAhB,EAIC5gH,EAJD4gH,YACAx+F,EAGCpiB,EAHDoiB,WACAnhB,EAECjB,EAFDiB,UACAohB,EACCriB,EADDqiB,MAEA,OACE5gB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOkjH,aAAc5gH,EAAW2/G,GAAejiH,IAAOiiH,cAC9EN,GAAgB7+G,EAAAC,EAAAC,cAAC6tB,EAAD,MACjB/tB,EAAAC,EAAAC,cAAA,OAAKE,IAAKugB,EAAYC,MAAKy/F,EAAA,GAAOz/F,EAAP,CAAc6iB,aACxC08E,GAAengH,EAAAC,EAAAC,cAACogH,EAAD,OAKtBJ,EAAa/9G,UAAb,GAUeolE,kBAAQ24C,8EC1BVK,GAAiB,mHACjBC,GAAmB,EACnBC,GAAmB,EACnBC,GAAa,IAEbC,GAAkB,YAClBC,GAAoB,CAAEC,MAAO,KAE7BC,GAAa,CACxBC,aACAC,aACAC,aACAC,aACAC,cAGWC,GAAkB3C,aAClB4C,GAAeC,UACfC,GAAcC,quBCvB3B,SAASC,GAAiB7/G,GACxB,OAA+B,EAAxBguF,KAAKC,MAAMjuF,EAAQ,GAmC5B,SAAS8/G,GAAT19G,GAA+E,IAAtD29G,EAAsD39G,EAAtD29G,aAAcC,EAAwC59G,EAAxC49G,YAAwCC,EAAA79G,EAA3B89G,uBAA2B,IAAAD,KACzEE,EAAS,GACTC,EAAW,GACXC,EAAmBxB,GAEnBkB,EAAe,IACjBK,EA1BJ,SAAAzjH,GAAqE,IAA9CojH,EAA8CpjH,EAA9CojH,aAAcC,EAAgCrjH,EAAhCqjH,YACnC,OADmErjH,EAAnBujH,gBAEvCH,EAAenB,IAGhBmB,EAAeF,GAAiBG,IAAgBpB,GAqB3C0B,CAAY,CAAEP,eAAcC,cAAaE,oBAIpDC,EAtBJ,SAAAj+G,GAAoF,IAA/Dq+G,EAA+Dr+G,EAA/Dq+G,YAAaF,EAAkDn+G,EAAlDm+G,iBAAkBL,EAAgC99G,EAAhC89G,YAAaE,EAAmBh+G,EAAnBg+G,gBAS/D,OAAO53D,KAAMi4D,EAAc,GAAG/5G,IAR9B,SAAkBlB,GAChB,OAAI46G,EACKlyB,KAAKwyB,KAAKl7G,EAAQ+6G,GAGpB/6G,GAAS0oF,KAAKwyB,KAAMl7G,EAAQ+6G,GAAqBR,GAAiBG,KAgBhES,CAAU,CAAEF,YAFDR,EAAenB,GAAmBmB,EAAenB,GAEnCyB,iBAHlCA,EAAmBD,EAAW,EAAIA,EAAWvB,GAGOmB,cAAaE,qBAGnE,MAAO,CAAEC,SAAQC,SAAUC,GAGtB,SAASK,GAAen+G,EAAMo+G,EAAaT,GAAiB,IAAAU,EA5CnE,SAAwBr+G,EAAMs+G,GAC5B,IAAMC,EAAsB1xF,OAAOxL,OAAOi9F,GAI1C,MAAO,CAAEd,aAHYgB,KAAID,GAGFd,YAFHgB,KAAIF,GAEYD,iBAwCcI,CAAe1+G,EAAMo+G,GAA/DE,EADyDD,EACzDC,cADyDK,EAEpCpB,GAAcl9G,GAAA,GAFsB3E,GAAA2iH,EAAA,mBAEvB,CAA2BV,qBAErE,MAAO,CAAEC,OAJwDe,EAEzDf,OAESU,gBAAeT,SAJiCc,EAEjDd,UAKX,SAASe,GAAWC,EAAWC,EAAaC,GAEjD,IAAK,IAAIvzB,EAAI,EAAGA,EAAIszB,EAAYj8G,OAAQ2oF,GAAK,EAC3C,GAAIqzB,GAAaC,EAAYtzB,GAAI,OAAOuzB,EAAUvzB,GAGpD,OAAOuzB,EAAU,GAGZ,SAASC,KAAuD,IAArC/tC,EAAqC3lE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAzB,GAAI2zG,EAAqB3zG,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAH,EAClE,OACEzP,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,SAAIk1E,GACJp1E,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAOmmH,UAArB,gBAA6CD,8BCnEnD,SAASE,GAAT/kH,GAMG,IALDglH,EAKChlH,EALDglH,uBACAC,EAICjlH,EAJDilH,kBACAzB,EAGCxjH,EAHDwjH,OACAmB,EAEC3kH,EAFD2kH,UACAO,EACCllH,EADDklH,qBAEA,GAAI9wG,KAAM6wG,GACR,OAAO,KAGT,IAAM5iG,EAAQ,CACZoC,WAAYugG,EAAyBnC,GAAkB2B,GAAWS,EAAmBzB,EAAQmB,IAS/F,OACEljH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwmH,SACrB1jH,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAO2M,MAAO85G,MAC5B3jH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEsiB,MAAOA,EACPphB,UAAWtC,KAAOyB,OAClBH,QAZN,WACMglH,EAAoB,GAAKC,GAC3BA,MAYGD,IAMTF,GAAmBnhH,UAAnB,GAQemhH,omBC/Cf,SAASrE,GAAT1gH,GAAqD,IAAnCwjH,EAAmCxjH,EAAnCwjH,OAAQmB,EAA2B3kH,EAA3B2kH,UAActjH,EAAagkH,GAAArlH,EAAA,wBACnD,GAAI6F,IAAQ29G,GACV,OAAO,KAGT,IAAM8B,EAAcC,IAAQ/B,GAiB5B,OACE/hH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAOguF,QACnB24B,EAAYz7G,IAlBnB,SAA0BlD,EAAOgC,GAC/B,IAAM68G,EAAa,CAAE70E,gBAAiBg0E,EAAUh8G,EAAQ,IAElD88G,EAAWjC,EAAO76G,GAAS,EAC3B+8G,EAAW/+G,EACX0uB,EAAQowF,IAAaC,EAAWD,EAAxB,GAAAr8G,OAAsCq8G,EAAtC,OAAAr8G,OAAoDs8G,GAElE,OACEjkH,EAAAC,EAAAC,cAAA,MAAIwH,IAAKR,GACPlH,EAAAC,EAAAC,cAAA,QAAM0gB,MAAOmjG,IACZnwF,MAUH5zB,EAAAC,EAAAC,cAACgkH,GAADC,GAAA,GACMvkH,EADN,CAEEmiH,OAAQA,EACRmB,UAAWA,MAMnBjE,GAAOh6G,aAAe,CACpB88G,OAAQ,IAGV9C,GAAO98G,UAAP,GAKe88G,UC7Cf,SAASmF,GAAT7lH,GASG,IARD8lH,EAQC9lH,EARD8lH,WACAC,EAOC/lH,EAPD+lH,UACArB,EAMC1kH,EAND0kH,YACAR,EAKClkH,EALDkkH,cACAS,EAIC3kH,EAJD2kH,UACAqB,EAGChmH,EAHDgmH,aACAC,EAECjmH,EAFDimH,aACAC,EACClmH,EADDkmH,cAEMC,EAAUJ,EAAUK,YAAcL,EAAUK,WAAWC,KACvDxvC,EAAYkvC,EAAUK,YAAcL,EAAUK,WAAWE,OACzDzB,EAAkBX,EAAcrtC,IAAc,EAC9CryD,EAAa0hG,GAAiBA,IAAkBrvC,EAEhDx0D,EAAQ,CACZljB,QAAS,CACP0M,KAAM2Y,EACJq+F,GACA2B,IAAYK,EAAiBH,EAAaC,GAC5C5B,OAAQD,GACRyD,QAAS,QAEXtD,MAAO,CACLp3G,KAAMm3G,GACND,OAAQD,GACR0D,YAAa,IACbD,QAAS,QAEXE,QAAS,CACP56G,KAAM2Y,EAAaq+F,GAAkBG,GACrCD,OAAQD,GACR0D,YAAa,IACbD,QAAS,SAIb,OACE9kH,EAAAC,EAAAC,cAAC+kH,EAAA,UAAD,CACEv9G,IAAKg9G,EACLQ,QAASR,EACTJ,UAAWA,EACXD,WAAYA,EACZ7lH,QAAS+lH,EACT3jG,MAAOA,EACPukG,aAAcX,EAAapvC,EAAWguC,GACtCgC,OAAK,IAKXhB,GAASjiH,UAAT,GAWeiiH,o/BClCAiB,OA9Bf,SAAA9mH,GAKG,IAJD4F,EAIC5F,EAJD4F,KACA29G,EAGCvjH,EAHDujH,gBACAwD,EAEC/mH,EAFD+mH,kBACAC,EACChnH,EADDgnH,mBACCr2G,EAAAC,GAC2CC,mBAAS+zG,MADpD,GACM/rF,EADNloB,EAAA,GACsBs2G,EADtBt2G,EAAA,GAGKqzG,EAAcgD,GAAsB3sE,KAAW2sE,GACnDA,EAAmBphH,GJJhB,SAA0BA,GAC/B,OAAOshH,KAAUC,KAAMvhH,EAAM,QAAS,SIIpCwhH,CAAiBxhH,GAEb8+G,EAAcqC,GAAqB1sE,KAAW0sE,GAClDA,EAAkBnhH,EAAMo+G,GACxBD,GAAen+G,EAAMo+G,EAAaT,GAQpC,MAAO,CACL1qF,iBACAwuF,aAR+B3C,EAAzBlB,OASNkB,cACAuB,aARF,WAAmC,QAAAqB,EAAAp2G,UAAAzI,OAAN8+G,EAAM,IAAA37G,MAAA07G,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAND,EAAMC,GAAAt2G,UAAAs2G,GACjC,OAAO,kBAAMP,EAAkBrC,GAAiB5kG,WAAjB,EAAqBunG,QCLxD,SAASE,GAATznH,GAYG,IAXD4F,EAWC5F,EAXD4F,KACA++G,EAUC3kH,EAVD2kH,UACAqB,EASChmH,EATDgmH,aACAE,EAQClmH,EARDkmH,cACAc,EAOChnH,EAPDgnH,mBACAD,EAMC/mH,EAND+mH,kBACA9lH,EAKCjB,EALDiB,UACAsiH,EAICvjH,EAJDujH,gBACA0B,EAGCjlH,EAHDilH,kBACAD,EAEChlH,EAFDglH,uBACAE,EACCllH,EADDklH,qBACCwC,EAMGZ,GAAmB,CACrBvD,kBACAwD,oBACAC,qBACAphH,SARAizB,EAFD6uF,EAEC7uF,eACAwuF,EAHDK,EAGCL,aACA3C,EAJDgD,EAIChD,YACAuB,EALDyB,EAKCzB,aAkCF,OACExkH,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC+kH,EAAA,cAAD,CACEZ,WAAY1D,GACZuF,iBAAkBtF,GAClBn9E,OAAQi9E,GACRlhH,UAAWa,IAAWnD,KAAOipH,UAAW3mH,IAExCQ,EAAAC,EAAAC,cAAC+kH,EAAA,cAAD,CAAemB,gBAAc,GAC3BpmH,EAAAC,EAAAC,cAAC+kH,EAAA,YAAD,CAAaX,UAAW/D,GAAgB8F,qBAAmB,GAnCnE,SAAsBC,EAAajC,GAAY,IACrCtC,EAA0BkB,EAA1BlB,OAAQU,EAAkBQ,EAAlBR,cAEhB,OAAO6D,EAAYl+G,IAAI,SAACk8G,EAAW58G,GAAZ,OACrB1H,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACER,IAAKA,EACL1F,QAASo1B,EACT53B,UAAWtC,KAAOugD,iBAClBp1C,UAAU,UAEVrI,EAAAC,EAAAC,cAAA,SACEF,EAAAC,EAAAC,cAACqmH,GAAD,CACElC,WAAYA,EACZC,UAAWA,EACXrB,YAAalB,EACb0C,cAAeA,EACfhC,cAAeA,EACf8B,aAAcA,EACdrB,UAAWA,EACXsB,aAAcA,YAqBpBxkH,EAAAC,EAAAC,cAACsmH,GAAD,CACEzE,OAAQ6D,EACR1C,UAAWA,EACXuB,cAAeA,EACfF,aAAcA,EACdhB,uBAAwBA,EACxBC,kBAAmBA,EACnBC,qBAAsBA,KAM9BuC,GAAgB/gH,aAAe,CAC7Bi+G,UAAWpC,GACX2F,kBAAmBrF,GACnBU,iBAAiB,GAGnBkE,GAAgB7jH,UAAhB,GAce6jH,omBC9Gf,SAASU,GAATnoH,GAA2C,IAA5BoiB,EAA4BpiB,EAA5BoiB,WACPgmG,EAAUC,GAAA,CACdjmG,cAFuCkmG,GAAAtoH,EAAA,iBAMzC,OACEyB,EAAAC,EAAAC,cAACqnE,EAAA,EAAWjyC,SAAZ,CAAqB1zB,MAAO+kH,GAC1B3mH,EAAAC,EAAAC,cAAC09B,EAAD,CAAcjd,WAAYA,sCAKhC+lG,GAAIzhH,aAAe,CACjBk7G,aAAa,EACb2G,gBAAgB,EAChB3H,aAAa,EACb4H,cAAc,GAGhBL,GAAIvkH,UAAJ,GAWeukH,qCCtCf,IAAA/mG,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMMinG,EAAY,CAChBtpH,QAASR,IAAM,SAGjB,SAAS+pH,EAAT1oH,GAAyC,IAA1BsL,EAA0BtL,EAA1BsL,KAAM/K,EAAoBP,EAApBO,MAAOU,EAAajB,EAAbiB,UAC1B,OACEogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOioE,IAAK6hD,EAAUloH,GAAQU,IAAaqK,GAI1Eo9G,EAAI9kH,UAAJ,GAMA8kH,EAAIhiH,aAAe,CACjB4E,KAAM,GACNrK,UAAW,GACXV,MAAO,WAGMmoH,4CCVAz7G,IAlBA,CACb0zF,SAAU,CACRn9F,MAAO,WACPE,YAAa,oCAEfw/F,WAAY,CACV1/F,MAAO,cACPE,YAAa,0BAEfigG,cAAe,CACbngG,MAAO,gBACPE,YAAa,mCAEf+4E,QAAS,CACPj5E,MAAO,8BCbX8W,EAAAC,QAAA,CAAkBo1D,oBAAA,6CAAA9C,yBAAA,kDAAAC,kBAAA,2CAAAG,aAAA,sCAAAhrE,KAAA,8BAAAgyB,SAAA,kCAAAy4C,YAAA,qCAAAD,gBAAA,yCAAAY,SAAA,wDCAlB/yD,EAAAC,QAAA,CAAkBoxE,QAAA,iCAAAnlF,UAAA,mCAAAmiH,oBAAA,6CAAAC,eAAA,wCAAA/uG,KAAA,8BAAA1N,OAAA,gCAAAosF,WAAA,oCAAAiF,UAAA,mCAAA7uF,OAAA,oDCAlB2L,EAAAC,QAAA,CAAkBhM,SAAA,kCAAAijG,oBAAA,6CAAAE,wBAAA,iDAAAtB,WAAA,oCAAAG,kBAAA,2CAAAqB,cAAA,uCAAAE,oBAAA,+DCAlBx3F,EAAAC,QAAA,CAAkB7a,MAAA,+BAAAP,QAAA,iCAAAT,QAAA,iCAAAI,MAAA,+BAAA4sB,OAAA,gCAAA4a,KAAA,8BAAAl8B,IAAA,6BAAAm8B,cAAA,uCAAAC,SAAA,kCAAAnnC,OAAA,gCAAAkC,WAAA,kKCIlB,SAASsnH,EAAT7oH,GAAmE,IAA3CO,EAA2CP,EAA3CO,MAAOU,EAAoCjB,EAApCiB,UAAWP,EAAyBV,EAAzBU,WAAYwgB,EAAalhB,EAAbkhB,UACpD,OACEzf,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAOA,EACPG,WAAYA,EACZO,UAAWA,EACXhB,QAASihB,GAJX,kBAWJ2nG,EAAaniH,aAAe,CAC1BnG,MAAO,YACPG,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,qBAG3B4nH,EAAajlH,UAAb,GAUeilH,8FChBAlqH,WAfA+tC,aAAWC,OAAO,CAC/BnmC,UAAW,CACTouC,aAAc,IAEhBtoC,eAAgB,CACdsoC,aAAc,GAEhBpxC,MAAO,CACL6pC,SAAU,IAEZ3pC,YAAa,CACX2pC,SAAU,MCJC,SAASy7E,EAAT9oH,GAAsD,IAA9BwD,EAA8BxD,EAA9BwD,MAAOE,EAAuB1D,EAAvB0D,YAAaqlH,EAAU/oH,EAAV+oH,OACzD,OACEtnH,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,MAAM,EAAO1qB,MAAO1jB,EAAO6H,WAC/B/E,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2N,gBAClB7K,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO6E,OACjBA,GAEH/B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO+E,aACjBA,IAGJ6hH,IAAQ33F,IAAIm7F,EAAQ,SAAAv7G,GAAI,OAAM3H,IAAQ2H,IAAS/L,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAO7E,IAAKqE,EAAK,GAAGlK,MAAOkK,KAAMA,QCZvF,SAASw7G,EAAThpH,GAA4B,IAClBw+D,GADkBx+D,EAAV2kE,QACa,IAArBnG,OAER,GAAI34D,IAAQ24D,GACV,OAAO,KAGT,IAAMuqD,EAAS,CACbn7F,IAAI4wC,EAAQ,SAACyqD,EAAOtgH,GAAR,MAAmB,CAC7BrF,MAAK,SAAA8F,OAAWT,EAAQ,GACxBtF,MAAO6lH,YAAgBD,OAI3B,OACExnH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,SACNulH,OAAQA,IDAdD,EAAallH,UAAb,GCKAolH,EAAOplH,UAAP,GAIeolH,kBC1Bf,SAASG,EAATnpH,GAA+B,IACrBo+D,GADqBp+D,EAAV2kE,QACa,IAAxBvG,UAER,GAAIv4D,IAAQu4D,GACV,OAAO,KAGT,IAAM2qD,EAAS,CACbn7F,IAAIwwC,EAAW,SAACgrD,EAAezgH,GAAhB,MAA2B,CACxCrF,MAAK,aAAA8F,OAAeT,EAAQ,GAC5BtF,MAAOgmH,YAAwBD,OAInC,OACE3nH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,YACNulH,OAAQA,IAKdI,EAAUvlH,UAAV,GAIeulH,oCC1Bf,SAASG,EAATtpH,GAAuC,IAAAuF,EAAAvF,EAAV2kE,QAC4B,GAA/CzG,EAD6B34D,EAC7B24D,kBAAmBC,EADU54D,EACV44D,cACrBv4D,EAAO2jH,IAAOrrD,EAAmBC,GAEvC,GAAIt4D,IAAQD,GACV,OAAO,KAGT,IAAMmjH,EAAS,CACbn7F,IAAIhoB,EAAM,SAAC4jH,EAAa7gH,GAAd,MAAyB,CACjCrF,MAAK,gBAAA8F,OAAkBT,EAAQ,GAC/BtF,MAAOomH,YAAqBD,OAIhC,OACE/nH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,qBACNulH,OAAQA,IAKdO,EAAkB1lH,UAAlB,GAIe0lH,kBC3Bf,SAASI,EAAT1pH,GAAgC,IACtBs+D,GADsBt+D,EAAV2kE,QACa,IAAzBrG,WAER,GAAIz4D,IAAQy4D,GACV,OAAO,KAGT,IAAMyqD,EAAS,CACbn7F,IAAI0wC,EAAY,SAACqrD,EAAgBhhH,GAAjB,MAA4B,CAC1CrF,MAAK,gBAAA8F,OAAkBT,EAAQ,GAC/BtF,MAAOumH,YAAuBD,OAIlC,OACEloH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,aACNulH,OAAQA,IAKdW,EAAW9lH,UAAX,GAIe8lH,kBC1Bf,SAASG,EAAT7pH,GAAqC,IAC3Bq+D,GAD2Br+D,EAAV2kE,QACa,IAA9BtG,gBAER,GAAIx4D,IAAQw4D,GACV,OAAO,KAGT,IAAM0qD,EAAS,CACbn7F,IAAIywC,EAAiB,SAACyrD,EAAgBnhH,GAAjB,MAA4B,CAC/CrF,MAAK,mBAAA8F,OAAqBT,EAAQ,GAClCtF,MAAO0mH,YAAiBD,OAI5B,OACEroH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,mBACNulH,OAAQA,IAKdc,EAAgBjmH,UAAhB,GAIeimH,gBC1Bf,SAASG,EAAThqH,GAAqC,IAAAuF,EAAAvF,EAAV2kE,QAUX,GARZpH,EAFiCh4D,EAEjCg4D,cACAG,EAHiCn4D,EAGjCm4D,WACArxB,EAJiC9mC,EAIjC8mC,OACAoxB,EALiCl4D,EAKjCk4D,SACAJ,EANiC93D,EAMjC83D,UACAG,EAPiCj4D,EAOjCi4D,UACAF,EARiC/3D,EAQjC+3D,OARiC2sD,EAAA1kH,EASjCo4D,iBATiC,IAAAssD,EASrB,GATqBA,EAa1BC,EAELvsD,EAFFtE,MACM8wD,EACJxsD,EADF7oC,KAGIsxF,EAAab,IAAQ,CACzBhoD,EACAG,EACArxB,EACAoxB,EACAJ,EACAG,EACAF,EACA4sD,EACAC,IAGF,GAAItkH,IAAQugH,GACV,OAAO,KAGT,IAAM2C,EAAS,CACb,CACE,CACEzlH,MAAO,aACPD,MAAO6mH,GAAc5hH,KAEvB,CACEhF,MAAO,YACPD,MAAO8mH,GAAa7hH,KAEtB,CACEhF,MAAO,iBACPD,MAAOk6D,GAAiBj1D,KAE1B,CACEhF,MAAO,SACPD,MAAOq6D,GAAcp1D,KAEvB,CACEhF,MAAO,SACPD,MAAOgpC,GAAU/jC,KAEnB,CACEhF,MAAO,WACPD,MAAOo6D,GAAYn1D,KAErB,CACEhF,MAAO,YACPD,MAAOg6D,GAAa/0D,KAEtB,CACEhF,MAAO,YACPD,MAAOm6D,GAAal1D,KAEtB,CACEhF,MAAO,SACPD,MAAOi6D,GAAUh1D,OAKvB,OACE7G,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,mBACNulH,OAAQA,IAKdiB,EAAgBpmH,UAAhB,GAIeomH,kBCtFf,SAASI,EAATpqH,GAAsC,IAC5Bi+D,GAD4Bj+D,EAAV2kE,QACa,IAA/B1G,iBAER,GAAIp4D,IAAQo4D,GACV,OAAO,KAGT,IAAM8qD,EAAS,CACbn7F,IAAIqwC,EAAkB,SAACurD,EAAa7gH,GAAd,MAAyB,CAC7CrF,MAAK,gBAAA8F,OAAkBT,EAAQ,GAC/BtF,MAAOgnH,YAAmBb,OAI9B,OACE/nH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,oBACNulH,OAAQA,IAKdqB,EAAiBxmH,UAAjB,GAIewmH,sEChBf,SAASE,EAATtqH,GAA+C,IAA3ByE,EAA2BzE,EAA3ByE,SAAU8lH,EAAiBvqH,EAAjBuqH,cAE1BxtD,EAEEt4D,EAFFs4D,QAF2CytD,EAIzC/lH,EADFi9C,cAH2C,IAAA8oE,EAGlC,GAHkCA,EAAAjlH,EAYzCw3D,GAAW,GALbjB,EAP2Cv2D,EAO3Cu2D,SACAD,EAR2Ct2D,EAQ3Cs2D,OACAG,EAT2Cz2D,EAS3Cy2D,KACA13C,EAV2C/e,EAU3C+e,MACA23C,EAX2C12D,EAW3C02D,QAEIwuD,EAAuBF,EAAgB,EAEvC1zC,EAAYC,YAAa2S,IAAInlE,EAAO,SACpC4yD,EAAmBnpD,YAAY,CAAC8tC,EAAQG,EAAM6a,EAAW5a,IACzDv4D,EAAc+mH,EAAuB90C,YAAuBlxE,GAAY,KACxEjB,EAAQinH,EAAoB,eAAArhH,OAAkBmhH,GAAkB,SAetE,IAAMxB,EAAS,CACb,CACE,CACEzlH,MAAO,UACPD,MAAO6zE,GAAoB5uE,KAE7B,CACEhF,MAAO,WACPD,MAAOy4D,GAAYxzD,MApBhBslB,IAAIk3C,YAAepjB,GAAS,SAACF,GAAU,IACpCrhD,EAASqhD,EAATrhD,KACFuqH,EAAWp1C,YAAS9zB,GAE1B,MAAO,CACLl+C,MAAO6xE,YAAc3zB,GACrBn+C,MAAOqnH,EACPxjH,KAAMyjH,YAAU,CAAEjyG,IAAKgyG,EAAUvqH,aAmBvC,OACEsB,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAOA,EACPE,YAAaA,EACbqlH,OAAQA,IAKduB,EAAS1mH,UAAT,GAKe0mH,QCvEf,SAASM,GAAT5qH,GAAkC,IAAbi1D,EAAaj1D,EAAbi1D,UACnB,GAAIpvD,IAAQovD,GACV,OAAO,KAcT,OAAOrnC,IAAIqnC,EAXX,SAAwBxwD,EAAUkE,GAChC,OACElH,EAAAC,EAAAC,cAACkpH,EAAD,CACEN,cAAe5hH,EAAQ,EACvBlE,SAAUA,EACVjB,MAAK,eAAA4F,OAAiBT,EAAQ,GAC9BQ,IAAG,eAAAC,OAAiBT,OAQ5BiiH,GAAUhnH,UAAV,GAIegnH,qBCvBf,SAASE,GAAT9qH,GAAkC,IACxBu+D,GADwBv+D,EAAV2kE,QACa,IAA3BpG,aAER,GAAI14D,IAAQ04D,GACV,OAAO,KAGT,IAAMwqD,EAAS,CACbn7F,IAAI2wC,EAAc,SAACwsD,EAAapiH,GAAd,MAAyB,CACzCrF,MAAK,eAAA8F,OAAiBT,EAAQ,GAC9BtF,MAAO2nH,aAAsBD,OAIjC,OACEtpH,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,eACNulH,OAAQA,IAKd+B,GAAalnH,UAAb,GAIeknH,qBCzBf,SAASG,GAATjrH,GAAkC,IACxB49D,GADwB59D,EAAV2kE,QACK,IAAnB/G,KAER,GAAI/3D,IAAQ+3D,GACV,OAAO,KAGT,IAAMmrD,EAAS,CACbn7F,IAAIgwC,EAAM,SAAAn4D,GAAA,IAAGiT,EAAHjT,EAAGiT,IAAKvY,EAARsF,EAAQtF,KAAR,MAAoB,CAC5BmD,MAAOyK,aAAS,CAAE5N,SAClBkD,MAAOqV,EACPxR,KAAMyjH,YAAU,CAAEjyG,MAAKvY,aAI3B,OACEsB,EAAAC,EAAAC,cAACmnH,EAAD,CACEtlH,MAAM,gBACNulH,OAAQA,IAKdkC,GAAarnH,UAAb,GAIeqnH,+OCxBf,SAASC,GAATlrH,GAaG,IAZDU,EAYCV,EAZDU,WACAwW,EAWClX,EAXDkX,gBACAo7E,EAUCtyF,EAVDsyF,YACA64B,EASCnrH,EATDmrH,mBACAC,EAQCprH,EARDorH,kBACAC,EAOCrrH,EAPDqrH,SACAC,EAMCtrH,EANDsrH,mBACA3tB,EAKC39F,EALD29F,qBACAgD,EAIC3gG,EAJD2gG,SACA4qB,EAGCvrH,EAHDurH,qBACAC,EAECxrH,EAFDwrH,aACA9lE,EACC1lD,EADD0lD,gBACCv7B,EAC2DpJ,aAAS,GAA7D1K,EADP8T,EACO9T,YAAa6K,EADpBiJ,EACoBjJ,UAAW5K,EAD/B6T,EAC+B7T,YAShC,IAAMpC,EAAc,CAClBmC,cACA8K,WAZDgJ,EAC4ChJ,WAY3C7K,cACA4K,UAXF,WAA2B,IACjBuqG,GAAyB/lE,GAAmB,IAA5C+lE,qBAERvqG,IACAuqG,GAAwBA,MAyB1B,OACEhqH,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KAfI2yC,IAAW8wE,GACNA,EAAmBj3G,GAI1BzS,EAAAC,EAAAC,cAAC+pH,EAAD9pH,GAAA,GACMsS,EADN,CAEE3T,MAAO+xF,EACP5xF,WAAYA,EACZO,UAAWiW,KAQbzV,EAAAC,EAAAC,cAACkU,EAAA,EAADjU,GAAA,GACMsS,EADN,CAEEk3G,kBAAmBA,EACnBC,SAAUA,EACVC,mBAAoBA,EACpB3tB,qBAAsBA,EACtBgD,SAAUA,EACV4qB,qBAAsBA,EACtBC,aAAcA,EACd9lE,gBAAiBA,yUAMzBwlE,GAAOtnH,UAAP,GAkBesnH,+CC7Ff3oH,EAAAC,EAAAC,EAAA,sBAAAkpH,IAAAppH,EAAAC,EAAAC,EAAA,sBAAAmpH,IAAA,IAAAC,EAAAtpH,EAAA,IAAAupH,EAAAvpH,EAAAsI,EAAAghH,GAEO,SAASF,EAAiBI,GAC/B,OAAOA,EAAOrsG,QAAQ,SAAAssG,GAAS,OAAIA,EAAUD,SAGxC,SAASH,EAAwBG,EAAQ5rH,GAC9C,OAAO4rH,EACJ97G,OAAO,SAAA6B,GAAK,OAAIA,EAAMoE,OAAO/V,KAC7B0J,IAAI,SAAAiI,GAAK,OAAIijB,IAAOjjB,EAAMgjB,yCCR/Bxa,EAAAC,QAAA,CAAkBrN,KAAA,8BAAAukD,SAAA,kCAAAC,aAAA,sCAAAC,gBAAA,yCAAAnV,UAAA,mCAAAoV,YAAA,qCAAAY,iBAAA,0CAAAC,iBAAA,4DCAlBn4C,EAAAC,QAAA,CAAkB0xG,kBAAA,2CAAAC,UAAA,mCAAA9rH,OAAA,gCAAA6B,KAAA,8BAAAu/E,YAAA,qCAAA2qC,gBAAA,yCAAA1gC,QAAA,iCAAAjlF,UAAA,mCAAAkN,YAAA,qCAAA04G,mBAAA,4CAAAC,YAAA,qCAAAC,KAAA,8BAAAC,QAAA,iCAAAC,OAAA,gCAAAC,QAAA,iCAAAtiH,MAAA,+BAAAuiH,OAAA,gCAAAtiH,IAAA,+CCAlBkQ,EAAAC,QAAA,CAAkBtE,MAAA,+BAAAm8D,WAAA,oCAAAI,aAAA,sCAAAm6C,UAAA,mCAAAl8E,IAAA,gDCAlBn2B,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA9G,MAAA,+BAAA2lD,cAAA,uCAAAxsB,eAAA,wCAAAylB,YAAA,qCAAA8C,UAAA,mCAAAgE,eAAA,wCAAAwnE,iBAAA,0CAAA3tE,eAAA,wCAAAC,iBAAA,0CAAA+jE,MAAA,+BAAA39D,iBAAA,6DCAlBhrC,EAAAC,QAAA,CAAkBsyG,eAAA,wCAAAzsH,OAAA,gCAAAkL,KAAA,8BAAA8lB,SAAA,kCAAAikC,YAAA,qCAAApzD,KAAA,8BAAAvC,MAAA,mDCAlB4a,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA1sD,UAAA,mCAAAqiG,WAAA,oCAAA1uB,KAAA,8BAAAs0B,OAAA,gCAAAjrG,MAAA,+BAAAs4G,cAAA,uCAAAtoG,KAAA,8BAAAiuD,qBAAA,8CAAA/9D,YAAA,qCAAAs0D,SAAA,kCAAA/kB,UAAA,qDCAlB34B,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAsJ,QAAA,iCAAAg9G,KAAA,8BAAAC,YAAA,qCAAAC,YAAA,qCAAAlkB,WAAA,oCAAAmkB,QAAA,iCAAAC,OAAA,gCAAAC,OAAA,keCiFHC,MAnEf,SAAAptH,GAaG,IAZDqrH,EAYCrrH,EAZDqrH,SACAnrF,EAWClgC,EAXDkgC,cACA23C,EAUC73E,EAVD63E,KACAvhE,EASCtW,EATDsW,YACA8tF,EAQCpkG,EARDokG,cACAgnB,EAOCprH,EAPDorH,kBACAiC,EAMCrtH,EANDqtH,iBACA/B,EAKCtrH,EALDsrH,mBACAgC,EAICttH,EAJDstH,eACAt+F,EAGChvB,EAHDgvB,QACAu+F,EAECvtH,EAFDutH,gBACAC,EACCxtH,EADDwtH,gBAEMC,EAAUj6B,cAEVk6B,EAAsBC,IAAQztF,EAAe,CAAC,OAAQ,SAAU,CAAC0tF,IAAgBC,IAAKD,IAAgBC,MACtGC,EAAkBJ,EAAoB7jH,IAAI,SAAAqD,GAAI,OAAIA,EAAKlI,KACvD+oH,EAAgB,CAAE3pB,gBAAelkE,cAAewtF,GALrDM,EAOoDC,YAAqB,CACxE3C,qBACAF,kBAAmBA,GAAqB7iG,IAAMgW,aAAa6sF,EAAmB2C,GAC9EG,eAAgB53G,EAChB63G,iBAAkB,CAChBC,oBAAqBV,EAAoBjlH,OACzC9B,MAAO0nH,IACPC,kBAAmBC,KAErBhB,kBACAC,kBACAnC,SAAQ,GAAAjiH,OAAKiiH,EAAL,UAXFmD,EAPPR,EAOOQ,kBAwCR,MAAO,CACLC,YAhDDT,EAO0BlqB,SA0CzBA,SA5BF,SAAsB7/F,GAAO,IAErByqH,EADoBzqH,EAAlB0qH,gBAC8BC,IAClCC,IACAC,IAEJ,OAAOC,YAAkBntH,EAAA,GACpBqC,EADoB,CAEvB4zE,OACAwzC,WACAoC,UACAz+F,QAASA,GAAW0/F,EACpBxuF,cAAe4tF,EACfkB,WAAY3B,EACZa,eAAgB53G,EAChBg3G,iBACAa,iBAAkB,CAChBC,oBAAqBN,EAAgBrlH,OACrC9B,MAAOqoB,GAAW0/F,EAClBO,mBAAoBC,KAEtB3B,kBACAC,sBAOFtsH,UAAWstH,GAAqBf,EAAQvsH,+jDClD5C,SAASiuH,EAATnvH,GA4BG,IA3BDqW,EA2BCrW,EA3BDqW,YACAC,EA0BCtW,EA1BDsW,YACA+0G,EAyBCrrH,EAzBDqrH,SACAxzC,EAwBC73E,EAxBD63E,KACA33C,EAuBClgC,EAvBDkgC,cACAkkE,EAsBCpkG,EAtBDokG,cACAgrB,EAqBCpvH,EArBDovH,kBACAC,EAoBCrvH,EApBDqvH,kBACAC,EAmBCtvH,EAnBDsvH,mBACAC,EAkBCvvH,EAlBDuvH,kBACAC,EAiBCxvH,EAjBDwvH,sBACAlE,EAgBCtrH,EAhBDsrH,mBACAF,EAeCprH,EAfDorH,kBACAiC,EAcCrtH,EAdDqtH,iBACAa,EAaCluH,EAbDkuH,eACAZ,EAYCttH,EAZDstH,eACAmC,EAWCzvH,EAXDyvH,cACAC,EAUC1vH,EAVD0vH,sBACAC,EASC3vH,EATD2vH,sBACAC,EAQC5vH,EARD4vH,cACAC,EAOC7vH,EAPD6vH,oBACA7gG,EAMChvB,EANDgvB,QACA8gG,EAKC9vH,EALD8vH,WACAvC,EAICvtH,EAJDutH,gBACAC,EAGCxtH,EAHDwtH,gBACAuC,EAEC/vH,EAFD+vH,kBACAC,EACChwH,EADDgwH,mBACCC,EAKG7C,EAAqB,CACvBhpB,gBACAknB,qBACAF,oBACAiC,mBACAntF,gBACA5pB,cACA+0G,WACAxzC,OACAy1C,iBACAt+F,UACAu+F,kBACAC,oBAfA1pB,EAFDmsB,EAECnsB,SACA5iG,EAHD+uH,EAGC/uH,UACAutH,EAJDwB,EAICxB,YAgBIyB,EAAaZ,EAAmBzlH,IAAI,SAAAs2F,GAAG,OAAIA,EAAIn7F,KAC/CmrH,EAAkBtqH,IAAQ2pH,GAAyBY,YAAeb,GAAqBC,EACvFzsB,EAAkBl9F,IAAQsqH,GAAmBE,IAAoBF,EAyIvE,OACE1uH,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CACEjuF,YAAaA,EACbC,YAAaA,EACbwtF,SA3IJ,SAAsB7/F,EAAOqqC,EAASu1D,GAAiB,IAAAt+F,EACLtB,GAAS,GAAjD08F,EAD6Cp7F,EAC7Co7F,SAAUgD,EADmCp+F,EACnCo+F,cADmC2sB,EAAA1/G,EAAArL,EACpB29F,YAEqB,GAHD,MAG9CyrB,OAH8C,IAAA2B,EAG9Bb,EAH8Ba,EAI/CC,EAAgBjB,EAAmBr/G,OACvC,SAAA/C,GAAI,OAAKA,EAAKyyF,cAAN,IAAqBgB,EAAS1qE,QAAS/oB,EAAKlI,MAGhDm1B,EAAiBid,IAAOm5E,EAAe,SAAC3gB,EAAQ1iG,GACpD,IAAMsjH,GAAsB3qH,IAAQqH,EAAK+Z,QAEzC,MACE,GAAA7d,OAAA6W,EACK2vF,GAFH4gB,EACFvwG,EAEK2N,IAAI1gB,EAAK+Z,OAAQ,SAAA5jB,GAAK,MAAK,CAAEA,MAAOA,EAAM2B,GAAI1B,MAAOD,EAAMG,UAIlE,CAEE,CAAEH,MAAO6J,EAAKlI,GAAI1B,MAAO4J,EAAK1J,UAE/B,IAEGitH,GAAa,IAAG9sB,EAAc1tE,QAASy6F,KACvCljF,GAAoB,IAAGm2D,EAAc1tE,QAAS6nE,KAIpD,OAFAowB,GAAkBA,EAAejqH,GACjC6rH,GAAcA,EAAWnB,GACrBA,IAAkB1wB,KAAW+xB,EAS1BlsB,EAAS,CACd6qB,gBACAx0F,iBACAw2F,eAAgBvB,EAChBqB,gBACA5sB,oBAbO4qB,EAAYmC,EAAA,GACd3sH,EADa,CAEhBqqC,QAASmiF,EAAgBniF,OAAUn9B,EACnCq8B,uBACAq2D,sBA0GFlG,qBAAsBuyB,EACtB3rB,oBAAkB,EAClBrjG,UAAWA,EACXX,MAAM,iBACNU,UAAWtC,IAAOsX,MAClBgB,cAAetY,IAAOugF,UACtB8e,wBAAyB+xB,GAnG7B,SAA4Bc,GAAa,IAErC7xB,EASE6xB,EATF7xB,mBACAE,EAQE2xB,EARF3xB,sBACAE,EAOEyxB,EAPFzxB,iBACA2F,EAME8rB,EANF9rB,eACA7G,EAKE2yB,EALF3yB,eACAwG,EAIEmsB,EAJFnsB,gBACAb,EAGEgtB,EAHFhtB,gBACAmB,EAEE6rB,EAFF7rB,cACA12D,EACEuiF,EADFviF,QAGMrnB,EAAWi4E,IAAXj4E,OACQo3E,EAAqBW,IAA7B/3E,OACF6pG,GAAkB,IAAG7pG,EAAOgP,QAASy6F,KACrCttB,GAAgB,IAAGn8E,EAAOgP,QAAS86F,KAEnCtd,GAAK,IAAGpV,EAAiBpoE,QAASgoE,KAClC+yB,EAA2BrB,IAAqB,IAAItxB,EAAiBpoE,QAAS24F,KAC9EqC,EAAuBxd,GAASud,EAChCE,EAAiBJ,EAAqBxiF,OAAUn9B,EAEhDoyF,EAAuB,CAC3BH,mBACArL,QAASmG,EACTpqF,SAAU4wF,EACVrhG,MAAOwgG,GAGHstB,EACJ1vH,EAAAC,EAAAC,cAACyvH,EAAA,EAAD,CACE9iF,QAAS4iF,EACT9sB,cAAeA,IAInB,OAAIY,EAEAvjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOg5E,iBACrBl2E,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQ2U,QAAQ,iBAMpBpV,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACrBhwD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAADssB,EAAA,GACMxxB,IADN,CAEEa,eAAgBqvB,EAChB9rH,MAAOosH,EACPlsH,YAAamsH,OAKnBpuH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACrBhwD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAADssB,EAAA,GACM5xB,IADN,CAEEt7F,YAAagsH,EACb3sB,gBAAiBA,MAIpBkuB,GACCxvH,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAADssB,EAAA,GACM1xB,IACAmyB,YAA6B,CAAEhC,oBAAmBtqB,iBAAgB0O,QAAOuc,uBAF/E,CAGEtrB,gBAAiBA,EACjBnB,qBAAsBA,EACtB9Y,eAAa,MAGjBhpF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CAAS6sB,iBAAkBA,UA2B3ChC,EAAkBzoH,aAAe,CAC/B+oH,cAAexW,IACf2W,cAAe,UACfC,oBAAqB,kCACrBG,oBAAoB,GAGtBb,EAAkBvrH,UAAlB,GAuCeurH,q1BC/Qf,IAAMmC,EAAe,SAEfC,EAAgB,CACpBt0G,KAAMte,IAAOse,MAGTu0G,EAAmB,CACvBC,YAAa9yH,IAAO8yH,YACpBC,WAAY/yH,IAAO+yH,YAGfC,EAAe,CACnBpyH,MAAOZ,IAAOizH,WAGVC,EAAYC,IAAiBvpG,KAEnC,SAASod,EAAT3lC,GAaG,IAZDO,EAYCP,EAZDO,MACAkD,EAWCzD,EAXDyD,QACA+P,EAUCxT,EAVDwT,KACA/O,EASCzE,EATDyE,SACAzD,EAQChB,EARDgB,SACAC,EAOCjB,EAPDiB,UACA8U,EAMC/V,EAND+V,gBACAq6C,EAKCpwD,EALDowD,UACAhuC,EAICpiB,EAJDoiB,WACA3hB,EAGCT,EAHDS,KACAmlC,EAEC5lC,EAFD4lC,QACGvkC,EACFC,EAAAtB,EAAA,0HAaD,IAAM+xH,EAAQ,eAAA3oH,OAAkBoK,EAAlB,KAAApK,OAA0B2+C,OAClCiqE,EAAU9+G,EAAA,GACbk9C,GAAY,GAGf,OACE/uC,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO8sF,QAAS8lC,EAAchxH,GAAQwV,IAChEsL,EAAA3f,EAAAC,cAAA,OAAAC,EAAA,CAAM3B,QAnBV,WACO2lC,GAIiBxjB,EAAW9Q,SAAW8Q,EAAW9Q,QAAQgT,MAAM/c,QAGnE47B,WAAW/gB,EAAW9Q,QAAQ8xB,WAAY,IAWNniC,UAAWtC,IAAOglE,SAAtDzwD,EAAA,GAAsE6+G,GAAW,IAC9E/wH,GAEHqgB,EAAA3f,EAAAC,cAACkwH,EAADjwH,EAAA,CACEC,IAAKugB,EACL3d,SAAU6sH,EACVW,UAAWF,EACX9wH,UAAWa,IAAWnD,IAAOs5E,KAAMu5C,EAAiB/sH,GAAWktH,EAAalxH,GAAOQ,GACnFixH,gBAAiBzuH,EACjBsoH,OAAQiG,EACRpsF,QAASA,GACLvkC,KAMZskC,EAAQ/hC,UAAR,GAqBA+hC,EAAQj/B,aAAe,CACrBk/B,SAAS,EACTusF,MAAO,IACP1tH,SAAU,cACV2rD,UAAW,QACX58C,KAAM,IAGOmyB,yBCvGfrrB,EAAAC,QAAA,CAAkBtE,MAAA,+BAAAtH,OAAA,gCAAA0mF,aAAA,mQCDX,IAAM+8B,EAAc,cAEdC,GAAUn/G,EAAAo/G,EAAA,CACrBC,QAAS,CACPjvH,MAAO,UACPrB,KAAM,4BAERy7E,KAAM,CACJp6E,MAAO,OACPrB,KAAM,wBAEPmwH,EAAc,CACb9uH,MAAO,cACPrB,KAAM,wBAXaiR,EAAAo/G,EAAA,MAahB,CACHhvH,MAAO,MACPrB,KAAM,0BAfaiR,EAAAo/G,EAAA,SAiBb,CACNhvH,MAAO,SACPrB,KAAM,+BAnBaqwH,iCCFvB,IAAAlxG,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAkxG,EAAAjwH,EAAA,KAAAkwH,EAAAlwH,EAAA,IAAAmwH,EAAAnwH,EAAA,KAAAm3C,GAAAn3C,EAAA,MAAAA,EAAA,MAAAo3C,EAAAp3C,EAAAsI,EAAA6uC,GAWA,SAASi5E,EAAT3yH,GAQG,IAPD6gD,EAOC7gD,EAPD6gD,SACA1nB,EAMCn5B,EANDm5B,QACAjsB,EAKClN,EALDkN,KACAhM,EAIClB,EAJDkB,UACAD,EAGCjB,EAHDiB,UACAunF,EAECxoF,EAFDwoF,yBACAoqC,EACC5yH,EADD4yH,SACCrtH,EACqC2H,GAAQ,GAAtCy7E,EADPpjF,EACOojF,SAAUlK,EADjBl5E,EACiBk5E,UAAWpxE,EAD5B9H,EAC4B8H,KAEvBwlH,EAAc,kBAClBxxG,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOkqF,gBAAiB5nF,IACjDogB,EAAA3f,EAAAC,cAAC6wH,EAAA,EAAD,CACEtxH,UAAWA,GAAasnF,EACxB/nF,KAAMqyH,IAAUvzH,MAChB2pF,cAAevqF,IAAOo0H,KACtBpqC,SAAUA,EACVlK,UAAWA,EACXpxE,KAAMulH,GAAYvlH,GAAQ,OAKhC,OAAKwzC,EAKHx/B,EAAA3f,EAAAC,cAAC8wH,EAAA,EAAD,CAAQtpH,IAAKgwB,EAASA,QAASA,EAASl4B,UAAWtC,IAAO6H,WACvDqsH,GALIA,IAUXF,EAAYjsH,aAAe,CACzBm6C,UAAU,EACV+xE,UAAU,GAGZD,EAAY/uH,UAAZ,GAUeovH,mBAAKL,yCC7DpBpwH,EAAAC,EAAAC,EAAA,sBAAAwwH,IAAA1wH,EAAAC,EAAAC,EAAA,sBAAAywH,IAAA3wH,EAAAC,EAAAC,EAAA,sBAAA0wH,IAAO,IAAMF,EAAe,CAC1B1nF,WAAY,aACZC,aAAc,eACd4nF,kBAAmB,oBAGRF,EAAgB,CAC3BluH,GAAI,KACJvB,QAAS,GACT8wD,UAAW,MAGA4+D,EAAQ,4HCLrB,SAASE,EAATrzH,GAQG,IAPDi0B,EAOCj0B,EAPDi0B,SACAq/F,EAMCtzH,EANDszH,OACA58E,EAKC12C,EALD02C,QACA68E,EAICvzH,EAJDuzH,SACAjwH,EAGCtD,EAHDsD,MACArC,EAECjB,EAFDiB,UACA8nD,EACC/oD,EADD+oD,eAEMl6C,EAAqB/M,IACzBnD,IAAOy2C,SACPsB,GAAW/3C,IAAO60H,cAClBv/F,GAAYmL,IAAOq0F,eACnBF,GAAYn0F,IAAOs0F,UACnBzyH,GAEI0yH,EAAkB7xH,IACtBwxH,EAAS30H,IAAOi1H,UAAYj1H,IAAO2E,MACnCylD,GAGF,OACEtnD,EAAAC,EAAAC,cAAA,OAAKV,UAAW4N,GACb0kH,GAAY9xH,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,sBAAuBnD,IAAOk1H,cACpEpyH,EAAAC,EAAAC,cAAA,OAAKV,UAAW0yH,GAAkBrwH,IAKxC+vH,EAASzvH,UAAT,GAUeyvH,QCrCf,SAAS59E,EAATz1C,GASG,IARD+M,EAQC/M,EARD+M,UACA+mH,EAOC9zH,EAPD8zH,aACAC,EAMC/zH,EAND+zH,cACA9yH,EAKCjB,EALDiB,UACAV,EAICP,EAJDO,MACAyzH,EAGCh0H,EAHDg0H,gBACAjrE,EAEC/oD,EAFD+oD,eACAkrE,EACCj0H,EADDi0H,aAEA,GAAIH,EAAarrH,OAAS,EACxB,OAAO,KAGT,IAAKsE,EACH,OAAOinH,EAGT,IAAME,EAAcC,YAAeL,EAAcC,GAC3CxrH,EAAYurH,EAAa,GACzBM,GAAa,IAAGF,EAAYj+F,QAAS1tB,EAAUvD,IAsCrD,OACEvD,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAW44B,IAAO7+B,GAAQU,IACzD6yH,EAAalqH,MAAM,GAAGC,IAtC3B,SAA4BqD,EAAMvE,GAAO,IAC/B3D,EAAwBkI,EAAxBlI,GAAI1B,EAAoB4J,EAApB5J,MAAOiwH,EAAarmH,EAAbqmH,SAGbD,EAAS3qH,IAAUmrH,EAAarrH,OAAS,EACzC4rH,EAAmC,IAAV1rH,EACzBsrB,GAAQ,IAAGigG,EAAYj+F,QAASjxB,GAEhCsvH,EAAoBxyH,IACxBnD,IAAO41H,aACPtgG,GAAYmL,IAAOo1F,oBAGrB,OACE/yH,EAAAC,EAAAC,cAAA,OAAKwH,IAAKnE,EAAI/D,UAAWqzH,GACtBD,GACC5yH,EAAAC,EAAAC,cAAC8yH,EAAD,CACE/9E,SAAO,EACPziB,SAAUmgG,EACV9wH,MAAOiF,EAAUjF,MACjBrC,UAAWgzH,EACXlrE,eAAgBA,IAGpBtnD,EAAAC,EAAAC,cAAC8yH,EAAD,CACEnxH,MAAOA,EACP2wB,SAAUA,EACVq/F,OAAQA,EACRC,SAAUA,EACVtyH,UAAWgzH,EACXlrE,eAAgBA,QAa1BtT,EAAmB/uC,aAAe,CAChCnG,MAAO,UACPyzH,gBAAiB,MAGnBv+E,EAAmB7xC,UAAnB,GAiBe6xC,0BChGflzC,EAAAC,EAAAC,EAAA,sBAAAmkC,IAAArkC,EAAAC,EAAAC,EAAA,sBAAAu2C,IAQA,IAAM5Z,EAAS,CACbjgC,QAASR,IAAM,QACfG,MAAOH,IAAOG,OAGV41H,EAAc,CAClBpvH,QAAS3G,IAAO2G,QAChBqvH,QAASh2H,IAAOg2H,QAChBC,QAASj2H,IAAOi2H,SAGH,SAAShuF,EAAT5mC,GAAuE,IAAhD2mC,EAAgD3mC,EAAhD2mC,QAASnjC,EAAuCxD,EAAvCwD,MAAOjD,EAAgCP,EAAhCO,MAAOs0H,EAAyB70H,EAAzB60H,WAAY5zH,EAAajB,EAAbiB,UACjE6zH,EAAoBzjC,KAAK5kC,IAAI,IAAK4kC,KAAK0jC,IAAI,EAAGpuF,IAC9CquF,EAAa,CAAExjF,MAAK,GAAApoC,OAAK0rH,EAAL,MAE1B,OACErzH,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6xD,IAAKpxB,EAAO7+B,GAAQU,IACnDuC,GACC/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6E,MAAOkxH,EAAYG,KAClDrxH,GAIL/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkzF,SAAUxvE,MAAO2yG,KAK9CpuF,EAAYhjC,UAAZ,GAQAgjC,EAAYlgC,aAAe,CACzBigC,QAAS,EACTpmC,MAAO,UACPiD,MAAO,GACPqxH,WAAY,kKCtCd,SAASI,EAATj1H,GAOG,IANDuB,EAMCvB,EANDuB,WACAL,EAKClB,EALDkB,UACAuD,EAICzE,EAJDyE,SACAxD,EAGCjB,EAHDiB,UACAN,EAECX,EAFDW,cACAV,EACCD,EADDC,QACCsF,EAC8BgoF,YAAY9oF,IAAa,GAAhDnB,EADPiC,EACOjC,MAAOrB,EADdsD,EACctD,KAAM0iB,EADpBpf,EACoBof,MAMrB,OACEljB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEW,YAAaQ,GAAaO,EAAAC,EAAAC,cAAA,KAAGV,UAAWgB,IACxC5B,SAAUkB,GAAcL,EACxBjB,QARJ,WACEA,EAAQwE,IAQNlE,MAAM,QACNI,cAAemB,IAAWnD,IAAOgmB,GAAQhkB,GACzCM,UAAWA,GAEVC,EAAYO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAO+U,cAAkBpQ,GAKxE2xH,EAAcrxH,UAAd,GASeqxH,m+BCNAC,MArCf,SAAAl1H,GAMG,IALDm1H,EAKCn1H,EALDm1H,cACAC,EAICp1H,EAJDo1H,gBACAC,EAGCr1H,EAHDq1H,WACAC,EAECt1H,EAFDs1H,mBACAC,EACCv1H,EADDu1H,YACC5kH,EAAAC,EAC2BC,mBAASskH,GADpC,GACM9wG,EADN1T,EAAA,GACc6kH,EADd7kH,EAAA,GAAA4iF,EAEgDC,cAAzCtyF,EAFPqyF,EAEOryF,UAAWu0H,EAFlBliC,EAEkBkiC,aAAchiC,EAFhCF,EAEgCE,YAsBjC,OApBA/hF,oBAAU,WACRyjH,GAAiBK,EAAUL,IAC1B,CAACA,IAkBG,CACL9wG,SACAnjB,UAAWA,GAAak0H,EACxBthH,SAnBe,SAACrP,GACZA,IAAa4f,GACfixG,EAAmB,CACjBD,aACAK,cAAejxH,EACfkxH,aAAcH,EACdC,iBAECx8G,KAAK,WACJu8G,EAAU/wH,GACV8wH,EAAY9wH,KARhB,QAUWgvF,MCjBjB,SAASmiC,EAAT51H,GAOG,IANDm1H,EAMCn1H,EANDm1H,cACAC,EAKCp1H,EALDo1H,gBACAC,EAICr1H,EAJDq1H,WACAxmH,EAGC7O,EAHD6O,mBACAymH,EAECt1H,EAFDs1H,mBACAC,EACCv1H,EADDu1H,YACCM,EACuCX,EAAoB,CAC1DC,gBACAC,kBACAC,aACAC,qBACAC,gBALMlxG,EADPwxG,EACOxxG,OAAQnjB,EADf20H,EACe30H,UAAW4S,EAD1B+hH,EAC0B/hH,SAmBrBrQ,EACJhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOytH,oBACpBviH,IAAI4oB,OAAOC,KAAK06D,KAbA,SAAA0oC,GAAc,OACjCr0H,EAAAC,EAAAC,cAACo0H,EAAD,CACE5sH,IAAK2sH,EACLrxH,SAAUqxH,EACV70H,UAAWtC,IAAOyB,OAClBmB,WAAYL,EACZP,cAAehC,IAAOsD,KACtBhC,QAAS6T,OAUb,OACErS,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACEpJ,MAAM,QACNuJ,UAAU,aACVrG,SAAUvC,GAAauC,EACvBpD,SAAUa,EACVkjB,OAAQ4xG,wBACR/0H,UAAWtC,IAAO8sF,QAClB9nB,QAAQ,SAERliE,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO6H,UAAWqI,IAC5CpN,EAAAC,EAAAC,cAACo0H,EAAD,CACEtxH,SAAU4f,EACVpjB,UAAWtC,IAAOyB,OAClBc,UAAWA,EACXP,cAAehC,IAAOsD,KACtBhC,QAAS6T,MAOnB8hH,EAAiBhyH,UAAjB,GAeegyH,4QC7DR,SAASK,EAAT1wH,GAMJ,IALDmwH,EAKCnwH,EALDmwH,cACAL,EAIC9vH,EAJD8vH,WACAI,EAGClwH,EAHDkwH,aACAE,EAECpwH,EAFDowH,aACAO,EACC3wH,EADD2wH,eAIA,OAFAT,GAAa,GAETC,IAAkB5oC,IACbxM,IAAI61C,eAAed,GACvBp8G,KAAK,kBAAM08G,EAAa7oC,OADpB,MAEEopC,GAGJ51C,IAAI81C,eAAJx0H,EAAA,GAAwByzH,EAAxB,CAAoC5wH,SAAUixH,KAClDz8G,KAAK,kBAAM08G,EAAaD,KADpB,MAEEQ,GAFF,QAGI,kBAAMT,GAAa,KAGzB,SAASY,EAAT5wH,GAAmD,IAAxBouD,EAAwBpuD,EAAxBouD,SAAUC,EAAcruD,EAAdquD,WAC1C,OAAO,kBAAMwsB,IAAIg2C,cAAc,CAAEziE,WAAUC,gBCpC7C,SAASyiE,EAATv2H,GAaG,IAZDwJ,EAYCxJ,EAZDwJ,YACA0lG,EAWClvG,EAXDkvG,kBACAj6F,EAUCjV,EAVDiV,OACAxU,EASCT,EATDS,KACAozD,EAQC7zD,EARD6zD,SACAC,EAOC9zD,EAPD8zD,WACA+6C,EAMC7uG,EAND6uG,kBACA2nB,EAKCx2H,EALDw2H,gBACAv1H,EAICjB,EAJDiB,UACA84C,EAGC/5C,EAHD+5C,qBACAlrC,EAEC7O,EAFD6O,mBACAogG,EACCjvG,EADDivG,kBAEMzgF,EAAc,CAClBvZ,SACAmgH,gBAAiBlmB,EACjBmmB,WAAY,CAAExhE,WAAUC,cACxBqhE,cAAeqB,GAAmB1pC,IAClC/nF,QAASkwD,IACTx0D,OACAwuG,oBACAl1D,uBACAlrC,qBACA5N,YACAw1H,UAAWJ,EAAgB,CAAExiE,WAAUC,eACvCwhE,mBAAoBW,EACpBV,YAAa1mB,GAGf,OAAIrlG,EACK/H,EAAAC,EAAAC,cAAC+0H,EAAqBloG,GAGxB/sB,EAAAC,EAAAC,cAACg1H,EAAA,EAAqBnoG,GAG/B+nG,EAAe3yH,UAAf,GAee2yH,gKCxDArqC,EAAA,CACb0qC,aADa,WAHD,IAAA//G,IAKJ,4CALeitE,IAAeD,gBAAgB,CAAEE,MAAO,QAASltE,aAOxEggH,iBAJa,WAFC,IAAAhgH,IAOJ,8BAPeitE,IAAeD,gBAAgB,CAAEE,MAAO,UAAWltE,wBCD9E,SAASigH,IACP32F,OAAO42F,oBAAiB5lH,EAoBX6lH,MAVf,SAAAh3H,GAAwD,IAAvBopC,EAAuBppC,EAAvBopC,QAAS6tF,EAAcj3H,EAAdi3H,WACxCvlH,oBAAU,WACR03B,EATJ,SAAwB6tF,GACtB92F,OAAO42F,eAAiB,WAEtB,OADAE,GAAcA,IACP,IAOHC,CAAeD,GACfH,KACH,CAAC1tF,IAEJ13B,oBAAU,kBAAMolH,GAAkB,u9BCoHrBziE,MAhIf,SAAAr0D,GAAgE,IAA1C8zD,EAA0C9zD,EAA1C8zD,WAAYD,EAA8B7zD,EAA9B6zD,SAAUG,EAAoBh0D,EAApBg0D,iBACpCM,EAAanE,iBAAO,MADoCx/C,EAAAC,EAGhCC,mBAASqiH,KAHuB,GAGvDzqC,EAHuD93E,EAAA,GAG9CwmH,EAH8CxmH,EAAA,GAAA+I,EAAA9I,EAIhCC,mBAAS,IAJuB,GAIvDpN,EAJuDiW,EAAA,GAI9C8nF,EAJ8C9nF,EAAA,GAKxD09G,EAAaC,YAAc,CAAEvjE,aAAYD,aALennC,EAAA9b,EAQlCC,oBAAS,GARyB,GAQvDoE,EARuDyX,EAAA,GAQ/CzL,EAR+CyL,EAAA,GAAAE,EAAAhc,EAS5BC,oBAAS,GATmB,GASvD3P,EATuD0rB,EAAA,GAS5C6oG,EAT4C7oG,EAAA,GAWxDrrB,EADYy2C,IAAKv0C,GAAW0vH,KACFjyH,EAWhC,SAASo2H,IACPH,EAAWjE,KACX1xB,EAAW,IACXvgF,GAAU,GAyCZ,SAASs2G,IACP,OAAI1xH,IAAQiU,IAAKrW,IA3BbuzC,IAAMyxC,EAAQzjF,IACT+T,QAAQC,UAGVo+G,EACJI,gBACAv+G,KAAKq+G,IAIFG,EAAU,CACdh0H,UACAi0H,UAAWjvC,EAAQzjF,IAGdoyH,EACJO,YAAYF,GACZx+G,KAAKk+G,IARV,IACQM,EAiER,OAlGAT,EAAsB,CACpB5tF,QAASn0B,EACTgiH,WANsB,WACtB3iE,EAAWhjD,SAAWgjD,EAAWhjD,QAAQsmH,oBA6F3ClmH,oBAAU,WA9ER+jH,GAAa,GAEb2B,EAAWS,eACR5+G,KAAKk+G,GADR,MAES,kBAAM,OAFf,QAGW,WACP1B,GAAa,MA0EhB,IAEH/jH,oBAAU,WACR8vF,EAAW/Y,EAAQhlF,UAClB,CAACglF,IAEG,CACLn0B,aACAr/C,SACA1T,aACAL,YACAuC,UACA8wD,UAAWk0B,EAAQl0B,UACnBC,YA1BIv/C,EACK,eAGL+hC,IAAMyxC,EAAQzjF,IACT,cAGF,eAmBP8O,SA/DF,SAAsBhC,GAAO,IACnBzO,EAAUyO,EAAMvK,OAAhBlE,MAERm+F,EAAWn+F,IA6DXpD,QAlDF,WACMgV,GACFwgH,GAAa,GAEb8B,IACGt+G,KAAK,WACJ+6C,GAAoBA,IACpBk4B,EAAa2qC,mBACb51G,GAAU,KAJd,MAMS,WACLirE,EAAa0qC,iBAPjB,QASW,WACPnB,GAAa,MAGjBx0G,GAAU,+CC3FhB,SAAS62G,EAAT93H,GAKG,IAJDw0D,EAICx0D,EAJDw0D,YACAtzD,EAGClB,EAHDkB,UACAK,EAECvB,EAFDuB,WACAtB,EACCD,EADDC,QAEMu4B,EAAYt3B,EACd,8BACA,gBAEJ,OACEO,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWtC,IAAOyB,OAClBM,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW02B,EAAW75B,IAAOsD,QACvD1B,MAAM,QACNN,QAASA,EACTI,SAAUkB,GAETizD,GAKPsjE,EAAcl0H,UAAd,GAOek0H,iBC7Bf,SAASC,EAAT/3H,GAA6E,IAAnDiV,EAAmDjV,EAAnDiV,OAAQxR,EAA2CzD,EAA3CyD,QAAS8wD,EAAkCv0D,EAAlCu0D,UAAWzgD,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UACxD+2H,EACJv2H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOs5H,KAAMh3H,IACtCQ,EAAAC,EAAAC,cAAC4gG,EAAA,EAAD,CACEl/F,MAAOI,EACPqQ,SAAUA,KAKVokH,EACJz2H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOw5H,KAAMl3H,IACtCQ,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO41D,WAAxB,iBAAkDA,EAAlD,MACC9wD,IAKP,OAAIwR,EACK+iH,EAGLnyH,IAAQiU,IAAKrW,IACR,KAGFy0H,EAGTH,EAAen0H,UAAY,CACzBqR,OAAQlK,IAAU48D,KAAKtxC,WACvBk+B,UAAWxpD,IAAU8E,OACrBpM,QAASsH,IAAU8E,OACnBiE,SAAU/I,IAAU8tD,KAAKxiC,YAGZ0hG,2BCrCf,SAASnjE,EAAT50D,GAA2C,IAAxB8zD,EAAwB9zD,EAAxB8zD,WAAYD,EAAY7zD,EAAZ6zD,SAAYO,EAWrCC,EAAW,CAAEP,aAAYD,aAT3BS,EAFuCF,EAEvCE,WACAr/C,EAHuCm/C,EAGvCn/C,OACA1T,EAJuC6yD,EAIvC7yD,WACAL,EALuCkzD,EAKvClzD,UACA4S,EANuCsgD,EAMvCtgD,SACA7T,EAPuCm0D,EAOvCn0D,QACAs0D,EARuCH,EAQvCG,UACA9wD,EATuC2wD,EASvC3wD,QACA+wD,EAVuCJ,EAUvCI,YAGF,OACE/yD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8pF,QAAS5mF,IAAKyyD,GACnC7yD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOqgD,iBACrBv9C,EAAAC,EAAAC,cAACy2H,EAAD,CACEl3H,UAAWA,EACXszD,YAAaA,EACbv0D,QAASA,EACTI,SAAUkB,KAGdE,EAAAC,EAAAC,cAAC02H,EAAD,CACEpjH,OAAQA,EACRxR,QAASA,EACT8wD,UAAWA,EACXzgD,SAAUA,KArClBvR,EAAAC,EAAAC,EAAA,sBAAAsgF,EAAA,IAAAxgF,EAAAC,EAAAC,EAAA,sBAAA21H,IAAA71H,EAAAC,EAAAC,EAAA,sBAAA41H,IAAA91H,EAAAC,EAAAC,EAAA,sBAAA61H,IA2CA1jE,EAAQhxD,UAAR,GAUegxD,sCCpDft6C,EAAAC,QAAA,CAAkBtY,KAAA,8BAAAs2H,UAAA,mCAAAC,WAAA,oCAAA52D,OAAA,wDCAlBtnD,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAilF,QAAA,iCAAA5yD,eAAA,wCAAAylB,YAAA,qCAAAm6E,WAAA,oCAAA1F,KAAA,8BAAAlqC,gBAAA,yCAAA3pC,iBAAA,0CAAAw5E,eAAA,0DCAlBp+G,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,wCAAAk1E,YAAA,qCAAAC,aAAA,sCAAAC,YAAA,qCAAAme,UAAA,mCAAA/L,iBAAA,0CAAAgM,YAAA,wDCAlBt+G,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAK,QAAA,iCAAA9nB,QAAA,iCAAA8tD,YAAA,qCAAAC,WAAA,oCAAAz5C,KAAA,8BAAAhzE,YAAA,qCAAAgY,KAAA,8BAAA20G,UAAA,mCAAAprH,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkBjX,MAAA,+BAAAG,QAAA,iCAAAD,MAAA,+BAAAgD,UAAA,mCAAA0H,MAAA,kDCAlBoM,EAAAC,QAAA,CAAkBshF,cAAA,uCAAA38C,iBAAA,0CAAA67C,cAAA,uCAAAiB,aAAA,sCAAAC,gBAAA,yCAAAG,WAAA,sDCAlB9hF,EAAAC,QAAA,CAAkBs+G,gBAAA,yCAAAlM,UAAA,mCAAA15G,MAAA,+BAAA6lH,YAAA,uDCAlBx+G,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAvrF,MAAA,+BAAAwrF,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAhmD,eAAA,wCAAA+b,cAAA,uCAAAhyB,UAAA,mCAAAjL,OAAA,gCAAAo6B,YAAA,qCAAAy6E,WAAA,oCAAA9lF,UAAA,mCAAAqO,WAAA,oCAAA+wB,UAAA,mCAAAJ,UAAA,qDCAlB33D,EAAAC,QAAA,CAAkB/T,UAAA,mCAAArH,QAAA,iCAAAL,MAAA,+BAAA6iB,OAAA,gCAAAiF,WAAA,oCAAAlT,YAAA,qCAAAtT,OAAA,gCAAAyuC,UAAA,mCAAA6oB,MAAA,+BAAAD,WAAA,uDCAlBn9C,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA6wG,WAAA,oCAAA5zG,QAAA,iCAAAhE,MAAA,+BAAAD,OAAA,gCAAAgE,MAAA,+BAAAE,YAAA,qCAAAgV,IAAA,+CCAlB4B,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAzF,4BAAA,QAAA0F,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAnZ,UAAA,mCAAA56C,QAAA,iCAAA8uD,WAAA,oCAAAlxE,OAAA,gCAAA9V,QAAA,iCAAAL,MAAA,+BAAA2E,QAAA,iCAAA+iF,gBAAA,yCAAAltD,cAAA,0DCAlBhf,EAAAC,QAAA,CAAkBk3C,SAAA,kCAAA5Z,QAAA,iCAAA8/B,gBAAA,yCAAA1hE,MAAA,+BAAAipE,UAAA,sDCAlB5kE,EAAAC,QAAA,CAAkBmT,QAAA,iCAAA27B,MAAA,+BAAAsmD,UAAA,mCAAAqpB,cAAA,uCAAA5qH,SAAA,kCAAA6qH,aAAA,sCAAAhmH,MAAA,+BAAAimH,YAAA,qCAAA/gG,UAAA,qDCAlB7d,EAAAC,QAAA,CAAkB0gG,aAAA,sCAAApiF,eAAA,wCAAAwkF,aAAA,sCAAAp+G,KAAA,8BAAAwsF,QAAA,iCAAA0tC,YAAA,qCAAAC,aAAA,4DCAlB9+G,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA6yH,cAAA,uCAAA/oE,aAAA,sCAAAruD,KAAA,8BAAA0T,OAAA,gCAAA2jH,iBAAA,0CAAA71H,QAAA,iCAAA81H,aAAA,sCAAAC,UAAA,6ECDlBj3H,EAAAC,EAAAC,EAAA,sBAAAg3H,IAAAl3H,EAAAC,EAAAC,EAAA,sBAAAi3H,IAAAn3H,EAAAC,EAAAC,EAAA,sBAAAk3H,IAAAp3H,EAAAC,EAAAC,EAAA,sBAAAm3H,IAAAr3H,EAAAC,EAAAC,EAAA,sBAAAo3H,IAAO,IAAMJ,EAAgB,CAC3BxuF,gBAAiB,UACjBD,cAAe,UACfM,qBAAsB,gBAGXouF,EAA0B,aAC1BC,EAAuB,aAEvBC,EAAsB,SAGtBC,EAAsB,CACjC,CACEv2H,MAAOo2H,EACPr2H,MAAOs2H,GAET,CACEr2H,MAAOs2H,EACPv2H,MAT4B,giCCsBjBy2H,MA9Bf,SAAA95H,GAIG,IAHD+5H,EAGC/5H,EAHD+5H,KACAC,EAECh6H,EAFDg6H,YACAC,EACCj6H,EADDi6H,mBAEMC,EAAa,SAACC,GAAD,IAAQC,EAARlpH,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAqB6oH,EAAK,GAA1B,OACjBA,EAAK7lG,KAAK,SAAAisE,GAAG,OAAIA,EAAIl8F,MAAMe,KAAOm1H,KAAUC,GAF7CzpH,EAAAC,EAOiCC,mBAFN,kBAAMqpH,EAAWD,KAL5C,GAOMI,EAPN1pH,EAAA,GAOiB2pH,EAPjB3pH,EAAA,GAoBD,OAXAe,oBAAU,WACR,IAAM6oH,EAAeL,EAAWD,EAAoBI,GAEpDC,EAAaC,IACZ,CAACN,IAOG,CACLI,YACAG,WAPF,SAA0Br6B,GACxBm6B,EAAan6B,GACb65B,GAAeA,EAAY75B,EAAIl8F,oDCrBJskB,IAAMC,gBAA7BG,aAAUoO,+tCCMlB,IAAM0jG,GAAcl1C,SAAS0F,uBAAsB,IAC7CyvC,EAAiB,IACjBp6F,EAAY,GAuGHq6F,MAjFf,SAAA36H,GAAyC,IAAZ46H,EAAY56H,EAAZ46H,SAAYjqH,EAAAkqH,EACPhqH,mBAAS+pH,GADF,GAChC/3F,EADgClyB,EAAA,GACtBmqH,EADsBnqH,EAAA,GAAA+I,EAAAmhH,EAEKhqH,qBAFL,GAEhCkqH,EAFgCrhH,EAAA,GAEhBshH,EAFgBthH,EAAA,GAAAgT,EAAAmuG,EAGPhqH,oBAAS,GAHF,GAGhCoqH,EAHgCvuG,EAAA,GAGtBwuG,EAHsBxuG,EAAA,GAAAE,EAAAiuG,EAIThqH,mBAAS,IAJA,GAIhCsqH,EAJgCvuG,EAAA,GAIvBwuG,EAJuBxuG,EAAA,GAMvC,SAASkzF,IACP,IACMub,EADO5oG,OAAOC,KAAKyoG,GACAG,MACnBC,EAAWJ,EAAQE,GAEnBG,EAAkB/sE,YAAS8sE,GAC7B,CAAEpyH,IAAKkyH,EAAaI,kBAAmB,GAhC/C,SAA4BN,GAC1B,OAAO1oG,OAAOC,KAAKyoG,GAASO,OAC1B,SAACC,EAAYxyH,GACX,IAAM9F,EAAQ83H,EAAQhyH,GAEtB,IAAK9F,EAAMiO,QACT,OAAOqqH,EAJU,IAOXt7F,EAAQh9B,EAAMiO,QAAQyuG,wBAAtB1/E,IACFo7F,EAAoBpqC,KAAKuqC,IAAIv7F,GAEnC,OAAOF,OAAO07F,YAAcx4H,EAAMiO,QAAQgvB,UAAYA,EAClD,CAAEm7F,oBAAmBtyH,OACrBwyH,GAEN,CAAEF,kBAAmB,EAAGtyH,IAAK,KAiBzB2yH,CAAmBX,IAEtBrrH,IAAQ0rH,EAAgBryH,MAAQ2xH,EAAYU,EAAgBryH,KAO/D,SAAS4yH,IACP38E,SAAS9a,oBAAoB,SAAUw7E,GAiDzC,OA5BApuG,oBAAU,WAGR,OAFA5B,IAAQirH,GA1BR37E,SAAS/a,iBAAiB,SAAUy7E,GAOtC,WACEic,IADqB,IAGb/2H,EAAgB+1H,EAAhB/1H,GAAI2pE,EAAYosD,EAAZpsD,QACZmsD,EAAY91H,GACZk2H,GAAY,GAEZc,YAAKrtD,EAAS,CACZrqE,SAAUo2H,EACV1sC,OAAQysC,EACRhrB,SAAU,WACRyrB,GAAY,GACZF,OAOyCiB,GAEtCF,GACN,CAAChB,EAAgBI,IAwBb,CACLA,UACAt4F,WACAo4F,WACAiB,iBA1BF,SAA8BrkF,GAC5B,IAAMskF,EAAahB,EAAQtjF,GAC3B,OAAKskF,EAEDt5F,IAAagV,EACR,KAGFmjF,EAAkB,CAAEh2H,GAAI6yC,EAAS82B,QAASwtD,EAAW7qH,UANpC8qH,QAAQC,KAAK,+BAyBrCC,cAhBF,SAA2Bt3H,GACzB,IAAI,IAACytB,OAAOC,KAAKyoG,GAASllG,QAASjxB,GAAK,CACtC,IAAMu3H,EAAShpH,sBAGf,OAFA6nH,EAAW,SAAAxlG,GAAS,OAAAh0B,EAAA,GAAUg0B,KAAiB2mG,KAALv3H,OAAtB,0GAEbu3H,EAGT,OAAOpB,EAAQn2H,MC/FnB,SAASw3H,EAATx8H,GAAmD,IAAtB46H,EAAsB56H,EAAtB46H,SAAU55H,EAAYhB,EAAZgB,SAAYy7H,EAO7C9B,EAAkB,CAAEC,aALtBK,EAF+CwB,EAE/CxB,SAOI53H,EAAQ,CACZ83H,QAV+CsB,EAG/CtB,QAQAt4F,SAX+C45F,EAI/C55F,SAQAo4F,WACAyB,YAb+CD,EAK/CH,cASAl8F,SAd+Cq8F,EAM/CP,kBAWF,OAAOz6H,EAAAC,EAAAC,cAACo1B,EAAD,CAAU1zB,MAAOA,GAAQrC,GAGlCw7H,EAAkB54H,UAAlB,GAKe44H,+lBC1Bf,IAAMG,EAAU,SAAA38H,GAAA,IAAGgF,EAAHhF,EAAGgF,GAAIhE,EAAPhB,EAAOgB,SAAa6uG,EAApBvuG,EAAAtB,EAAA,0BACdyB,EAAAC,EAAAC,cAACgnB,EAAD,KACG,SAAApjB,GAAA,IAAGm3H,EAAHn3H,EAAGm3H,YAAH,OACCj7H,EAAAC,EAAAC,cAAA,UAAAi7H,EAAA,CAAS/6H,IAAK66H,EAAY13H,GAAKA,GAAIA,GAAQ6qG,GACxC7uG,MAMT27H,EAAQ/4H,UAAR,GAKA+4H,EAAQj2H,aAAe,CACrB1F,SAAU,MAGG27H,QCnBTE,EAAc,SAAA78H,GAAA,IAAG63C,EAAH73C,EAAG63C,QAAS72C,EAAZhB,EAAYgB,SAAUf,EAAtBD,EAAsBC,QAAtB,OAClBwB,EAAAC,EAAAC,cAACgnB,EAAD,KACG,SAAApjB,GAAsC,IAAnC66B,EAAmC76B,EAAnC66B,SAAUyC,EAAyBt9B,EAAzBs9B,SAAUo4F,EAAe11H,EAAf01H,SAOtB,OAAOj6H,EAAS,CAAEf,QANE,WAClBmgC,EAASyX,GACT53C,EAAQ43C,IAI8BrzB,WAFrBqe,IAAagV,EAEoBt2C,WAAY05H,OAKtE4B,EAAYn2H,aAAe,CACzBzG,QAAS,cAGX48H,EAAYj5H,UAAZ,GAMei5H,qDClBTh7H,EAAM0R,sBACNupH,EAA6Bv3C,SAAS0F,uBAAsB,IAElE,SAAS8xC,EAAT/8H,GAA+G,IAApFgB,EAAoFhB,EAApFgB,SAAUC,EAA0EjB,EAA1EiB,UAAWgN,EAA+DjO,EAA/DiO,iBAA+D+uH,EAAAh9H,EAA7CshC,oBAA6C,IAAA07F,EAA9BF,EAA8BE,EACrG3zG,EAAauN,cAAbvN,SACF8/E,EAAiBznE,YAAgBrY,GACjC4zG,EAAe9zB,EAAiB+zB,IAAqB,EACrD/nB,EAAWgoB,YAAc,CAAEt7H,MAAKy/B,aAAcA,EAAe27F,IAEnE,OACEx7H,EAAAC,EAAAC,cAAA,WAASE,IAAKA,EAAKZ,UAAWa,IAAWnD,IAAO6H,UAAWvF,IACzDQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO2jG,QAAS6S,GAAYx2G,IAAOw2G,SAAUhM,GAAkBxqG,IAAOwqG,iBAC/F1nG,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASwK,IACxCjN,KAOX+7H,EAAgBn5H,UAAhB,GAUem5H,0BClCf,SAASK,EAATp9H,GAAoC,IAAhBmgG,EAAgBngG,EAAhBmgG,IAAKlgG,EAAWD,EAAXC,QACvB,GAAI6P,IAAQqwF,GACV,OAAO,KAFyB,IAK1Bn7F,EAA2Bm7F,EAA3Bn7F,GAAIxB,EAAuB28F,EAAvB38F,MAAOE,EAAgBy8F,EAAhBz8F,YASnB,OACEjC,EAAAC,EAAAC,cAAA,UACEwH,IAAKnE,EACL7E,KAAK,SACLc,UAAWa,IAAWnD,IAAOk7G,YAC7B55G,QAZJ,WAA2B,IACRu6H,EAAer6B,EAAxBlgG,QAERA,EAAQkgG,GACRq6B,GAAcA,EAAWr6B,KAUvB1+F,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOm7G,aACrBr4G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO69C,WAAYh5C,GACnC/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOo7G,iBAAkBr2G,IAE3CjC,EAAAC,EAAAC,cAAA,KAAGV,UAAU,wBAKnBm8H,EAASx5H,UAAT,GAaew5H,QC5Cf,SAASC,EAATr9H,GAA6C,IAAvBs9H,EAAuBt9H,EAAvBs9H,WAAYr9H,EAAWD,EAAXC,QAChC,GAAI6P,IAAQwtH,IAAextH,IAAQwtH,EAAWzzE,WAC5C,OAAO,KAFkC,IAKnCA,EAAqByzE,EAArBzzE,UAAWrmD,EAAU85H,EAAV95H,MAEnB,OACE/B,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAOi5G,WAAY33G,QAASA,GAC7CwB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO69C,WAAYh5C,GACnC/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOs7G,WACrBx4G,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBADf,SAMFQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOu7G,iBACpBrwD,IAMTwzE,EAAWz5H,UAAX,GAQey5H,09BCVAE,MAzBf,SAAAv9H,GAAoD,IAA3Bq6H,EAA2Br6H,EAA3Bq6H,UAAWC,EAAgBt6H,EAAhBs6H,aAAgB3pH,EAAA6sH,EACd3sH,mBAASwpH,GADK,GAC3CiD,EAD2C3sH,EAAA,GAC/B8sH,EAD+B9sH,EAAA,GAE5C+sH,GAAgB5tH,IAAQwtH,GAe9B,OAbA5rH,oBAAU,YACP5B,IAAQuqH,IAAcoD,EAAcpD,IACpC,CAACA,IAWG,CACLqD,eACAJ,aACA1xG,YAZF,SAA+Bu0E,GAC7Bs9B,EAAct9B,GACdm6B,EAAan6B,IAWbw9B,gBARF,WACEF,2XCNJ,SAASzwH,GAAThN,GAMG,IALD6tB,EAKC7tB,EALD6tB,MACA3sB,EAIClB,EAJDkB,UACA08H,EAGC59H,EAHD49H,uBACA38H,EAECjB,EAFDiB,UACGI,EACFw8H,EAAA79H,EAAA,4DAAA89H,EACkEP,EAAcl8H,GAAzEq8H,EADPI,EACOJ,aAAcJ,EADrBQ,EACqBR,WAAY1xG,EADjCkyG,EACiClyG,YAAa+xG,EAD9CG,EAC8CH,gBACzCI,EAAsBj8H,IAC1BnD,IAAOsO,OACPywH,GAAgB/+H,IAAOq7G,gBACvB/4G,GA0BF,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAW88H,GAvBZ78H,EAEAO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CACE5iB,YAAagxH,EACb7wH,WAAW,IAKb2wH,EACKj8H,EAAAC,EAAAC,cAACq8H,EAAD,CAAYV,WAAYA,EAAYr9H,QAAS09H,IAG/C9vG,EAAMhkB,IAAI,SAACs2F,EAAKx3F,GAAN,OACflH,EAAAC,EAAAC,cAACs8H,EAAD,CACE90H,IAAG,GAAAC,OAAK+2F,EAAIn7F,GAAT,KAAAoE,OAAeT,GAClBw3F,IAAKA,EACLlgG,QAAS2rB,OAYjB5e,GAAWpJ,UAAX,GASeoJ,g+BC1CA8sH,OApBf,SAAA95H,GAAsD,IAAnC6tB,EAAmC7tB,EAAnC6tB,MAAO+sG,EAA4B56H,EAA5B46H,SAAU/5F,EAAkB7gC,EAAlB6gC,eAAkBlwB,EAAAutH,GAClBrtH,qBADkB,GAC7CwpH,EAD6C1pH,EAAA,GAClC2pH,EADkC3pH,EAAA,GAiBpD,OAbAe,oBAAU,WACJkpH,GACFN,EAAazsG,EAAMqG,KAAK,SAAAhnB,GAAI,OAAIA,EAAKlI,KAAO41H,MAE7C,IAGHlpH,oBAAU,WACHmvB,GACHy5F,KAED,CAACz5F,IAEG,CAAEw5F,YAAWC,2QCLtB,SAAS6D,GAATn+H,GASG,IARDkB,EAQClB,EARDkB,UACA2sB,EAOC7tB,EAPD6tB,MACA+sG,EAMC56H,EAND46H,SACA35H,EAKCjB,EALDiB,UACA28H,EAIC59H,EAJD49H,uBACAQ,EAGCp+H,EAHDo+H,SACAxjD,EAEC56E,EAFD46E,QACA3uE,EACCjM,EADDiM,YAEQ40B,EAAmBjK,cAAnBiK,eADPw9F,EAEmCvE,GAAQ,CAAEjsG,QAAO+sG,WAAU/5F,mBAAvDw5F,EAFPgE,EAEOhE,UAAWC,EAFlB+D,EAEkB/D,aAEnB,GAAIxqH,IAAQ+d,GACV,OAAO,KAGT,IAAKgT,EACH,OACEp/B,EAAAC,EAAAC,cAAC28H,GAAD,CACEzwG,MAAOA,EACP5sB,UAAWA,EACXo5H,UAAWA,EACXn5H,UAAWA,EACXo5H,aAAcA,EACdsD,uBAAwBA,IAuD9B,OACEn8H,EAAAC,EAAAC,cAAC48H,EAAD,CAAmB3D,SAAUA,GAC3Bn5H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOu8G,eAAgBj6G,IAChDQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOw8G,aACvB15G,EAAAC,EAAAC,cAAC68H,EAAD,CAAiBv9H,UAAWtC,KAAOy8G,gBAAiBntG,iBAAkBtP,KAAO08G,eAC3E55G,EAAAC,EAAAC,cAAA,OAAKqD,GAAG,mBAAmB/D,UAAWtC,KAAOsO,QAC1C/L,EAEGO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CACE5iB,YAAagxH,EACb7wH,UAAW8zB,IAGbhT,EAAMhkB,IA/DpB,WAA+B,IAAVs2F,EAAUjvF,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACzB,GAAIpB,IAAQqwF,IAAQA,EAAIs+B,SACtB,OAAO,KAFoB,IAKrBz5H,EAAkEm7F,EAAlEn7F,GAAIxB,EAA8D28F,EAA9D38F,MAAOE,EAAuDy8F,EAAvDz8F,YAAsB82H,EAAiCr6B,EAA1ClgG,QALHy+H,EAK6Cv+B,EAArBliB,UAErD,YAP6B,IAAAygD,KAY3Bj9H,EAAAC,EAAAC,cAACg9H,EAAD,CAAax1H,IAAKnE,EAAI6yC,QAAS7yC,EAAI/E,QAASu6H,GACzC,SAAAj1H,GAAA,IAAGif,EAAHjf,EAAGif,WAAYvkB,EAAfsF,EAAetF,QAASsB,EAAxBgE,EAAwBhE,WAAxB,OACCE,EAAAC,EAAAC,cAAA,UACExB,KAAK,SACLc,UAAWa,IAAWnD,KAAOk7G,WAAYr1F,GAAc7lB,KAAO68G,cAC9Dv7G,QAASA,EACTI,SAAUkB,GAEVE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO69C,WAAYh5C,GACnC/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOo7G,iBAAkBr2G,MAbxC,SA2DLjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAO28G,YAAa8iB,GAAYz/H,KAAO48G,eAC/D1tF,EAAMhkB,IAxCf,WAAiC,IAAVs2F,EAAUjvF,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC3B,GAAIpB,IAAQqwF,IAAQA,EAAIs+B,SACtB,OAAO,KAFsB,IAKvBz5H,EAAoCm7F,EAApCn7F,GAAI6kD,EAAgCs2C,EAAhCt2C,UALmB+0E,EAKaz+B,EAArBliB,iBALQ,IAAA2gD,KAMvBz+H,EAAgB0pD,EAAhB1pD,KAAM8D,EAAU4lD,EAAV5lD,MACRykB,EAAYvoB,EAElB,IAAK89E,EACH,OAAO,KAGT,IAAM4gD,EAAmB/8H,KAAYmK,GAAetN,KAAO88G,iBAE3D,OACEh6G,EAAAC,EAAAC,cAACm9H,EAAD,CAAS95H,GAAIA,EAAImE,IAAKnE,EAAI/D,UAAW49H,GACnCp9H,EAAAC,EAAAC,cAAC+mB,EAADq2G,GAAA,GAAe96H,EAAf,CAAsB22E,QAASA,WA8BvCujD,GAAUz3H,aAAe,CACvB03H,UAAU,EACVnyH,aAAa,GAGfkyH,GAAUv6H,UAAV,GAkBeu6H,+XC3IA,SAASa,GAATh/H,GAAyC,IAA1BgB,EAA0BhB,EAA1BgB,SAAaK,EAAa49H,GAAAj/H,EAAA,cACtD,OAAOyB,EAAAC,EAAAC,cAAA,UAAaN,EAAYL,GAGlCg+H,GAAIp7H,UAAJ,+CCAe,SAASk0B,GAAT93B,GAAqD,IAAnCiV,EAAmCjV,EAAnCiV,OAAQqC,EAA2BtX,EAA3BsX,OAAQ6oF,EAAmBngG,EAAnBmgG,IAAKq6B,EAAcx6H,EAAdw6H,WAMpD,OACE/4H,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOwN,OAAQlM,QANpC,WACEu6H,EAAWr6B,GACX7oF,KAI2D6Y,KAAK,UAC9D1uB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO6E,OAAQ28F,EAAIl8F,MAAMT,OAC1C/B,EAAAC,EAAAC,cAAC5B,GAAA,EAAD,CAAQQ,MAAM,OAAOU,UAAWtC,KAAOM,MACpCgW,EAAS,WAAa,aCR/B,SAASgnC,GAATj8C,GAA0D,IAAnCmgG,EAAmCngG,EAAnCmgG,IAAKlrF,EAA8BjV,EAA9BiV,OAAQqC,EAAsBtX,EAAtBsX,OAAQkjH,EAAcx6H,EAAdw6H,WAC1C,OACE/4H,EAAAC,EAAAC,cAACm2B,GAAD,CACEqoE,IAAKA,EACLlrF,OAAQA,EACRqC,OAAQA,EACRkjH,WAAYA,IAKlB,SAASt+E,GAAT32C,GAA4D,IAAnCq1B,EAAmCr1B,EAAnCq1B,WAAYD,EAAuBp1B,EAAvBo1B,oBACnC,OAAOl5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAO8E,QAASk3B,IAAuBC,GAG5D,SAASskG,GAATz5H,GAA+E,IAApDxE,EAAoDwE,EAApDxE,UAAW84H,EAAyCt0H,EAAzCs0H,KAAMS,EAAmC/0H,EAAnC+0H,WAAY7/F,EAAuBl1B,EAAvBk1B,oBACrE,OACEl5B,EAAAC,EAAAC,cAAC+6C,GAAA,EAAD,CACEz7C,UAAWA,EACXg7C,YAAaA,GACbC,cAAeA,GACf79B,OAAO,GAEN07G,EAAKlwH,IAAI,SAACs2F,GAAQ,IAAAg/B,EACeh/B,EAAIl8F,MAA5Be,EADSm6H,EACTn6H,GAAIxB,EADK27H,EACL37H,MAAOxC,EADFm+H,EACEn+H,SAEnB,OACES,EAAAC,EAAAC,cAAC+6C,GAAA,EAAD,CACEz7C,UAAWtC,KAAOwhG,IAClBh3F,IAAG,GAAAC,OAAK5F,EAAL,KAAA4F,OAAcpE,GACjBm7F,IAAKA,EACLvlE,WAAY55B,EACZw5H,WAAYA,EACZ7/F,oBAAqBA,ODnBjC7C,GAAOl0B,UAAP,GC2BAs7H,GAAgBt7H,UAAhB,GAOAq4C,GAAYr4C,UAAZ,GAOAs4C,GAAct4C,UAAd,uCCvDe,SAASk0B,GAAT93B,GAAkE,IAAhD+5H,EAAgD/5H,EAAhD+5H,KAAMM,EAA0Cr6H,EAA1Cq6H,UAAWG,EAA+Bx6H,EAA/Bw6H,WAAYtjH,EAAmBlX,EAAnBkX,gBAC5D,SAASkpC,EAAY+/C,GACnB,OAAO,kBAAMq6B,EAAWr6B,IAG1B,OACE1+F,EAAAC,EAAAC,cAACgK,GAAA,EAAD,CAAapL,MAAM,QAAQU,UAAWtC,KAAOwN,QAC1C4tH,EAAKlwH,IAAI,SAACs2F,GAAQ,IAAAg/B,EACKh/B,EAAIl8F,MAAlBe,EADSm6H,EACTn6H,GAAIxB,EADK27H,EACL37H,MACNywB,EAAWomG,EAAUp2H,MAAMe,KAAOA,EAExC,OACEvD,EAAAC,EAAAC,cAAC5B,GAAA,EAAD,CACEoJ,IAAG,UAAAC,OAAY5F,EAAZ,KAAA4F,OAAqBpE,GACxBzE,MAAM,UACNU,UAAWa,IAAWmyB,GAAYt1B,KAAO+sB,OAAQxU,GACjDjX,QAASmgD,EAAY+/C,IAEpB38F,MCtBE,SAAS47H,GAATp/H,GAOZ,IANDq6H,EAMCr6H,EANDq6H,UACAp5H,EAKCjB,EALDiB,UACA84H,EAIC/5H,EAJD+5H,KACAS,EAGCx6H,EAHDw6H,WACA7/F,EAEC36B,EAFD26B,oBACAzjB,EACClX,EADDkX,gBAEY0jH,EAAaP,EAAUp2H,MAA3Be,GACR,OACEvD,EAAAC,EAAAC,cAAA,WAASV,UAAWA,GAClBQ,EAAAC,EAAAC,cAAC09H,GAAD,CACEhF,UAAWA,EACXN,KAAMA,EACNS,WAAYA,EACZtjH,gBAAiBA,IAEnBzV,EAAAC,EAAAC,cAAA,OAAKV,UAAW05B,GACbo/F,EAAKlwH,IAAI,SAAAtE,GAAA,IAAA+5H,EAAA/5H,EAAGtB,MAASe,EAAZs6H,EAAYt6H,GAAIhE,EAAhBs+H,EAAgBt+H,SAAhB,OAAiCgE,IAAO41H,GAAY55H,MCjBvD,SAASgxB,GAAThyB,GAQZ,IAPDq6H,EAOCr6H,EAPDq6H,UACAp5H,EAMCjB,EANDiB,UACA84H,EAKC/5H,EALD+5H,KACAS,EAICx6H,EAJDw6H,WACA7/F,EAGC36B,EAHD26B,oBACAG,EAEC96B,EAFD86B,aAGM5mB,EAAc,CAClBmmH,YACAp5H,YACA84H,OACAS,aACA7/F,sBACAzjB,gBAPDlX,EADDkX,iBAWA,MAAqB,SAAjB4jB,EACKr5B,EAAAC,EAAAC,cAACy9H,GAAelrH,GAGlBzS,EAAAC,EAAAC,cAACu9H,GAAoBhrH,GFO9B4jB,GAAOl0B,UAAP,GCNAw7H,GAAWx7H,UAAX,GCEAouB,GAAWpuB,UAAX,4BCzBe,SAASk0B,GAAT93B,GAAyE,IAAvDq6H,EAAuDr6H,EAAvDq6H,UAAWN,EAA4C/5H,EAA5C+5H,KAAMS,EAAsCx6H,EAAtCw6H,WAAY3/F,EAA0B76B,EAA1B66B,YAAa55B,EAAajB,EAAbiB,UACzE,SAASs+H,EAAcp/B,GACrB,OAAO,kBAAMq6B,EAAWr6B,IAmB1B,OACE1+F,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAOoxB,MACnBgqG,EAAKlwH,IAlBV,SAAqBs2F,GAAK,IAAAg/B,EACFh/B,EAAIl8F,MAAlBT,EADgB27H,EAChB37H,MAAOwB,EADSm6H,EACTn6H,GACTw6H,EAAe19H,IAAWnD,KAAOsxB,SAAUoqG,EAAUp2H,MAAMe,KAAOA,GAAMrG,KAAO8gI,gBAErF,OACEh+H,EAAAC,EAAAC,cAAA,MACEwH,IAAG,UAAAC,OAAY5F,EAAZ,KAAA4F,OAAqBpE,GACxB/D,UAAWa,IAAW09H,EAAcv+H,GACpChB,QAASs/H,EAAcp/B,GACvBhwE,KAAK,UAEJ3sB,KAQH/B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAOk8B,aACnBA,ICxBM,SAASnJ,GAAT1xB,GAQZ,IAPDiB,EAOCjB,EAPDiB,UACAo5H,EAMCr6H,EANDq6H,UACAN,EAKC/5H,EALD+5H,KACAS,EAICx6H,EAJDw6H,WACAkF,EAGC1/H,EAHD0/H,mBACA/kG,EAEC36B,EAFD26B,oBACAE,EACC76B,EADD66B,YAEA,OACEp5B,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,KAAO6H,UAAWvF,IAC/CQ,EAAAC,EAAAC,cAACg+H,GAAD,CACEtF,UAAWA,EACXN,KAAMA,EACNS,WAAYA,EACZ3/F,YAAaA,EACb55B,UAAWy+H,IAGbj+H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOi8B,WAAYD,IAC3Co/F,EAAKlwH,IAAI,SAAAs2F,GAAG,OAAIA,EAAIl8F,MAAMe,KAAOq1H,EAAUp2H,MAAMe,IAAMm7F,EAAIl8F,MAAMjD,aCjB3D,SAASoO,GAATpP,GAUZ,IATDiB,EASCjB,EATDiB,UACAg5H,EAQCj6H,EARDi6H,mBACAj5H,EAOChB,EAPDgB,SACA0+H,EAMC1/H,EAND0/H,mBACA/kG,EAKC36B,EALD26B,oBACAq/F,EAICh6H,EAJDg6H,YACAn/F,EAGC76B,EAHD66B,YACAC,EAEC96B,EAFD86B,aACA5jB,EACClX,EADDkX,gBAEQmS,EAAauN,cAAbvN,SACF0wG,EAAOxxG,IAAM0V,SAASC,QAAQl9B,GAFnCq9H,EAGiCvE,EAAQ,CACxCC,OACAC,cACAC,uBAGIh2H,EAAQ,CACZo2H,UAVDgE,EAGOhE,UAQNG,WAXD6D,EAGkB7D,WASjBT,OACA94H,YACAy+H,qBACA/kG,sBACAE,cACAC,eACA5jB,mBAGF,OAAOmS,EACH5nB,EAAAC,EAAAC,cAACqwB,GAAe/tB,GAChBxC,EAAAC,EAAAC,cAAC+vB,GAAgBztB,GFNvB6zB,GAAOl0B,UAAP,GCJA8tB,GAAY9tB,UAAZ,GCjCArB,EAAAC,EAAAC,EAAA,sBAAA2M,KAAA7M,EAAAC,EAAAC,EAAA,sBAAAu8H,KAAAz8H,EAAAC,EAAAC,EAAA,sBAAAm9H,KA8CAxwH,GAAK1I,aAAe,CAClBuzH,mBAAoB,EACpBn/F,aAAc,aAGhB1rB,GAAKxL,UAAL,4CCnDArB,EAAAC,EAAAC,EAAA,sBAAAy0D,IAAA30D,EAAAC,EAAAC,EAAA,sBAAA40E,IAAA90E,EAAAC,EAAAC,EAAA,sBAAAo9H,IAAAt9H,EAAAC,EAAAC,EAAA,sBAAAq9H,IAAAv9H,EAAAC,EAAAC,EAAA,sBAAAs9H,IACO,IAAM7oE,EAAY,GAElB,SAASmgB,EAAOvH,EAAUkwD,EAAah7H,GAC5C,kBAAAoE,OAAmB0mE,EAAnB,KAAA1mE,OAA+B42H,EAA/B,KAAA52H,OAA8CpE,EAA9C,gBAGK,IAAM66H,EAA0B,cAC1BC,EAAoB,QACpBC,EAAyB,gNCCtC,SAAS/4H,EAAThH,GAAqE,IAArDkN,EAAqDlN,EAArDkN,KAAM+yH,EAA+CjgI,EAA/CigI,WAAYh/H,EAAmCjB,EAAnCiB,UAAWi/H,EAAwBlgI,EAAxBkgI,aAAc7oD,EAAUr3E,EAAVq3E,OACjDl3E,EAAS+M,EAAT/M,KACFuY,EAAM2+D,EAASA,EAAOnqE,GAAQA,EAAK+yH,GAwBzC,OACEx+H,EAAAC,EAAAC,cAAA,QAAMV,UAAWA,GAvBA,WACjB,GAAI4E,IAAQ6S,GACV,OAAOwnH,GAAgB,KAGzB,IAAMC,EAAexV,YAAU,CAAEjyG,MAAKvY,SAChC0iD,EAAiBtL,YAAM7+B,GAE7B,OACEjX,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,YACN2G,KAAMi5H,EACNh5H,WAAY07C,EACZx7C,oBAAqBw7C,EACrB5hD,UAAWtC,IAAOM,KAClB0B,cAAehC,IAAOsD,MAEtBR,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO+Z,KAAMA,IAO/BhQ,IAKP1B,EAAKN,aAAe,CAClBu5H,WAAY,OAGdj5H,EAAKpD,UAAL,GAWeoD,yBCtDf,SAASo5H,EAATpgI,GAA2D,IAAxCkN,EAAwClN,EAAxCkN,KAAM+rD,EAAkCj5D,EAAlCi5D,QAAS9zD,EAAyBnF,EAAzBmF,WAAYlE,EAAajB,EAAbiB,UACtCwC,EAAU0B,EACZA,EAAW+H,GACXu8E,IAAIv8E,EAAM+rD,GAEd,OAAIpzD,IAAQpC,GACH,KAIPhC,EAAAC,EAAAC,cAAA,QAAMV,UAAWA,GACdwC,GAKP28H,EAAQx8H,UAAR,GAOew8H,knBCdf,SAASpyH,EAAThO,GAAgD,IAA/BkO,EAA+BlO,EAA/BkO,MAAOjN,EAAwBjB,EAAxBiB,UAAWC,EAAalB,EAAbkB,UACzBmoB,EAAauN,cAAbvN,SACA/lB,EAAoD4K,EAApD5K,MAAOmK,EAA6CS,EAA7CT,QAAS7H,EAAoCsI,EAApCtI,KAAMmI,EAA8BG,EAA9BH,SAAU+qD,EAAoB5qD,EAApB4qD,gBAmCxC,IAAMjrC,EAAQD,IAAIhoB,EAjClB,SAAiBsH,EAAMvE,GAAO,IAChBotB,EAAmD7oB,EAAvDlI,GAAmBmyC,EAAoCjqC,EAA3C5J,MAA2Bw2G,EAAgB5sG,EAAzBzJ,QAgBhC48H,GAAoBx6H,IAAQ4H,IAChChM,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,WAAAC,OAAa2sB,GAAUptB,IACjCilB,IAAIngB,EAhBT,SAAAlI,GAA4E,IAAhD+6H,EAAgD/6H,EAApDP,GAAyB0jB,EAA2BnjB,EAAtCskD,UAC9B31C,EAAWtS,EAAA,GADyDN,EAAAiE,EAAA,oBACzD,CAEf2H,OACA/D,IAAKm3H,IAGP,OAAK53G,EAIEjnB,EAAAC,EAAAC,cAAC+mB,EAAcxU,GAHbzS,EAAAC,EAAAC,cAAC4+H,EAAYrsH,MAYlBwrF,EAAc3xF,EAAWA,EAASb,GAAQiqC,EAC1C0oD,EAAY,GAAAz2F,OAAM9F,EAAN,KAAA8F,OAAeT,EAAQ,GAEzC,MAAO,CACL3D,GAAI+wB,EACJzyB,MAAOo8F,GAAeG,EACtBp8F,QAAS48H,GAAoBvmB,KAM3B0mB,EAAsB1+H,IAAWnD,IAAO6H,UAAWvF,GACnDw/H,EAAwB3nE,GAAmB9gB,IAAKnqB,GAEtD,OACEpsB,EAAAC,EAAAC,cAACkzD,EAAA,EAAD,CACEhnC,MAAOA,EACP5sB,UAAWu/H,EACXzmF,qBAAsBymF,EACtBE,kBAAmB5+H,IAAWnD,IAAOsxB,SAAU5G,GAAY1qB,IAAOgiI,gBAClEC,mBAAoB9+H,IAAWunB,GAAY1qB,IAAOw4C,WAClD0pF,qBAAsBliI,IAAOm7G,YAC7BtyB,eAAgB7oF,IAAOe,MACvBohI,cAAez3G,EACfnoB,UAAWA,EACXu/H,sBAAuBA,oCAK7BzyH,EAAMpK,UAAN,GAQeoK,sCC9EfsM,EAAAC,QAAA,CAAkBwmH,SAAA,kCAAAtmE,QAAA,iCAAAj3D,MAAA,+BAAA4jE,QAAA,yDCAlB9sD,EAAAC,QAAA,CAAkBmd,sBAAA,+CAAAH,oBAAA,6CAAAnpB,SAAA,kCAAAqpB,kBAAA,2CAAAH,UAAA,mCAAAD,QAAA,iCAAAG,gBAAA,yCAAAmE,UAAA,qDCAlBrhB,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA+tH,aAAA,sCAAAn/E,SAAA,kCAAAo+E,cAAA,uCAAAlwH,MAAA,+BAAAswH,UAAA,mCAAAC,WAAA,sDCAlBv5G,EAAAC,QAAA,CAAkBymH,oBAAA,6CAAA30H,UAAA,mCAAAsjG,UAAA,mCAAAsxB,qBAAA,8CAAAC,eAAA,wCAAA3tG,WAAA,oCAAA4tG,eAAA,0DCAlB7mH,EAAAC,QAAA,CAAkB2kC,iBAAA,0CAAAyD,SAAA,kCAAAJ,gBAAA,yCAAAq3D,SAAA,sDCAlBt/F,EAAAC,QAAA,CAAkBtb,KAAA,8BAAA4uB,MAAA,+BAAAuzG,SAAA,kCAAAC,SAAA,kCAAAC,aAAA,sCAAAxkD,eAAA,wCAAAvqC,MAAA,+BAAAgvF,aAAA,wDCAlBjnH,EAAAC,QAAA,CAAkBna,OAAA,gCAAA6B,KAAA,8BAAAu/E,YAAA,qCAAAztD,YAAA,qCAAAytG,gBAAA,yCAAAvrH,MAAA,+BAAAipE,UAAA,mCAAA9wE,SAAA,oDCAlBkM,EAAAC,QAAA,CAAkBknH,kBAAA,2CAAAxuH,MAAA,+BAAA05G,UAAA,mCAAAnnH,MAAA,+BAAAT,QAAA,iCAAAsf,OAAA,gCAAAq9G,WAAA,oCAAAC,UAAA,qDCAlBrnH,EAAAC,QAAA,CAAkBna,OAAA,gCAAAkD,MAAA,+BAAAs+H,SAAA,kCAAAniI,MAAA,+BAAAo5B,eAAA,wCAAA55B,KAAA,gDCAlBqb,EAAAC,QAAA,CAAkB9W,QAAA,iCAAAwS,MAAA,+BAAA4rH,iBAAA,0CAAA5/H,KAAA,8BAAA6/H,WAAA,oCAAA1hI,OAAA,gCAAAkL,KAAA,gDCAlBgP,EAAAC,QAAA,CAAkBi2C,IAAA,6BAAAqhC,SAAA,kCAAA1yF,QAAA,iCAAAL,MAAA,+BAAA0E,MAAA,+BAAAmxH,QAAA,iCAAArvH,QAAA,iCAAAsvH,QAAA,mDCAlBt6G,EAAAC,QAAA,CAAkBse,eAAA,wCAAA3vB,YAAA,qCAAAxJ,MAAA,+BAAAyhD,cAAA,uCAAAC,UAAA,mCAAAnC,eAAA,wCAAAC,iBAAA,0CAAAG,YAAA,uDCAlB/kC,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAqL,KAAA,8BAAAJ,KAAA,8BAAA7K,OAAA,gCAAA8K,MAAA,+BAAAC,IAAA,6BAAA5G,MAAA,+BAAAE,YAAA,wDCAlB4W,EAAAC,QAAA,CAAkBy3F,gBAAA,0CAAAJ,cAAA,0DCAlBt3F,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAu7H,YAAA,qCAAAC,SAAA,kCAAArsH,OAAA,gCAAAvV,OAAA,kDCAlBka,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAo7D,OAAA,gCAAAnpC,OAAA,gCAAAh1B,QAAA,iCAAA0iG,KAAA,8BAAA87B,UAAA,mCAAAC,QAAA,iCAAAC,MAAA,iDCAlB7nH,EAAAC,QAAA,CAAkBw/E,UAAA,mCAAAD,OAAA,gCAAA5vF,KAAA,8BAAAC,MAAA,+BAAAsvF,SAAA,kCAAArvF,IAAA,6BAAAovF,SAAA,sDCAlBl/E,EAAAC,QAAA,CAAkBtE,MAAA,+BAAA4hC,QAAA,iCAAA54C,KAAA,8BAAAmjI,OAAA,gCAAAvoH,KAAA,8BAAAghE,MAAA,+BAAAr3E,MAAA,+BAAAvB,KAAA,gDCAlBqY,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA/C,QAAA,iCAAAD,MAAA,+BAAA0J,KAAA,8BAAAjL,KAAA,8BAAAyhE,eAAA,wCAAAC,QAAA,mDCAlBrpD,EAAAC,QAAA,CAAkBioG,UAAA,UAAAC,UAAA,UAAAC,UAAA,UAAAC,UAAA,UAAAC,UAAA,UAAA1C,UAAA,UAAA+C,MAAA,UAAAF,OAAA,4BCAlBzoG,EAAAC,QAAA,CAAkB0xG,kBAAA,2CAAAC,UAAA,mCAAA9rH,OAAA,gCAAA6B,KAAA,8BAAAu/E,YAAA,qCAAA2qC,gBAAA,2DCAlB7xG,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA67H,qBAAA,8CAAAl2H,OAAA,gCAAA+6B,KAAA,8BAAAE,MAAA,+BAAAksC,OAAA,gCAAA5P,eAAA,8DCAlBppD,EAAAC,QAAA,CAAkB+nH,YAAA,qCAAAC,QAAA,iCAAAC,YAAA,qCAAA5gE,OAAA,gCAAA6gE,cAAA,uCAAAC,WAAA,oCAAAhjI,MAAA,+BAAAyM,OAAA,kDCAlBmO,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAm8H,UAAA,mCAAA1gI,KAAA,8BAAAuB,MAAA,+BAAAkQ,YAAA,qCAAAjQ,QAAA,iCAAAwM,OAAA,oMCyDH2yH,MArDf,SAAA5iI,GAWG,IAVD6iI,EAUC7iI,EAVD6iI,OACAj9H,EASC5F,EATD4F,KACAk9H,EAQC9iI,EARD8iI,eACAlhB,EAOC5hH,EAPD4hH,YACA2G,EAMCvoH,EANDuoH,eACAjI,EAKCtgH,EALDsgH,aACAn5E,EAICnnC,EAJDmnC,OACA2jC,EAGC9qE,EAHD8qE,aACAI,EAEClrE,EAFDkrE,SACAC,EACCnrE,EADDmrE,UAEM43D,EAAW,CACfF,SACAj9H,OACAk9H,iBACAva,iBACA3G,cACAtB,eACAn5E,UAGM4jC,EAAY+3D,EAAZ/3D,QAXPi4D,EAY2BC,YAAOF,GAA3Bl5H,EAZPm5H,EAYOn5H,IAAKq5H,EAZZF,EAYYE,WA2Bb,OAPAxxH,oBAAU,WAlBV,IAAuByxH,EAmBjBt5H,GAAOs9B,IACTt9B,EAAIu5H,WAAWC,WApBIF,EAqBLt5H,GApBJy5H,KAAK,YAAa,WAC5Bp5D,YAAiBi5D,GACjBD,EAAWn4D,GACXE,YAAa,CACXphE,IAAKs5H,EACLj4D,WACAC,YACApmE,QAAS,CACPsmE,QAAS,EACT/mE,SAAU,EACVigB,QAAS,OAGbsmD,YAAkB,CAAEhhE,IAAKs5H,EAAar4D,eAAcC,gBASrD,CAAClhE,EAAKs9B,IAEF,CAAEt9B,8PC7CX,IAAMg5H,EAAStvH,sBAEf,SAASgwH,EAATvjI,GAA+C,IAAzBwjI,EAAyBxjI,EAAzBwjI,YACdT,EAAQnhI,EAAA,GACT4hI,EADS,CAEZ59H,KAAM49H,EACNn6G,SAJ2CrpB,EAAZqpB,SAK/Bw5G,SACAviB,cAAc,EACdsB,aAAa,EACb2G,gBAAgB,EAChB9G,eAAgB,iBAChBqhB,eAAgB,CACd/3D,QAAStlD,IAAaQ,iBAIpBw9G,EAAkBb,EAAahhI,EAAA,CAAGihI,UAAWE,IAC7CW,EAAc9hI,EAAA,CAClBsjC,OAAQ,QACR9iB,WAAYygH,GACTE,EAHe,GAIfU,GAGL,OACEhiI,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAW,mBAC3C/E,EAAAC,EAAAC,cAACwmH,EAAA,EAAiBub,IAMxBH,EAAW3/H,UAAX,GAKe2/H,2OCvCf,SAASI,EAAT3jI,GAOG,IANDkB,EAMClB,EANDkB,UACAsiI,EAKCxjI,EALDwjI,YACAn6G,EAICrpB,EAJDqpB,SAKMkgE,EAAY,CAAE/lF,MADnBxD,EAHDwD,MAI2BE,YAD1B1D,EAFD0D,YAGwCo2C,iBADvC95C,EADD85C,kBAIA,OAAI54C,EACKO,EAAAC,EAAAC,cAACiiI,EAAA,EAAuBr6C,GAI/B9nF,EAAAC,EAAAC,cAACy3C,EAAA,EAADyqF,EAAA,GACMt6C,EADN,CAEE3vC,gBAAiB9pC,IAAQ0zH,KAEzB/hI,EAAAC,EAAAC,cAACmiI,EAAD,CAAYN,YAAaA,EAAan6G,SAAUA,KAKtDs6G,EAAY//H,UAAZ,GASeovH,qBAAK2Q,gCCnCLI,EAFMC,YAAa,gBAAiBj9D,EAEpCg9D,CAAa1kG,+HCHtBi9B,EAAgBvxD,IAAU6tD,MAAM,CACpCp1D,MAAOuH,IAAU8E,OACjBsgB,KAAMplB,IAAU8E,OAChBktD,QAAStE,IACTjX,MAAOgX,MAGHyrE,EAAwBl5H,IAAU6tD,MAAM,CAC5C3D,UAAWlqD,IAAUiuD,QAAQsD,QAGHvxD,IAAU4oE,UAAU,CAC9CswD,EACAl5H,IAAU6tD,MAAM,MAGK7tD,IAAU6tD,MAAM,CACrC13D,UAAW6J,IAAU48D,qQCiBRu8D,MAjCf,SAAAlkI,GAA0E,IAAtDmsB,EAAsDnsB,EAAtDmsB,SAAUgD,EAA4CnvB,EAA5CmvB,UAAWu2B,EAAiC1lD,EAAjC0lD,gBAAiBvU,EAAgBnxC,EAAhBmxC,aAClD0mC,EAAOssD,cACPrjG,GAAsBhxB,IAAQqf,GAElCi1G,EAEE1+E,EAFF0+E,yBACAC,EACE3+E,EADF2+E,2BAoBF,OAAOC,EAAA,GACFzsD,EADL,CAEE/2C,qBACAyjG,aApBF,SAA0B9rG,GAAQ,IAE1Bq/C,GAAY0sD,EADO3sD,EAAjB2sD,cACuB/rG,GACzBgsG,EAAcC,YAA2BvzF,EAAc1Y,GAE7DtM,EAAS,CAAE0rD,KAAMp/C,EAAQq/C,cACzBusD,EAA2BI,EAAa3sD,IAexC6sD,aAZF,SAA0B/3F,GAAM,IAAAg4F,EACJ/sD,EAAlBgtD,gBADsB,IAAAD,EACX,GADWA,EAEtBnsG,EAAsBosG,EAAtBpsG,OAAQq/C,EAAc+sD,EAAd/sD,UAEhB3rD,EAAS,CAAEygB,OAAMirC,KAAMp/C,EAAQq/C,cAC/BssD,EAAyBx3F,+KCf7B,SAASk4F,GAAT9kI,GAAgE,IAAvC+kI,EAAuC/kI,EAAvC+kI,YAAa5rG,EAA0Bn5B,EAA1Bm5B,QAASjsB,EAAiBlN,EAAjBkN,KAAMjN,EAAWD,EAAXC,QAAWsF,EACzC2H,GAAQ,GAArBlI,EADsDO,EACtDP,GAAIwO,EADkDjO,EAClDiO,KAEZ,SAAS6jE,IAAS,IAAA2tD,EAChB,IAAKhgI,EAAI,OAAO,KADA,IAGO0T,GAHPxF,GAAA8xH,EAAA,GAIbvL,IAAcxuF,gBAAkB,mCAJnB/3B,GAAA8xH,EAKbvL,IAAczuF,cAAgB,mBALjB93B,GAAA8xH,EAMbvL,IAAcnuF,qBAAuB,0BANxB05F,GAGPD,GAMT,OAAOrsH,EAAG,GAAAtP,OAAMsP,EAAN,KAAAtP,OAAapE,GAAO,KAGhC,IAAMo7C,EAAc,kBAAMngD,GAAWA,EAAQiN,IAmB7C,OACEzL,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAlBjC,WACE,OAAIrpB,IAAQ0D,GACHlL,IAIP7G,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACE/F,UAAWtC,KAAOsmI,cAClB1kI,MAAM,UACN2G,KAAMmwE,IACNp3E,QAASmgD,GAER5sC,KAUTsxH,GAAcp+H,aAAe,CAC3BwG,KAAM,IAGR43H,GAAclhI,UAAd,GAOekhI,UCxDf,SAASI,GAATllI,GAA4C,IAAjBm5B,EAAiBn5B,EAAjBm5B,QACjBgsG,EADkCnlI,EAARkN,KAC1Bi4H,OAEFtnF,EAAc/tC,IAAQq1H,GAE5B,OACE1jI,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE8vB,QAASA,EACTykB,SAAUunF,EAAOttD,OACjBh6B,YAAaA,IAKnBqnF,GAAgBx+H,aAAe,CAC7BwG,KAAM,IAGRg4H,GAAgBthI,UAAhB,GAKeshI,iICpBf,SAASE,GAATplI,GAA0C,IAAjBm5B,EAAiBn5B,EAAjBm5B,QACf87B,GADgCj1D,EAARkN,MACF,IAAtB+nD,UACFowE,EAAYC,KAAQ13G,KAAIqnC,EAAW,YACnCrX,EAAW2nF,KAAKhgB,KAAQ33F,KAAIy3G,EAAW,WAA2C,IAAA5/H,EAAAyL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GAAjC2qD,EAAwCp2D,EAAxCo2D,OAAQG,EAAgCv2D,EAAhCu2D,KAAM13C,EAA0B7e,EAA1B6e,MAAO23C,EAAmBx2D,EAAnBw2D,QAC7D4a,EAAYC,aAAa2S,KAAInlE,EAAO,SAE1C,OAAOyJ,aAAY,CAAC8tC,EAAQG,EAAM6a,EAAW5a,QAG/C,OACEx6D,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE8vB,QAASA,EACTykB,SAAUA,EACVC,YAAah4C,IAAQ+3C,KAK3BwnF,GAAcxhI,UAAd,GAKewhI,UCzBf,SAASI,GAATxlI,GAAyC,IAAjBm5B,EAAiBn5B,EAAjBm5B,QACd87B,GAD+Bj1D,EAARkN,MACD,IAAtB+nD,UACFhoD,EAASs4H,KAAK33G,KAAIqnC,EAAW,UAEnC,OACExzD,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE8vB,QAASA,EACTykB,SAAU3wC,EACV4wC,YAAah4C,IAAQoH,KAK3Bu4H,GAAa5hI,UAAb,GAKe4hI,UClBf,SAASC,GAATzlI,GAAuC,IAAjBm5B,EAAiBn5B,EAAjBm5B,QACZ87B,GAD6Bj1D,EAARkN,MACC,IAAtB+nD,UACFywE,EAAQH,KAAK33G,KAAIqnC,EAAW,SAElC,OACExzD,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE8vB,QAASA,EACTykB,SAAU8nF,EACV7nF,YAAah4C,IAAQ6/H,KAK3BD,GAAW7hI,UAAX,GAKe6hI,UCnBf,SAASE,GAAT3lI,GAAgC,IACtB4lI,GADsB5lI,EAARkN,MACW,IAAzB04H,aAER,OACEnkI,EAAAC,EAAAC,cAAA,UACIikI,EAAelM,IAA0BE,KAKjD+L,GAAa/hI,UAAb,GAIe+hI,qQCQf,SAASz0F,GAATlxC,GAUG,IATKkB,EASLlB,EATD6lI,GAAM3kI,UACNiuB,EAQCnvB,EARDmvB,UACA22G,EAOC9lI,EAPD8lI,SACApgF,EAMC1lD,EAND0lD,gBACAvU,EAKCnxC,EALDmxC,aACAhlB,EAICnsB,EAJDmsB,SACAglD,EAGCnxE,EAHDmxE,kBACAr3B,EAEC95C,EAFD85C,iBACAirF,EACC/kI,EADD+kI,YACCgB,EAMG7B,EAAS,CAAE/3G,WAAUgD,YAAWu2B,kBAAiBvU,iBAJnDrQ,EAFDilG,EAECjlG,mBACA+jG,EAHDkB,EAGClB,SACAN,EAJDwB,EAICxB,aACAI,EALDoB,EAKCpB,aAEMt7G,EAAauN,cAAbvN,SAER,IAAKnoB,GAAa4O,IAAQg2H,GACxB,OACErkI,EAAAC,EAAAC,cAACiiI,EAAA,EAAD,CACEzyD,kBAAmBA,EACnBr3B,iBAAkBA,EAClBs3B,0BAA0B,yDAKhC,IAAM40D,EAAmB,eAAC94H,EAADgE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAQ,GAAR,OAAew0C,EAAgBugF,oBAAoB/4H,EAAKsG,OAE3E0yH,EAAkB,eAACh5H,EAADgE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAQ,GAAR,OAAew0C,EAAgBygF,oBAAoBj5H,EAAKsG,OAE1E4yH,EAAmB,eAACl5H,EAADgE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAQ,GAAR,OAAew0C,EAAgB2gF,mBAAmBn5H,EAAKsG,OAgDhF,IAAM8yH,EAAiBxkI,IACrBnD,KAAO47G,aACPprF,GACKA,EAAU7d,QAAU,GACpB6d,EAAU7d,UAAY6d,EAAUL,OAChCnwB,KAAO67G,aAGd,OACE/4G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACE9M,UAAWA,EACXo6B,qBAAsB47B,IACtB76B,UAAU,KACV5uB,QAAS0jC,EACT1M,eAAgB6hG,EAChB1gI,KAAMkgI,EACN5tG,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBz/C,OAAQksG,EACRzjG,mBAAoBA,EACpBzX,SAAUA,EACVgO,SAAO,GAEN8Z,EAAatnC,IAtEpB,SAAsB4uB,GAAmB,IAAX7yB,EAAWsL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAK3BioB,EAAYV,EAAZU,QACFjlB,EAAWw9B,GAAA,GACZ9rC,EADY,CAEfuD,IAAKgwB,EACLA,YAcF,MAXgB,CACd3lB,KAAM/R,EAAAC,EAAAC,cAAC4kI,GAAD70F,GAAA,GAAmBx9B,EAAnB,CAAgCjU,QAASimI,EAAiBnB,YAAaA,KAC7EI,OAAQ1jI,EAAAC,EAAAC,cAAC6kI,GAAoBtyH,GAC7B4rC,MAAOr+C,EAAAC,EAAAC,cAAC0H,EAAA,EAADqoC,GAAA,GAAex9B,EAAf,CAA4BjU,QAAS+lI,KAC5CxkF,MAAO//C,EAAAC,EAAAC,cAAC0H,EAAA,EAADqoC,GAAA,GAAex9B,EAAf,CAA4BjU,QAASmmI,KAC5Cn5H,OAAQxL,EAAAC,EAAAC,cAAC8kI,GAAiBvyH,GAC1B6oD,QAASt7D,EAAAC,EAAAC,cAAC+kI,GAAkBxyH,GAC5Bic,KAAM1uB,EAAAC,EAAAC,cAACglI,GAAezyH,GACtB0yH,OAAQnlI,EAAAC,EAAAC,cAACklI,GAAiB3yH,IAGbilB,IAAY13B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAtB1D,SAAmB91B,GACjB,OAAO5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO27G,aAAcj3G,QAwBhD,WACE,IAAKy9B,EACH,OAAO,KAFiB,IAKlBxvB,EAAyC6d,EAAzC7d,QAASwd,EAAgCK,EAAhCL,MAAOG,EAAyBE,EAAzBF,WAAYG,EAAaD,EAAbC,SAEpC,OACE3tB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACEtL,UAAWA,EACXmoB,SAAUA,EACV/X,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVC,WAAYJ,EACZnb,SAAU6wH,IAgCXmC,IAKP51F,GAAUxqC,aAAe,CACvBg/C,gBAAiB,GACjBvU,aAAc41F,KAGhB71F,GAAUttC,UAAV,GAkBestC,6GCvJf,SAAS81F,GAAThnI,GAYG,IAXD+D,EAWC/D,EAXD+D,QACAuR,EAUCtV,EAVDsV,SACA2xH,EASCjnI,EATDinI,cACAC,EAQClnI,EARDknI,WACAlsB,EAOCh7G,EAPDg7G,WACAmsB,EAMCnnI,EANDmnI,mBACAC,EAKCpnI,EALDonI,qBACAC,EAICrnI,EAJDqnI,kBACAC,EAGCtnI,EAHDsnI,UACAj+G,EAECrpB,EAFDqpB,SACArkB,EACChF,EADDgF,GAEMg8F,EAAiB,CAAEumC,eAAgB,CAACviI,IACpCwiI,EAAqBF,EAAYtmC,EAAiB,CAAEymC,cAAe,eAAAr+H,OAAepE,KAOxF,OACEvD,EAAAC,EAAAC,cAAA,YACI0nB,GAAY5nB,EAAAC,EAAAC,cAAC84B,GAAA,EAAD,CAAOj3B,MAAM,qBAAqBO,QAASA,IAEzDtC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOo8G,UACrBt5G,EAAAC,EAAAC,cAACopB,GAAA,EAAD,CACEoO,QAAQ,gBACR91B,MAAO4jI,EACPK,UAAWA,EACXtmC,eAAgBwmC,EAChB1zH,SAAUszH,EACVnyC,eAAe,EACfC,UAAQ,EACRwyC,cAAY,IAEbJ,GACC7lI,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAO9gB,UAAWtC,KAAO2E,OAAzB,eAGA7B,EAAAC,EAAAC,cAACwc,GAAA,EAAD,CACE9a,MAAO23G,EACPj2G,QAAS80H,IACT/lH,SAAUqzH,EACVtoH,aAAW,EACX5d,UAAWtC,KAAOq8G,aAEpBv5G,EAAAC,EAAAC,cAACgmI,GAAA,EAAD,CACEtkI,MAAO6jI,EACPjmI,UAAWtC,KAAOipI,qBAClB9zH,SAAUuzH,EACVrmC,eAAgBA,EAChB/L,eAAe,EACfC,UAAQ,EACRwyC,cAAY,MAMpBjmI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgQ,QACrBlN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQkB,UAAWtC,KAAOs8G,aAAc16G,MAAM,QAAQN,QAAS8D,GAA/D,UAGAtC,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQkB,UAAWtC,KAAOs8G,aAAch7G,QAjD9C,WACEqV,IACAvR,MA+CI,WAQRijI,GAAepjI,UAAf,GAceojI,+OClCAa,OAvDf,SAAsB5jI,GAAO,IAAAkmB,EACsBpJ,eAAzC1K,EADmB8T,EACnB9T,YAAaC,EADM6T,EACN7T,YAAa6K,EADPgJ,EACOhJ,WAC1BkI,EAAauN,cAAbvN,SAEFjpB,EACJqB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEE,QAASqW,EACT/V,MAAM,WACNU,UAAWtC,KAAOk8G,aAClBn6G,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAJ3B,YAWE43B,EAAiBxiB,GAAe5U,EAAAC,EAAAC,cAACmmI,GAADC,GAAA,GAAoB9jI,EAApB,CAA2BolB,SAAUA,EAAUtlB,QAASod,KAE9F,OAAIkI,EAEA5nB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGtH,EACDqB,EAAAC,EAAAC,cAACkU,GAAA,EAAD,CACE5U,UAAWtC,KAAOsX,MAClB1V,MAAM,aACNiD,MAAM,qBACNyR,OAAQoB,EACRP,WAAYQ,EACZ8C,eAAgB+H,GAEf0X,IAOPp3B,EAAAC,EAAAC,cAACgI,GAAA,EAAD,CACElG,QAASo1B,EACT0kF,QAASlnG,EACTmnG,OAAQr8F,EACRs8F,eAAgBnnG,EAChBvM,aAAW,EACX9I,UAAWtC,KAAO8sF,QAClB3hF,UAAU,aACV8jC,SAAS,OACTrtC,MAAM,QACN6jB,OAAQ,GAEPhkB,sUC3DP,IAAMyjF,GAAkBC,KAAeD,gBAIlBG,yzCACZgkD,uBAAyB,kBAHTnkD,GAAgB,CAAEhtE,QAGG,6CAHMktE,MAAO,WC6E5CkkD,OA5Ef,SAAAjoI,GAAsE,IAA/CgF,EAA+ChF,EAA/CgF,GAAIkjI,EAA2CloI,EAA3CkoI,cAAep/F,EAA4B9oC,EAA5B8oC,KAAMq/F,EAAsBnoI,EAAtBmoI,mBAAsBx3H,EAAAC,GAC1BC,mBAAS,IADiB,GAC7Du3H,EAD6Dz3H,EAAA,GAC9C03H,EAD8C13H,EAAA,GAAA+I,EAAA9I,GAE1BC,mBAAS,IAFiB,GAE7Do2H,EAF6DvtH,EAAA,GAE9C4uH,EAF8C5uH,EAAA,GAAAgT,EAAA9b,GAGhCC,mBAAS,IAHuB,GAG7DmqG,EAH6DtuF,EAAA,GAGjD67G,EAHiD77G,EAAA,GAAAE,EAAAhc,GAIhCC,mBAAS,IAJuB,GAI7Dq2H,EAJ6Dt6G,EAAA,GAIjD47G,EAJiD57G,EAAA,GAAAmhD,EAAAn9D,GAKhCC,mBAAS,IALuB,GAK7D43H,EAL6D16D,EAAA,GAKjD26D,EALiD36D,EAAA,GAM9DrgD,EAAU,CAAC06G,EAAenB,EAAejsB,EAAYksB,GACrD/1D,GAAqBw3D,KAAMj7G,EAAN7nB,EAAAnE,GAE3B,SAASknI,EAAaC,GAChB7jI,GACFkjI,EAAcY,GAAA,CACZ9jI,KACA8jC,OACAm+F,gBACAC,aACAlsB,cACGytB,EANQ,GAORI,GACFV,GARH,MASS,SAAC3iI,GAEN,MADAw+E,GAAcgkD,yBACRxiI,IAsCd,OAFAkM,oBAAUk3H,EAAc,CAACH,EAAYzjI,IAE9B,CACL4jI,eACAR,gBACAnB,gBACAC,aACAlsB,aACA7pC,oBACA43D,sBAxCF,SAAmCj3H,GAAO,IAChCzO,EAAUyO,EAAMvK,OAAhBlE,MACRglI,EAAiBhlI,IAuCjB+jI,qBApCF,SAAkCt7H,EAAGzI,GACnCilI,EAAiBjlI,IAoCjBgkI,kBAjCF,SAA+Bv7H,EAAGzI,GAChCmlI,EAAcnlI,IAiCd8jI,mBA9BF,SAAgC9iH,GAAQ,IAAA2kH,GACf3kH,GAAU,IAAzBhhB,MAERklI,OAHsC,IAAAS,EACtB,GADsBA,IA+BtC1zH,SAzBF,WACEozH,EAAc,CAAEN,gBAAenB,mBAyB/Br2G,WAtBF,WACEy3G,EAAiB,IACjBC,EAAiB,IACjBE,EAAc,IACdE,EAAc,IACdH,EAAc,unBC5ClB,SAASlpG,GAATr/B,GAYG,IAXDwD,EAWCxD,EAXDwD,MACAE,EAUC1D,EAVD0D,YACAo2C,EASC95C,EATD85C,iBACAmvF,EAQCjpI,EARDipI,gBACApD,EAOC7lI,EAPD6lI,GACAC,EAMC9lI,EAND8lI,SACAoD,EAKClpI,EALDkpI,mBACA5B,EAICtnI,EAJDsnI,UACAtiI,EAGChF,EAHDgF,GACAmkI,EAECnpI,EAFDmpI,kBACG9nI,EACFC,GAAAtB,EAAA,wIAAAopI,EAcGnB,GAAYnmB,GAAA,GAAKzgH,EAAN,CAAiB2D,QAZ9B4jI,EAFDQ,EAECR,aACAR,EAHDgB,EAGChB,cACAnB,EAJDmC,EAICnC,cACAC,EALDkC,EAKClC,WACAlsB,EANDouB,EAMCpuB,WACAmsB,EAPDiC,EAOCjC,mBACA4B,EARDK,EAQCL,sBACA3B,EATDgC,EASChC,qBACAC,EAVD+B,EAUC/B,kBACA/xH,EAXD8zH,EAWC9zH,SACAsb,EAZDw4G,EAYCx4G,WACAugD,EAbDi4D,EAaCj4D,kBAuDF,OACE1vE,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACE51C,MAAOA,EACPE,YAAaA,EACbo2C,iBAAkBA,GAxDtB,WACE,IAAKqvF,EACH,OAAO,KAGT,IAAME,EACJ5nI,EAAAC,EAAAC,cAACywF,EAAA,EAAD,CACEC,YAAU,EACVhvF,MAAO+kI,EACPt0H,SAAUi1H,EACVzzH,SAAUA,EACV0U,sBAAoB,EACpBC,gBAAiBktC,MAIrB,OACE11D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOo8G,UACrBt5G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO4rB,iBACrB9oB,EAAAC,EAAAC,cAAC40B,EAAA,EAAD,CACE/yB,MAAM,SACNowB,aAAa,sCACbE,gBAAiBu1G,EACjBpoI,UAAWtC,KAAOgnG,aAEnBx0B,GACC1vE,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,OACNN,QAAS2wB,EACT3vB,UAAWtC,KAAOyyB,UAHpB,sBASJ3vB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgnG,YACrBlkG,EAAAC,EAAAC,cAAC2nI,GAAD,CACEtkI,GAAIA,EACJiiI,cAAeA,EACfC,WAAYA,EACZlsB,WAAYA,EACZssB,UAAWA,EACXhyH,SAAUA,EACV8xH,qBAAsBA,EACtBC,kBAAmBA,EACnBF,mBAAoBA,MAazBoC,GAED9nI,EAAAC,EAAAC,cAACi3C,GAADkpE,GAAA,GACMzgH,EADN,CAEEwkI,GAAIA,EACJC,SAAUA,EACV35G,SAAUy8G,EACVh4G,WAAYA,EACZugD,kBAAmBA,EACnBr3B,iBAAkBA,EAClB4L,gBAAiBwjF,EAAmBD,OAM5C5pG,GAAU34B,aAAe,CACvBwiI,mBChHK,SAA4BM,GACjC,MAAO,CACLvD,oBAAqBwD,aAAiCD,GACtDrD,oBAAqBuD,aAAiCF,GACtDpF,yBAA0BuF,aAAsCH,GAChEnF,2BAA4BuF,aAAwCJ,KD4GtEL,mBAAmB,GAGrB9pG,GAAUz7B,UAAV,GAaey7B,UEnIA2kG,eAAa,WAAYj9D,EAAzBi9D,CAAkC3kG,iiCCE1C,IAAMwqG,GAAkB,EAyChBC,OA5Bf,SAAA9pI,GAAkD,IAA3B6tB,EAA2B7tB,EAA3B6tB,MAAO3sB,EAAoBlB,EAApBkB,UAAWyF,EAAS3G,EAAT2G,MACjCizC,GAAmB14C,GAAa2E,IAAQgoB,GACxCk8G,EAAepjI,GAASkjI,GACxBG,EAAiBn8G,GAASA,EAAMplB,OAASshI,EAHCp5H,EAAAs5H,GAKZp5H,oBAAS,GALG,GAKzCq5H,EALyCv5H,EAAA,GAK7Bw5H,EAL6Bx5H,EAAA,GAAA+I,EAAAuwH,GAMRp5H,mBAAS,IAND,GAMzCu5H,EANyC1wH,EAAA,GAM3B2wH,EAN2B3wH,EAAA,GAmBhD,OAXAhI,oBAAU,WACR,IAAM44H,EAAeJ,EAAar8G,EAAQA,EAAMjkB,MAAM,EAAGmgI,GACnDQ,EAAcC,KAAQF,EAAc,SAAAp9H,GAAI,OAAI6nB,KAAO7nB,EAAK4nB,MAAM2X,OAAOg+F,QAE3EJ,EAvBJ,SAA6BE,GAC3B,IAAMG,EAAa,GAOnB,OALAj4G,OAAOC,KAAK63G,GAAa1qH,QAAQ,SAAA3S,GAAI,OAAIw9H,EAAW3qH,KAAK,CACvD+U,KAAM5nB,EACN6+G,OAAQwe,EAAYr9H,OAGfw9H,EAeWC,CAAoBJ,KACnC,CAACL,EAAYr8G,IAMT,CACLm8G,iBACAE,aACAE,eACAQ,eARF,WACET,GAAeD,IAQftwF,iFCnCJ,SAASixF,GAAT7qI,GAMG,IALD8qI,EAKC9qI,EALD8qI,YACAC,EAIC/qI,EAJD+qI,qBACAhf,EAGC/rH,EAHD+rH,OACAif,EAEChrI,EAFDgrI,wBACAC,EACCjrI,EADDirI,kBAEA,GAAIn7H,IAAQi8G,GACV,OACEtqH,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM5M,UAAWtC,KAAOu0D,eAAxB,+CA+CJ,OAAO64D,EAAOliH,IAhBd,SAAoBiI,EAAOnJ,GACzB,IAAMwwB,EAAO,GAAA/vB,OAAMT,EAAN,UACPuiI,EAAiBJ,GAAyB,IAAVniI,EAChCwiI,EAAcD,GAAkBH,EAChCvnC,EAAkB1hG,IAAWnD,KAAOo+E,WAAYouD,GAAexsI,KAAO6hE,WAE5E,OACE/+D,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM1E,IAAKgwB,EAASl4B,UAAWa,IAAWnD,KAAOu0D,cAAeg4E,GAAkBvsI,KAAO4J,YAtB7F,SAAqB2iI,EAAgBp5H,EAAOnJ,EAAO1H,GACjD,GAAIgqI,EACF,OAAOA,EAAkBn5H,EAAOnJ,EAAO1H,GAFmB,IAKpDuC,GAAUsO,GAAS,IAAnBtO,MACFu5E,EAAamuD,EAAiB,cAAgB1nI,EAEpD,OAAIsM,IAAQitE,GACH,KAGFt7E,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GAAY87E,GAW9B9gC,CAAYivF,EAAgBp5H,EAAOnJ,EAAO66F,GAC3C/hG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOq+E,WAlC7B,SAAuBlrE,EAAOnJ,GAAO,IAC3B2C,GAASwG,GAAS,IAAlBxG,KAER,OAAI0/H,EACKA,EAAwBl5H,EAAOnJ,GAGjC2C,EA4BA4wC,CAAcpqC,EAAOnJ,OAShCkiI,GAAUjnI,UAAV,GAQeinI,UCnEf,SAASO,GAATprI,GAQG,IAPDqrI,EAOCrrI,EAPDqrI,cACAP,EAMC9qI,EAND8qI,YACAG,EAKCjrI,EALDirI,kBACAF,EAIC/qI,EAJD+qI,qBACAC,EAGChrI,EAHDgrI,wBACAM,EAECtrI,EAFDsrI,sBACAC,EACCvrI,EADDurI,oBAEQz2G,EAAiBu2G,EAAjBv2G,KAAMi3F,EAAWsf,EAAXtf,OAUd,OACEtqH,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC+mH,GAAA,EAAD,CAAKp9G,KATH+uC,KAAWkxF,GACNA,EAAoB,CAAET,cAAah2G,OAAMi3F,WAG3Cj3F,EAKuB7zB,UAAWtC,KAAO6E,QAC9C/B,EAAAC,EAAAC,cAAC6pI,GAAD,CACEV,aAAcQ,GAAyBR,EACvCG,kBAAmBA,EACnBF,qBAAsBA,EACtBhf,OAAQA,EACRif,wBAAyBA,KAMjCI,GAAUxnI,UAAV,GAUewnI,UCAAK,OAhDf,SAAAzrI,GAAiF,IAArDmvB,EAAqDnvB,EAArDmvB,UAAWtB,EAA0C7tB,EAA1C6tB,MAAO3sB,EAAmClB,EAAnCkB,UAAWwqI,EAAwB1rI,EAAxB0rI,cAAe/kI,EAAS3G,EAAT2G,MAChEglI,EAAuBx7E,iBAAO,MAD2Cy7E,EAQ3E9B,GAAY,CAAEj8G,QAAO3sB,YAAWyF,UALlCizC,EAH6EgyF,EAG7EhyF,gBACAowF,EAJ6E4B,EAI7E5B,eACAE,EAL6E0B,EAK7E1B,WACAE,EAN6EwB,EAM7ExB,aACAQ,EAP6EgB,EAO7EhB,eAP6ErlI,EASpD4pB,GAAa,GAAhC7d,EATuE/L,EASvE+L,QAASwd,EAT8DvpB,EAS9DupB,MACX+8G,EAA8B,IAAZv6H,IAAkB44H,EACpC4B,GAAcD,GAAmBv6H,IAAYwd,EAMnD,SAASi9G,IACHJ,EAAqBr6H,SACvBq6H,EAAqBr6H,QAAQsmH,iBAG/BgT,IAgBF,OAzBAl5H,oBAAU,WACRg6H,EAAc,CAAE9+F,KAAM,KACrB,IAuBI,CACL++F,uBACA3B,iBACAE,WAAY4B,EACZ1B,eACA4B,gBAlBF,WACE,OAAIH,EACKjB,IAGLkB,EACKJ,EAAc,CAAE9+F,KAAM,EAAGq/F,eAAe,IAC5ChzH,KAAK8yH,GAGHL,EAAc,CAAE9+F,KAAMt7B,EAAU,KASvCsoC,yPCpCJ,SAASsyF,GAATlsI,GAiBG,IAhBDwD,EAgBCxD,EAhBDwD,MACAE,EAeC1D,EAfD0D,YACAo2C,EAcC95C,EAdD85C,iBACA74C,EAaCjB,EAbDiB,UACA4sB,EAYC7tB,EAZD6tB,MACAsB,EAWCnvB,EAXDmvB,UACAu8G,EAUC1rI,EAVD0rI,cACAxqI,EASClB,EATDkB,UACA62B,EAQC/3B,EARD+3B,iBACAgzG,EAOC/qI,EAPD+qI,qBACAC,EAMChrI,EANDgrI,wBACAM,EAKCtrI,EALDsrI,sBACAa,EAICnsI,EAJDmsI,eACAZ,EAGCvrI,EAHDurI,oBACAN,EAECjrI,EAFDirI,kBACAtkI,EACC3G,EADD2G,MAEMuN,EAAc,CAAE1Q,QAAOE,cAAao2C,oBADzCsyF,EASGX,GAAiB,CAAEt8G,YAAWtB,QAAO3sB,YAAWwqI,gBAAe/kI,UANjEglI,EAHDS,EAGCT,qBACAzB,EAJDkC,EAIClC,WACAE,EALDgC,EAKChC,aACA4B,EANDI,EAMCJ,gBACAhC,EAPDoC,EAOCpC,eACApwF,EARDwyF,EAQCxyF,gBAGF,GAAI7hB,EACF,OAAOt2B,EAAAC,EAAAC,cAACiiI,EAAA,EAAuB1vH,GAkCjC,OACEzS,EAAAC,EAAAC,cAAA,OAAKE,IAAK8pI,GACRlqI,EAAAC,EAAAC,cAACy3C,EAAA,EAADizF,GAAA,GACMn4H,EADN,CAEE0lC,gBAAiBA,EACjB34C,UAAWa,IAAWnD,KAAO6H,UAAWvF,KAExCQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOg0D,gBACpBy3E,EAAavgI,IAvCtB,SAAyBqD,EAAMvE,GAAO,IAC5BmsB,EAAS5nB,EAAT4nB,KAER,OACErzB,EAAAC,EAAAC,cAAC2qI,GAAD,CACEnjI,IAAG,eAAAC,OAAiB0rB,EAAjB,KAAA1rB,OAAyBT,GAC5B0iI,cAAen+H,EACf69H,qBAAsBA,EACtBC,wBAAyBA,EACzBO,oBAAqBA,EACrBN,kBAAmBA,EACnBK,sBAAuBA,EACvBa,eAAgBA,EAChBrB,YAAuB,IAAVniI,OA6BblH,EAAAC,EAAAC,cAAC4qI,GAAA,EAAD,CACEhsI,MAAM,OACNisI,SAAS,YACTC,UAAU,WACVxrI,UAAWtC,KAAOm+E,eAClB5lE,gBAAiBvY,KAAOyB,OACxB69E,UAAW+rD,EACX/0H,OAAQi1H,EACRjqI,QAAS+rI,EACT3rI,SAAUa,EACVwrI,cAjCFxrI,EAEAO,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,eAEEnuB,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,8BAA+BnD,KAAO+tE,gBAK9D,SA+BXw/D,GAAcxlI,aAAe,CAC3BqG,WAAW,GAGbm/H,GAActoI,UAAd,GAuBesoI,+OCnHf,SAASS,GAAT3sI,GAWG,IAVDwD,EAUCxD,EAVDwD,MACAE,EASC1D,EATD0D,YACAo2C,EAQC95C,EARD85C,iBACA74C,EAOCjB,EAPDiB,UACA4sB,EAMC7tB,EAND6tB,MACAo9G,EAKCjrI,EALDirI,kBACAF,EAIC/qI,EAJD+qI,qBACAC,EAGChrI,EAHDgrI,wBACArkI,EAEC3G,EAFD2G,MACAimI,EACC5sI,EADD4sI,eAEM14H,EAAc,CAAE1Q,QAAOE,cAAao2C,oBACpC54C,EAA+B,YAAnB0rI,EAFjBhB,EAQG9B,GAAY,CAAEj8G,QAAO3sB,YAAWyF,UAJlCqjI,EAJD4B,EAIC5B,eACAE,EALD0B,EAKC1B,WACAE,EANDwB,EAMCxB,aACAQ,EAPDgB,EAOChB,eAEIiC,EAAqC,UAAnBD,EAClBhzF,GAAmBizF,GAAmBhnI,IAAQgoB,GAEpD,GAAI3sB,EACF,OAAOO,EAAAC,EAAAC,cAACiiI,EAAA,EAAuB1vH,GAkBjC,OACEzS,EAAAC,EAAAC,cAACy3C,EAAA,EAAD0zF,GAAA,GACM54H,EADN,CAEE0lC,gBAAiBA,EACjB34C,UAAWa,IAAWnD,KAAO6H,UAAWvF,KAEvC4rI,EACCprI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOs+E,oBACrBx7E,EAAAC,EAAAC,cAACorI,GAAA,EAAD,OAGFtrI,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOg0D,gBACpBy3E,EAAavgI,IA5BxB,SAAyBqD,EAAMvE,GAAO,IAC5BmsB,EAAS5nB,EAAT4nB,KAER,OACErzB,EAAAC,EAAAC,cAAC2qI,GAAD,CACEnjI,IAAG,eAAAC,OAAiB0rB,EAAjB,KAAA1rB,OAAyBT,GAC5BsiI,kBAAmBA,EACnBI,cAAen+H,EACf69H,qBAAsBA,EACtBC,wBAAyBA,EACzBF,YAAuB,IAAVniI,OAoBXlH,EAAAC,EAAAC,cAAC4qI,GAAA,EAAD,CACEhsI,MAAM,OACNisI,SAAS,WACTC,UAAU,YACVxrI,UAAWtC,KAAOm+E,eAClBmB,UAAW+rD,EACX/0H,OAAQi1H,EACRjqI,QAAS2qI,MAQrB+B,GAAS/oI,UAAT,GAkBe+oI,mDCnGA,SAASK,GAAThtI,GAAkC,IAAbiB,EAAajB,EAAbiB,UAClC,OAAOQ,EAAAC,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,KAAO+jD,UAAWzhD,KAGrD+rI,GAAUppI,UAAV,uCCEA,SAASqpI,GAATjtI,GAQG,IAPDkB,EAOClB,EAPDkB,UACAsS,EAMCxT,EANDwT,KACAlQ,EAKCtD,EALDsD,MACA6wD,EAICn0D,EAJDm0D,YACAL,EAGC9zD,EAHD8zD,WACAD,EAEC7zD,EAFD6zD,SACA64E,EACC1sI,EADD0sI,cAkCA,IAAMQ,EAAiBprI,IACrBnD,KAAOgF,KACPwwD,GAAex1D,KAAOwuI,iBAGxB,OACE1rI,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM5M,UAAWisI,GArCbhsI,EACKO,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,MAGLk9G,GAKFjrI,EAAAC,EAAAC,cAACyrI,GAAA,EAAD,CACE9pI,MAAOA,EACPD,MAAOmQ,EACP3E,mBAAoBlQ,KAAO2N,eAC3BrL,UAAWtC,KAAO6E,QAMjB2wD,EAKH1yD,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACqrI,GAAD,CAAW/rI,UAAWtC,KAAO+jD,YAC7BjhD,EAAAC,EAAAC,cAACizD,GAAA,EAAD,CAASd,WAAYA,EAAYD,SAAUA,KANtC,MAwBbo5E,GAASrpI,UAAT,GAUeqpI,2ECrEf,SAASI,GAATrtI,GAAgF,IAA1DiV,EAA0DjV,EAA1DiV,OAAQzR,EAAkDxD,EAAlDwD,MAAO6K,EAA2CrO,EAA3CqO,MAAO4kC,EAAoCjzC,EAApCizC,UAAWn9B,EAAyB9V,EAAzB8V,WACrD,OAD8E9V,EAAbkB,UAExD,KAIPO,EAAAC,EAAAC,cAACkU,GAAA,EAAD,CACErS,MAAOA,EACPyR,OAAQA,EACRa,WAAYA,EACZmnF,YAAax7F,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KAAGlE,EAAH,IAAWyvC,GACxBhyC,UAAWtC,KAAOsX,MAClBF,gBAAiBpX,KAAOk9G,YACxB5kG,cAAetY,KAAOugF,WAEtBz9E,EAAAC,EAAAC,cAAA,OACEk4B,IAAKxrB,EACLyrB,IAAKt2B,EACLvC,UAAWtC,KAAO0P,SAM1Bg/H,GAAWzpI,UAAX,GASeypI,+OC9BA,SAAS3rE,GAAT1hE,GAA2E,IAAzD4zD,EAAyD5zD,EAAzD4zD,iBAAkB3f,EAAuCj0C,EAAvCi0C,UAAWzgC,EAA4BxT,EAA5BwT,KAAMy/B,EAAsBjzC,EAAtBizC,UAAW2yB,EAAW5lE,EAAX4lE,QAAWz7C,EACnDpJ,eAA7B1K,EADgF8T,EAChF9T,YAAaC,EADmE6T,EACnE7T,YADmEg3H,EAEnDvnE,eAA7BwnE,EAFgFD,EAEhFC,UAAWC,EAFqEF,EAErEE,cAOnB,IAAMC,EAAiBx5F,GAAa,CAClC0tB,SAAU1tB,EACVh0C,QAASqW,EACTsvD,QARF,WACE4nE,IACA5nE,GAAWA,KAOXF,YAAa6nE,GAGf,OACE9rI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0mG,iBACrB5jG,EAAAC,EAAAC,cAAC+rI,GAAD,CACEz4H,OAAQoB,EACR7S,MAAOgQ,EACPnF,MAAO4lC,EACPhB,UAAWA,EACXn9B,WAAYQ,EACZpV,UAAW0yD,IAGbnyD,EAAAC,EAAAC,cAAC+/D,GAAA,EAADisE,GAAA,GACMF,EADN,CAEEj6H,KAAMA,EACNvS,UAAWtC,KAAOijE,WAM1BF,GAAO99D,UAAP,4BChBe4rB,OAvBf,WACE,OACE/tB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,CAAiBvuB,UAAWtC,KAAO+8G,YAEnCj6G,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOkqG,YACxBpnG,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOw7E,KAAMx7E,KAAOq9G,kBAC7Cv6G,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,CAAiBvuB,UAAWa,IAAWnD,KAAOijE,OAAQjjE,KAAO4N,qBAE7D9K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6E,OACrB/B,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,CAAiBvuB,UAAWtC,KAAOo9G,OACnCt6G,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,CAAiBvuB,UAAWtC,KAAOo9G,SAIvCt6G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8vG,QACrBhtG,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,CAAiBvuB,UAAWtC,KAAOo9G,2CCd9B,SAAS6xB,GAAT5tI,GAA+B,IAATskB,EAAStkB,EAATskB,MAC7BuyD,EAAYC,aAAaxyD,GAE/B,OAAIxU,IAAQ+mE,GACH,KAIPp1E,EAAAC,EAAAC,cAAC8kC,GAAA,EAAD,CAAOxlC,UAAWtC,KAAOkvI,YACtBh3D,GAKP+2D,GAAWhqI,UAAX,gKCfe,SAASkqI,GAAT9tI,GAAuC,IAAA2S,EAAd6gC,EAAcxzC,EAAdwzC,WACtC,OACE/xC,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IAAWnD,KAAO+8G,WAAR/oG,EAAA,GAAAo7H,GAAAp7H,EAClBhU,KAAOg9G,kBAAoBqyB,aAAWx6F,IADpBu6F,GAAAp7H,EAElBhU,KAAOi9G,oBAAsBqyB,aAAaz6F,IAFxB7gC,MAQ3Bm7H,GAAclqI,UAAd,6BCTA,SAASsqI,GAATluI,GAAsC,IAAbmuI,EAAanuI,EAAbmuI,UAAahkH,EACYpJ,eAAxC1K,EAD4B8T,EAC5B9T,YAAaC,EADe6T,EACf7T,YAAa4K,EADEiJ,EACFjJ,UAElC,OAAIpR,IAAQq+H,GACH,KAIP1sI,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOyvI,eAAxB,IAEE3sI,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNN,QAASihB,EACTjgB,UAAWtC,KAAO0vI,cAHpB,kBAFF,IAWE5sI,EAAAC,EAAAC,cAACkU,GAAA,EAAD,CACEtV,MAAM,aACNiD,MAAM,YACNyR,OAAQoB,EACRiB,OAAQhB,EACRc,gBAAgB,QAChBH,cAAetY,KAAOugF,UACtBj+E,UAAWtC,KAAOsX,MAClBa,YAAU,GAETq3H,IAMTD,GAActqI,UAAd,GAIesqI,gCC1CA,SAASI,GAATtuI,GAAwC,IAAAuF,EAAAvF,EAAhB88D,cACS,GAAtCxB,EAD6C/1D,EAC7C+1D,YAAaizE,EADgChpI,EAChCgpI,KAEfC,EAAiBzmH,QAAQ0mH,OAAOnzE,IAEtC,IAAKkzE,IAAmBD,EAAM,OAAO,KAErC,IAAMG,EAAe,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MAAON,IAAS,KAEtDO,EAAWP,GAAI,GAAAnlI,OAAOmlI,GAAPnlI,OAAcslI,EAAd,SACfK,EAAiBP,GAAc,GAAAplI,OAAOkyD,EAAP,aAErC,OACE75D,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOm+D,cAAxB,IACI/uC,aAAY,CAAC+gH,EAAUC,IAD3B,KAMJT,GAAa1qI,UAAb,uCCTA,SAASorI,GAAThvI,GAeG,IAdD4zD,EAcC5zD,EAdD4zD,iBACA5yD,EAaChB,EAbDgB,SACAC,EAYCjB,EAZDiB,UACAyC,EAWC1D,EAXD0D,YACA4gB,EAUCtkB,EAVDskB,MACA2vB,EASCj0C,EATDi0C,UACAzgC,EAQCxT,EARDwT,KACAggC,EAOCxzC,EAPDwzC,WACAC,EAMCzzC,EANDyzC,UACA06F,EAKCnuI,EALDmuI,UACArxE,EAIC98D,EAJD88D,aACAmyE,EAGCjvI,EAHDivI,YACAC,EAEClvI,EAFDkvI,gBACA1B,EACCxtI,EADDwtI,cAEMv6F,EAAYO,GAAcC,GAC9BhyC,EAAAC,EAAAC,cAACg0D,GAAA,EAAD,CACEniB,WAAYA,EACZC,UAAW07F,KAAQ17F,GACnBxyC,UAAWtC,KAAOs0C,YA8CtB,OACExxC,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM5M,UAAWA,GA1Cb2yD,EACKnyD,EAAAC,EAAAC,cAAC2/E,GAAD,MAIP7/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAACmsI,GAAD,CAAet6F,WAAYA,IAE3B/xC,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOkqG,YACxBpnG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOw7E,MACrB14E,EAAAC,EAAAC,cAACytI,GAAD,CACEx7E,iBAAkBA,EAClB3f,UAAWA,EACXzgC,KAAMA,EACNy/B,UAAWA,EACX2yB,QAAS4nE,IAGX/rI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6E,OACrB/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOm9G,eACrBr6G,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO6U,MAAOA,GAC9By/B,EACDxxC,EAAAC,EAAAC,cAAC0tI,GAAD,CAAelB,UAAWA,KAE5B1sI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8iE,sBACrBhgE,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO+E,aAAcA,GACtCjC,EAAAC,EAAAC,cAAC2sI,GAAD,CAAcxxE,aAAcA,OAKlCr7D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8vG,QACrBhtG,EAAAC,EAAAC,cAACisI,GAAD,CAAYtpH,MAAOA,IACnB7iB,EAAAC,EAAAC,cAAC2tI,GAAA,EAAD,CAAa7rI,QAASwrI,IACrBC,KAUNluI,GAKPguI,GAAYprI,UAAZ,GAiBeorI,gCCrGf,SAAShC,GAAThtI,GAAkC,IAAbiB,EAAajB,EAAbiB,UACnB,OACEQ,EAAAC,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,KAAO+jD,UAAWzhD,KAIhD+rI,GAAUppI,UAAV,GAIeopI,wSCfR,IAAMuC,GAAqBhnH,IAAMC,gBAYzBgnH,OAVf,SAA0B9mH,GACxB,OAAO,SAAkCzkB,GACvC,OACExC,EAAAC,EAAAC,cAAC4tI,GAAmB5mH,SAApB,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD+mH,GAAA,GAAexrI,EAAW2kB,sDCNxB7d,IAAU6tD,MAAM,CACrC7gC,iBAAkBhtB,IAAU48D,KAAKtxC,WACjCq5G,cAAe3kI,IAAU48D,KAAKtxC,WAC9Bs5G,iBAAkB5kI,IAAU48D,KAAKtxC,WACjCu5G,eAAgB7kI,IAAU48D,KAAKtxC,WAC/Bw5G,mBAAoB9kI,IAAU48D,KAAKtxC,WACnCy5G,gBAAiB/kI,IAAU48D,KAAKtxC,WAChC05G,eAAgBhlI,IAAU48D,KAAKtxC,WAC/B25G,qBAAsBjlI,IAAU48D,KAAKtxC,WACrC45G,eAAgBllI,IAAU48D,KAAKtxC,WAC/B65G,sCAAuCnlI,IAAU48D,KAAKtxC,aAGxBtrB,IAAU6tD,MAAM,CAC9C5zD,GAAI+F,IAAUguD,OACdo3E,WAAYplI,IAAU8E,OACtBugI,UAAWrlI,IAAU8E,OACrBwgI,YAAatlI,IAAU8E,OACvBiwC,MAAO/0C,IAAU8E,OACjBktD,QAAShyD,IAAU8E,OACnBoqD,aAAclvD,IAAU8E,OACxBygI,WAAYvlI,IAAU8E,OACtB2xC,MAAOz2C,IAAU8E,OACjBxC,KAAMtC,IAAU8E,OAChB0gI,MAAOxlI,IAAU8E,OACjBw2C,cAAet7C,IAAU8E,OACzB2gI,iBAAkBzlI,IAAU8E,OAC5B4gI,iBAAkB1lI,IAAU8E,OAC5B6I,IAAK3N,IAAU8E,uSC5BjB,IAAMg0E,GAAkBC,KAAeD,gBAIlBG,yzCACZgkD,uBAAyB,kBAHTnkD,GAAgB,CAAEhtE,QAGG,6CAHMktE,MAAO,WC0H5CmgD,OApHf,SAAAlkI,GAcG,IAbDgF,EAaChF,EAbDgF,GACM0rI,EAYL1wI,EAZD63E,KACA1oD,EAWCnvB,EAXDmvB,UACAwhH,EAUC3wI,EAVD2wI,kBACA7nG,EASC9oC,EATD8oC,KACA4c,EAQC1lD,EARD0lD,gBACAyiF,EAOCnoI,EAPDmoI,mBACAh3F,EAMCnxC,EANDmxC,aACAy/F,EAKC5wI,EALD4wI,qBACAZ,EAIChwI,EAJDgwI,qBACAa,EAGC7wI,EAHD6wI,aACAC,EAEC9wI,EAFD8wI,gBACAC,EACC/wI,EADD+wI,iBAEMl5D,EAAOssD,cAED6M,EAAqDH,EAAzD7rI,GAAsBisI,EAAmCJ,EAAzCr9H,KAAoB8Q,EAAqBusH,EAArBvsH,MAAOuyD,EAAcg6D,EAAdh6D,UAHlDq6D,GAIgC/hH,GAAa,IAAtCC,gBAJP,IAAA8hH,EAIkBh6E,IAJlBg6E,EAODx/H,oBAAU,WACR,IAAK5B,IAAQ4gI,GAAY,KACTS,EAA2BT,EAAjC74D,KAAmBC,EAAc44D,EAAd54D,UAE3BD,GAAQA,EAAKu5D,YAAY,CAAEt5D,YAAWr/C,OAAQ04G,MAE/C,CAACT,IAEJ,IAAM5vG,GAAsBhxB,IAAQqf,GAElCkiH,EAEE3rF,EAFF2rF,6BACAC,EACE5rF,EADF4rF,+BAlBD3gI,EAAA4gI,GAqByC1gI,mBAAS,IArBlD,GAqBMqvB,EArBNvvB,EAAA,GAqBqB6gI,EArBrB7gI,EAAA,GAAA+I,EAAA63H,GAsByC1gI,mBAAS+/H,GAtBlD,GAsBMluG,EAtBNhpB,EAAA,GAsBqB+3H,EAtBrB/3H,EAAA,GAwBKg4H,EAAyBxxG,EAAcz3B,OAAS,EAMtD,SAASkpI,IACPH,EAAiB,IAcnB,SAAS5I,EAAaC,GACpB,GAAI7jI,EAAI,CACN,IAAMyjI,EAAamJ,aAAmB,CACpCd,kBACAE,aACAC,eACAF,mBACAzsH,QACAuyD,cAGF85D,EAAkBkB,GAAA,GAAKhJ,EAAN,CAAkBJ,aAAYzjI,KAAI8jC,OAAM9Z,QAASI,IAAY+4G,GAA9E,MACS,SAAC3iI,GAEN,MADAw+E,GAAcgkD,yBACRxiI,KA4Bd,OA9CAkM,oBAAU,WACRs+H,GAAwB2B,KACvB,CAAC3B,IAqBJt+H,oBAAU,YACes/H,GAAe1sH,GAASysH,IAE7BnI,KACjB,CAACoI,EAAY1sH,EAAOysH,EAAkB/rI,IAmBlC6sI,GAAA,GACFh6D,EADL,CAEE/2C,qBACA4wG,yBACAhvG,gBACAxC,gBACAlR,QAASI,EACTm1G,aAxBF,SAA0B9rG,GAAQ,IAE1Bq/C,GAAY0sD,EADO3sD,EAAjB2sD,cACuB/rG,GACzBgsG,EAAcC,YAA2BvzF,EAAc1Y,GAE7DmwG,EAAa,CAAE/wD,KAAMp/C,EAAQq/C,cAC7Bw5D,GAAkCA,EAA+B7M,EAAa3sD,IAmB9E6sD,aAhBF,SAA0B/3F,GAAM,IAAAg4F,EACJ/sD,EAAlBgtD,gBADsB,IAAAD,EACX,GADWA,EAI9BgE,EAAa,CAAEh8F,OAAMirC,KAFSgtD,EAAtBpsG,OAE2Bq/C,UAFL+sD,EAAd/sD,YAGhBu5D,GAAgCA,EAA6BzkG,IAY7DklG,aA9DF,SAA0BC,EAAetT,GACvCgT,EAAiB,SAAAttG,GAAS,OAAA0tG,GAAA,GACrB1tG,KACcs6F,KAAhBsT,OAFuB,2GA8D1BC,aAAcL,EACd1vG,cAxEF,SAA2BpU,GACzB2jH,EAAiB3jH,unBChCrB,SAASqjB,GAATlxC,GAgBG,IAfDgF,EAeChF,EAfDgF,GACA6gI,EAcC7lI,EAdD6lI,GACAx8G,EAaCrpB,EAbDqpB,SACAwuD,EAYC73E,EAZD63E,KACA1oD,EAWCnvB,EAXDmvB,UACA8iH,EAUCjyI,EAVDiyI,aACAtB,EASC3wI,EATD2wI,kBACAE,EAQC7wI,EARD6wI,aACAC,EAOC9wI,EAPD8wI,gBACAprF,EAMC1lD,EAND0lD,gBACAvU,EAKCnxC,EALDmxC,aACAg3F,EAICnoI,EAJDmoI,mBACAyI,EAGC5wI,EAHD4wI,qBACAG,EAEC/wI,EAFD+wI,iBACG1vI,EACF6wI,GAAAlyI,EAAA,+MACO0vI,EAAwC7J,EAAxC6J,cAAeM,EAAyBnK,EAAzBmK,qBADtBjK,EAYG7B,GAAS,CACXl/H,KACA6yE,OACA1oD,YACAwhH,oBACAjrF,kBACAyiF,qBACAh3F,eACAy/F,uBACAZ,uBACAa,eACAC,kBACAC,qBArBA7wG,EAHD6lG,EAGC7lG,cACAY,EAJDilG,EAICjlG,mBACA4wG,EALD3L,EAKC2L,uBACA7M,EANDkB,EAMClB,SACA71G,EAPD+2G,EAOC/2G,QACAu1G,EARDwB,EAQCxB,aACAI,EATDoB,EASCpB,aACAqN,EAVDjM,EAUCiM,aACA/vG,EAXD8jG,EAWC9jG,cA2CF,IAAMkwG,EAAc,CAClBtM,KACAjgI,KAAMqsI,EACNpN,WACAv3G,QAAS0kH,EACTI,WAAY,CACVhoH,WAAWioH,GAAA,GACNhxI,EADK,CAERwkI,KACA8K,uBAGJxhH,UAAUkjH,GAAA,GACLljH,EADI,CAEPC,SAAUD,EAAUC,UAAYJ,IAElCsjH,kBAAmB5sF,EACnBruB,SAAS,EACT6I,iBAiBF,IAAMomG,EAAiBxkI,IACrBnD,KAAO47G,aACPprF,GACKA,EAAU7d,QAAU,GACpB6d,EAAU7d,UAAY6d,EAAUL,OAChCnwB,KAAO67G,aAGd,OACE/4G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACE9M,UAAWwuI,EACXp0G,qBAAsB47B,IACtB76B,UAAU,KACV5uB,QAAS0jC,EACT1M,eAAgB6hG,EAChB1gI,KAAMqsI,EACN/5G,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBz/C,OAAQksG,EACRzjG,mBAAoBA,EACpBzX,SAAUA,EACV6W,cAAeA,EACf+B,cAAeA,EACfzF,mBAAmB,eACnBrF,mBAAiB,EACjB8I,oBAAkB,EAClBsyG,gBAAc,EACdl7G,SAAO,GAEN8Z,EAAatnC,IA5FpB,SAAsB4uB,GACpB,OAAO+5G,aAAiBH,GAAA,GACnB55G,EADkB,CAErBitB,kBACA+sF,eAAe,EACfhc,UAAWka,QA6CXlvI,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGgqI,GACCjwI,EAAAC,EAAAC,cAAC2vB,GAAA,EAAD+gH,GAAA,GACMF,EADN,CAEEO,cAAc,KA7CxB,WACE,IAAK5xG,EAAoB,OAAO,KADN,IAGlBxvB,EAAmD6d,EAAnD7d,QAASwd,EAA0CK,EAA1CL,MAAOG,EAAmCE,EAAnCF,WAHE0jH,EAGiCxjH,EAAvBC,gBAHV,IAAAujH,EAGqB3jH,EAHrB2jH,EAK1B,OACElxI,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACEtL,UAAWwuI,EACXrmH,SAAUA,EACV/X,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVC,WAAYJ,EACZnb,SAAU6wH,IAmCTmC,KA2CT51F,GAAUxqC,aAAe,CACvBg/C,gBAAiB,GACjBvU,aAAcyhG,KACd7B,kBAAkB,EAClBH,qBAAsB,CACpBP,aAAa,IAIjBn/F,GAAUttC,UAAV,GAkCe4rI,UAAiBt+F,6CCnMjB,SAAS2hG,GAAT7yI,GAOZ,IANDixI,EAMCjxI,EANDixI,aACAD,EAKChxI,EALDgxI,WACAF,EAIC9wI,EAJD8wI,gBACAxsH,EAGCtkB,EAHDskB,MACAuyD,EAEC72E,EAFD62E,UACAk6D,EACC/wI,EADD+wI,iBAIA,KAFuBC,GAAe1sH,GAASysH,GAE1B,OAAO,KAH3B,IAKOhsI,EAAY6sI,aAAmB,CACrCd,kBACAE,aACAC,eACAF,mBACAzsH,QACAuyD,cANM9xE,QAQF+tI,EAAcC,aAAe,CACjCrlH,QAAS9U,KAAKC,UAAU9T,KAG1B,OACEtD,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEE,KAAI,qCAAAkC,OAAuC0pI,GAC3CvyI,MAAM,UACNU,UAAWtC,KAAOq0I,YAHpB,4mBAUJH,GAAWjvI,UAAX,OChCQqvI,GAA6BltH,IAA7BktH,yBAER,SAAS5zG,GAATr/B,GAiBG,IAhBDkzI,EAgBClzI,EAhBDkzI,UACA1vI,EAeCxD,EAfDwD,MACAE,EAcC1D,EAdD0D,YACAkwB,EAaC5zB,EAbD4zB,aACAimB,EAYC75C,EAZD65C,WACAC,EAWC95C,EAXD85C,iBACAmvF,EAUCjpI,EAVDipI,gBACAC,EASClpI,EATDkpI,mBACAiK,EAQCnzI,EARDmzI,kBACAxC,EAOC3wI,EAPD2wI,kBACAE,EAMC7wI,EAND6wI,aACAC,EAKC9wI,EALD8wI,gBACAsC,EAICpzI,EAJDozI,oBACAC,EAGCrzI,EAHDqzI,0BACAtC,EAEC/wI,EAFD+wI,iBACG1vI,EACFiyI,GAAAtzI,EAAA,yQACKuzI,GAAkBN,GAClBO,EAAmBD,EAAiBH,EAAsBv5F,EAC1D45F,EAAyBF,EAAiBF,EAA4Bv5F,EAChEk3F,EAAqDH,EAAzD7rI,GAAsBisI,EAAmCJ,EAAzCr9H,KAAoB8Q,EAAqBusH,EAArBvsH,MAAOuyD,EAAcg6D,EAAdh6D,UAE3CxtD,EAAauN,cAAbvN,SAGNopF,EAIE0gC,EAJF1gC,YACArsD,EAGE+sF,EAHF/sF,aACmBstF,EAEjBP,EAFFA,kBACAQ,EACER,EADFQ,aAIA1B,EAKEyB,EALFzB,aACAp6D,EAIE67D,EAJF77D,KACA1oD,EAGEukH,EAHFvkH,UACAykH,EAEEF,EAFFE,iBACAziG,EACEuiG,EADFviG,aAGI0iG,EAAQC,GAAA,GAAQrhC,EAAYozB,GAApB,GAA2B6N,EAAsB7N,GAAjD,GAAwDz/E,EAAay/E,IAC7EhoF,GAAeg2F,EAASnE,eAAiB5/H,IAAQmiI,GAEjDzI,EAAOsK,GAAA,GACRzyI,EADQ,GAER8xI,EAFQ,GAGR/sF,EAHQ,CAIXyqF,eACAC,kBACA8C,mBACA3B,eACA0B,eACAjuF,gBAAiBwjF,EAAmBD,GACpC93F,eACA9nB,WACAwuD,OACA1oD,YACA02G,GAAIgO,EACJlD,oBACAI,qBAGI/2F,EAAai5F,IACjBxxI,EAAAC,EAAAC,cAACkxI,GAAD,CACE7B,WAAYA,EACZF,gBAAiBA,EACjBG,aAAcA,EACdF,iBAAkBA,EAClBzsH,MAAOA,EACPuyD,UAAWA,IAIf,OACEp1E,EAAAC,EAAAC,cAAC4tI,GAAmBx4G,SAApB,CAA6B1zB,MAAOmmI,GAClC/nI,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACEp0C,GAAIkuI,EACJ1vI,MAAOA,EACPE,YAAaA,EACbkwB,aAAcA,EACdimB,WAAY25F,EACZ15F,iBAAkB25F,EAClB75F,gBAAiB25F,GAAkB11F,EACnC58C,UAAWtC,KAAOszI,aAClBnqI,eAAgBnJ,KAAO6E,MACvBw2C,WAAYA,GAEZv4C,EAAAC,EAAAC,cAACoyI,GAAD,QAMR10G,GAAU34B,aAAe,CACvBwiI,mBCrGK,SAA4BM,GACjC,MAAO,CACLwK,wBAAyBA,aAAwBxK,GACjDyK,wBAAyBA,aAAwBzK,GACjD0K,uBAAwBA,aAAuB1K,GAC/C6H,6BAA8BA,aAA6B7H,GAC3D2K,8BAA+BA,aAA8B3K,KDgG/DsH,gBAAiB,iBAGnBzxG,GAAUz7B,UAAV,GA+Bey7B,+OEtIf,IAAM0nC,GAAOqtE,GAAA,GACRC,GADQ,GAERC,GAFQ,GAGRC,GAHQ,GAIRC,GAJQ,CAKX7D,uBACA8D,oBAGazQ,eAAa,cAAej9D,GAA5Bi9D,CAAqC3kG,4BCfxBt0B,IAAU6tD,MAAM,CAC1C5zD,GAAI+F,IAAU8E,OAAOwmB,WACrB7yB,MAAOuH,IAAU8E,OAAOwmB,WACxBq+G,YAAa3pI,IAAU8E,OACvB8kI,iBAAkB5pI,IAAUgwC,KAC5BguE,OAAQh+G,IAAUiuD,QAAQT,KAAYliC,WACtCu+G,gBAAiB7pI,IAAU8E,6BCE7B,SAASglI,GAAT70I,GAAqE,IAAlD2gG,EAAkD3gG,EAAlD2gG,SAAU1/F,EAAwCjB,EAAxCiB,UAAWqlI,EAA6BtmI,EAA7BsmI,eAAgBplI,EAAalB,EAAbkB,UACtD,SAAS4zI,EAAY5mI,GACnB,OACEzM,EAAAC,EAAAC,cAACozI,GAAA,EAAD,CACE7mI,MAAOA,EACP/E,IAAK+E,EAAMlJ,GACX/D,UAAWqlI,EACXplI,UAAWA,IAuBjB,OACEO,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM5M,UAAWa,IAAWnD,KAAOgF,KAAM1C,IACtC4I,KAAI82F,EApBT,SAAAp7F,GAA8F,IAArEP,EAAqEO,EAArEP,GAAIxB,EAAiE+B,EAAjE/B,MAAOkxI,EAA0DnvI,EAA1DmvI,YAAaC,EAA6CpvI,EAA7CovI,iBAAkB5rB,EAA2BxjH,EAA3BwjH,OAAQ6rB,EAAmBrvI,EAAnBqvI,gBACzE,OACEnzI,EAAAC,EAAAC,cAAA,WAASwH,IAAKnE,EAAI/D,UAAWtC,KAAOk5C,SAClCp2C,EAAAC,EAAAC,cAACqzI,GAAA,EAAD,CACExxI,MAAOA,EACPgnF,OAAQkqD,EACRhxI,YAAaixI,EACbjqD,wBAAyB/rF,KAAO2N,eAChCxE,eAAgBnJ,KAAO6E,MACvBuzD,qBAAsBp4D,KAAO+E,cAE/BjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOoqH,OAAQ6rB,IACvC/qI,KAAIk/G,EAAQ+rB,QAavBD,GAAQjxI,UAAR,GAOeixI,+BC5Cf,SAAS5pB,GAATjrH,GAA8D,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBC,GACtCvwE,GAAU,IAAxB/G,YADoD,IAAAs3E,EAC7C,GAD6CA,EAGtDv0C,EAAW,CAAC,CAChB37F,GAAI,eACJxB,MAAO,gBACPulH,OAAQ,CAAC,CACP/jH,GAAI,QACJ8zD,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,OACJ6kD,UAAWutB,KACX8oD,aAAc53H,MAEhByF,cACAnI,KAAMg4D,MAIV,OAAK18D,GAAa+zI,GAAmBnlI,IAAQ8tD,GACpC,KAIPn8D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjB+pH,GAAavkH,aAAe,CAC1BuuI,iBAAiB,GAGnBhqB,GAAarnH,UAAb,GAMe+iE,oBAAYskD,eC3C3B,SAASb,GAATpqH,GAAkE,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBG,GAC9BzwE,GAAU,IAApC1G,wBADwD,IAAAm3E,EACrC,GADqCA,EAG1Dz0C,EAAW,CAAC,CAChB37F,GAAI,mBACJxB,MAAO,oBACPulH,OAAQ,CAAC,CACP/jH,GAAI,gBACJ1B,MAAO,eACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,eACJG,WAAYklH,OAEdzkH,KAAMq4D,MAIV,OAAK/8D,GAAa+zI,GAAmBnlI,IAAQmuD,GACpC,KAIPx8D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjBkpH,GAAiB1jH,aAAe,CAC9BuuI,iBAAiB,GAGnB7qB,GAAiBxmH,UAAjB,GAMe+iE,oBAAYyjD,oCCxC3B,SAASd,GAATtpH,GAAmE,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmB1vI,EACVo/D,GAAU,GADA0wE,EAAA9vI,EACzD24D,yBADyD,IAAAm3E,EACrC,GADqCA,EAAAC,EAAA/vI,EACjC44D,qBADiC,IAAAm3E,EACjB,GADiBA,EAE3D1vI,EAAO2jH,KAAOrrD,EAAmBC,GAEjCwiC,EAAW,CAAC,CAChB37F,GAAI,oBACJxB,MAAO,qBACPulH,OAAQ,CAAC,CACP/jH,GAAI,gBACJ1B,MAAO,eACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,eACJG,WAAYskH,OAEd7jH,WAIJ,OAAK1E,GAAa+zI,GAAmBpvI,IAAQD,GACpC,KAIPnE,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjBooH,GAAkB5iH,aAAe,CAC/BuuI,iBAAiB,GAGnB3rB,GAAkB1lH,UAAlB,GAMe+iE,oBAAY2iD,eCzC3B,SAASH,GAATnpH,GAA2D,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBM,GAC9B5wE,GAAU,IAA7BvG,iBADiD,IAAAm3E,EACrC,GADqCA,EAGnD50C,EAAW,CAAC,CAChB37F,GAAI,YACJxB,MAAO,YACPulH,OAAQ,CAAC,CACP/jH,GAAI,iBACJ1B,MAAO,YACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,gBACJG,WAAYkkH,OAEdzjH,KAAMw4D,MAIV,OAAKl9D,GAAa+zI,GAAmBnlI,IAAQsuD,GACpC,KAIP38D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjBioH,GAAUziH,aAAe,CACvBuuI,iBAAiB,GAGnB9rB,GAAUvlH,UAAV,GAMe+iE,oBAAYwiD,0BCxC3B,SAASqsB,GAATx1I,GAA4B,IAAV86D,EAAU96D,EAAV86D,OAAU3wC,EACWpJ,eAA7BzK,EADkB6T,EAClB7T,YAAaD,EADK8T,EACL9T,YAErB,OAAIvG,IAAQgrD,GAAkB,KAG5Br5D,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEE,QAASqW,EACTrV,UAAWtC,KAAO82I,YAClBl1I,MAAM,QACNE,KAAK,QAELgB,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAGfQ,EAAAC,EAAAC,cAACkU,GAAA,EAAD,CACErS,MAAM,SACNyR,OAAQoB,EACRiB,OAAQhB,EACRO,QAASikD,EACT1jD,gBAAgB,QAChBN,YAAU,KAMlB0+H,GAAO5xI,UAAP,GAIe4xI,0YC/Bf,SAAS3rB,GAAT7pH,GAAiE,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBS,GAC9B/wE,GAAU,IAAnCtG,uBADuD,IAAAq3E,EACrC,GADqCA,EAUzD/0C,EAAW,CAAC,CAChB37F,GAAI,kBACJxB,MAAO,mBACPulH,OAAQ,CAAC,CACP/jH,GAAI,kBACJ1B,MAAO,kBACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,iBACJG,WAhB2B,SAAAM,GAAA,IAAGq1D,EAAHr1D,EAAGq1D,OAAWz5D,EAAds0I,GAAAlwI,EAAA,mBAC/BhE,EAAAC,EAAAC,cAAA,YACGooH,aAAiB1oH,GAClBI,EAAAC,EAAAC,cAACi0I,GAAD,CAAQ96E,OAAQA,QAehBl1D,KAAMy4D,MAIV,OAAKn9D,GAAa+zI,GAAmBnlI,IAAQuuD,GACpC,KAIP58D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjB2oH,GAAgBnjH,aAAe,CAC7BuuI,iBAAiB,GAGnBprB,GAAgBjmH,UAAhB,GAMe+iE,oBAAYkjD,eChD3B,SAASH,GAAT1pH,GAA4D,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBY,GAC9BlxE,GAAU,IAA9BrG,kBADkD,IAAAu3E,EACrC,GADqCA,EAGpDl1C,EAAW,CAAC,CAChB37F,GAAI,aACJxB,MAAO,aACPulH,OAAQ,CAAC,CACP/jH,GAAI,gBACJ1B,MAAO,eACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,eACJG,WAAYykH,OAEdhkH,KAAM04D,MAIV,OAAKp9D,GAAa+zI,GAAmBnlI,IAAQwuD,GACpC,KAIP78D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjBwoH,GAAWhjH,aAAe,CACxBuuI,iBAAiB,GAGnBvrB,GAAW9lH,UAAX,GAMe+iE,oBAAY+iD,eCxC3B,SAASoB,GAAT9qH,GAA8D,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBa,GAC9BnxE,GAAU,IAAhCpG,oBADoD,IAAAu3E,EACrC,GADqCA,EAGtDn1C,EAAW,CAAC,CAChB37F,GAAI,sBACJxB,MAAO,eACPulH,OAAQ,CAAC,CACP/jH,GAAI,oBACJ1B,MAAO,cACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,cACJG,WAAY6lH,OAEdplH,KAAM24D,MAIV,OAAKr9D,GAAa+zI,GAAmBnlI,IAAQyuD,GACpC,KAIP98D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjB4pH,GAAapkH,aAAe,CAC1BuuI,iBAAiB,GAGnBnqB,GAAalnH,UAAb,GAMe+iE,oBAAYmkD,eCxC3B,SAAS9B,GAAThpH,GAAwD,IAAtC2kE,EAAsC3kE,EAAtC2kE,OAAQzjE,EAA8BlB,EAA9BkB,UAAW+zI,EAAmBj1I,EAAnBi1I,gBAAmBc,GAC9BpxE,GAAU,IAA1BnG,cAD8C,IAAAu3E,EACrC,GADqCA,EAGhDp1C,EAAW,CAAC,CAChB37F,GAAI,gBACJxB,MAAO,SACPulH,OAAQ,CAAC,CACP/jH,GAAI,cACJ1B,MAAO,QACPw1D,gBAAiB,EACjBrrD,QAAS,CAAC,CACRzI,GAAI,QACJG,WAAY+jH,OAEdtjH,KAAM44D,MAIV,OAAKt9D,GAAa+zI,GAAmBnlI,IAAQ0uD,GACpC,KAIP/8D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjB8nH,GAAOtiH,aAAe,CACpBuuI,iBAAiB,GAGnBjsB,GAAOplH,UAAP,GAMe+iE,oBAAYqiD,ICzC3B,SAASgB,GAAThqH,GAAgD,IAArB2kE,EAAqB3kE,EAArB2kE,OAAQzjE,EAAalB,EAAbkB,UAAaqE,EAU1Co/D,GAAU,GARZpH,EAF4Ch4D,EAE5Cg4D,cACAG,EAH4Cn4D,EAG5Cm4D,WACArxB,EAJ4C9mC,EAI5C8mC,OACAoxB,EAL4Cl4D,EAK5Ck4D,SACAJ,EAN4C93D,EAM5C83D,UACAG,EAP4Cj4D,EAO5Ci4D,UACAF,EAR4C/3D,EAQ5C+3D,OAR4C2sD,EAAA1kH,EAS5Co4D,iBAT4C,IAAAssD,EAShC,GATgCA,EAarCC,EAELvsD,EAFFtE,MACM8wD,EACJxsD,EADF7oC,KAGIsxF,EAAab,KAAQ,CACzBhoD,EACAG,EACArxB,EACAoxB,EACAJ,EACAG,EACAF,EACA4sD,EACAC,IAGF,GAAItkH,IAAQugH,GACV,OAAO,KAGT,IAAMzlB,EAAW,CAAC,CAChB37F,GAAI,kBACJxB,MAAO,mBACPulH,OAAQ,CACN,CACE/jH,GAAI,2BACJY,KAAM,CACJ,CACEZ,GAAI,aACJ1B,MAAO,aACPG,QAASymH,GAEX,CACEllH,GAAI,YACJ1B,MAAO,YACPG,QAAS0mH,GAEX,CACEnlH,GAAI,gBACJ1B,MAAO,iBACPG,QAAS85D,GAEX,CACEv4D,GAAI,aACJ1B,MAAO,SACPG,QAASi6D,GAEX,CACE14D,GAAI,SACJ1B,MAAO,SACPG,QAAS4oC,KAIf,CACErnC,GAAI,4BACJY,KAAM,CACJ,CACEZ,GAAI,WACJ1B,MAAO,WACPG,QAASg6D,GAEX,CACEz4D,GAAI,YACJ1B,MAAO,YACPG,QAAS45D,GAEX,CACEr4D,GAAI,YACJ1B,MAAO,YACPG,QAAS+5D,GAEX,CACEx4D,GAAI,SACJ1B,MAAO,SACPG,QAAS65D,QAOnB,OACE77D,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,IAKjB8oH,GAAgBpmH,UAAhB,GAKe+iE,oBAAYqjD,6EC5G3B,SAASM,GAATtqH,GAA0D,IAAtCyE,EAAsCzE,EAAtCyE,SAAU8lH,EAA4BvqH,EAA5BuqH,cAAerpH,EAAalB,EAAbkB,UAAaqE,EAIpDd,GAAY,GAJwCuxI,EAAAzwI,EAEtDw3D,eAFsD,IAAAi5E,EAE5C,GAF4CA,EAAAC,EAAA1wI,EAGtDm8C,cAHsD,IAAAu0F,EAG7C,GAH6CA,EAMlDC,EAAel/D,aAAgBja,GAC/Bo5E,EAAah/D,aAAcz1B,GAE3Bi/C,EAAW,CAAC,CAChB37F,GAAI,sBACJxB,MAAK,eAAA4F,OAAiBmhH,GACtBoqB,iBAAkBh/D,aAAuBlxE,GACzCskH,OAAQ,CAACmtB,EAAcC,GACvBvB,gBAAiBj2I,KAAOy3I,kBAG1B,OACE30I,EAAAC,EAAAC,cAACwzI,GAAD,CACEx0C,SAAUA,EACVz/F,UAAWA,EACXolI,eAAgB3nI,KAAOuP,QAK7Bo8G,GAAS1mH,UAAT,GAMe0mH,UChCf,SAASM,GAAT5qH,GAAoD,IAA/B2kE,EAA+B3kE,EAA/B2kE,OAAQzjE,EAAuBlB,EAAvBkB,UAAWq7D,EAAYv8D,EAAZu8D,SAC9BtH,GAAc0P,GAAU,IAAxB1P,UACFohF,EAAqBn+F,KAAM+c,EAAW,GAK5C,OAJ0BsH,EACtB0iB,KAAOo3D,EAAoB,CAAE95E,aAC7B85E,GAEqBxsI,IAAI,SAACpF,EAAUkE,GAAX,OAC3BlH,EAAAC,EAAAC,cAAC20I,GAAD,CACE7xI,SAAUA,EACV8lH,cAAe5hH,EAAQ,EACvBzH,UAAWA,EACXiI,IAAG,GAAAC,OAAKqgF,KAAIhlF,EAAU,SAAnB,KAAA2E,OAA+BT,EAAQ,OAKhDiiH,GAAUhnH,UAAV,GAMe+iE,oBAAYikD,+CCxBZ,SAAS2rB,GAATv2I,GAA+B,IAAAuF,EAAAvF,EAAV2kE,QAKpB,GAHZ5G,EAF0Cx4D,EAE1Cw4D,MACAC,EAH0Cz4D,EAG1Cy4D,UAIMpE,GAPoCr0D,EAI1Cs4D,oBAGyC,IAAnCjE,SAEF48E,EAAyB,SAAChzI,EAAOoC,EAAM6wI,EAAS/zF,GACpD,GAAI78C,IAAQD,GAAO,OAAO,KAE1B,IAAM8wI,EAAY9oH,KAAIhoB,EAAM,SAAAy8B,GAAA,OAAAA,EAAIo0G,KAEhC,OACEh1I,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAOg4I,cAClBnzI,GAEH/B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAOi4I,aAClB7oH,aAAY2oH,EAAWh0F,MAMhC,OACEjhD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwvI,YACnBtoI,IAAQ+zD,IAAan4D,EAAAC,EAAAC,cAAA,KAAG6gD,wBAAyB,CAAEF,OAAQsX,KAC5D48E,EAAuB,YAAax4E,EAAW,eAC/Cw4E,EAAuB,cAAez4E,EAAO,OAAQ,OCzB5D,SAASlwD,GAAT7N,GAA4F,IAA5E2kE,EAA4E3kE,EAA5E2kE,OAAQzjE,EAAoElB,EAApEkB,UAAWF,EAAyDhB,EAAzDgB,SAAUiuI,EAA+CjvI,EAA/CivI,YAAaC,EAAkClvI,EAAlCkvI,gBAAiB1B,EAAiBxtI,EAAjBwtI,cAAiBjoI,EAQtFo/D,GAAU,GANZ1wB,EAFwF1uC,EAExF0uC,UACAghB,EAHwF1vD,EAGxF0vD,UACAQ,EAJwFlwD,EAIxFkwD,MACAsI,EALwFx4D,EAKxFw4D,MACAC,EANwFz4D,EAMxFy4D,UANwF64E,EAAAtxI,EAOxFs4D,0BAPwF,IAAAg5E,EAOnE,GAPmEA,EASpF/+H,EAAW4sD,YAAYC,GACrB/K,GAAaiE,GAAsB,IAAnCjE,SAEF2c,EAAe/2B,KAAKyV,IAAc,GAClCvxD,EAAciyE,aAAuBY,GACrC/iE,EAAO8iE,aAAQx+D,EAAUy+D,GAd2Dl0C,EAmBtFk0C,GAAgB,GAFlBzZ,EAjBwFz6B,EAiBxFy6B,aAjBwFg6E,GAAAz0G,EAkBxF06B,SAGqD,IAA/Cz4C,MAAeuyD,GArBmEigE,OAAA,IAAAA,EAqBrD,GArBqDA,GAqBzEtjI,KArByEmvB,EAsB5C8yB,GAAS,GAAzCjiB,EAtB4E7Q,EAsBlF62B,KAAwB/lB,EAtB0D9Q,EAsBhEnvB,KAEpBujI,EAAkBlxI,IAAQ+zD,GAC1Bo9E,EAAmBnxI,IAAQm4D,GAC3Bi5E,EAAepxI,IAAQk4D,GAGvBowE,IAFiB4I,GAAmBC,GAAoBC,IAE5Bx1I,EAAAC,EAAAC,cAAC40I,GAAD,CAAW5xE,OAAQA,IAErD,OACEljE,EAAAC,EAAAC,cAACu1I,GAAD,CACEtjF,iBAAkB1yD,EAClBD,UAAWtC,KAAO6H,UAClB9C,YAAaA,EACbuwC,UAAWA,EACXzgC,KAAMA,EACNggC,WAAYA,EACZC,UAAWA,EACX06F,UAAWA,EACXrxE,aAAcA,EACdx4C,MAAOuyD,EACPo4D,YAAaA,EACbC,gBAAiBA,EACjB1B,cAAeA,GAEdxsI,GDjBPu1I,GAAU3yI,UAAV,GCsBAiK,GAAKjK,UAAL,GASe+iE,oBAAY94D,0BC/D3B,SAASspI,GAATn3I,GAAuC,IAArBkB,EAAqBlB,EAArBkB,UACR+zD,GAD6Bj1D,EAAV2kE,QACK,IAAxB1P,UAER,GAAIpvD,IAAQovD,GAAY,OAAO,KAHM,IAAAxvD,EAKC+5C,KAAKyV,IAAc,GALpBmiF,EAAA3xI,EAK7Bs3D,eAL6B,IAAAq6E,EAKnB,GALmBA,EAAAC,EAAA5xI,EAKfi8C,cALe,IAAA21F,EAKN,GALMA,EAO/BnB,EAAel/D,aAAgBja,GAC/Bo5E,EAAah/D,aAAcz1B,GAEjC,OACEjgD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOoqH,QACrBtnH,EAAAC,EAAAC,cAACozI,GAAA,EAAD,CACE7mI,MAAOgoI,EACPh1I,UAAWA,EACXD,UAAWtC,KAAOuP,QAEpBzM,EAAAC,EAAAC,cAACozI,GAAA,EAAD,CACE7mI,MAAOioI,EACPj1I,UAAWA,EACXD,UAAWtC,KAAOuP,SAM1BipI,GAAOvzI,UAAP,GAKe+iE,oBAAYwwE,uDChC3B,SAASvzC,GAAT5jG,GAA0C,IAAvBqoF,EAAuBroF,EAAvBqoF,cAAeh7E,EAAQrN,EAARqN,KAChC,OACE5L,EAAAC,EAAAC,cAACisG,GAAA,EAAD,CACEvlB,cAAeA,EACfh7E,KAAMA,EACNi7E,WAAYgvD,KACZzoI,mBAAoBlQ,KAAO0kD,SAC3BpiD,UAAWtC,KAAO0O,OAKxBu2F,GAAQhgG,UAAR,GAKe+iE,oBAAYi9B,ICpB3B,SAAS2zC,GAATv3I,GAAoD,IAAhCivI,EAAgCjvI,EAAhCivI,YAAaC,EAAmBlvI,EAAnBkvI,gBAC/B,OACEztI,EAAAC,EAAAC,cAAC0N,GAAD,CACE4/H,YAAaA,EACbC,gBAAiBA,GAEjBztI,EAAAC,EAAAC,cAACujG,GAAD,MACAzjG,EAAAC,EAAAC,cAAC61I,GAAD,OAKND,GAAS3zI,UAAT,GAKe2zI,07BCnBR,SAASE,GAAcl7E,EAAUv3D,GAAI,IAAA0yI,EACpCC,GAAQC,GAAAF,EAAA,GACXt7E,KAAe,YADJw7E,GAAAF,EAEXv7E,KAAa,UAFFy7E,GAAAF,EAGXr7E,KAAa,UAHFq7E,GAMd,SAAAtuI,OAAUuuI,EAASp7E,GAAnB,gBAAAnzD,OAA2CpE,GAGtC,IAAM2wE,GAAyB,SAAClxE,GAAa,IAAAzE,EACKyE,GAAY,GAA3DjB,EAD0CxD,EAC1CwD,MAAO2sB,EADmCnwB,EACnCmwB,KAAMslD,EAD6Bz1E,EAC7By1E,cAD6BlwE,EAAAvF,EACd41E,gBACa,GAAzC/a,EAF0Ct1D,EAE1Cs1D,OAAQgb,EAFkCtwE,EAElCswE,WACVgiE,EAAyBtS,KAAK33G,KAAIwF,KAAOqiD,EAAe,SAAU,SAExE,OAAO1nD,aAAYw3G,KAAA,CAAM/hI,EAAO2sB,GAAb/mB,OAAA6W,GAAsB43H,GAAtB,CAA8ChiE,EAAYhb,6BCR/E,SAASi9E,GAAT93I,GAA8C,IAApB2kE,EAAoB3kE,EAApB2kE,OAAQpI,EAAYv8D,EAAZu8D,SAC1Bw7E,EAAiBC,KAAOrzE,EAAO1P,UAAW,CAAEsH,aAC5C07E,EAAsBF,EAAetvI,OAE3C,GAAI5C,IAAQkyI,GACV,OAAO,KAGT,IAmBMG,EAAiBtqH,KAAImqH,EAbA,SAACtzI,EAAUkE,GAAX,OACzBlH,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAK1E,EAASjB,OAPF,SAACmF,GACvB,OAAc,IAAVA,EAAoB,KACpBA,IAAUsvI,EAAsB,EAAUA,EAAsB,EAAI,SAAW,QAC5E,KAKJE,CAAgBxvI,GACjBlH,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEE,KAAMuwI,GAAchzI,EAAS83D,SAAUoI,EAAO5sD,UAC9CxX,MAAM,YACNU,UAAWtC,KAAOy5I,cAEjBziE,GAAuBlxE,OAOxB4zI,EAAqBryD,aACzB,mBADkC,GAAA58E,OAE/B6uI,EAF+B,oBAGlCA,GAGF,OACEx2I,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM5M,UAAWtC,KAAOgF,MAAxB,sBACsB00I,EADtB,KAC4CH,GAKhDJ,GAAel0I,UAAf,GAKe+iE,oBAAYmxE,IC3D3Bv1I,EAAAC,EAAAC,EAAA,sBAAA61I,EAAA,IAAA/1I,EAAAC,EAAAC,EAAA,sBAAA81I,IAAAh2I,EAAAC,EAAAC,EAAA,sBAAA+1I,EAAA,IAAAj2I,EAAAC,EAAAC,EAAA,sBAAAg2I,IAAAl2I,EAAAC,EAAAC,EAAA,sBAAAi2I,KAAAn2I,EAAAC,EAAAC,EAAA,sBAAAk2I,KAAAp2I,EAAAC,EAAAC,EAAA,sBAAAm2I,KAAAr2I,EAAAC,EAAAC,EAAA,sBAAAy0I,KAAA30I,EAAAC,EAAAC,EAAA,sBAAAo2I,KAAAt2I,EAAAC,EAAAC,EAAA,sBAAAq2I,KAAAv2I,EAAAC,EAAAC,EAAA,sBAAAs2I,KAAAx2I,EAAAC,EAAAC,EAAA,sBAAAu2I,KAAAz2I,EAAAC,EAAAC,EAAA,sBAAAw2I,KAAA12I,EAAAC,EAAAC,EAAA,sBAAAy2I,KAAA32I,EAAAC,EAAAC,EAAA,sBAAA02I,KAAA52I,EAAAC,EAAAC,EAAA,sBAAA22I,KAAA72I,EAAAC,EAAAC,EAAA,sBAAA42I,KAAA92I,EAAAC,EAAAC,EAAA,sBAAA62I,KAAA/2I,EAAAC,EAAAC,EAAA,sBAAA82I,KAAAh3I,EAAAC,EAAAC,EAAA,sBAAA+2I,KAAAj3I,EAAAC,EAAAC,EAAA,sBAAAg3I,ssBCSA,SAAS71C,EAAT5jG,GAUGA,EATDqI,cASC,IARD6O,EAQClX,EARDkX,gBACAolG,EAOCt8G,EAPDs8G,iBACAo9B,EAMC15I,EAND05I,uBACAn9B,EAKCv8G,EALDu8G,wBACAx3G,EAIC/E,EAJD+E,QACAzB,EAGCtD,EAHDsD,MACA7D,EAECO,EAFDP,MACG4B,EACFC,EAAAtB,EAAA,qIACK64B,EACJxX,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOk6B,eAAgB0jF,IAC/Cx3G,EAAQ8E,IAAI,SAAAtE,GAAA,IAAGP,EAAHO,EAAGP,GAAI6kD,EAAPtkD,EAAOskD,UAAP,OAAuBtrB,uBAAasrB,EAAW,CAAE1gD,IAAKnE,OAIjE20I,EAAmB73I,IACvBnD,IAAOyB,OACP8W,EACAzX,GAASd,IAAOc,OAGlB,OACE4hB,EAAA3f,EAAAC,cAACi4I,EAAA,EAAD,CACEnmH,OAAK,EACLlzB,MAAM,QACNojE,QAAQ,QACR75D,UAAWwyG,EACX74G,QAASo1B,EACTsmB,SAAUC,SAASvlC,KACnBuK,OAAQ,GAER/C,EAAA3f,EAAAC,cAAA,QAAMV,UAAWy4I,GACfr4H,EAAA3f,EAAAC,cAACs+D,EAAA,EAADr+D,EAAA,GAAYP,EAAZ,CAAuBJ,UAAW04I,IAC/Br2I,KAOXsgG,EAAQl9F,aAAe,CACrBpD,MACE+d,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAO2E,OAAxB,WACA+d,EAAA3f,EAAAC,cAAA,KAAGV,UAAWtC,IAAOijI,YAGzBtlB,iBAAkB,aAClBv3G,QAAS,GACTtF,OAAO,GAGTmkG,EAAQhgG,UAAR,GAmBeggG,oZCnEf,SAASi2C,EAAT75I,GAcG,IAbDkN,EAaClN,EAbDkN,KACAmc,EAYCrpB,EAZDqpB,SACAw3B,EAWC7gD,EAXD6gD,SACA1nB,EAUCn5B,EAVDm5B,QACA2gH,EASC95I,EATD85I,WACA7mD,EAQCjzF,EARDizF,WACA8mD,EAOC/5I,EAPD+5I,aACAp6D,EAMC3/E,EAND2/E,eACAD,EAKC1/E,EALD0/E,oBACAs6D,EAICh6I,EAJDg6I,uBACAC,EAGCj6I,EAHDi6I,uBACAC,EAECl6I,EAFDk6I,mBACAl6D,EACChgF,EADDggF,6BACCz6E,EAgBG2H,GAAQ,GAdVlI,EAFDO,EAECP,GACA0T,EAHDnT,EAGCmT,IACAmtC,EAJDtgD,EAICsgD,QACAsiB,EALD5iE,EAKC4iE,aACAgyE,EAND50I,EAMC40I,aACA32I,EAPD+B,EAOC/B,MACAm3E,EARDp1E,EAQCo1E,SARDy/D,EAAA70I,EASC8H,YATD,IAAA+sI,EASQ,GATRA,EAUe5mI,EAVfjO,EAUEu0I,GACDr7D,EAXDl5E,EAWCk5E,UACAovB,EAZDtoG,EAYCsoG,UACAvuB,EAbD/5E,EAaC+5E,YACAS,EAdDx6E,EAcCw6E,kBACAa,EAfDr7E,EAeCq7E,mBAGIlZ,EAAa2mC,YAAc5vB,GAG3Be,EAAmB,CAAEzX,mBAFAsyE,YAAsB57D,GAEFmC,sBAEzChB,EAAYh+E,EAAA,GACbs4I,EADa,CAEhB5rC,QAAStpG,EACTA,OAGF,SAASs1I,EAAT70I,GAIG,IAHDouD,EAGCpuD,EAHDouD,SACmB0mF,EAElB90I,EAFDs6E,kBACWy6D,EACV/0I,EADDg5E,UAMA,OAAOkB,GAAkBA,EAJZL,EACT,CAAEzrB,WAAUksB,kBAAmBw6D,EAAsB97D,UAAW+7D,GAChE,CAAE3mF,WAAU4qB,UAAW+7D,IAK7B,SAASC,EAAmB5mF,GAC1B,OAAO8rB,GAAkBA,EAAe,CACtC9rB,WACA80B,SAAU,CAACpK,iBAIf,IAAMm8D,EAAgB,WACpB,OAAK11I,EAKHqc,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACGmmG,GACCxsF,EAAA3f,EAAAC,cAACgtG,EAAA,EAAD,CACErvB,YAAaA,EACbE,iBAAkBA,EAClBE,oBAAqBA,EACrBC,eAAgB26D,EAChBjxH,SAAUA,EACVq+C,WAAYA,IAAe53D,IAAQiwE,GACnCR,kBAAmB06D,EACnBpmF,SAAU7uD,EACV8uD,WAAYqmF,GAAgBhyE,EAC5BwS,SAAUA,EACVn+B,UAAWh5C,GAASgQ,EACpBvS,UAAWa,IAAWnD,IAAOyB,OAAQzB,IAAOwtH,iBAC5CtsC,kBAAmBm6D,EACnBjgG,qBAAsBp7C,IAAOstH,kBAC7BlsC,kBAAmBA,EACnBH,aAAcA,EACdnB,UAAWA,EACXuB,6BAA8BA,EAC9BK,mBAAiB,IAIrBh/D,EAAA3f,EAAAC,cAACg5I,EAAA,EAAD,CACEl6I,KAAK,QACLF,MAAM,YACN+7G,iBAAiB,aACjBzoD,SAAU7uD,EACV8uD,WAAYqU,EACZwS,SAAUA,EACV0hC,SAAU74G,GAASgQ,EACnBqrG,QAASk7B,GAAY,GAAA3wI,OAAO2wI,GAAP3wI,OAAsBpE,IAAQ0T,GAAOmtC,EAC1D5kD,UAAWa,IAAWnD,IAAOyB,OAAQzB,IAAOwtH,iBAAkBtrE,GAAYliD,IAAOutH,WACjFt0G,UAAW6iI,IAGbp5H,EAAA3f,EAAAC,cAACi5I,EAAA,EAAD,CACE1lD,UAAQ,EACRz0F,KAAK,QACLF,MAAM,YACN8M,KAAMA,EACNwmD,SAAU7uD,EACV8uD,WAAYqU,EACZwS,SAAUA,EACVzjE,gBAAiBpV,IAAWnD,IAAOyB,QAASygD,GAAYliD,IAAOutH,WAC/Dj5B,WAAYA,EACZtT,eAAgBA,KApDb,MA0DX,OAAK9+B,EAKHx/B,EAAA3f,EAAAC,cAACk5I,EAAA,EAAD,CAAQ1xI,IAAKgwB,EAASA,QAASA,GAAUuhH,GAJlCA,IAQXb,EAAYnzI,aAAe,CACzBm6C,UAAU,EACVm5F,wBAAwB,EACxB7gH,QAAS,UACT+gH,mBAAoB,IAGtBL,EAAYj2I,UAAZ,GAmBeovH,mBAAK6mB,iCC5KpB,IAAAz4H,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAA05H,EAAAv4I,EAAA,IAAAw4I,GAAAx4I,EAAA,GAAAA,EAAA,IAAAy4I,EAAAz4I,EAAAsI,EAAAkwI,GAAAE,EAAA14I,EAAA,IAAA24I,EAAA34I,EAAA,KAAA44I,EAAA54I,EAAA,IAAA64I,EAAA74I,EAAA,KAAA84I,EAAA94I,EAAA,KAAA+4I,EAAA/4I,EAAA,KAAAg5I,EAAAh5I,EAAAsI,EAAAywI,GAaA,SAASE,EAATx7I,GAeG,IAdDg4E,EAcCh4E,EAdDg4E,SACAvxD,EAaCzmB,EAbDymB,UACAg1H,EAYCz7I,EAZDy7I,mBACAjoI,EAWCxT,EAXDwT,KACAkoI,EAUC17I,EAVD07I,eACA16I,EASChB,EATDgB,SACAC,EAQCjB,EARDiB,UACA43B,EAOC74B,EAPD64B,eACAS,EAMCt5B,EANDs5B,cACAnC,EAKCn3B,EALDm3B,kBACAlpB,EAICjO,EAJDiO,iBACAg0D,EAGCjiE,EAHDiiE,uBACA05E,EAEC37I,EAFD27I,kBACA32I,EACChF,EADDgF,GAEM42I,EAAsB95I,IAAWnD,IAAOwP,UAAWlN,EAAW+2E,GAAYr5E,IAAOq5E,UAGvF,SAAS6jE,IACP,OAAK1kH,EAKH9V,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOyP,SAAUutI,IAC1Ct6H,EAAA3f,EAAAC,cAACs5I,EAAA,EAAD,CACEznI,KAAMA,EACNiT,UAAWA,EACX3S,SAAU4nI,EACVn6I,WAAYk6I,KATT,KAeX,SAASK,IACP,OAAKjjH,EAKHxX,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOooE,SACrB1lD,EAAA3f,EAAAC,cAACm5I,EAAA,EAAD,CACEr3I,QAASo1B,EACTt4B,MAAM,QACNojE,QAAQ,QACR75D,UAAU,aACVC,aAAW,EACX9I,UAAWtC,IAAOs5E,KAClB7zD,OAAQ23H,0BAER16H,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOqoE,SACtB3lD,EAAA3f,EAAAC,cAACy5I,EAAA,EAAD,CACE76I,MAAM,OACNkE,SAAS,OACTxD,UAAWtC,IAAOu5E,eAClBv3E,cAAemB,IAAW,gBAAiBnD,IAAOsD,MAClDkzD,kBAAkB,MAClBC,gBAAgB,OArBjB,KA6BX,GAlDqBx+B,cAAbvN,SAkDM,CACZ,IAAM2yH,EAAY7kH,GAAqB0B,GAAkBS,EAEzD,OACEjY,EAAA3f,EAAAC,cAAA,OAAKV,UAAW26I,EAAqB52I,GAAIA,GACtCg3I,GACC36H,EAAA3f,EAAAC,cAACu5I,EAAA,EAAD,CAAMj6I,UAAWtC,IAAOwN,QACrB0vI,IAEDx6H,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO26B,cAAe2oC,IAC9C3oC,GAGFwiH,KAILz6H,EAAA3f,EAAAC,cAACu5I,EAAA,EAAD,CAAMj6I,UAAWa,IAAWnD,IAAO8E,QAASwK,IACzCjN,IAMT,OACEqgB,EAAA3f,EAAAC,cAAA,OAAKV,UAAW26I,EAAqB52I,GAAIA,GACtC62I,IAEDx6H,EAAA3f,EAAAC,cAACu5I,EAAA,EAAD,CAAM36I,MAAM,OAAOU,UAAWa,IAAWnD,IAAO8E,QAASwK,IACtDjN,GAGF86I,KAKPN,EAAU90I,aAAe,CACvB+f,WAAW,EACX0Q,mBAAmB,GAGrBqkH,EAAU53I,UAAV,GAwBe43I,qyBChIf,SAAS3nH,EAAT7zB,GAmBG,IAlBDqpB,EAkBCrpB,EAlBDqpB,SACA7lB,EAiBCxD,EAjBDwD,MACAkQ,EAgBC1T,EAhBD0T,YACAkgB,EAeC5zB,EAfD4zB,aACAqoH,EAcCj8I,EAdDi8I,oBACAh7I,EAaCjB,EAbDiB,UACA6yB,EAYC9zB,EAZD8zB,gBACAuC,EAWCr2B,EAXDq2B,WACA/L,EAUCtqB,EAVDsqB,eACAk+B,EASCxoD,EATDwoD,aACAv+B,EAQCjqB,EARDiqB,gBACAiyH,EAOCl8I,EAPDk8I,SACApoI,EAMC9T,EAND8T,SACA/O,EAKC/E,EALD+E,QACAgR,EAIC/V,EAJD+V,gBACAgzC,EAGC/oD,EAHD+oD,eACAx0C,EAECvU,EAFDuU,aACGlT,EACFC,EAAAtB,EAAA,wPAAAmqB,EACoCpJ,cAA7B1K,EADP8T,EACO9T,YAAaC,EADpB6T,EACoB7T,YACN6lI,EAAgClyH,EAAvCzmB,MAAwBjC,EAAe0oB,EAAf1oB,WAC1B6oB,EAAUxoB,EAAA,GAAQqoB,EAAR,CAAyB5T,cAAaC,gBAwDtD,OACE+K,EAAA3f,EAAAC,cAAA,OAAKV,UAAWA,GACdogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOwN,OAAQ4J,IACvCvS,GACC6d,EAAA3f,EAAAC,cAACy6I,EAAA,EAAD,CAAOn7I,UAAWa,IAAWnD,IAAO2E,MAAOylD,IACxCvlD,EACD6d,EAAA3f,EAAAC,cAAC06I,EAAA,EAAD,CAAUnzF,KAAM7yB,IACfzC,GAAgBvS,EAAA3f,EAAAC,cAAC26I,EAAA,EAAD,CAAS74I,QAAS4d,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBAAiBjF,MAI9ElgB,GACC2N,EAAA3f,EAAAC,cAAC46I,EAAA,EAAD,CAAsBt7I,UAAWtC,IAAO+U,aAAcA,IArCvD5D,IAAQgkB,GAKXzS,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO69I,eAjCrBN,EAEA76H,EAAA3f,EAAAC,cAAC86I,EAAA,EAAD76I,EAAA,GACMP,EADN,CAEEqS,YAAY,GACZoL,YAAave,YAAM,CAAE+pB,iBAAgBjB,WAAUvU,SAAUhF,IAAQyE,KACjET,SAAUA,EACV/O,QAASA,EACTwP,aAAcA,KAMlB8M,EAAA3f,EAAAC,cAAC+6I,EAAA,EAAD96I,EAAA,GACMP,EADN,CAEEyS,SAAUA,EACVJ,YAAauoI,EACb3xH,eAAgBA,EAChBk+B,aAAcA,EACdn/B,SAAUA,EACV9U,aAAcA,EACd4hB,qBAAmB,KAclB7L,GACCjJ,EAAA3f,EAAAC,cAACg7I,EAAA,EAAD,CACEp8I,MAAM,WACNE,KAAK,OACLC,WAAY2gB,EAAA3f,EAAAC,cAAA,KAAGV,UAAU,2BACzBA,UAAWtC,IAAOisB,WAClBjqB,cAAehC,IAAOsD,KACtBhC,QAASqW,EACTjW,SAAUkB,IAER8nB,GAAY8yH,IAjBbroH,EA0CNxJ,GAAkBjJ,EAAA3f,EAAAC,cAACi7I,EAAA,EAAexyH,IAKzCyJ,EAAWntB,aAAe,CACxBu1I,oBAAqB,GACrB3xH,gBAAgB,EAChBk+B,cAAc,EACdn/B,UAAU,EACVY,gBAAiB,GACjBiyH,UAAU,EACVn3I,QAAS,IAGX8uB,EAAWjwB,UAAX,GAwBeiwB,yCCzJf,IAAAzS,EAAA7e,EAAA,GAAAs6I,EAAAt6I,EAAA,KAuBeujF,IApBf,SAAyBF,GAAoD,IAArCk3D,EAAqC5rI,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAAjB00B,EAAiB10B,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAc3EQ,oBAAU,WAbV,IACQqrI,EAaND,GAAcE,YAAoBp3G,IAAYggD,GAbxCm3D,EAAgB39F,SAASvlC,KAAKs6D,UAGhCvuC,EACKm3G,EAAc3oE,IAHL,gBAMXwR,EACHm3D,EAAcxoE,OAPA,gBAQdwoE,EAAc3oE,IARA,iBAcjB,CAACwR,EAAehgD,isBCZrB,SAASq3G,EAATj9I,GAAiE,IAAjCwiG,EAAiCxiG,EAAjCwiG,SAAUn/F,EAAuBrD,EAAvBqD,MAAUhC,EAAaC,EAAAtB,EAAA,sBAC/D,OACEyB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACqY,EAAA,EAADpY,EAAA,GAAcP,EAAd,CAAyBgC,MAAOA,KAChC5B,EAAAC,EAAAC,cAACu7I,EAADt7I,EAAA,GAAc4gG,EAAd,CAAwB/+F,QAASJ,MAKvC45I,EAAqBr5I,UAArB,GAKeq5I,0nBCdf,SAASE,EAATn9I,GAAmD,IAAtBwiG,EAAsBxiG,EAAtBwiG,SAAav+F,EAASm5I,EAAAp9I,EAAA,cACjD,OACEyB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACkT,EAAA,EAAU5Q,GACXxC,EAAAC,EAAAC,cAACu7I,EAADG,EAAA,CACE55I,QAASQ,EAAMZ,OACXm/F,KAMZ26C,EAAkBv5I,UAAlB,GAKeu5I,mCCrBf,SAASG,EAAgBC,EAAWC,GAClC,IAAMC,EAAaz3D,YAAU,YAAa,aAAcw3D,GAExD,MACE,GAAAp0I,OAAUq0I,EADRF,EAAY,EACd,oBAGF,SAGF,SAASG,EAAkBH,GACzB,OAAIA,EAAY,GACP5+I,IAAOK,OAGT,KAeM2+I,MAZf,SAAA39I,GAAyC,IAAlByD,EAAkBzD,EAAlByD,QAEf85I,EAFiCv9I,EAAT2G,MAChBlD,EAAQgF,OAEhB+0I,EAAensD,KAAKuqC,IAAI2hB,GAE9B,MAAO,CACLA,UAAWC,EACXI,aAAcN,EAAgBC,EAAWC,GACzCK,eAAgBH,EAAkBH,KCrBtC,SAASh7C,EAATviG,GAAiD,IAA7ByD,EAA6BzD,EAA7ByD,QAASkD,EAAoB3G,EAApB2G,MAAO1F,EAAajB,EAAbiB,UAAa68I,EAK3CH,EAAY,CAAEl6I,UAASkD,UAHzB42I,EAF6CO,EAE7CP,UACAK,EAH6CE,EAG7CF,aACAC,EAJ6CC,EAI7CD,eAGF,OACEp8I,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAA,uBAAAyH,OACczC,EADd,sBAGAlF,EAAAC,EAAAC,cAAA,QAAMV,UAAW48I,GACfp8I,EAAAC,EAAAC,cAAA,SAAI47I,GADN,IACsBK,IAtB5Br7I,EAAAC,EAAAC,EAAA,sBAAAs7I,IAAAx7I,EAAAC,EAAAC,EAAA,sBAAAu7I,IA4BAz7C,EAAS77F,aAAe,CACtBC,MAAO,IACPlD,QAAS,IAGX8+F,EAAS3+F,UAAT,GAMe2+F,+0BC/Bf,SAAS07C,EAATj+I,GAA8C,IAAbiB,EAAajB,EAAbiB,UAC/B,OACEQ,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWgM,IAAanK,KAAMhF,IAAOgF,KAAM1C,IAC7DQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWgM,IAAau3F,gBAAiB1mG,IAAOijE,UAChEngE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWgM,IAAatK,MAAO7E,IAAO6E,SAClE/B,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWgM,IAAapK,YAAa/E,IAAO+E,eACxEjC,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWgM,IAAaw3F,QAAS3mG,IAAO2mG,WACpE7jG,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWgM,IAAamlC,UAAWt0C,IAAOsD,UAM9Eg8I,EAAsBr6I,UAAtB,GAIeq6I,QCVA,SAASt9F,EAAT3gD,GAAwD,IAAlC2jD,EAAkC3jD,EAAlC2jD,WAAYonB,EAAsB/qE,EAAtB+qE,QAAS9pE,EAAajB,EAAbiB,UAAai9I,ECNhE,SAAAl+I,GAQJ,IAPDm+I,EAOCn+I,EAPDm+I,UACAC,EAMCp+I,EANDo+I,oBACAC,EAKCr+I,EALDq+I,UACAC,EAICt+I,EAJDs+I,aACAC,EAGCv+I,EAHDu+I,YACApmI,EAECnY,EAFDmY,UAMA,OAAAvW,EAAA,GAJCN,EAAAtB,EAAA,0FAID,CAEEmwB,KAAMguH,EACNK,YALkBC,IAAKnrC,IAAM8qC,EAAqB,iBAMlDz8E,SAAU08E,EACV76I,MAAO86I,EACPI,WAAYH,EACZ/qI,KAAM2E,IDHJwmI,CAAoBh7F,GARtB3+C,EAFmEk5I,EAEnEl5I,GACAmrB,EAHmE+tH,EAGnE/tH,KACAquH,EAJmEN,EAInEM,YACAh9F,EALmE08F,EAKnE18F,MACAiU,EANmEyoF,EAMnEzoF,MACAkM,EAPmEu8E,EAOnEv8E,SACAn+D,EARmE06I,EAQnE16I,MACAgQ,EATmE0qI,EASnE1qI,KAGF,GAAI1D,IAAQ6zC,GACV,OAAOliD,EAAAC,EAAAC,cAAC2/E,EAAD,MAGT,IAGQs9D,EACAC,EAJFvX,EAAYv8D,IAAYtlD,IAAaQ,cAqD3C,OACExkB,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAOgF,KAAM1C,IAC1CQ,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CACEluD,KAAMA,EACNmuD,SAAUA,EACV1gE,UAAWtC,IAAOijE,SAEpBngE,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEvG,KAAK,OACLF,MAAM,QACNU,UAAWtC,IAAO6E,MAClB0D,KAAM43I,YAAwBxX,EAAWtiI,IAExCxB,GAGH/B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO+E,aAAcysB,IAnEjCyuH,EAAqB9uI,IAAQ0uI,GAC7BK,EAAe/uI,IAAQ0xC,GAEzBo9F,GAAsBC,EACjB,KAsCPp9I,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2mG,SAlCnBs5C,EACK,KAIPn9I,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEvG,KAAK,OACLF,MAAM,OACN2G,KAAI,GAAAkC,OAAK21I,IAAL,KAAA31I,OAAqBo1I,GACzBv9I,UAAWtC,IAAOM,MAJpB,IAMIu/I,GAyBHA,GAAeh9F,GAAS,MAnBvBq9F,EACK,KAIPp9I,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEvG,KAAK,OACLF,MAAM,OACN2G,KAAI,OAAAkC,OAASo4C,GACbvgD,UAAWtC,IAAOM,MAEjBuiD,KAkCH//C,EAAAC,EAAAC,cAACgpB,EAAA,EAAD,CAAW8qC,MAAOA,EAAOx0D,UAAWtC,IAAOs0C,cAzGnD1wC,EAAAC,EAAAC,EAAA,sBAAAk+C,IAAAp+C,EAAAC,EAAAC,EAAA,sBAAAu8I,IAAAz8I,EAAAC,EAAAC,EAAA,sBAAA6+E,IA+GA,IAAM09D,EAAkBj0I,IAAU6tD,MAAM,CACtCulF,UAAWpzI,IAAU8E,OACrBuuI,oBAAqBrzI,IAAU8E,OAC/B2xC,MAAOz2C,IAAU8E,OACjB4lD,MAAO1qD,IAAU8E,OACjBwuI,UAAWtzI,IAAU8E,OACrByuI,aAAcvzI,IAAU8E,OAAOwmB,aAGjCsqB,EAAW/8C,UAAX,iHExHaq7I,EAAuB,sCCapC,SAASC,EAATl/I,GAAkE,IAApCsuC,EAAoCtuC,EAApCsuC,QAAS81D,EAA2BpkG,EAA3BokG,cAAepjG,EAAYhB,EAAZgB,SAC9Cm+I,EAAiB1sE,IAAS2xB,EAAe,CAAE37F,OAAQw2I,IACnDxwG,EAAc1Z,MAAS0X,OAAOiC,KAEpC,OACEjtC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOwN,QACrB1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0lG,UAAWxqE,IAAKyU,EAASxU,IAAI,gBAEpDr4B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOygJ,aACrB39I,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO8vC,aAArB,WAA2CA,EAA3C,KACAhtC,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQ27I,KAIjCn+I,GAKPk+I,EAAmBx4I,aAAe,CAChC4nC,QAASM,KAGXswG,EAAmBt7I,UAAnB,GAMes7I,6PClCf,SAAS9tB,EAATpxH,GAA2D,IAAxCwD,EAAwCxD,EAAxCwD,MAAOE,EAAiC1D,EAAjC0D,YAAaytH,EAAoBnxH,EAApBmxH,iBAC/BrpH,EAAiB,CACrB7G,UAAWtC,IAAO6H,UAClBsB,eAAgBnJ,IAAO6E,MACvBuzD,qBAAsBp4D,IAAO+E,aAG/B,OACEjC,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC84B,EAAA,EAAD74B,EAAA,CACE4B,MAAOA,EACPE,YAAaA,GACToE,IAELqpH,mCAKPC,EAAQ1qH,aAAe,CACrBlD,MAAOyJ,IAAOwvE,QAAQj5E,MACtBE,YAAauJ,IAAOwvE,QAAQ/4E,aAG9B0tH,EAAQxtH,UAAR,GAOewtH,oCCxCf,IAAAhwG,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA+9H,EAAA98I,EAAA,KAAA+8I,EAAA/8I,EAAAsI,EAAAw0I,GAAAE,EAAAh9I,EAAA,KAAAw6F,EAAAx6F,EAAA,MAAAy6F,EAAAz6F,EAAAsI,EAAAkyF,GAQA,SAASyiD,EAATx/I,GAA0E,IAA9CwN,EAA8CxN,EAA9CwN,KAAMC,EAAwCzN,EAAxCyN,QAASxM,EAA+BjB,EAA/BiB,UAAWgN,EAAoBjO,EAApBiO,iBASpD,SAASwxI,IACP,OACEp+H,EAAA3f,EAAAC,cAAA,OAAKwH,IAAG,QAAAC,OAAU2+C,OAAc9mD,UAAWtC,IAAO+gJ,SAChDr+H,EAAA3f,EAAAC,cAAC49I,EAAA,EAAD,OAKN,OACEl+H,EAAA3f,EAAAC,cAAA,OAAKV,UAAWA,GACdogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOwN,OAAQ8B,IACvCrC,MAAM6B,GAAS5B,KAAK,GAAGhC,IAnB9B,WACE,OACEwX,EAAA3f,EAAAC,cAAA,OAAKwH,IAAG,MAAAC,OAAQ2+C,OAAc9mD,UAAWtC,IAAOghJ,cAC9Ct+H,EAAA3f,EAAAC,cAAC49I,EAAA,EAAD,CAAiBt+I,UAAWtC,IAAOs+F,kBAmBpCrxF,MAAM4B,GAAM3B,KAAK,GAAGhC,IAAI,kBACvBwX,EAAA3f,EAAAC,cAAA,OAAKwH,IAAG,MAAAC,OAAQ2+C,OAAc9mD,UAAWa,IAAWnD,IAAOihJ,WAAY3xI,IACpErC,MAAM6B,GAAS5B,KAAK,GAAGhC,IAAI41I,OAOtCD,EAAiB94I,aAAe,CAC9B8G,KAAM,EACNC,QAAS,GAGX+xI,EAAiB57I,UAAjB,GAOe47I,orDC7CR,IAAMK,EAAyB,IAEtC,SAASzlI,EAATpa,GAOG,IANDiV,EAMCjV,EANDiV,OACAa,EAKC9V,EALD8V,WACA9U,EAIChB,EAJDgB,SACA8+I,EAGC9/I,EAHD8/I,oBACA7+I,EAECjB,EAFDiB,UACGI,EACFC,EAAAtB,EAAA,sEAAA2Q,EAAAC,EACyCC,oBAAS,GADlD,GACMkvI,EADNpvI,EAAA,GACqBqvI,EADrBrvI,EAAA,GAAA+I,EAAA9I,EAEqCC,mBAASoE,GAF9C,GAEMgrI,EAFNvmI,EAAA,GAEmBwmI,EAFnBxmI,EAAA,GAeDhI,oBAAU,WACR,IAAMyuI,EAXFlrI,GACFirI,GAAe,GAER/8G,WAAW,kBAAM68G,GAAiB,IAAO,KAElDA,GAAiB,GAEV78G,WAAW,kBAAM+8G,GAAe,IAAQJ,IAM/C,OAAO,WACLM,aAAaD,KAEd,CAAClrI,IAEJ,IAAMorI,EAAkBv+I,IACtBnD,IAAOsX,MACP8pI,GAAiBphJ,IAAO2hJ,UACxBr/I,GAGF,OACEogB,EAAA3f,EAAAC,cAAC4+I,EAAA,EAAD3+I,EAAA,GACMP,EADN,CAEE4T,OAAQgrI,EACRh/I,UAAWo/I,EACXvqI,WAAYA,IAEX9U,GAKPoZ,EAAa1T,aAAe,CAC1Bo5I,oBAAqBD,GAGvBzlI,EAAaxW,UAAb,GAQewW,ieC5Df,SAAS4pE,EAAThkF,GAA6C,IAApBgF,EAAoBhF,EAApBgF,GAAO3D,EAAaC,EAAAtB,EAAA,QAC3C,OACEqhB,EAAA3f,EAAAC,cAAA,OAAKqD,GAAIA,GACPqc,EAAA3f,EAAAC,cAAC6+I,EAAA,EAAD,CAAUC,MAAOA,KACfp/H,EAAA3f,EAAAC,cAAC++I,EAAA,EAAcr/I,KAMvB2iF,EAAct9E,aAAe,CAC3B1B,GAAIw9E,KAGNwB,EAAcpgF,UAAd,GAIeogF,ksDCxBf,SAAS28D,EAAeC,GAAa,IAAAC,GACTD,GAAe,IAAjCxiG,gBAD2B,IAAAyiG,EAChB,GADgBA,EAGnC,OAAIhzD,IAAQzvC,GACH,GAGFA,EAASv0C,IAAI,SAAA00C,GAAO,OAAIA,EAAQv5C,KA8E1B4tB,IA3Ef,SAAyB5tB,EAAI3B,EAAOyQ,GAA0C,IAAhCgtI,EAAgC5vI,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAApB,GAAI+uF,EAAgB/uF,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAAAR,EAAAC,EACpCC,mBAAS,IAD2B,GACrEgiB,EADqEliB,EAAA,GACvDiyF,EADuDjyF,EAAA,GAErEwnB,EAFqEvnB,EAExDqvF,EAAiBA,EAAehwF,OAAO,SAAA/C,GAAI,OAAIA,EAAKyyF,cAAe,GAFX,MAS5E,SAASW,EAATj+D,GAA+D,IAAxC5b,EAAwC4b,EAAxC5b,UAAWs7B,EAA6B1f,EAA7B0f,aAAcg/F,EAAe1+G,EAAf0+G,YACxC3iG,EAAWuiG,EAAeK,IAAK/gD,EAAgB,CAAEj7F,GAAI+8C,KAErDl0B,EAAQpH,EACVw6H,IAAAhhI,EAAU4S,GAAV,CAA0BkvB,GAA1B34C,OAAA6W,EAA2Cm+B,KAC3C8iG,IAAAjhI,EAAY4S,GAAZ,CAA4BkvB,EAAcg/F,GAA1C33I,OAAA6W,EAA0Dm+B,KAE9DwkD,EAAgB/0E,GAChB/Z,EAAS9O,EAAI6oB,GAkDf,OA/DAnc,oBAAU,WACR,IAAMyvI,EAAiBhpH,EAAY90B,EAAM4M,OAAO,SAAA6P,GAAG,OAAIA,IAAQqY,EAAUnzB,KAAM3B,GAC9E+9I,IAAQD,EAAgBtuH,IAAiB+vE,EAAgBu+C,IACzD,CAAC99I,IA4DG,CACLwvB,eACAC,QAjDF,SAAuBhhB,GACrBwuF,EAAY,CACV75E,UAAW3U,EAAMvK,OAAOuf,QACxBi7B,aAAcjwC,EAAMvK,OAAOlE,SA+C7B0vB,WA3CF,SAA0BjhB,GACxB,IAAMuvI,EAAiBxzD,IAAQoS,GAI3B,GAHAA,EACChwF,OAAO,SAAA/C,GAAI,OAAIA,EAAK3L,aACpBsI,IAAI,SAAAqD,GAAI,OAAIA,EAAKlI,KAGhBs8I,EAAoBnpH,EACtB2oH,EAAU7wI,OAAO,SAAA/C,GAAI,OAAIA,IAASirB,EAAUnzB,KAC5C87I,EAEES,EAAiB1zD,IAAQyzD,GAE3B,GADAA,EAAkBrxI,OAAO,SAAA/C,GAAI,WAAIm0I,EAAcprH,QAAS/oB,KAEtD2gB,EAAQ/b,EAAMvK,OAAOuf,QAAUw6H,EAAoBC,EAEzD3+C,EAAgB/0E,GAChB/Z,EAAS9O,EAAI6oB,IA2BbuyE,eAxBF,SAA4BtuF,EAAO5E,GACjC,IAAMuZ,EAAY3U,EAAMvK,OAAOuf,QACzBi7B,EAAejwC,EAAMvK,OAAOlE,MAC5B6Q,EAAc,CAAEuS,YAAWs7B,gBAEjC,GAAIt7B,EACF,OAAO65E,EAAYpsF,GANkB,IAS3ByyF,GAAaz5F,GAAQ,IAAzBlI,GACFo5C,EAAWuiG,EAAezzI,GAC1Bs0I,EAAaC,IAAO5uH,EAAc,SAAA0rB,GAAO,OAAIA,IAAYwD,IAG/D,OAAOu+C,EAAW1+F,EAAA,GAFsD,IAA9C8/I,IAAatjG,EAAUojG,GAAY/4I,QAGlC,CAAEs4I,YAAap6C,GADxB,GAEbzyF,khCCzEF,IAAMytI,EAAiB,0BAuCfC,IArCf,WAAiD,IAA1BC,IAA0B3wI,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,KAAAA,UAAA,GAAAP,EAAAC,EACXC,mBAAS,IADE,GACxCswE,EADwCxwE,EAAA,GAC5BmxI,EAD4BnxI,EAAA,GAAA+I,EAAA9I,EAECC,mBAASgxI,GAFV,GAExCE,EAFwCroI,EAAA,GAEtBsoI,EAFsBtoI,EAAA,GAAAgT,EAAA9b,EAGPC,mBAASgxI,GAHF,GAGxCI,EAHwCv1H,EAAA,GAG1Bw1H,EAH0Bx1H,EAAA,GAAAE,EAAAhc,EAIPC,mBAAS,IAJF,GAIxC0D,EAJwCqY,EAAA,GAI1Bu1H,EAJ0Bv1H,EAAA,GAwB/C,MAAO,CACL3F,OAAQk6D,EACRzY,eAAgBo5E,EAChBn5E,oBAAqBo5E,EACrBn5E,kBAtB4B,SAAA5oE,GAAA,IAAGuH,EAAHvH,EAAGuH,OAAH,OAAgBy6I,EAAoBz6I,EAAOuf,UAuBvE+hD,gBAAiBo5E,EACjBn5E,cAvBwB,SAAAvjE,GAAA,IAAGgC,EAAHhC,EAAGgC,OAAH,OAAgB26I,EAAgB36I,EAAOuf,UAwB/Ds7H,MAtBY,WACZN,EAAc,IACdE,EAAoBH,GACpBK,EAAgBL,GAChBM,EAAgB,KAmBhB5tI,eACA8tI,mBAjByB,WACzB,IAAMvvI,IAAYivI,GAAoBjyI,IAAQqxE,IAI9C,OAFUghE,EAAVrvI,EAA0B,GAAsB6uI,GAEzC7uI,2YCfI,SAASk0H,EAAThnI,GAAyE,IAA/C4sC,EAA+C5sC,EAA/C4sC,KAAMs2B,EAAyCljE,EAAzCkjE,SAAU75C,EAA+BrpB,EAA/BqpB,SAAUi5H,EAAqBtiJ,EAArBsiJ,kBAC3DC,EAAoBC,IAAc51G,IAASs2B,EAC3C9iB,EAAc,SAAAqiG,GAAW,OAAI,WACjCC,qCAA2BD,KAGvBvuI,EAAc,CAClB7M,qBAAsBgiB,EACtBliB,YAAY,EACZ5G,MAAO,QACPU,UAAWtC,IAAOgkJ,WAClBhiJ,cAAehC,IAAOikJ,kBAGxB,OACEnhJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACpB+7I,GACC9gJ,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMsS,EADN,CAEEhN,KAAMs7I,IAAc51G,GACpB3sC,QAASmgD,EAAY,2BAEpB8iB,EALH,SAQFzhE,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMsS,EADN,CAEEhN,KAAM27I,IACN5iJ,QAASmgD,EAAY,kBAHvB,gBAOC/2B,GACC5nB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNN,QAASqiJ,EACTrhJ,UAAWtC,IAAOgkJ,YAHpB,iBAYR3b,EAAetgI,aAAe,CAC5B47I,kBAAmBQ,KAGrB9b,EAAepjI,UAAf,0BCjDA,SAASouB,EAAThyB,GAAmD,IAA7B4sC,EAA6B5sC,EAA7B4sC,KAAMs2B,EAAuBljE,EAAvBkjE,SAAUjiE,EAAajB,EAAbiB,UAC9B0+B,EAAawwB,iBAAO,MADuBhmC,EAM7CpJ,cAHW9L,EAHkCkV,EAG/C9T,YACasmG,EAJkCxyF,EAI/C7T,YACYsmG,EALmCzyF,EAK/ChJ,WAYF,OACE1f,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAACgkC,EAAA,EAAD,CACEwsF,MAAO,EACPlxH,UAAWtC,IAAO8sF,QAClBrpE,WAAYud,EACZl8B,QAfoB,kBACxBhC,EAAAC,EAAAC,cAACqlI,EAAD,CAAgB39G,UAAQ,EAACujB,KAAMA,EAAMs2B,SAAUA,MAgB3CzhE,EAAAC,EAAAC,cAACohJ,EAAA,EAAD,CACEC,gBAAgB,IAChBzkI,OAfR,WACEq+F,IACAz5E,WAAWxD,EAAWruB,QAAQ8xB,WAAY,IAcpCnjC,QAAS08G,EACTsmC,kBAAmBtkJ,IAAOukJ,WAC1BjvH,SAAUhf,MAOpB+c,EAAWpuB,UAAX,GAMeouB,mCC3CA,SAASmxH,EAATnjJ,GAAqE,IAA/C4sC,EAA+C5sC,EAA/C4sC,KAAMs2B,EAAyCljE,EAAzCkjE,SAAUjiE,EAA+BjB,EAA/BiB,UAAWmiJ,EAAoBpjJ,EAApBojJ,iBACxDvqH,EACJp3B,EAAAC,EAAAC,cAACqlI,EAAD,CACEp6F,KAAMA,EACNs2B,SAAUA,IAId,OACEzhE,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAASo1B,EACT53B,UAAWtC,IAAO0kJ,YAClBv5I,UAAU,aACV65D,QAAQ,QACRpjE,MAAM,QACNwJ,aAAW,EACXo1C,SAAUC,SAASvlC,MAEnBpY,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOglE,QAASy/E,IACzC3hJ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLR,QAASqjJ,4BACT5iJ,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAW,oBAC1BA,UAAWa,IAAWnD,IAAOukJ,WAAYjiJ,GACzCN,cAAehC,IAAO4kJ,yYC9BjB,SAASJ,EAATnjJ,GAAgD,IAA1BqpB,EAA0BrpB,EAA1BqpB,SAAahoB,EAAaC,EAAAtB,EAAA,cAC7D,OAAOqpB,EAAW5nB,EAAAC,EAAAC,cAACs1B,EAAe51B,GAAgBI,EAAAC,EAAAC,cAACwhJ,EAAgB9hJ,GDoCrE8hJ,EAAWv/I,UAAX,mCCjCAu/I,EAAWv/I,UAAX,yCCVArB,EAAAC,EAAAC,EAAA,sBAAAogJ,IAAAtgJ,EAAAC,EAAAC,EAAA,sBAAA+/I,IAAO,IAAMK,EAAmB,oCAEnBL,EAAgB,CAC3BgB,UAAW,4EACXC,SAAU,2EACVC,QAAS,uGACTC,SAAU,2KCACC,EAAuB,SAACziE,GAA6B,IAAjBs2C,EAAiBvmH,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GACjD2yI,EAAyCpsB,EAAzCosB,UAAWC,EAA8BrsB,EAA9BqsB,UAAWC,EAAmBtsB,EAAnBssB,eACxBC,EAAsBC,YAA4B9iE,EAAWl6D,QAE7Di9H,GAAqBr/E,IAAQk/E,GAE7BI,EACJD,IAAsBH,EAAeF,WAAaE,EAAeD,WAE7DM,GAAyBF,GAAqBC,EAC9CE,EAAoBljE,EAAWxY,qBAAuBy7E,EAEtDE,GAAqBJ,GAAsBL,GAAaC,EACxDS,EAAgBpjE,EAAWtY,iBAAmBy7E,EAE9CE,EAAsBC,IAAQC,IAAQ,CAC1CH,GAAiBhmE,cACjB8lE,GAAqBL,KAGvB,OAAOQ,2BCzBTlqI,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAupB,KAAA,8BAAAE,SAAA,kCAAAwvG,eAAA,wCAAA7kG,WAAA,oCAAAC,YAAA,wDCAlBvgB,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA7C,KAAA,8BAAA2B,QAAA,iCAAAE,MAAA,kDCAlB8U,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAyM,MAAA,+BAAAE,MAAA,+BAAAC,QAAA,iCAAAC,WAAA,oCAAAC,cAAA,2DCAlBgH,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9yD,OAAA,gCAAA6B,KAAA,8BAAAk2H,KAAA,8BAAAF,KAAA,8BAAA30H,MAAA,+BAAAG,QAAA,iCAAA8wD,UAAA,qDCAlBj6C,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAx/C,YAAA,qCAAApH,eAAA,wCAAA9I,MAAA,+BAAAkwD,SAAA,kCAAAiB,cAAA,uCAAAhgB,YAAA,wDCAlBr6B,EAAAC,QAAA,CAAkB8qF,gBAAA,yCAAAzjC,OAAA,gCAAA3rD,MAAA,+BAAA4lG,YAAA,qCAAA38B,UAAA,mCAAA7wE,MAAA,gXCClB,IAAMw1E,QAAkBC,EAAeD,gBAEjCr+E,EAAQ,SAAAqR,GAAO,OAAIgtE,EAAgB,CAAEhtE,UAASktE,MAAO,WACrDz+E,EAAU,SAAAuR,GAAO,OAAIgtE,EAAgB,CAAEhtE,UAASktE,MAAO,aAExCC,2HACZ2gE,wBAA0B,kBAAMr/I,EAAQ,0CAD5B0+E,EAEZ4gE,uBAAyB,kBAAMp/I,EAAM,oDAFzBw+E,EAGZ6gE,6BAA+B,kBAAMr/I,EAAM,qDAH/Bw+E,EAIZ8gE,8BAAgC,kBAAMx/I,EAAQ,uCAJlC0+E,EAKZ+gE,mBAAqB,kBAAMz/I,EAAQ,oCALvB0+E,EAMZghE,kBAAoB,kBAAMx/I,EAAM,4JCb5By/I,EAAoB,CAC/BC,UAAW,uBACXC,WAAY,uYCKd,IAAMl7I,GAAMiJ,EAAAkyI,EAAA,GACTH,EAAkBC,UAAYvmJ,IAAO0mJ,sBAD5BnyI,EAAAkyI,EAETH,EAAkBE,WAAaxmJ,IAAO2mJ,uBAF7BF,GAKZ,SAASG,EAATvlJ,GAAgD,IAArB0T,EAAqB1T,EAArB0T,YAAavT,EAAQH,EAARG,KAEhCqlJ,EAAmBjnH,uBAAa7qB,EAAD9R,EAAA,GAChC8R,EAAYzP,MADoB,CAEnCwhJ,GAAE7jJ,EAAA,GACG8R,EAAYzP,MAAMwhJ,GADrB,CAEAC,OAAM9jJ,EAAA,GACD8R,EAAYzP,MAAMwhJ,GAAGC,OADpB,CAEJC,UAAS/jJ,EAAA,GAAO8R,EAAYzP,MAAMwhJ,GAAGC,OAAOC,UAAnC,CAA8CzgH,OAAQxxB,EAAYzP,MAAMwhJ,GAAGC,OAAOC,UAAUzgH,OAAS,IAC9G0gH,WAAUhkJ,EAAA,GAAO8R,EAAYzP,MAAMwhJ,GAAGC,OAAOE,WAAnC,CAA+C1gH,OAAQxxB,EAAYzP,MAAMwhJ,GAAGC,OAAOE,WAAW1gH,OAAS,IACjH2gH,UAASjkJ,EAAA,GAAO8R,EAAYzP,MAAMwhJ,GAAGC,OAAOG,UAAnC,CAA8C3gH,OAAQxxB,EAAYzP,MAAMwhJ,GAAGC,OAAOG,UAAU3gH,OAAS,IAC9G4gH,WAAUlkJ,EAAA,GAAO8R,EAAYzP,MAAMwhJ,GAAGC,OAAOI,WAAnC,CAA+C5gH,OAAQxxB,EAAYzP,MAAMwhJ,GAAGC,OAAOI,WAAW5gH,OAAS,WAKvH,OACEzjC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO+U,YAAazJ,EAAO9J,KACnDqlJ,GAKPD,EAAgB7+I,aAAe,CAC7BvG,KAAM8kJ,EAAkBC,WAG1BK,EAAgB3hJ,UAAhB,GAKe2hJ,QCLAQ,MArCf,SAAA/lJ,GAIG,IAHDgmJ,EAGChmJ,EAHDgmJ,wBACAC,EAECjmJ,EAFDimJ,6BACAC,EACClmJ,EADDkmJ,YASMC,EAA2B,SAAA9jH,GAAA,IAC/B+jH,EAD+B/jH,EAC/B+jH,sBAD+B,QAAA/jH,EAE/BgkH,iBAC0BD,GAc5B,MAAO,CACLE,uBAzB6B,SAAA/gJ,GAAA,IAAGghJ,EAAHhhJ,EAAGghJ,qBAAsBC,EAAzBjhJ,EAAyBihJ,iBAAzB,MAAiD,CAC9EH,eAAgBE,GAAwBC,EACxCC,oBAAqBF,EAAuBtB,EAAkBE,WAAaF,EAAkBC,YAwB7FwB,6BArBmC,SAAAjhJ,GAAA,IAAG4gJ,EAAH5gJ,EAAG4gJ,eAAH,OAAyBJ,IAAiCC,IAAgBG,GAsB7GF,2BACAQ,4BAfkC,SAAApkH,GAAA,IAClCqkH,EADkCrkH,EAClCqkH,OACAP,EAFkC9jH,EAElC8jH,eACAD,EAHkC7jH,EAGlC6jH,sBAHkC,OAKlCD,EAAyB,CACvBC,wBACAC,oBACIL,EAAwB,CAAEY,SAAQP,4ECnB5C,SAASvuH,EAAT93B,GAA+D,IAA7CgB,EAA6ChB,EAA7CgB,SAAU6lJ,EAAmC7mJ,EAAnC6mJ,MAAOC,EAA4B9mJ,EAA5B8mJ,aAAcC,EAAc/mJ,EAAd+mJ,WACzCC,EAAYH,EAAQ,IAAMA,EAAQ,MAExC,OACEplJ,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAOwN,QACxB1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsoJ,UACrBxlJ,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOlmC,MAAOumJ,EAAc7lJ,UAAWtC,IAAOkoJ,OAAQG,GACrDhmJ,GAEHS,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQQ,MAAM,YAAYE,KAAK,QAAQR,QAAS8mJ,EAAY9lJ,UAAWtC,IAAOyB,QAC5EqB,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,qBAAsBnD,IAAOuoJ,cAM9DpvH,EAAOpxB,aAAe,CACpBmgJ,MAAO,IAGT/uH,EAAOl0B,UAAP,GAUek0B,mCChCf,SAASkgF,EAATh4G,GAAoC,IAAlBgB,EAAkBhB,EAAlBgB,SAAUkG,EAAQlH,EAARkH,KAC1B,OACEzF,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CAAMzG,MAAM,YAAY2G,KAAMA,EAAMjG,UAAWtC,IAAOgQ,QACnD3N,GAKPg3G,EAAOp0G,UAAP,GAKeo0G,knBCbf,SAASmvC,EAATnnJ,GAA8D,IAArCgB,EAAqChB,EAArCgB,SAAUgE,EAA2BhF,EAA3BgF,GAAI2D,EAAuB3I,EAAvB2I,MAAUtH,EAAaC,EAAAtB,EAAA,2BACtDonJ,EAAyB,SAAC/kI,EAAOglI,GAKrC,OAAIA,EACKC,EAAA,GACFjlI,EADL,CAEE0iE,mBAAoB,WAIjB1iE,GAGT,OACE5gB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2jG,SACrB7gG,EAAAC,EAAAC,cAAC47B,EAAA,EAAD+pH,EAAA,CAAW9pH,YAAW,GAAAp0B,OAAKpE,GAAM2D,MAAOA,GAAWtH,GAChD,SAAAkE,EAAAE,GAAA,IAAGrE,EAAHmE,EAAGnE,SAAU08B,EAAbv4B,EAAau4B,eAAgBO,EAA7B94B,EAA6B84B,gBAAqBR,EAAlDp4B,EAAkDo4B,WAAYwpH,EAA9D5hJ,EAA8D4hJ,gBAA9D,OACC5lJ,EAAAC,EAAAC,cAAA,MAAA2lJ,EAAA,CACEzlJ,IAAKT,GACD08B,EACAO,EAHN,CAIEp9B,UAAWa,KAAY+7B,GAAcl/B,IAAO4oJ,WAC5CllI,MAAO+kI,EAAuBtpH,EAAezb,MAAOglI,KAEnDrmJ,MAQbmmJ,EAAcvjJ,UAAd,GASeujJ,2BC9Cf,SAAS7pH,EAATt9B,GAAwC,IAAZgB,EAAYhB,EAAZgB,SAC1B,OACES,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOq4D,kBACpBh2D,GAKPs8B,EAAiB15B,UAAjB,GAIe05B,+lBCRf,SAASkqH,EAATxnJ,GAUG,IATDgB,EASChB,EATDgB,SACAmL,EAQCnM,EARDmM,OACAwC,EAOC3O,EAPD2O,OACA3J,EAMChF,EANDgF,GACAghJ,EAKChmJ,EALDgmJ,wBACA/kJ,EAICjB,EAJDiB,UACAgN,EAGCjO,EAHDiO,iBACA+oD,EAECh3D,EAFDg3D,iBACG31D,EACFomJ,EAAAznJ,EAAA,iHAAA0nJ,EAMG3B,EAAsB,CACxBC,0BACAC,+BAAgCjvF,EAChCkvF,YAAajoH,WAAS4oH,MAAM7lJ,GAAY,IAPxCslJ,EAFDoB,EAECpB,uBACAI,EAHDgB,EAGChB,6BACAP,EAJDuB,EAICvB,yBACAQ,EALDe,EAKCf,4BAOIgB,EAAoB,SAACj0I,EAAavT,GAAd,OACxBsB,EAAAC,EAAAC,cAACimJ,EAAD,CAAiBl0I,YAAaA,EAAavT,KAAMA,KA0CnD,OACEsB,EAAAC,EAAAC,cAAC47B,EAAA,EAADsqH,EAAA,CAAW/iH,YAAa9/B,GAAQ3D,GAC7B,SAAAoE,EAA4Ck4B,GAA5C,IAAGv8B,EAAHqE,EAAGrE,SAAU0mJ,EAAbriJ,EAAaqiJ,eAAgBp0I,EAA7BjO,EAA6BiO,YAA7B,OACCjS,EAAAC,EAAAC,cAAA,MAAAkmJ,EAAA,CACE5mJ,UAAWa,IAAWnD,IAAO2jG,QAAS3kE,EAASoqH,gBAAkBppJ,IAAOqpJ,aACxEnmJ,IAAKT,GACD0mJ,GAEJrmJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO85B,OAAQx3B,IACvCkL,EACD1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOspJ,cAAeh6I,IAjDpC,SAACyF,EAADnO,GAA6D,IAA7CghJ,EAA6ChhJ,EAA7CghJ,qBAAsBC,EAAuBjhJ,EAAvBihJ,iBAAuB0B,EAI9E5B,EAAuB,CAAEC,uBAAsBC,qBAFjDH,EAFgF6B,EAEhF7B,eACAI,EAHgFyB,EAGhFzB,oBAIF,GAF+BC,EAA6B,CAAEL,mBAG5D,OAAOrvF,EAGT,IAAIovF,GAAwB,EAE5B,OACE3kJ,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGu2B,WAASp0B,IAAI7I,EAAU,SAACm9B,GACvB,IAAMyoH,EAASzoH,EAAMl6B,MAAMe,GACrBmjJ,EAAwBxB,EAA4B,CACxDC,SACAP,iBACAD,0BAOF,OAJI+B,IACF/B,GAAwB,GAIxB3kJ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAKy9I,GACZuB,GAAyBR,EAAkBj0I,EAAa+yI,GACxDtoH,KAINgoH,EAAyB,CAAEE,iBAAgBD,2BAA4BuB,EAAkBj0I,EAAa+yI,IAgBhG9mF,CAAejsD,EAAaiqB,IAE9BhvB,MAQb64I,EAAO9gJ,aAAe,CAEpBs/I,wBAAyB,kBAAM,IAGjCwB,EAAO5jJ,UAAP,GAWe4jJ,QCvGf,SAASY,EAATpoJ,GAA0D,IAAnCgB,EAAmChB,EAAnCgB,SAAUqnJ,EAAyBroJ,EAAzBqoJ,WAAYpnJ,EAAajB,EAAbiB,UAgB3C,OACEQ,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAiBwH,UAhBG,SAAAx/B,GAAkD,IAA/C+iJ,EAA+C/iJ,EAA/C+iJ,YAAaxuF,EAAkCv0D,EAAlCu0D,OAAQt8B,EAA0Bj4B,EAA1Bi4B,YAAa+qH,EAAahjJ,EAAbgjJ,OACpDD,GAAeA,EAAYxjH,cAAgBg1B,EAAOh1B,aAAeyjH,IAAWC,IAAgBC,QAOjGJ,EAAW,CACTK,oBAAqBJ,EAAYxjH,YACjC6jH,eAAgB7uF,EAAOh1B,YACvB8hH,OAAQppH,MAMR/7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOiqJ,MAAO3nJ,IACtCD,IA3BTuB,EAAAC,EAAAC,EAAA,sBAAAomJ,IAAAtmJ,EAAAC,EAAAC,EAAA,sBAAAouF,IAAAtuF,EAAAC,EAAAC,EAAA,sBAAA81G,IAAAh2G,EAAAC,EAAAC,EAAA,sBAAAqmJ,IAAAvmJ,EAAAC,EAAAC,EAAA,sBAAAsmJ,IAiCAX,EAAYxkJ,UAAZ,GAMewkJ,6GCpCPr9I,IAAU6tD,MAAM,CACpB+I,SAAU52D,IAAU8E,OACpB2D,KAAMzI,IAAU8E,OAAOwmB,WACvBrxB,GAAI+F,IAAUguD,OAAO1iC,WACrBypB,MAAO/0C,IAAU8E,OAAOwmB,aACvBA,WACMtrB,IAAU8E,OAAOwmB,WACftrB,IAAU8E,OAAOwmB,WACxBtrB,IAAUguD,OAAO1iC,WACPtrB,IAAUguD,OAAO1iC,6DCHjC,SAASutE,EAAT5jG,GAYG,IAXDgpJ,EAWChpJ,EAXDgpJ,UACA3iD,EAUCrmG,EAVDqmG,aACA4iD,EASCjpJ,EATDipJ,aACAC,EAQClpJ,EARDkpJ,WACAC,EAOCnpJ,EAPDmpJ,aACAC,EAMCppJ,EANDopJ,eACAC,EAKCrpJ,EALDqpJ,eACAC,EAICtpJ,EAJDspJ,gBACAC,EAGCvpJ,EAHDupJ,cACAC,EAECxpJ,EAFDwpJ,sBACAC,EACCzpJ,EADDypJ,iBAEMC,EAAc,kBAAMT,KACpBU,EAAkBH,EAAwB,oBAAsB,eAChEI,EAAe,kBAAMnoJ,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQ0B,UAAQ,EAAClB,UAAWtC,IAAOgX,UAsD3E,OACElU,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACpBwiJ,EAvBHvnJ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNJ,KAAK,SACLE,SAAU+oJ,GAAkBC,EAC5BpoJ,UAAWtC,IAAOyB,OAClBH,QAASipJ,GALX,OAQGG,GAAkBO,KAErBnoJ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNU,UAAWtC,IAAOyB,OAClBH,QAASkpJ,GAHX,WAzCF1nJ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNU,UAAWtC,IAAOyB,OAClBH,QAASypJ,GAHX,WAOGrjD,GACD5kG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOojI,aAAvB,GAAA34H,OACMi9F,EADN,KAAAj9F,OACsB48E,YAAU,QAAS,UAAWqgB,KAGrDkjD,GACC9nJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOojI,aACrBtgI,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWtC,IAAOqjI,SAClBzhI,MAAM,YACNN,QAASqpJ,EACTjpJ,SAAUopJ,GAETE,EACAF,GAAoBG,QAoCjChmD,EAAQhgG,UAAR,GAceggG,2vCCzFf,SAAS74E,EAAT/qB,GAKG,IAJD6pJ,EAIC7pJ,EAJD6pJ,aACAC,EAGC9pJ,EAHD8pJ,SACAC,EAEC/pJ,EAFD+pJ,WACAC,EACChqJ,EADDgqJ,mBAEMtpJ,EAAaqpJ,GAActoJ,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQ4B,UAAQ,IAD3EwO,EAAAC,EAGiCC,oBAAS,GAH1C,GAGMotE,EAHNttE,EAAA,GAGiBkvG,EAHjBlvG,EAAA,GAAA+I,EAAA9I,EAIiDC,oBAAS,GAJ1D,GAIMo5I,EAJNvwI,EAAA,GAIyBwwI,EAJzBxwI,EAAA,GAMKkjG,EAAe,kBAAMiD,GAAa,IAElCsqC,EAAyB,kBAAMD,GAAqB,IAMpDE,EAAe,WACnBN,IACAltC,KAGIytC,EAAa,WACjBR,IACAjtC,KAGI0tC,EAA0B,CAC9B/pJ,MAAO,QACPU,UAAWtC,IAAOuO,MAmDpB,OACEzL,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAPFhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACpBoxH,EA1BHxoJ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAO6E,OAA1B,kBACA/B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO4rJ,eAArB,gDAEGP,GACCvoJ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6rJ,mBAAxB,yCAGJ/oJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+W,SACrBjU,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQU,KAAK,QAAQF,MAAM,QAAQN,QAAS28G,GAA5C,UAGAn7G,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLR,QAASmqJ,EACT/pJ,SAAU0pJ,EACVrpJ,WAAYA,GAJd,YA7BJe,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACM0oJ,EADN,CAEErqJ,QAASoqJ,IAFX,gBAMA5oJ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACM0oJ,EADN,CAEErqJ,QAASkqJ,IAFX,oBA2CArgJ,UAAU,aACVvJ,MAAM,QACNkqJ,SAxEiB,WACnBP,GAAqB,IAwEnBzsC,eAAgBb,EAChBW,QAASt/B,EACTl0E,aAAW,GAEXtI,EAAAC,EAAAC,cAAA,KACEV,UAAWa,IAAWnD,IAAOoG,QAAS,2BACtC+0B,IAAI,UACJ75B,QAnFc,kBAAM4/G,GAAa,OAyFzC90F,EAAQnnB,UAAR,GAOemnB,iCClHF2/H,EAAqB,SAACC,GACjC,IAAMC,EAAkB71H,IAAOzwB,SAASywB,MAAW+1D,YAAQ6/D,IAE3D,OAAIC,EAAgBC,OACXC,YAAmBH,GAGxBC,EAAgBG,QAClB,GAAA3hJ,OAAUwhJ,EAAgBG,QAA1B,KAGEH,EAAgBI,UAClB,GAAA5hJ,OAAUwhJ,EAAgBI,UAA1B,KAGK,0BCRT,SAASC,EAATjrJ,GAeG,IAdDgpJ,EAcChpJ,EAdDgpJ,UACAkC,EAaClrJ,EAbDkrJ,cACAC,EAYCnrJ,EAZDmrJ,qBACAC,EAWCprJ,EAXDorJ,SACA3nJ,EAUCzD,EAVDyD,QACAknJ,EASC3qJ,EATD2qJ,YACAb,EAQC9pJ,EARD8pJ,SACAh2I,EAOC9T,EAPD8T,SACA+1I,EAMC7pJ,EAND6pJ,aACAE,EAKC/pJ,EALD+pJ,WACA/kJ,EAIChF,EAJDgF,GACAkvG,EAGCl0G,EAHDk0G,iBACAg1C,EAEClpJ,EAFDkpJ,WACAmC,EACCrrJ,EADDqrJ,QAEMC,EAAS,WAAAliJ,OAAcpE,GACvBumJ,EAAkBb,EAAmBC,GAmB3C,OACElpJ,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IACTnD,IAAO6sJ,WACPL,GAAwBxsJ,IAAO8sJ,sBAEjCzmJ,GAAIsmJ,GAEJ7pJ,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAOwN,QACxB1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOysJ,UAAWA,GAClC3pJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+sJ,aACrBjqJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuoE,MAAOqkF,GAC7BL,GACCzpJ,EAAAC,EAAAC,cAAC2pB,EAAD,CACEu+H,aAAcA,EACdC,SAAUA,EACVC,WAAYA,EACZC,oBAAqBqB,MAjC/BrC,EACEvnJ,EAAAC,EAAAC,cAACgqJ,EAAA,EAAD,CACEz3C,iBAAkBA,EAClB7qE,WAAY2/G,EACZ3lJ,MAAOI,EACPqQ,SAAUA,EACVvT,MAAM,cACNomG,SAAU2kD,EACVM,gBAAiB1C,EACjBx1I,YAAY,yBAGdjS,EAAAC,EAAAC,cAACqyG,EAAA,EAAD,KAAmBvwG,IA+BzBwnJ,EAAWrnJ,UAAX,GAiBeqnJ,09BCjCAY,MAxDf,SAAA7rJ,GAIG,IAHDkmG,EAGClmG,EAHDkmG,QACA4lD,EAEC9rJ,EAFD8rJ,OACAhC,EACC9pJ,EADD8pJ,SAEQrmJ,EAAgByiG,EAAhBziG,QAASuB,EAAOkhG,EAAPlhG,GADhB2L,EAAAo7I,EAE+Bl7I,mBAAS,IAFxC,GAEMtC,EAFNoC,EAAA,GAEgBq7I,EAFhBr7I,EAAA,GAAA+I,EAAAqyI,EAGuCl7I,mBAASpN,GAHhD,GAGMwoJ,EAHNvyI,EAAA,GAGoBwyI,EAHpBxyI,EAAA,GAAAgT,EAAAq/H,EAKmCl7I,oBAAS,GAL5C,GAKMk5I,EALNr9H,EAAA,GAKkBy/H,EALlBz/H,EAAA,GAAAE,EAAAm/H,EAMiCl7I,oBAAS,GAN1C,GAMMm4I,EANNp8H,EAAA,GAMiBw/H,EANjBx/H,EAAA,GAAAmhD,EAAAg+E,EAO2Cl7I,oBAAS,GAPpD,GAOMw4I,EAPNt7E,EAAA,GAOsBs+E,EAPtBt+E,EAAA,GASKu+E,EAAc,kBAAMF,GAAa,IAEjCG,EAAmB,WACvBL,EAAgBzoJ,GAChB6oJ,KAyBF,MAAO,CACLL,eACAjD,YACAe,aACAV,iBACA+C,eACAhC,aAfmB,WAEnB,OADA+B,GAAc,GACPrC,EAAS9kJ,GAAIiU,KAAK,kBAAMkzI,GAAc,MAc7CK,oBAX0B,SAAAjnJ,GAAA,IAAalC,EAAbkC,EAAGgC,OAAUlE,MAAb,OAA2B6oJ,EAAgB7oJ,IAYrEopJ,eA9BqB,WACjBhpJ,IAAYwoJ,GACdI,GAAkB,GAClBP,EAAO,CAAE9mJ,KAAIsG,KAAM2gJ,EAAc19I,aAC9B0K,KAAK,WACJozI,GAAkB,GAClBC,OAGJC,KAsBFA,mBACAG,qBAZ2B,SAAAC,GAAW,OAAIX,EAAYW,m0CC/B1D,IAkIeC,EAlII,SAAA5sJ,GASb,IARJ6sJ,EAQI7sJ,EARJ6sJ,cACAC,EAOI9sJ,EAPJ8sJ,oBACAC,EAMI/sJ,EANJ+sJ,cACAC,EAKIhtJ,EALJgtJ,YACAC,EAIIjtJ,EAJJitJ,cACAC,EAGIltJ,EAHJktJ,cACAC,EAEIntJ,EAFJmtJ,kBACArmD,EACI9mG,EADJ8mG,sBAEQX,EAAyD0mD,EAAzD1mD,KAAoBinD,EAAqCP,EAAnDxmD,aAAsCM,EAAakmD,EAAjB7nJ,GAE1CqoJ,EAAcl9F,iBAAO,MAHvBx/C,EAAA28I,EAI0Bz8I,mBAAS,IAJnC,GAIG08I,EAJH58I,EAAA,GAIY68I,EAJZ78I,EAAA,GAAA+I,EAAA4zI,EAKoCz8I,mBAASu8I,GAL7C,GAKG/mD,EALH3sF,EAAA,GAKiB+zI,EALjB/zI,EAAA,GAAAgT,EAAA4gI,EASsCz8I,qBAAWu8I,GATjD,GASG7D,EATH78H,EAAA,GASkBghI,EATlBhhI,EAAA,GAAAE,EAAA0gI,EAU4Bz8I,oBAAS,GAVrC,GAUGmmF,EAVHpqE,EAAA,GAUa+gI,EAVb/gI,EAAA,GAAAmhD,EAAAu/E,EAW8Bz8I,oBAAS,GAXvC,GAWG3P,EAXH6sE,EAAA,GAWc0nD,EAXd1nD,EAAA,GAAAG,EAAAo/E,EAYkCz8I,oBAAS,GAZ3C,GAYG+8I,EAZH1/E,EAAA,GAYgB2/E,EAZhB3/E,EAAA,GAAA4/E,EAAAR,EAa4Cz8I,qBAb5C,GAaGk9I,EAbHD,EAAA,GAaqBE,EAbrBF,EAAA,GAiBEG,EAAoB,WACxBx4B,GAAa,GACbq3B,GAAuBA,IAGvB,IAAMoB,EAAkBroJ,IAAQ0nJ,QAAWp8I,EAAYo8I,EAAQ,GAAGxkH,UAElE,OAAOu+D,YAAa,CAClBX,WACAE,gBAAiBqnD,EACjBpnD,0BAEC7tF,KACC,SAACo7E,GAAa,IACE85D,EAAoC95D,EAA1CzuF,KAA6BumD,EAAakoC,EAAxB+5D,UAE1BV,IAAmBvhG,GA1BJ,SAAAgiG,GAAcX,EAAU,GAAApkJ,OAAA6W,EAAKkuI,GAALluI,EAAoBstI,KA4B3Dc,CAAeF,EAAWtkJ,IAAIo8F,KAAuBxhC,WAErDgxD,GAAa,GACbs3B,GAAiBA,EAAc14D,MAKvC3iF,oBAAU,WACRo1F,GAAyBmnD,KACxB,CAACnnD,IA0DJ,MAAO,CACLymD,UACAF,cACAhnD,eACAkjD,gBACAvyD,WACA91F,YACA0sJ,cACAG,mBACAE,oBACAK,gBAlEsB,SAAA/oJ,GAAwB,IAArB+F,EAAqB/F,EAArB+F,KAAMiD,EAAehJ,EAAfgJ,SAG/B,OAFAo/I,GAAY,GAELnmD,YAAUb,EAAUr7F,GACxB2N,KACC,SAACo7E,GA9Ce,IAAA85D,IA+CA,CAACloD,YAAsB5R,IA/CTm5D,EAAU,GAAApkJ,OAAA6W,EAAKstI,GAALttI,EAAiBkuI,KAgDvDR,GAAY,GACZE,GAAe,GACfJ,EAAgBpnD,EAAe,GAE/B2mD,GAAeA,EAAY34D,EAAU9lF,MAwD3CggJ,kBAnDwB,SAAApsB,GAAK,OAAI16B,YAAYd,EAAUw7B,GACtDlpH,KACC,SAACo7E,GACC,IAAMm6D,EAAgBvoD,YAAsB5R,GAK5Cm5D,EAAWD,EAAQ1jJ,IAHE,SAAA4kJ,GAAY,OAC/BA,EAAazpJ,KAAOwpJ,EAAcxpJ,GAAKwpJ,EAAgBC,KAIzDxB,GAAiBA,EAAc54D,EAAU8tC,EAAM5zH,aA0CnDmgJ,kBAtCwB,SAAAC,GAAO,OAAIjnD,YAAYf,EAAUgoD,GACxD11I,KACC,SAACo7E,GACCm5D,EAAWD,EAAQt9I,OACjB,SAAAw+I,GAAY,OAAKA,EAAazpJ,KAAO2pJ,KAEvClB,EAAgBpnD,EAAe,GAC/B6mD,GAAiBA,EAAc74D,MAgCnCu6D,iBA5BuB,SAACC,GACpB1B,EACFA,EAAiB,KAAA/jJ,OAAM+8F,EAAK3yF,KAAX,MAAApK,OAAoB+8F,EAAKrmD,MAAzB,iBAAA12C,OAA8C+8F,EAAKnhG,GAAnD,OAII,IAAnBuoJ,EAAQ9kJ,QAAgB8gJ,GAC1B0E,IAGFZ,EAAY/7I,SAAW+7I,EAAY/7I,QAAQC,QAC3Cs8I,GAAe,GACfG,EAAoBa,KAiBpBC,yBAtG+B,kBAAMd,EAAoB,oDCb9Ce,MAhBf,WACE,OACEttJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOijE,SACnCngE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO85B,QACrBh3B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOwnG,OACnC1kG,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOujI,UACnCzgI,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOsjI,aAErCxgI,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOwjI,WCD3C,SAAS6sB,GAAThvJ,GAaG,IAZDkmG,EAYClmG,EAZDkmG,QACAmlD,EAWCrrJ,EAXDqrJ,QACAI,EAUCzrJ,EAVDyrJ,qBACA0B,EASCntJ,EATDmtJ,kBACArB,EAQC9rJ,EARD8rJ,OACAhC,EAOC9pJ,EAPD8pJ,SACAhjD,EAMC9mG,EAND8mG,sBACAgmD,EAKC9sJ,EALD8sJ,oBACAC,EAIC/sJ,EAJD+sJ,cACAC,EAGChtJ,EAHDgtJ,YACAC,EAECjtJ,EAFDitJ,cACAC,EACCltJ,EADDktJ,cAEMhC,EAAgBhlD,EAAQC,KAAKnhG,KAAOiqJ,cAAiBC,OAD1DC,EAaGtD,EAAW,CACb3lD,UACA4lD,SACAhC,aAbAmC,EAHDkD,EAGClD,aACAjD,EAJDmG,EAICnG,UACAe,EALDoF,EAKCpF,WACAV,EAND8F,EAMC9F,eACA+C,EAPD+C,EAOC/C,aACAhC,EARD+E,EAQC/E,aACAoC,EATD2C,EASC3C,oBACAC,EAVD0C,EAUC1C,eACAF,EAXD4C,EAWC5C,iBACAG,EAZDyC,EAYCzC,qBAZD0C,EAkCGxC,EAAW,CACbC,cAAe3mD,EACf4mD,sBACAC,gBACAC,cACAC,gBACAC,gBACAC,oBACArmD,0BAtBAymD,EApBD6B,EAoBC7B,QACAlnD,EArBD+oD,EAqBC/oD,aACAkjD,EAtBD6F,EAsBC7F,cACAvyD,EAvBDo4D,EAuBCp4D,SACA91F,EAxBDkuJ,EAwBCluJ,UACA0sJ,EAzBDwB,EAyBCxB,YACAG,EA1BDqB,EA0BCrB,iBACAV,EA3BD+B,EA2BC/B,YACAY,EA5BDmB,EA4BCnB,kBACAK,EA7BDc,EA6BCd,gBACAC,EA9BDa,EA8BCb,kBACAG,EA/BDU,EA+BCV,kBACAE,EAhCDQ,EAgCCR,iBACAE,EAjCDM,EAiCCN,yBAWI3D,EAAuB1c,OAAOgd,KAA0BvlD,EAAQlhG,GAChEqqJ,EAAal/F,mBAEnBz+C,oBAAU,WACR,GAAIy5I,EAAsB,KAChB7qH,EAAc+uH,EAAW/9I,QAAzBgvB,UACFzB,EAAmBugB,SAAS20B,eAAe,cAAczyC,aAC/D6pH,GAAwBhrH,OAAOC,SAAS,EAAGE,EAAYzB,KAExD,CAACssH,IAeJ,OACE1pJ,EAAAC,EAAAC,cAAA,OAAKE,IAAKwtJ,EAAYpuJ,UAAWtC,IAAOunG,SACtCzkG,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CAAQC,SAAUukC,EAAQC,KAAKxkC,SAAUnuD,KAAM0yF,EAAQC,KAAK3yF,KAAMvS,UAAWtC,IAAOijE,SACpFngE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,UAAWxB,GAAE,iBAAAoE,OAAmB88F,EAAQlhG,KAC7DvD,EAAAC,EAAAC,cAAC2tJ,EAAD,CACEtG,UAAWA,EACXkC,cAAeA,EACfC,qBAAsBA,EACtBC,SAAUllD,EAAQC,KAAK3yF,KACvBm3I,YAAazkD,EAAQn9D,UACrBtlC,QAASwoJ,EACTpC,aAAc,kBAAMuC,GAAa,IACjCtC,SAAUM,EACVt2I,SAAU04I,EACVzC,WAAYA,EACZ/kJ,GAAIkhG,EAAQlhG,GACZqmJ,QAASA,EACTn3C,iBAAkBw4C,EAClBxD,WAAYuD,IAEdhrJ,EAAAC,EAAAC,cAACujG,EAAD,CACE8jD,UAAWA,EACXC,aAAc2F,EACdvoD,aAAcA,EACdmjD,wBAAyB+D,EAAQ9kJ,OACjCygJ,WAAYuD,EACZtD,aAAcoD,EACdnD,eAAgBvjJ,IAAQomJ,GACxB5C,eAAgBA,EAChBC,gBAAiB2E,EACjB1E,cAAeA,EACfE,iBAAkBvoJ,IAEpBO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4uJ,SACpBA,EAAQ1jJ,IA/CG,SAAAs4H,GAAK,OACvB1gI,EAAAC,EAAAC,cAACqtJ,GAAD,CACE9oD,QAASi8B,EACTh5H,IAAKg5H,EAAMn9H,GACXqmJ,SAAO,EACPyB,oBAAqBA,EACrBK,kBAAmByB,EACnB9C,OAAQyC,EACRzE,SAAU4E,EACVjD,qBAAsBA,MAuCjBmC,GACCnsJ,EAAAC,EAAAC,cAAC4tJ,EAAA,EAAD,CACExB,iBAAkBA,EAClByB,qBAAsBV,EACtBnoD,SAAUT,EAAQlhG,GAClByqJ,OAAQnB,EACRoB,SAAUrC,EACVpsJ,UAAWtC,IAAOgxJ,SAClBC,UAAW54D,uCASzBg4D,GAAQprJ,UAAR,GAeeorJ,0BClKf10I,EAAAC,QAAA,CAAkB/T,UAAA,mCAAArH,QAAA,iCAAAL,MAAA,+BAAA8nB,WAAA,oCAAAC,cAAA,uCAAA5T,MAAA,+BAAA8T,UAAA,qDCAlBzM,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA6pD,cAAA,uCAAAnR,iBAAA,0CAAAoR,aAAA,sCAAAC,WAAA,oCAAAC,IAAA,6BAAAvuD,KAAA,gDCAlBqY,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAH,MAAA,+BAAAqW,KAAA,8BAAAg2I,UAAA,mCAAAl1E,SAAA,sDCAlBrgE,EAAAC,QAAA,CAAkB5E,OAAA,gCAAAM,MAAA,+BAAA9J,OAAA,gCAAAwC,OAAA,gCAAAvO,OAAA,gCAAA+V,cAAA,0DCAlBmE,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAspJ,UAAA,mCAAAC,WAAA,oCAAAC,aAAA,sCAAA3kC,SAAA,kCAAAtkF,YAAA,qCAAAkpH,UAAA,qDCAlB31I,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAo7D,OAAA,gCAAAsuF,WAAA,oCAAA9vJ,OAAA,gCAAAgqG,MAAA,+BAAAlsB,IAAA,+CCAlB5jE,EAAAC,QAAA,CAAkBxV,QAAA,iCAAAmI,KAAA,8BAAA1J,MAAA,+BAAA+mJ,cAAA,uCAAAC,kBAAA,2CAAA90I,QAAA,mDCAlB4E,EAAAC,QAAA,CAAkBpO,OAAA,gCAAA7I,MAAA,+BAAAu1B,eAAA,wCAAAnlB,YAAA,qCAAA8oI,cAAA,uCAAA5xH,WAAA,oCAAA3oB,KAAA,kDCAlBqY,EAAAC,QAAA,CAAkBwZ,YAAA,qCAAAE,SAAA,kCAAAV,WAAA,oCAAAitC,UAAA,mCAAAC,UAAA,mCAAAnf,WAAA,oCAAAliD,KAAA,gDCAlBkb,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA2pJ,OAAA,gCAAArjC,KAAA,8BAAAz6C,UAAA,mCAAA+9E,WAAA,oCAAAh+E,WAAA,sDCAlB93D,EAAAC,QAAA,CAAkB81I,cAAA,uCAAAttF,YAAA,qCAAAx1B,YAAA,qCAAA9+B,aAAA,sCAAA+zD,aAAA,sCAAAC,YAAA,qCAAA6tF,gBAAA,yCAAAC,aAAA,sCAAA7tF,eAAA,wCAAAM,YAAA,uDCAlB1oD,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA8F,eAAA,wCAAAmlD,SAAA,kCAAAjuD,MAAA,+BAAAgnF,OAAA,gCAAA9mF,YAAA,qCAAAm1B,eAAA,0DCAlBve,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAi+D,OAAA,gCAAA3/D,KAAA,8BAAAuB,MAAA,+BAAAE,YAAA,qCAAA4hG,QAAA,iCAAA7hG,QAAA,sDCAlB6W,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAlD,MAAA,+BAAAktJ,WAAA,oCAAA7sF,QAAA,iCAAApiE,WAAA,oCAAAU,KAAA,8BAAAi9C,iBAAA,8DCAlB5kC,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAvvD,KAAA,8BAAAH,MAAA,+BAAAujE,QAAA,iCAAA15D,KAAA,8BAAAusE,WAAA,oCAAA4Q,OAAA,gCAAAlnF,MAAA,iDCAlBgX,EAAAC,QAAA,CAAkBk3C,SAAA,kCAAA5Z,QAAA,iCAAA8/B,gBAAA,2DCAlBr9D,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAuqE,qBAAA,8CAAA0f,gBAAA,yCAAAxxF,KAAA,8BAAAwE,QAAA,iCAAAgtJ,yBAAA,kDAAAC,SAAA,oDCAlBp2I,EAAAC,QAAA,CAAkBjX,MAAA,+BAAAE,MAAA,+BAAAC,QAAA,iCAAAktJ,gBAAA,yCAAA1xJ,KAAA,6UCKlB,IAAM2xJ,EAAuB,CAC3B5rJ,GAAIm0D,IACJ03F,YAAa13F,IACb23F,cAAe/lJ,IAAU8E,OACzBkhJ,aAAchmJ,IAAU8E,OACxBmhJ,cAAejmJ,IAAU8E,OACzBohJ,cAAelmJ,IAAU8E,OACzBrM,MAAOuH,IAAU8E,OACjBigE,SAAU/kE,IAAU8E,OACpB6I,IAAK3N,IAAU8E,OACfqhJ,iBAAkBnmJ,IAAU8E,OAC5B4W,UAAW1b,IAAU48D,MAGjBwpF,EAAYpmJ,IAAU6tD,MAAM,CAChC5zD,GAAI+F,IAAUguD,OACdq4F,WAAYrmJ,IAAU8E,OACtBrM,MAAOuH,IAAU8E,OACjB6I,IAAK3N,IAAU8E,SAGS9E,IAAU6tD,MAAMg4F,GAEX7lJ,IAAU6tD,MAAVh3D,EAAA,GAC1BgvJ,EAD0B,CAE7BS,QAAStmJ,IAAU8E,OACnByU,MAAOvZ,IAAU8E,OACjByhJ,MAAOvmJ,IAAUiuD,QAAQm4F,MAGFpmJ,IAAUC,MAAM,CAAC+3E,IAAUF,QAASE,IAAUD,gwCChBxD7lC,IAlBf,SAA2Bj8B,EAAc3C,GAAO,IAAA1N,EAAAC,EAClBC,mBAASmQ,GADS,GACvC/L,EADuCtE,EAAA,GAC/BsQ,EAD+BtQ,EAAA,GAW9C,MAAO,CACLsE,SACAs8I,SANe,WACftwI,EAAUD,IAMVo8B,aAXmB,SAACj0C,GACpB8X,EAAU,SAAAkjB,GAAS,OAAAviC,EAAA,GAAWyc,GAAS8lB,wHAApBjxB,CAAA,GAAiC/J,GAAOg7B,EAAUh7B,uGCClE,SAASqoJ,EAAmBn9D,GAGjC,OAFiBA,EAAS,IAAM,IAAxBhnF,MAEO,GCVjB9K,EAAAC,EAAAC,EAAA,sBAAAgvJ,IAAAlvJ,EAAAC,EAAAC,EAAA,sBAAAivJ,IAMO,IAAMl9D,EAAY,SAACrsB,EAAcwpF,GACtC,IAAMC,EDPD,SAA0BzpF,EAAcwpF,GAC7C,MAAO,CAAC,CACNxpF,eACAtU,SAAU89F,ICIQE,CAAiB1pF,EAAcwpF,GAEnD,OAAOv9D,YAA+Bw9D,GACnC34I,KAAKu4I,IAGGM,EAAgB,SAAC3pF,EAAcwpF,GAAf,OAC3BI,YAAe5pF,EAAc,CAACwpF,IAC3B14I,KAAK,SAAAo7E,GAAQ,OAAI29D,YAA6B39D,EAAUs9D,yBCd7Dr3I,EAAAC,QAAA,CAAkB4lF,IAAA,6BAAAh0F,OAAA,gCAAA3I,MAAA,+BAAAvE,KAAA,8BAAAwE,QAAA,mDCAlB6W,EAAAC,QAAA,CAAkB2lG,UAAA,mCAAA+xC,YAAA,wDCAlB33I,EAAAC,QAAA,CAAkBtH,MAAA,+BAAA9T,QAAA,iCAAAI,MAAA,+BAAA6T,QAAA,mDCAlBkH,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAmmF,OAAA,gCAAAw4B,QAAA,iCAAA75G,KAAA,8BAAAlL,OAAA,mDCAlBka,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAq0G,aAAA,sCAAAlsG,OAAA,gCAAA88E,QAAA,iCAAAqvB,cAAA,6DCAlBxgG,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAwI,OAAA,gCAAA3I,MAAA,+BAAAqW,KAAA,8BAAAlL,OAAA,gCAAAujJ,QAAA,u6CCyBlB,SAASl6C,EAATh4G,GAgBG,IAkBO68G,EAMAH,EAvCRz7G,EAeCjB,EAfDiB,UACAkxJ,EAcCnyJ,EAdDmyJ,SACApzE,EAaC/+E,EAbD++E,aACAqzE,EAYCpyJ,EAZDoyJ,cACAC,EAWCryJ,EAXDqyJ,UACAC,EAUCtyJ,EAVDsyJ,YACAC,EASCvyJ,EATDuyJ,WACAC,EAQCxyJ,EARDwyJ,SACAC,EAOCzyJ,EAPDyyJ,mBACAx/D,EAMCjzF,EANDizF,WACA5lF,EAKCrN,EALDqN,KACAg7E,EAICroF,EAJDqoF,cACAi3B,EAGCt/G,EAHDs/G,gBACAozC,EAEC1yJ,EAFD0yJ,kBACA3lJ,EACC/M,EADD+M,UAEM4lJ,EAAwC,IAAtBJ,EAAW9pJ,OAC5BmqJ,EAFNhiJ,EAEmB2hJ,EAFnB,MAAApoI,EAGkEpJ,cAA9C8xI,EAHpB1oI,EAGO9T,YAAyCsmG,EAHhDxyF,EAGmC7T,YAEpC,SAASw8I,EAAeC,GACtB,OAAO,WACLC,YAAgBD,EAAWP,GAC3B71C,KAIJ,SAASs2C,IACP,OAAO3zC,IACJrmG,KAAK0jG,GA0DV,OACEl7G,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CAAiBjyJ,UAAWA,GAC1BQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOw6H,aACrB13H,EAAAC,EAAAC,cAACmzF,EAAA,EAAD,CACEv0F,MAAM,QACNE,KAAK,QACLyW,gBAAiBvY,IAAOs8G,aACxBhoB,WAAYA,EACZ/xF,UAAWmnF,EACXh7E,KAAMA,EACN6nF,UAAQ,IAGTi9D,GACC1wJ,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACEG,UAAU,eACV7I,UAAWtC,IAAO8sF,QAClBhoF,SAvEFo5G,EAAoB,CACxB11G,YAAY,EACZE,qBAAqB,EACrB9G,MAAO,QACPU,UAAWtC,IAAOM,MAEdy9G,EAAW,CACfT,QAAO,GAAA7yG,OAAKipJ,EAAL,qBACPx4I,KAAI,GAAAzQ,OAAK+pJ,YAAmBb,GAAxB,OAAAlpJ,OAA0C+oJ,IAI9C1wJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk6B,gBACrBp3B,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO0+G,cAAtB,eACA57G,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNN,QAASgzJ,EACThyJ,UAAWtC,IAAOM,KAClBoB,SAAUqyJ,GAJZ,WAQAjxJ,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMi7G,EADN,CAEE31G,KAAM81G,YAA2Bm1C,EAAUE,GAC3CpyJ,QAAS6yJ,EAAe/1C,OAH1B,YAOAt7G,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMi7G,EADN,CAEE31G,KAAMg2G,YAAoB,CAAEj+G,KAAMkzJ,EAAU7mJ,KAAM+mJ,IAClDpyJ,QAAS6yJ,EAAe71C,OAH1B,WAOAx7G,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMi7G,EADN,CAEE31G,KAAMksJ,YAAqBjB,GAC3BlyJ,QAAS6yJ,EAAeO,OAH1B,YAOA5xJ,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACMi7G,EADN,CAEE31G,KAAMk2G,YAAmBV,GACzBz8G,QAAS6yJ,EAAe31C,OAH1B,WA6BI58G,MAAM,QACNwJ,aAAW,EACX0zG,eAAgBd,EAChBY,QAASs1C,GAETpxJ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOy6H,cACtB33H,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,QACLQ,UAAWtC,IAAOs8G,aAClBh7G,QAAS08G,GAJX,YAaN81C,GAAsBE,IAAoBP,GAC1C3wJ,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CACEn0E,aAAcA,EACd/5E,GAAI4tJ,EACJ7lJ,UAAWA,KAOrBirG,EAAOtxG,aAAe,CACpB6rJ,WAAY,IAGdv6C,EAAOp0G,UAAP,GAuBeo0G,8PC5Kf,SAASs7C,EAATtzJ,GAsBG,IArBD2D,EAqBC3D,EArBD2D,KACA0lB,EAoBCrpB,EApBDqpB,SACAtc,EAmBC/M,EAnBD+M,UACAwmJ,EAkBCvzJ,EAlBDuzJ,YACAx0E,EAiBC/+E,EAjBD++E,aACAqzE,EAgBCpyJ,EAhBDoyJ,cACAoB,EAeCxzJ,EAfDwzJ,aACAC,EAcCzzJ,EAdDyzJ,qBACAhtI,EAaCzmB,EAbDymB,UACA+rI,EAYCxyJ,EAZDwyJ,SACA5rE,EAWC5mF,EAXD4mF,gBACA6rE,EAUCzyJ,EAVDyyJ,mBACAnrE,EASCtnF,EATDsnF,oBACA2L,EAQCjzF,EARDizF,WACA5lF,EAOCrN,EAPDqN,KACAg7E,EAMCroF,EANDqoF,cACAi3B,EAKCt/G,EALDs/G,gBACAozC,EAIC1yJ,EAJD0yJ,kBACAlqE,EAGCxoF,EAHDwoF,yBACAphF,EAECpH,EAFDoH,aACAuhF,EACC3oF,EADD2oF,SAEA,GAAI74E,IAAQnM,GACV,OAAO,KAFR,IAKO8kF,EAAgD9kF,EAAhD8kF,QAASjlF,EAAuCG,EAAvCH,MAAO0D,EAAgCvD,EAAhCuD,KAAMwH,EAA0B/K,EAA1B+K,UAAW6jJ,EAAe5uJ,EAAf4uJ,WAEnCmB,GAAsBrqI,GAC1B5nB,EAAAC,EAAAC,cAACuxJ,EAAA,EAADS,EAAA,CAAWzsE,UAAQ,GAAKx4E,IAGpBklJ,EAAmB,CACvBtxG,OAAQxyC,IAAQ2jJ,GACZhrE,EACAorE,YAAiBprE,EAASgrE,IAG1BK,EAAcrrE,GAAW8qE,GAC7B9xJ,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOo1J,YAAavxG,wBAAyBoxG,IAG7D,OACEnyJ,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CAAUtsE,gBAAiBA,EAAiB9yE,SAAU0/I,EAAc/sI,UAAWA,GAC7EhlB,EAAAC,EAAAC,cAACuxJ,EAAA,EAADS,EAAA,GACMhwJ,EADN,CAEEykF,eAAa,EACb35E,aAAcilJ,EACdrqI,SAAUA,EACV01D,aAAcA,EACduI,oBAAqBA,EACrBlgF,aAAcA,EACdiG,KAAMA,EACNg7E,cAAeA,EACfG,yBAA0BA,EAC1B95E,UAAWA,EACX+5E,QAASqrE,EACTnrE,SAAUA,EACVx0B,aAAW,KAGb1yD,EAAAC,EAAAC,cAAC42G,EAAD,CACE45C,SAAUjrJ,EACVmrJ,UAAW7uJ,EACX8uJ,YAAa7pE,EACb/5E,UAAWA,EACX6jJ,WAAYA,EACZH,cAAeA,EACfrzE,aAAcA,EACdyzE,SAAUA,EACVC,mBAAoBA,EACpBx/D,WAAYA,EACZ5lF,KAAMA,EACNg7E,cAAeA,EACfi3B,gBAAiBA,EACjBozC,kBAAmBA,EACnB3lJ,UAAWA,KAMnBumJ,EAAM5sJ,aAAe,CACnB4gF,qBAAqB,EACrBlgF,cAAc,GAGhBksJ,EAAM1vJ,UAAN,GAwBe0vJ,6DCzHf,SAASU,EAATh0J,GAAwC,IAAnBi0J,EAAmBj0J,EAAnBi0J,MAAO5qI,EAAYrpB,EAAZqpB,SAClB7lB,EAAuCywJ,EAAvCzwJ,MAAOukF,EAAgCksE,EAAhClsE,YAAaz5E,EAAmB2lJ,EAAnB3lJ,OAAQwrD,EAAWm6F,EAAXn6F,OAC5BxrB,EAAYwrB,EAAZxrB,QAER,OACE7sC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOu1J,gBACpB5lH,GAAW7sC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0P,MAAOwrB,IAAKyU,EAASxU,IAAI,oBAC5Dr4B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2N,gBACrB7K,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQA,GAC9B/B,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CACE5kJ,OAAQA,EACRwrD,OAAQA,EACR74D,UAAWtC,IAAOm7D,OAClBiuB,YAAaA,EAAYosE,SAG3B9qI,GAAY5nB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOopF,aAAcA,EAAYosE,OAKtEH,EAAUpwJ,UAAV,GAKeowJ,knBCnBf,SAASI,EAATp0J,GAWG,IAVDq0J,EAUCr0J,EAVDq0J,aACAhrI,EASCrpB,EATDqpB,SACAtc,EAQC/M,EARD+M,UACAgyE,EAOC/+E,EAPD++E,aACAy0E,EAMCxzJ,EANDwzJ,aACA/sI,EAKCzmB,EALDymB,UACAmgE,EAIC5mF,EAJD4mF,gBACAU,EAGCtnF,EAHDsnF,oBACAsC,EAEC5pF,EAFD4pF,cACAxiF,EACCpH,EADDoH,aAEQktJ,EAA4CD,EAA5CC,QAAS1B,EAAmCyB,EAAnCzB,UAAc2B,EAD9BjzJ,EACmD+yJ,EADnD,yBAEKG,EAAiBt8G,IAAMo8G,EAAS,EAAG,GAYzC,OACE7yJ,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CAAUtsE,gBAAiBA,EAAiB9yE,SAAU0/I,EAAc/sI,UAAWA,GAC7EhlB,EAAAC,EAAAC,cAACuxJ,EAAA,EAADuB,EAAA,GACMF,EADN,CAEElrI,SAAUA,EACVpoB,UAAWtC,IAAOwN,OAClBm7E,oBAAqBA,EACrBlgF,aAAcA,KAEhB3F,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+1J,kBACpB9mI,IAAI4mI,EApBX,SAAqBP,EAAOtrJ,GAC1B,OACElH,EAAAC,EAAAC,cAACgzJ,EAAD,CACExrJ,IAAG,SAAAC,OAAWT,GACdsrJ,MAAOA,EACP5qI,SAAUA,OAiBZ5nB,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CAAiBjyJ,UAAWtC,IAAOgQ,QACjClN,EAAAC,EAAAC,cAACuxJ,EAAA,EAAD,CACEluJ,GAAI4tJ,EACJ7zE,aAAcA,EACduI,oBAAqBA,EACrBsC,cAAeA,EACf78E,UAAWA,EACX3F,aAAcA,MAOxBgtJ,EAAa1tJ,aAAe,CAC1B4gF,qBAAqB,EACrBlgF,cAAc,GAGhBgtJ,EAAaxwJ,UAAb,GAaewwJ,4+BC7Ef,SAASQ,EAAT50J,GAoBG,IAnBD2D,EAmBC3D,EAnBD2D,KACA4vJ,EAkBCvzJ,EAlBDuzJ,YACAx0E,EAiBC/+E,EAjBD++E,aACA11D,EAgBCrpB,EAhBDqpB,SACAtc,EAeC/M,EAfD+M,UACA0mJ,EAcCzzJ,EAdDyzJ,qBACAD,EAaCxzJ,EAbDwzJ,aACA/sI,EAYCzmB,EAZDymB,UACA+rI,EAWCxyJ,EAXDwyJ,SACA5rE,EAUC5mF,EAVD4mF,gBACA6rE,EASCzyJ,EATDyyJ,mBACAnrE,EAQCtnF,EARDsnF,oBACAsC,EAOC5pF,EAPD4pF,cACAvB,EAMCroF,EANDqoF,cACA4K,EAKCjzF,EALDizF,WACAy/D,EAIC1yJ,EAJD0yJ,kBACApzC,EAGCt/G,EAHDs/G,gBACA92B,EAECxoF,EAFDwoF,yBACAphF,EACCpH,EADDoH,aAEQwrJ,EAA6CjvJ,EAA7CivJ,UAAiB0B,EAA4B3wJ,EAAlCiC,KAAeyH,EAAmB1J,EAAnB0J,KAAMs7E,EAAahlF,EAAbglF,SADvCljF,EAAAovJ,EAEmCP,GAAW,IAAxCQ,EAFNrvJ,EAAA,GAEoBsvJ,EAFpBtvJ,EAAAmE,MAAA,GAIKsK,EAAc,CAClBmV,WACAtc,YACAgyE,eACAy0E,eACA/sI,YACAmgE,kBACAU,sBACAlgF,gBAGI4tJ,EAAWC,EAAA,GACZ/gJ,EADY,CAEfq/I,cACAE,uBACAjB,WACAC,qBACApqE,gBACA4K,aACAy/D,oBACApzC,kBACA32B,WACAH,2BACAn7E,SAOF,IAAKulJ,EACH,OAAOnxJ,EAAAC,EAAAC,cAACuzJ,EAADD,EAAA,GAAeD,EAAf,CAA4BrxJ,KAAMA,KAG3C,IAAKmM,IAAQilJ,GAAc,CACzB,IAAMV,EAAYY,EAAA,CAAKrC,aAAckC,EAAnB,CAA8BR,QAASS,IAEzD,OACEtzJ,EAAAC,EAAAC,cAACwzJ,EAADF,EAAA,GACM/gJ,EADN,CAEEmgJ,aAAcA,EACdzqE,cAfN,WACEA,EAAc0qE,OAmBhB,OAAO7yJ,EAAAC,EAAAC,cAACuzJ,EAADD,EAAA,GAAeD,EAAf,CAA4BrxJ,KAAMmxJ,KAG3CF,EAAcluJ,aAAe,CAC3BkgF,iBAAiB,EACjB6rE,oBAAoB,EACpBnrE,qBAAqB,EACrBlgF,cAAc,GAGhBwtJ,EAAchxJ,UAAd,GAyBegxJ,mCCxFAplI,MAnBf,WAOE,OACE/tB,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAO6H,WACzB/E,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO+wB,cAArB,+DAEEjuB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOgX,UATrB/J,MAAM,GACVC,KAAK,GACLhC,IAAI,SAACiC,EAAGnD,GAAJ,OAAclH,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAA0BrmB,IAAG,QAAAC,OAAUT,SCThEpG,EAAAC,EAAAC,EAAA,sBAAAyyJ,IAAA3yJ,EAAAC,EAAAC,EAAA,sBAAA0yJ,IAAA5yJ,EAAAC,EAAAC,EAAA,sBAAA2yJ,IAAA7yJ,EAAAC,EAAAC,EAAA,sBAAA6+E,sBCCAhnE,EAAAC,QAAA,CAAkB86C,YAAA,qCAAApzD,KAAA,8BAAAmlC,MAAA,+BAAA6F,OAAA,gCAAAnuC,MAAA,+BAAAK,QAAA,mDCAlBmb,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA9G,MAAA,+BAAAsK,cAAA,uCAAAP,cAAA,uCAAAR,cAAA,uCAAAC,YAAA,yDCAlBoR,EAAAC,QAAA,CAAkB86I,uBAAA,gDAAA39E,eAAA,wCAAAvrE,OAAA,gCAAA0N,KAAA,8BAAAy7I,aAAA,wDCAlBh7I,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAkwG,IAAA,6BAAAjzG,QAAA,iCAAAD,MAAA,+BAAAkV,IAAA,6BAAAhV,YAAA,uDCAlB4W,EAAAC,QAAA,CAAkBjX,MAAA,+BAAAxE,MAAA,+BAAAU,OAAA,gCAAAmiB,OAAA,gCAAAE,MAAA,+BAAAC,OAAA,kDCAlBxH,EAAAC,QAAA,CAAkBixI,WAAA,oCAAAC,qBAAA,8CAAAt/I,OAAA,gCAAAi/I,SAAA,kCAAAM,YAAA,qCAAAxkF,KAAA,8BAAAzjE,QAAA,sDCAlB6W,EAAAC,QAAA,CAAkBkxE,QAAA,iCAAA8pE,cAAA,uCAAAr2G,iBAAA,0CAAAs2G,oBAAA,6CAAAC,aAAA,sCAAAC,YAAA,wDCAlBp7I,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAhD,MAAA,+BAAAE,YAAA,qCAAAJ,MAAA,+BAAA+qB,WAAA,oCAAA/iB,KAAA,8BAAA2J,OAAA,kDCAlBqF,EAAAC,QAAA,CAAkB8yF,UAAA,mCAAA/hG,KAAA,8BAAA2pB,UAAA,mCAAAC,QAAA,iCAAAy4E,cAAA,0DCAlBrzF,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA2F,OAAA,gCAAAk4F,UAAA,mCAAA+6C,YAAA,qCAAA3wG,YAAA,qCAAAjrC,MAAA,iDCAlB8W,EAAAC,QAAA,CAAkBoyE,OAAA,gCAAAnpF,MAAA,+BAAAuB,QAAA,iCAAAsf,OAAA,gCAAApiB,KAAA,8BAAAqB,MAAA,iDCAlBgX,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAmvJ,WAAA,oCAAAC,oBAAA,6CAAAC,kBAAA,2CAAAC,uBAAA,kECAlBx7I,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAypB,SAAA,kCAAA0wG,eAAA,wCAAAxpF,UAAA,mCAAA2iE,YAAA,qCAAAp6G,MAAA,iDCAlB4a,EAAAC,QAAA,CAAkBkR,SAAA,kCAAAsqI,QAAA,iCAAA31J,OAAA,gCAAAopB,UAAA,wDCAlBlP,EAAAC,QAAA,CAAkB25I,eAAA,wCAAA7lJ,MAAA,+BAAA/B,eAAA,wCAAA9I,MAAA,+BAAAs2D,OAAA,gCAAAiuB,YAAA,wDCAlBztE,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAvvD,KAAA,8BAAAk0C,QAAA,iCAAAvrC,eAAA,wCAAA9I,MAAA,+BAAAE,YAAA,qCAAAqlH,OAAA,qDCAlBzuG,EAAAC,QAAA,CAAkB9W,QAAA,iCAAAs4G,KAAA,8BAAAi6C,aAAA,sCAAAtiJ,YAAA,qCAAAuiJ,iBAAA,gFCDlB,IAAA70I,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAA80I,GAAA3zJ,EAAA,GAAAA,EAAA,OAAAif,EAAAjf,EAAA,KAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMA,SAAS20I,EAATn2J,GAA2C,IAArB0D,EAAqB1D,EAArB0D,YAAakC,EAAQ5F,EAAR4F,KACjC,OACEyb,EAAA3f,EAAAC,cAAA,WACG+B,GAAe2d,EAAA3f,EAAAC,cAAA,SAAI+B,GAEpB2d,EAAA3f,EAAAC,cAAA,SAAOV,UAAWtC,IAAOshH,mBACvB5+F,EAAA3f,EAAAC,cAAA,aACE0f,EAAA3f,EAAAC,cAAA,UACE0f,EAAA3f,EAAAC,cAAA,oBACA0f,EAAA3f,EAAAC,cAAA,qBAGJ0f,EAAA3f,EAAAC,cAAA,aACGiE,EAAKiE,IAAI,SAAAtE,EAA2BoD,GAA3B,IAAGytJ,EAAH7wJ,EAAG6wJ,OAAQC,EAAX9wJ,EAAW8wJ,aAAX,OACRh1I,EAAA3f,EAAAC,cAAA,MAAIwH,IAAG,GAAAC,OAAKgtJ,EAAL,KAAAhtJ,OAAeT,IACpB0Y,EAAA3f,EAAAC,cAAA,UAAKy0J,GACL/0I,EAAA3f,EAAAC,cAAA,UAAK00J,SASnBF,EAAWzvJ,aAAe,CACxBhD,YAAa,+EACbkC,KAAM0wJ,KAGRH,EAAWvyJ,UAAX,GAKeuyJ,yLC2BAx3J,EA3DA+tC,aAAWC,OAAO,CAC/B4pH,wBAAyB,CACvBvoH,QAAS,OACT1qB,eAAgB,aAChB6pB,WAAY,SACZD,cAAe,MACfU,SAAU,KAEZ4oH,eAAgB,CACdxoH,QAAS,OACT1qB,eAAgB,aAChB4pB,cAAe,MACfoF,SAAU,OACVnF,WAAY,SACZE,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,uBAET+7I,YAAa,CACXppH,SAAU,EACVd,WAAY,IACZ5nB,MAAO7J,cACP6I,cAAe,GAEjB+yI,iBAAkB,CAChB/yI,cAAe,EACfJ,aAAc,EACd8pB,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,uBAETi8I,QAAS,CACPhmH,gBAAiB11B,mBACjBiJ,OAAQ,EACRlB,aAAc,EACduB,QAAS,UACT2uB,WAAY,GAEd0jH,iBAAkB,CAChB1jH,WAAY,OACZlF,QAAS,OACTd,cAAe,MACf5pB,eAAgB,YAElByiC,SAAU,CACRpiC,cAAe,EACf0pB,SAAU,EACV6F,WAAY,IAEdqpC,cAAe,CACblvC,SAAU,EACV6F,WAAY,GACZvuB,MAAOhJ,0BAET2zB,UAAW,CACT3rB,cAAe,qCCtDnB,IAEakzI,EAAgB,SAAA3vJ,GAAI,OAAI,SAACgG,EAAMvE,GAAU,IAC5CrF,EAAU4J,EAAV5J,MAER,GAAIuC,IAAQvC,GACV,OAAO,KAET,IAAM61B,EAAO,GAAA/vB,OAAM9F,EAAN,KAAA8F,OAAeT,GAE5B,OACElH,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAKgwB,EAASU,IAAK3yB,GACvBzF,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEjnH,UAAWlxC,EAAO83J,YAClBpzJ,MAAO+0C,IAAS90C,EAAO,CAAEmF,OAdd,KAeX4Z,MAAO1jB,EAAOg4J,aAMtB,SAASI,EAAT/2J,GAMG,IALDg3J,EAKCh3J,EALDg3J,KACAC,EAICj3J,EAJDi3J,uBACAC,EAGCl3J,EAHDk3J,6BACAC,EAECn3J,EAFDm3J,mBACAC,EACCp3J,EADDo3J,cACC7xJ,EAKGyxJ,GAAQ,GAHVK,EAFD9xJ,EAEC8xJ,aACAC,EAHD/xJ,EAGC+xJ,eAHDld,EAAA70I,EAIC8H,YAJD,IAAA+sI,EAIQ,GAJRA,EAOKmd,EAAcv/G,IAAK3qC,GACnBmqJ,EAAqBL,GAAsBI,EAAcp/G,IAE/D,OACE12C,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGyvJ,GACC11J,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEz0I,MAAO1jB,EAAO43J,wBACd/mH,WAAY7wC,EAAO+3J,iBACnBhkH,UAAW/zC,EAAO63J,eAClBlzJ,MAAM,QACNqvC,WAAS,GAER/kB,IAAIsqB,IAAM7qC,EAAM,EAAG8qC,KAAsB0+G,EAAcS,KAG5D71J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOi4J,kBACjBY,GACC/1J,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEzzJ,MAAK,YAAA+F,OAAcmuJ,EAAd,sBACLrwJ,KAAMowJ,EACNhoH,UAAW3wC,EAAOonD,SAClBvW,WAAY7wC,EAAO2wC,YAGtB2nH,GACCx1J,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEzzJ,MAAO+zJ,EACPlwJ,KAAMmwJ,EACN/nH,UAAW3wC,EAAOonD,SAClBvW,WAAY7wC,EAAO2wC,UACnBC,eAAgB5wC,EAAO49E,gBAI1B26E,GACCz1J,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEzzJ,MAAM,4BACN6D,KAAMowJ,EACNhoH,UAAW3wC,EAAOonD,SAClBvW,WAAY7wC,EAAO2wC,UACnBC,eAAgB5wC,EAAO49E,kBAQnCw6E,EAAWrwJ,aAAe,CACxB0wJ,cAAe,aAGjBL,EAAWnzJ,UAAX,GAQemzJ,oCCzGf,IAAA31I,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAm2I,EAAAl1J,EAAA,GAAAgqG,EAAAhqG,EAAA,MAAAiqG,EAAAjqG,EAAAsI,EAAA0hG,GAQMntE,EAAS,CACbjgC,QAASR,IAAO+4J,WAChBprC,KAAM3tH,IAAOg5J,WAGf,SAASprB,EAATvsI,GAWG,IAVDK,EAUCL,EAVDK,SACAqsI,EASC1sI,EATD0sI,cACAzuD,EAQCj+E,EARDi+E,UACAuuD,EAOCxsI,EAPDwsI,SACAC,EAMCzsI,EANDysI,UACAxsI,EAKCD,EALDC,QACAgV,EAICjV,EAJDiV,OACAhU,EAGCjB,EAHDiB,UACAiW,EAEClX,EAFDkX,gBACA3W,EACCP,EADDO,MAEA,IAAK09E,EACH,OAAO,KAGT,IAAMsD,EAAiBz/E,IACrB,MACAmT,EAAS,uBAAyB,yBAClCtW,IAAOsD,MAGH21J,EAAev2I,EAAA3f,EAAAC,cAAA,KAAGV,UAAWsgF,IAC7BhxB,EAAat7C,EAASw3H,EAAYD,EAgBxC,OACEnrH,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO0iI,SAAUjiG,EAAO7+B,GAAQU,IACzDogB,EAAA3f,EAAAC,cAAC81J,EAAA,EAAD,CACEl3J,MAAM,QACNN,QAASA,EACTI,SAAUA,EACVY,UAAWa,IAAWnD,IAAOyB,OAAQ8W,IAnBrCw1H,GAKFrrH,EAAA3f,EAAAC,cAACyf,EAAA,SAAD,KACGw2I,EACArnG,EACAqnG,KAmBTrrB,EAAe7lI,aAAe,CAC5Bu3E,WAAW,EACXhpE,QAAQ,EACRu3H,SAAU,YACVC,UAAW,YACXlsI,MAAO,WAGTgsI,EAAe3oI,UAAf,GAmBe2oI,gICtFf,SAASsrB,EAAT73J,GAAyE,IAApDgF,EAAoDhF,EAApDgF,GAAIiiB,EAAgDjnB,EAAhDinB,OAAQ4G,EAAwC7tB,EAAxC6tB,MAAO67E,EAAiC1pG,EAAjC0pG,SAAU51F,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UACpD62J,EAAeC,IAAOlqI,EAAO,YAC7BpH,EAAY61D,IAAKr1D,KAAYq1D,IAAKw7E,GAMxC,OACEE,EAAAt2J,EAAAC,cAACs2J,EAAA,EAAD,CACExxI,UAAWA,EACXnjB,MAAM,sBACNwQ,SARoB,SAAAvO,GAA6B,IAAhBuhB,EAAgBvhB,EAA1BgC,OAAUuf,QACnChT,EAAS9O,EAAI8hB,EAAUoxI,IAAIJ,EAAcpuD,GAAY,KAQnDzoG,UAAWA,IAKjB42J,EAAUj0J,UAAV,GAYei0J,oCCrCft1J,EAAAC,EAAAC,EAAA,sBAAA01J,IAAA51J,EAAAC,EAAAC,EAAA,sBAAA21J,IAAO,IAAMD,EAAmB,SAEnBC,EAAmB,goDCOjB,SAASC,EAAcxuJ,GAAK,IAAA8G,EAAAC,EACSC,mBAAS,IADlB,GAClCynJ,EADkC3nJ,EAAA,GACf4nJ,EADe5nJ,EAAA,GAAA+I,EAAA9I,EAEXC,oBAAS,GAFE,GAElC2nJ,EAFkC9+I,EAAA,GAEzB++I,EAFyB/+I,EAAA,GAyCzC,MAAO,CACLg/I,aAtCF,WACE/yI,IAAgB9F,QAAQ,SAAC84I,GACvB9uJ,EAAImhE,UAAU2tF,EAAO/yI,QAqCvBs9G,WA7BF,WAA0D,IAClDjzH,EALR,SAAmB2oJ,GACjB,MAAO,CAAC,KAAM,CAAC,MAAO,QAASA,GAIhBC,CADyC3nJ,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAnBuU,IAAarmB,MAG9CsuB,EAAO9rB,EAAA,GAAQ02J,GAEnBzyI,IAAOhG,QAAQ,SAAC84I,GACd,UAAMG,EAAejvJ,EAAIgvJ,UAAUF,GAE9BH,GAAY9qI,EAAQirI,KAAUG,IACjCprI,EAAO9rB,EAAA,GACF8rB,KACMorI,KAARH,OAFI,+FAMT,IAAMI,EAAe,CAACrrI,EAAQirI,GAAQ1oJ,GAAQA,OAAO,SAAC/C,GAAD,QAAYA,IAEjEurJ,GAAW,GAEP5uJ,GACFA,EAAImhE,UAAU2tF,EAAd,CAAsB,OAAtBvvJ,OAAA6W,EAAgC84I,OAIpCR,EAAqB7qI,0rCCiDVu1G,IAxFf,SAAAjjI,GAWG,IAVD6iI,EAUC7iI,EAVD6iI,OACAj9H,EASC5F,EATD4F,KACAk9H,EAQC9iI,EARD8iI,eACAva,EAOCvoH,EAPDuoH,eACAywC,EAMCh5J,EANDg5J,eACAp3C,EAKC5hH,EALD4hH,YACAtB,EAICtgH,EAJDsgH,aACAn5E,EAGCnnC,EAHDmnC,OACA8xH,EAECj5J,EAFDi5J,iBAECC,EAAAl5J,EADDm5J,YACC,IAAAD,EADM,EACNA,EAAAvoJ,EAAAyoJ,EACqBvoJ,mBAAS,MAD9B,GACMhH,EADN8G,EAAA,GACW0oJ,EADX1oJ,EAAA,GAAA+I,EAAA0/I,EAEyCvoJ,mBAASiyH,GAFlD,GAEMjiB,EAFNnnG,EAAA,GAEqB4/I,EAFrB5/I,EAAA,GAAA6/I,EAGoClB,EAAcxuJ,GAA3C6uJ,EAHPa,EAGOb,aAAcx1B,EAHrBq2B,EAGqBr2B,WAChBs2B,EAAoB,IAAIlwF,SAASmwF,kBACjCC,EAAoB,IAAIpwF,SAASqwF,kBA+DvC,OATAjoJ,oBAlCA,WAME,IAAIyxH,EALAt5H,GACFA,EAAI0qE,SAGNjL,SAASswF,YAAc7zI,IAAI8zI,kBAG3B,IAAMC,EAAW,CACftzJ,UAAWq8H,EAAOvxH,QAClB+Q,MAAOiD,IACP6zI,OACAhyH,UAGF,GAAI07F,EAAOvxH,UAAYgvG,EACrB,IACE6iB,EAAc,IAAI75D,SAAS6+C,IAAI2xC,GAE/BvxC,GA3BN,SAA6B4a,GAC3BA,EAAY42B,WAAWP,GA0BDQ,CAAoB72B,GACtC61B,GAxBN,SAA0B71B,GACxBA,EAAY42B,WAAWL,GAuBDO,CAAiB92B,GACnCk2B,EAAOl2B,GACPm2B,EAAiBx2B,GACjB,MAAOt9H,GAEPs+E,IAAeD,gBAAgB,CAAEE,MAAO,QAASltE,QADjC,gEAGZspB,OAAO+5H,QACT/5H,OAAO+5H,OAAOC,eAAe30J,KAMlB,CAACI,IAEpB8L,oBAAU,WAtDV,IAAyByxH,EAuDnBt5H,IACF+3G,IAxDqBuhB,EAwDUt5H,GAvDrBy5H,KAAK,YAAa,WAC5Bp5D,YAAiBi5D,KAuDjB81B,GAAoBpvJ,EAAIu5H,WAAWC,YAEpC,CAACx5H,IAEG,CACLA,MACAg3G,gBACAQ,eA1DF,SAAwBL,EAAWo5C,GACjCvwJ,GAAOA,EAAIwwJ,UAAYxwJ,EAAIywJ,iBAAmBhB,EAAiB,SAAAn1H,GAAS,OAAAo2H,EAAA,GAAUp2H,KAAwBi2H,KAAZp5C,OAAtB,2GA0DxEkiB,aACAw1B,iDC5FJn2J,EAAAC,EAAAC,EAAA,sBAAAklF,IAAA,IAAA6yE,EAAAj4J,EAAA,GAAAsiE,EAAAtiE,EAAAsI,EAAA2vJ,GAEO,SAAS7yE,EAAT3nF,GAAwE,IAA7CynF,EAA6CznF,EAA7CynF,OAAQC,EAAqC1nF,EAArC0nF,YAAqC+yE,EAAAz6J,EAAxB8pF,oBAAwB,IAAA2wE,KAC7E,GAAI3qJ,IAAQ23E,GACV,MAAO,GAGT,IAAMizE,EAAmB5qJ,IAAQ43E,GAAe,GAAvB,IAAAt+E,OAAgCs+E,GACnDizE,EAAW,UAAAvxJ,OAAaq+E,GAAbr+E,OAAsBsxJ,GAEvC,OAAO5wE,EAAY,IAAA1gF,OAAOuxJ,GAAP,IAAAvxJ,OAA2BuxJ,wmCCHhD,IAAMC,EAAiB,SAAjBA,IAAmE,IAAjDv3J,EAAiD6N,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAzC,GAAIzN,EAAqCyN,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAA3B,GAAIjQ,EAAuBiQ,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAAZhI,EAAY+H,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAN,EAAM2pJ,EAAAhG,EAC7CxxJ,GAAnBy3J,EADgED,EAAA,GAC1DE,EAD0DF,EAAAjxJ,MAAA,GAAAoxJ,EAAAnG,EAE3CpxJ,GAArB60E,EAFgE0iF,EAAA,GAE1DC,EAF0DD,EAAApxJ,MAAA,GAIjEs2G,EAAY,SAAAl/G,GAAQ,OACxBS,EAAAC,EAAAC,cAAA,QAAMwH,IAAKA,EAAKlI,UAAWa,IAAWnD,IAAOuhH,UAAWj/G,IACrDD,IAICixJ,EAAc,SAAAjxJ,GAAQ,OAC1BS,EAAAC,EAAAC,cAAA,QAAMwH,IAAKA,EAAKlI,UAAWtC,IAAOszJ,aAC/BjxJ,IAKL,OAAI8O,IAAQzM,GACH,CACL4uJ,EAAYxuJ,IAKZqM,IAAQrM,GACH,GAGLq3J,EAAEzmJ,gBAAkBikE,EAAEjkE,cACxB,CACE6rG,EAAU5nC,IADZlvE,OAAA6W,EAEK26I,EAAeG,EAAWE,EAAah6J,EAAWkI,EAAM,KAI/D,CACE8oJ,EAAY35E,IADdlvE,OAAA6W,EAEK26I,EAAev3J,EAAO43J,EAAah6J,EAAWkI,EAAM,MAI3D,SAAS+xJ,EAATl7J,GAA+D,IAAnCw2B,EAAmCx2B,EAAnCw2B,YAAa/yB,EAAsBzD,EAAtByD,QAASxC,EAAajB,EAAbiB,UAChD,OACEQ,EAAAC,EAAAC,cAAA,YACGi5J,EAAepkI,EAAa/yB,EAASxC,IAK5Ci6J,EAAiBt3J,UAAjB,GAMes3J,yICrDf,SAASC,EAATn7J,GAAoE,IAAnCw2B,EAAmCx2B,EAAnCw2B,YAAa/yB,EAAsBzD,EAAtByD,QAASxC,EAAajB,EAAbiB,UACrD,GAAI6O,IAAQrM,GACV,OAAO,KAGT,IAAK+yB,EACH,OAAO/0B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOszJ,aAAcxuJ,GAG/C,IAAM23J,EAAgBC,YAAsB7kI,GACxC8kI,EAAQ73J,EAAQ2M,MAAMgrJ,GAE1B,SAASG,EAAyBC,GAAM,IAAA7oJ,EAChC8oJ,EAAkBD,GAAQA,EAAKnnJ,gBAAkBmiB,EAAYniB,cAEnE,OAAOvS,IACL25J,GAAmBx6J,GADJiS,EAAAP,EAAA,GAGZhU,IAAOuhH,UAAYu7C,GAHPvoJ,EAAAP,EAIZhU,IAAOszJ,aAAewJ,GAJV9oJ,IAWnB,IAAM+oJ,GADNJ,EAAQA,EAAMrrJ,OAAO,SAAAurJ,GAAI,OAAIA,KACH3xJ,IAAI,SAAC2xJ,EAAM7yJ,GAAP,OAC5BlH,EAAAC,EAAAC,cAAA,QAAMwH,IAAKR,EAAO1H,UAAWs6J,EAAyBC,IACnDA,KAIL,OAAO/5J,EAAAC,EAAAC,cAAA,YAAO+5J,GAGhBP,EAAsBv3J,UAAtB,GAMeu3J,QClDFQ,EAAe,CAC1BC,MAAO,QACPC,WAAY,sICKd,SAASC,EAAT97J,GAAsE,IAAA+7J,EAA/CvlI,EAA+Cx2B,EAA/Cw2B,YAAa/yB,EAAkCzD,EAAlCyD,QAASxC,EAAyBjB,EAAzBiB,UAAW+6J,EAAch8J,EAAdg8J,WAChDC,GAAuBF,EAAA,GAAAG,EAAAH,EAC1BJ,EAAaC,MAAQV,GADKgB,EAAAH,EAE1BJ,EAAaE,WAAaV,GAFAY,GAG3BC,GAEF,OACEv6J,EAAAC,EAAAC,cAACs6J,EAAD,CACEx4J,QAASA,EACT+yB,YAAaA,EACbv1B,UAAWA,oCAKjB66J,EAAYp1J,aAAe,CACzBs1J,WAAYL,EAAaC,OAG3BE,EAAYl4J,UAAZ,GAYek4J,oCCtCfv5J,EAAAC,EAAAC,EAAA,sBAAA0xH,IAAA,IAAAgoC,EAAA55J,EAAA,MAAA65J,EAAA75J,EAAAsI,EAAAsxJ,GAEO,SAAShoC,EAAeL,EAAcuoC,GAC3C,IAAM1zJ,EAAQ2zJ,IAAUxoC,EAAc,SAAA9zH,GAAA,IAAGgF,EAAHhF,EAAGgF,GAAIuuH,EAAPvzH,EAAOuzH,SAAP,OAAuBvuH,IAAOq3J,GAAoB9oC,IAExF,OAAOO,EAAalqH,MAAM,EAAGjB,EAAQ,GAClCkB,IAAI,SAAAtE,GAAA,OAAAA,EAAGP,kGCAZ,SAASy3C,EAATz8C,GAAoC,UAAnBiV,EAAmBjV,EAAnBiV,OAAQhV,EAAWD,EAAXC,QACjBs8J,EAAiBz6J,IAAW,aAAc,oBAAqBnD,IAAO69J,mBAA3C,KAC9B79J,IAAO89J,eAAexnJ,mGAGzB,OAAOoM,EAAA3f,EAAAC,cAAA,KAAG1B,QAASA,EAASgB,UAAWs7J,IAGzC9/G,EAAM74C,UAAN,GAKe64C,uCCnBf,IAAAr7B,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAs7I,GAAAn6J,EAAA,GAAAA,EAAA,MAKA,SAASo6J,EAAT38J,GAQG,IAPDqpB,EAOCrpB,EAPDqpB,SACAnoB,EAMClB,EANDkB,UACA4/B,EAKC9gC,EALD8gC,mBACA5R,EAIClvB,EAJDkvB,iBACAC,EAGCnvB,EAHDmvB,UACAw1G,EAEC3kI,EAFD2kI,aACA1jI,EACCjB,EADDiB,UAEA,IAAK6/B,EACH,OAAO,KAFR,IAKOxvB,EAAyC6d,EAAzC7d,QAASwd,EAAgCK,EAAhCL,MAAOG,EAAyBE,EAAzBF,WAAYG,EAAaD,EAAbC,SAEpC,OACE/N,EAAA3f,EAAAC,cAAC+6J,EAAA,EAAD,CACEz7J,UAAWA,EACXiuB,iBAAkBA,EAClB7F,SAAUA,EACVnoB,UAAWA,EACXoQ,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVC,WAAYJ,EACZnb,SAAU6wH,IAKhBg4B,EAAe/4J,UAAf,GAUe+4J,2gCCdA52F,IArBG,SAChBpE,GAGc,IAFd6D,IAEct0D,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,KAAAA,UAAA,GADd00D,EACc10D,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAGRyrJ,EAAaj7F,KAAc6D,GAAoB7D,EAASk7F,SATtC,yBAMVC,EAIgBjsJ,qBAAW+rJ,GAJ3BjsJ,EAAAC,EAAAksJ,EAAA,GAIPhqJ,EAJOnC,EAAA,GAIE8E,EAJF9E,EAAA,GAMd,SAAS01D,IACP5wD,GAAW,GACXmwD,GAAWA,IAGb,MAAO,CACL9yD,UACAuzD,8CC3BJ9jE,EAAAC,EAAAC,EAAA,sBAAAg4B,IAAA,IAAArZ,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,KAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMe,SAASiZ,EAATz6B,GAAmC,IAAlB+D,EAAkB/D,EAAlB+D,QAASP,EAASxD,EAATwD,MACvC,OACE6d,EAAA3f,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OACnBA,EACD6d,EAAA3f,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAOsD,KAAM,gBAAiBhC,QAAS8D,KAKtE02B,EAAM72B,UAAN,wVCbO,IAAMm5J,EAA0Bv0I,0BAE1B8V,EAAuB,SAAA5V,GAAS,OAAI,SAAAzkB,GAAK,OACpDod,EAAA3f,EAAAC,cAACo7J,EAAwBp0I,SAAzB,KACG,SAAA6gH,GAAO,OAAInoH,EAAA3f,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAWulI,0CCN1C,IAAApoH,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA07I,EAAAz6J,EAAA,IAAAgqG,EAAAhqG,EAAA,MAAAiqG,EAAAjqG,EAAAsI,EAAA0hG,GAQA,SAAS0wD,EAATj9J,GAAsD,IAApC6W,EAAoC7W,EAApC6W,QAASqmJ,EAA2Bl9J,EAA3Bk9J,aAAcj8J,EAAajB,EAAbiB,UACvC,OACEogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,GAAYo3G,YAAU,UACjEh3F,EAAA3f,EAAAC,cAAA,KAAGV,UAAWtC,IAAOkY,SAClBA,GAEHwK,EAAA3f,EAAAC,cAACq7J,EAAA,EAAD,CACE91J,KAAI,UAAAkC,OAAY8zJ,GAChB38J,MAAM,UACNU,UAAWtC,IAAOyB,OAClB+G,YAAU,GAJZ,6BAYN81J,EAAOv2J,aAAe,CACpBmQ,QAAS,yBACTqmJ,aAAcn3I,IAAI2wC,cAGpBumG,EAAOr5J,UAAP,GAMeq5J,mWC4Bf,IAAME,EAA0B,CAC9B,CACE/yD,MAAO,UACP95B,MAAO,CAAC,YAEV,CACE85B,MAAO,QACP95B,MAAO,CAAC,gCAEV,CACE85B,MAAO,OACP95B,MAAO,CAAC,WAAY,8BAA+B,cAAe,iBAEpE,CACE85B,MAAO,SACP95B,MAAO,CAAC,UAEV,CACE85B,MAAO,gBACP95B,MAAO,CAAC,kBAEV,CACE85B,MAAO,UACP95B,MAAO,CAAC,iBAIZ,SAAS8sF,IAAuC,IAAnBC,EAAmBnsJ,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACpC0+F,EAAS,GAKf,OAHIytD,EAAaC,eAAe1tD,EAAO7vF,KAAKs9I,EAAaC,eACrDD,EAAaxhG,QAAQ+zC,EAAO7vF,KAAKs9I,EAAaxhG,QAE3C+zC,EAAOz/F,KAAK,MAGrB,IAAMotJ,EAA8B,SAACC,EAAmBltF,GAAU,IAAAmtF,GAAA,EAAAC,GAAA,EAAAC,OAAAxsJ,EAAA,IAChE,QAAAysJ,EAAAC,EAAmBvtF,EAAnBwtF,OAAAC,cAAAN,GAAAG,EAAAC,EAAAG,QAAAC,MAAAR,GAAA,EAA0B,KAAft9J,EAAey9J,EAAAv6J,MAAA66J,GAAA,EAAAC,GAAA,EAAAC,OAAAjtJ,EAAA,IACxB,QAAAktJ,EAAAC,EAA+Bd,EAA/BM,OAAAC,cAAAG,GAAAG,EAAAC,EAAAN,QAAAC,MAAAC,GAAA,EAAkD,KAAvCK,EAAuCF,EAAAh7J,MAChD,QAAIk7J,EAAiBjuF,MAAMr6C,QAAS91B,GAClC,OAAOo+J,GAHa,MAAAC,GAAAL,GAAA,EAAAC,EAAAI,EAAA,YAAAN,GAAA,MAAAI,EAAA,QAAAA,EAAA,oBAAAH,EAAA,MAAAC,KADsC,MAAAI,GAAAd,GAAA,EAAAC,EAAAa,EAAA,YAAAf,GAAA,MAAAI,EAAA,QAAAA,EAAA,oBAAAH,EAAA,MAAAC,GAShE,OAAO,MAGF,SAASc,EAA+BpqE,GAC7C,IAAMmpE,EAAoBnpE,EAAS,GAAGqqE,mBAChCrB,EAAe,GAUrB,OARAF,EAAwBt9I,QAAQ,SAAA7f,GAAsB,IAAnBoqG,EAAmBpqG,EAAnBoqG,MAAO95B,EAAYtwE,EAAZswE,MAClCiuF,EAAmBhB,EAA4BC,EAAmBltF,GAEpEiuF,IACFlB,EAAajzD,GAASm0D,EAAiBI,aAI3C/8J,EAAA,GACKy7J,EADL,CAEEuB,UAAWxB,EAAoBC,KAI5B,SAASjwF,EAAgB9hE,GAC9B,GAAIwE,IAAQxE,IAASwE,IAAQxE,EAAK4nG,MAAM,OACtC,OAAO5nG,EAET,IAAMuzJ,EAAmBvzJ,EAAKwzJ,YAAY,KAE1C,OAAOxzJ,EAAKyzJ,UAAU,EAAGF,GAAoBvzJ,EAAKyzJ,UAAUF,EAAmB,kRCnIjF,IAAMG,GAAU9rJ,EAAA+rJ,EAAA,GACb7nG,IAAa5W,KADAttC,EAAA+rJ,EAEb5nG,IAAazV,KAFA1uC,EAAA+rJ,EAGb3nG,IAAW1V,KAHEq9G,GAMHt0C,EAAY,SAAA3qH,GAAmB,IAAhB0Y,EAAgB1Y,EAAhB0Y,IAAKvY,EAAWH,EAAXG,KAC/B,GAAIo3C,YAAM7+B,GAAQ,OAAOA,EAEzB,IAAMwmJ,EAAmBtjF,IAAQz7E,EAAM,SAAU,IAGjD,OAFkB6+J,EAAWG,IAAQD,KAAnBE,EAAA19J,GAEDgX,4TCVnB,SAAS2mJ,EAATr/J,GAAkC,IAAnBgB,EAAmBhB,EAAnBgB,SAAUqhB,EAASriB,EAATqiB,MACjBi9I,EAAS19J,EAAA,GACVjD,IAAO2O,IADG,GAEV+U,GAGL,OAAOhB,EAAA3f,EAAAC,cAAC49J,EAAA,KAAD,CAAMl9I,MAAOi9I,GAAYt+J,GAGlCq+J,EAAI34J,aAAe,CACjB2b,MAAO,IAGTg9I,EAAIz7J,UAAJ,GAKey7J,qCC1Bf98J,EAAAC,EAAAC,EAAA,sBAAA+sB,IAAA,IAAApO,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAo+I,EAAAj9J,EAAA,IAAAk9J,EAAAl9J,EAAA,KAAAm9J,EAAAn9J,EAAAsI,EAAA40J,GAKe,SAASjwI,IACtB,OACEnO,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+U,aACrB2N,EAAA3f,EAAAC,cAAC69J,EAAA,EAAD,CAAiBv+J,UAAWtC,IAAO6E,QAClCoI,MAAM,IAAIC,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OACrB0Y,EAAA3f,EAAAC,cAAC69J,EAAA,EAAD,CAAiBr2J,IAAG,QAAAC,OAAUT,GAAS1H,UAAWtC,IAAO2M,yCCVjE/I,EAAAC,EAAAC,EAAA,sBAAAk9J,IAAAp9J,EAAAC,EAAAC,EAAA,sBAAAm9J,IAAAr9J,EAAAC,EAAAC,EAAA,sBAAAo9J,IAAO,IAAMF,EAAwB,mBACxBC,EAAgC,2BAEhCC,EAAuB,CAClC,CACEv8J,MAAO,oBACPD,MAAOs8J,GAET,CACEr8J,MAAO,4BACPD,MAAOu8J,gUCRX,IAwBaE,EAA2B,CACtCx8J,MAAO,SAAC6F,EAAK9F,GAAN,OAAgB08J,IAAU52J,IACjC9F,MAAO,SAAC8F,EAAK9F,GAAN,OA1Bc,SAAjB28J,EAAkB38J,GACtB,MAAqB,kBAAVA,EACFA,EAGY,kBAAVA,EACFA,EAGLwC,IAAQxC,GACH,GAGLuI,MAAM6T,QAAQpc,GACTA,EAAMwG,IAAIm2J,GAAgB7vJ,KAAK,MAGnB,kBAAV9M,EACFomF,IAAIpmF,EAAO,QAAS,IAGtB,GAKgB28J,CAAe38J,KAGlC48J,EAAmB,SAAC3sF,GAA6B,IAArB4sF,EAAqBhvJ,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GACxCivJ,EAAa1tI,OAAOC,KAAK4gD,EAAO8sF,eAEtC,OAAOD,EAAWt2J,IAAI,SAACV,GACrB,IAAMk3J,EAAqBH,EAAY/2J,IAAQ22J,EACzCz8J,EAAQiwE,EAAO8sF,cAAcj3J,GAEnC,MAAO,CACL7F,MAAO+8J,EAAmB/8J,MAAM6F,EAAK9F,GACrCA,MAAOg9J,EAAmBh9J,MAAM8F,EAAK9F,OAK9Bi9J,EAAoB,SAACzuI,GAAD,IAAWquI,EAAXhvJ,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAyB,GAAzB,OAAgC2gB,EAAShoB,IAAI,SAAAypE,GAAM,OAAA1xE,EAAA,GAC/E0xE,EAD+E,CAElF9vE,MAAO8vE,EAAO9/D,MAAQ,kBACtBka,QAASuyI,EAAiB3sF,EAAQ4sF,QAGvBK,EAAsB,SAAA5yG,GAAU,MAAK,CAChDr8C,QAASq8C,EAAW6yG,aACpB1xI,MAAO6+B,EAAW8yG,YAClBxxI,WAAY0+B,EAAW+yG,YACvB1xI,QAAS2+B,EAAWsW,8OClDtB,IAAM08F,EAAW,oCAEXh0H,EAAS,SAAA3sC,GAAA,IAAG8oC,EAAH9oC,EAAG8oC,KAAH,OAAc,WAA6C,IAA5C4qC,EAA4CxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAnC,GAAIsC,EAA+BtC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAxB,KAAM0vJ,EAAkB1vJ,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAClEtL,EAAO,CACXi7J,gBAAiB,CACfrtJ,OACAotJ,QACAE,cAAeh4H,EACfs3H,cAAe1sF,IAIbl7D,EAAOC,EAAED,KAAK,CAClBE,IAAKioJ,EACLxgK,KAAM,OACN2Y,YAAa,mBACblT,KAAMgT,KAAKC,UAAUjT,KAGvB,OAAOmT,QAAQC,QAAQR,KA4CzB,SAASuoJ,EAAKrtF,EAAQwsF,GAAa,IAE/Bp3H,EAIE4qC,EAJF5qC,KAF+Bk4H,EAM7BttF,EAHFktF,aAH+B,IAAAI,KAAAC,EAM7BvtF,EAFF9mC,YAJ+B,IAAAq0H,EAIxB,EAJwBA,EAAAC,EAM7BxtF,EADF1kD,QAGIppB,EAAO,CACXk7J,cAAeh4H,EACfm7B,cAV+B,IAAAi9F,EAKrB,GALqBA,EAW/BN,QACAh0H,QAGIp0B,EAAOC,EAAE0oJ,IAAIR,EAAU/6J,GAE7B,OAAOmT,QAAQC,QAAQR,GACpBS,KAAK,SAAAo7E,GAAQ,MAAK,CACjBxiE,SAAUyuI,EAAkBjsE,EAASzuF,KAAMs6J,GAC3CvyG,WAAY4yG,EAAoBlsE,EAAS1mC,eAI/C,IAAMrkC,EAAoB,SAAA+Y,GAAA,IAAGyG,EAAHzG,EAAGyG,KAAMo3H,EAAT79H,EAAS69H,YAAT,OAA2B,SAAAxsF,GAAM,OACzDqtF,EAAKK,EAAA,GACA1tF,EADD,CAEF5qC,OACA83H,OAAO,IACNV,KAGC32I,EAAqB,SAAAgZ,GAAA,IAAGuG,EAAHvG,EAAGuG,KAAMo3H,EAAT39H,EAAS29H,YAAT,OAA2B,SAAAxsF,GAAM,OAC1DqtF,EAAKK,EAAA,GACA1tF,EADD,CAEF5qC,OACA83H,OAAO,IACNV,KAGUz9J,EAAA,WAAAkgC,GAAA,IAAGmG,EAAHnG,EAAGmG,KAAMo3H,EAATv9H,EAASu9H,YAAT,MAA4B,CACzC52I,kBAAmBA,EAAkB,CAAEwf,OAAMo3H,gBAC7C32I,mBAAoBA,EAAmB,CAAEuf,OAAMo3H,gBAC/CvzH,OAAQA,EAAO,CAAE7D,SACjBu4H,KArFiB,SAAA97J,GAAkB,IAAfP,EAAeO,EAAfP,GACdY,EAAO,CACXi7J,gBAAiB,CACfD,OAAO,EACPptJ,KAJ+BjO,EAAXiO,OAQlBkF,EAAG,GAAAtP,OAAMu3J,EAAN,KAAAv3J,OAAkBpE,GAErBwT,EAAOC,EAAED,KAAK,CAClBE,MACA9S,OACAzF,KAAM,QAGR,OAAO4Y,QAAQC,QAAQR,IAsEvB+7D,OAnEmB,SAAA9uE,GAAY,IAATT,EAASS,EAATT,GAChB0T,EAAG,GAAAtP,OAAMu3J,EAAN,KAAAv3J,OAAkBpE,GAErBwT,EAAOC,EAAED,KAAK,CAClBE,MACAvY,KAAM,WAGR,OAAO4Y,QAAQC,QAAQR,IA4DvB2oJ,IAzDgB,SAACn8J,GACjB,IAAM0T,EAAG,GAAAtP,OAAMu3J,EAAN,KAAAv3J,OAAkBpE,GAErBwT,EAAOC,EAAED,KAAK,CAClBE,MACAvY,KAAM,QAGR,OAAO4Y,QAAQC,QAAQR,6BChEzB8B,EAAAC,QAAA,CAAkBpb,QAAA,iCAAAq1H,mBAAA,4CAAAf,eAAA,wCAAAC,UAAA,mCAAA50H,MAAA,8WCCX,IAGMwiK,EAAe,CAC1Bh+J,MAAO,YACPD,MAL+B,YAM/By0E,UAAWypF,IAAeC,MAGfC,EAAe,CAC1BH,EACA,CACEh+J,MAAO,UACPD,MAZ2B,UAa3By0E,UAAWypF,IAAeC,OAIa5/J,EAAA,GACpC0/J,EADoC,CACtBh+J,MAAK,GAAA8F,OAAKk4J,EAAah+J,MAAlB,aAAoCw0E,UAAW,QAD9Bl2E,EAAA,GAEpC0/J,EAFoC,CAEtBh+J,MAAK,GAAA8F,OAAKk4J,EAAah+J,MAAlB,aAAoCw0E,UAAW,8BCrBzEx9D,EAAAC,QAAA,CAAkB6qF,eAAA,wCAAAvsE,eAAA,wCAAAwkF,aAAA,sCAAAp+G,KAAA,gDCAlBqb,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAk7J,QAAA,iCAAAC,OAAA,gCAAAC,cAAA,2bCSX,IAAMC,EAAmB,uBACnBC,EAAiB,4BACjBC,EAAe,UAEfC,EAAapgK,EAAA,GACrBqgK,IADqB,CAExBC,SAAUC,IACVC,SAAU,CACRC,MAAO,CACL1xH,gBAAiB2xH,IAAaC,uBAC9BnyF,OAAQ,IAGZoyF,OAAQ,CACNC,MAAO,CACL,CACEC,MAAK9gK,EAAA,GACA+gK,IADA,CAEHp+I,QAAS,EACTq+I,cAAe,GACfC,YAAa,EACbC,YAAa,IAEfC,UAAW,CAAE/0H,SAAS,IAExBg1H,KAEFC,MAAO,CACL,CACEP,MAAK9gK,EAAA,GACA+gK,IADA,CAEHp+I,QAAS,EACT2+I,UAAW,EACXN,cAAe,EACfn2G,IAAK,EACL02G,YAAa,IAEfJ,UAAWK,KAEbC,yBChDN/oJ,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA88J,cAAA,uCAAAn1B,UAAA,mCAAAwI,aAAA,sCAAAC,YAAA,wDCAlBt8H,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9rB,MAAA,+BAAAhnC,OAAA,gCAAAmjK,SAAA,kCAAA7vJ,YAAA,0DCAlB4G,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAE,QAAA,iCAAA8H,UAAA,qDCAlBqT,EAAAC,QAAA,CAAkBpO,OAAA,gCAAAwzI,aAAA,sCAAA1iD,YAAA,qCAAA2iD,WAAA,oCAAAF,QAAA,mDCAlBplI,EAAAC,QAAA,CAAkBipJ,WAAA,oCAAAl3J,eAAA,wCAAA9I,MAAA,+BAAA+I,kBAAA,2CAAAJ,OAAA,gCAAAE,UAAA,qDCAlBiO,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAnE,OAAA,gCAAA2M,OAAA,gCAAAuH,YAAA,qCAAAqzB,YAAA,uDCAlBzsB,EAAAC,QAAA,CAAkB9W,QAAA,iCAAA+8D,UAAA,mCAAAijG,SAAA,kCAAAC,UAAA,mCAAAC,YAAA,0DCAlBrpJ,EAAAC,QAAA,CAAkBtE,MAAA,+BAAA9J,OAAA,gCAAA0N,KAAA,8BAAAE,YAAA,qCAAAE,SAAA,oDCAlBK,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAjF,WAAA,oCAAAnB,OAAA,gCAAA6B,KAAA,8BAAAwB,QAAA,mDCAlB6W,EAAAC,QAAA,CAAkBo1I,SAAA,kCAAAzpD,QAAA,iCAAA1/F,UAAA,mCAAA+mJ,QAAA,iCAAA3rF,OAAA,mDCAlBtnD,EAAAC,QAAA,CAAkB8mH,SAAA,kCAAAjhI,OAAA,gCAAA6B,KAAA,8BAAAy1J,WAAA,oCAAAC,UAAA,wDCAlBr9I,EAAAC,QAAA,CAAkB7G,YAAA,qCAAA6f,WAAA,oCAAAL,YAAA,qCAAAM,aAAA,wDCAlBlZ,EAAAC,QAAA,CAAkBjO,eAAA,wCAAAs1D,OAAA,gCAAAP,qBAAA,8CAAAF,eAAA,wCAAAM,qBAAA,iECAlBnnD,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA2F,OAAA,gCAAAk4F,UAAA,mCAAA51D,YAAA,qCAAAjrC,MAAA,+BAAAC,QAAA,iCAAAs4G,KAAA,8BAAAi6C,aAAA,sCAAAj8I,YAAA,qCAAArG,YAAA,qCAAAuiJ,iBAAA,+DCAlB37I,EAAAC,QAAA,CAAkBpO,OAAA,gCAAA86I,SAAA,kCAAAJ,MAAA,+BAAAzmJ,OAAA,gCAAA8mJ,SAAA,oDCAlB5sI,EAAAC,QAAA,CAAkBtK,OAAA,gCAAAzM,MAAA,+BAAAuB,QAAA,iCAAAsf,OAAA,gCAAA4P,SAAA,sDCAlB3Z,EAAAC,QAAA,CAAkBssE,QAAA,iCAAAC,kBAAA,2CAAA14E,SAAA,kCAAA3K,QAAA,iCAAA+C,UAAA,uDCAlB8T,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAyyC,WAAA,oCAAAoV,SAAA,kCAAAxwF,gBAAA,yCAAA6G,SAAA,oDCAlB9W,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAvvD,KAAA,8BAAA2I,eAAA,wCAAA9I,MAAA,+BAAA2pI,gBAAA,yCAAAzqF,UAAA,yDCAlBpoC,EAAAC,QAAA,CAAkBqpJ,iBAAA,0CAAAC,mBAAA,4CAAAnuJ,QAAA,iCAAAgiE,eAAA,0DCAlBp9D,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAszF,OAAA,gCAAAjc,IAAA,6BAAAr+E,OAAA,gCAAAk+E,KAAA,iDCAlBpjE,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAmmH,UAAA,mCAAAm3C,aAAA,yHCKZnlK,EAAS+tC,aAAWC,OAAO,CAC/Bo3H,eAAgB,CACdp/I,MAAOnK,qBACP6yB,SAAU,GACVd,WAAY,OAIhB,SAASy3H,EAAThkK,GAA8B,IAARwT,EAAQxT,EAARwT,KACpB,OACE/R,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOolK,gBAAiBvwJ,GAIzCwwJ,EAAWpgK,UAAX,GAIeogK,QCjBf,SAASC,EAATjkK,GAOG,IANDokG,EAMCpkG,EANDokG,cACA8/D,EAKClkK,EALDkkK,WACAljK,EAIChB,EAJDgB,SACA68C,EAGC79C,EAHD69C,YACAvP,EAECtuC,EAFDsuC,QACAd,EACCxtC,EADDwtC,qBAEA,OAAIqQ,EACK,KAIPp8C,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,KACEr1J,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAetzJ,MAAO4gG,EAAe91D,QAASA,IAC9C7sC,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEtpH,qBAAsBA,EACtBD,YAAa9rC,EAAAC,EAAAC,cAACwiK,EAAD,CAAY3wJ,KAAM0wJ,MAEhCljK,GAKPijK,EAAWv9J,aAAe,CACxB09F,cAAe,oBACf52D,sBAAsB,GAGxBy2H,EAAWrgK,UAAX,GASeqgK,gCCPAtlK,EAlCA+tC,aAAWC,OAAO,CAC/By3H,SAAU,CACRl3H,cAAe,MACfoF,SAAU,OACVd,MAAO,OACPR,kBAAmB,EACnBC,kBAAmBp2B,uBACnB8I,cAAe,EACfixB,aAAc,GAEhByvH,iBAAkB,CAChBt2H,KAAM,GAERu2H,kBAAmB,CACjBv2H,KAAM,EACNnqB,YAAa,IAEf2gJ,cAAe,CACbh4H,WAAY,IACZc,SAAU,IAEZwjB,oBAAqB,CACnBxjB,SAAU,IAEZm3H,WAAY,CACV7gJ,cAAe,IAEjB8gJ,WAAY,CACV9gJ,cAAe,GACfqtB,kBAAmB,EACnBC,kBAAmBp2B,0BCxBvB,SAAS6pJ,EAAT1kK,GAAkD,IAAvBwD,EAAuBxD,EAAvBwD,MAAO8tJ,EAAgBtxJ,EAAhBsxJ,MAAOjvI,EAASriB,EAATqiB,MACjCsiJ,EACJljK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMuB,OAAK,GACThsC,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAYrpH,OAAK,EAACnqC,MAAOE,EAAO6e,MAAO1jB,EAAO6lK,cAIlD,GAAI10J,IAAQwhJ,GACV,OACE7vJ,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACVsiJ,EACDljK,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAWz0I,MAAO1jB,EAAO8lK,cAK/B,SAASxoF,EAAmBjmD,GAC1B,OAAIlmB,IAAQkmB,GACH,KAGFv0B,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAWjnH,UAAWlxC,EAAOkyD,oBAAqBxtD,MAAO2yB,IAkClE,OACEv0B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACVsiJ,EACArT,EAAMznJ,IAlCX,SAAiBmtJ,EAAMruJ,GAAO,IACpBg9C,EAAoDqxG,EAApDrxG,OAAQE,EAA4CmxG,EAA5CnxG,QAASD,EAAmCoxG,EAAnCpxG,UAAW1vC,EAAwB8gJ,EAAxB9gJ,OAAQ0uJ,EAAgB5N,EAAhB4N,YAE5C,GAAI90J,IAAQ61C,GACV,OAAO,KAGT,IAAMk/G,EAAiBD,EAAW,YAAAx7J,OAAew7J,GAAgB,GAEjE,OACEnjK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACEa,MAAM,EACN5jC,IAAG,QAAAC,OAAU5F,EAAV,KAAA4F,OAAmBT,GACtB1H,UAAU,kBAAkBohB,MAAO1jB,EAAOylK,UAE1C3iK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO0lK,kBAClB5iK,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAWxnH,UAAW3wC,EAAO4lK,cAAelhK,MAAOsiD,EAAQz+C,KAAM2+C,IAChEo2B,EAAmBr2B,IAGtBnkD,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2lK,mBAClB7iK,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEjnH,UAAWlxC,EAAOkyD,oBAClBxtD,MAAK,WAAA+F,OAAa8M,GAAU5N,OAE7B2zE,EAAmB4oF,QAc9BH,EAAgB9gK,UAAhB,GAMe8gK,mCCpEA/lK,EATA+tC,aAAWC,OAAO,CAC/Bt/B,KAAM,CACJ2gC,QAAS,OACTsE,SAAU,OACVpF,cAAe,MACf0H,aAAc,KCGlB,SAASnlC,EAATzP,GAA+B,IAAfqN,EAAerN,EAAfqN,KAAMgV,EAASriB,EAATqiB,MACpB,OAAIvS,IAAQzC,GACH,KAIP5L,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO0O,MACjBA,EAAKxD,IAAI,SAAAyD,GAAG,OACX7L,EAAAC,EAAAC,cAAC09J,EAAA,EAAD,CAAKh9I,MAAOA,EAAOlZ,IAAKmE,EAAIjK,OACzBiK,EAAIhK,UAOfmM,EAAK7L,UAAL,GAKe6L,QCVA9Q,UAjBA+tC,aAAWC,OAAO,CAC/Bm4H,UAAW,CACTz3H,SAAU,EACVuH,aAAc,GACd5G,QAAS,OACTd,cAAe,MACfoF,SAAU,OACV/F,WAAY,KAGdjpC,MAAO,CACLqhB,MAAO5H,oBACPswB,SAAU,EACVd,WAAY,QCVhB,SAASw4H,EAAT/kK,GAAkC,IAAb8kK,EAAa9kK,EAAb8kK,UACnB,OAAIh1J,IAAQg1J,GACH,KAIPrjK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOmmK,WAClBrjK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2E,OAApB,gBACA7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KAAO44H,IAKbC,EAAUnhK,UAAV,GAIemhK,QCfApmK,EAPA+tC,aAAWC,OAAO,CAC/Bq4H,aAAc,CACZ33H,SAAU,EACVd,WAAY,OCChB,SAAS04H,EAATjlK,GAAoC,IAAZgB,EAAYhB,EAAZgB,SACtB,OACES,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOqmK,cACjBhkK,GAKPikK,EAAarhK,UAAb,GAIeqhK,iBCCAtmK,EAfA+tC,aAAWC,OAAO,CAC/BjpC,YAAa,CACXihB,MAAO5H,oBACPswB,SAAU,EACVd,WAAY,SACZqI,aAAc,GACduqB,SAAU,WAEZlgE,KAAM,CACJ0lB,MAAO,QACP0oB,SAAU,EACV4xB,aAAc,UCPlB,SAASmnB,EAATpmF,GAAmC,IAAZgB,EAAYhB,EAAZgB,SAmBrB,OACES,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO+E,YAAaqpC,MAAI,GACnCtrC,EAAAC,EAAAC,cAACqyG,EAAA,EAAD,CAAkBR,cApBA,SAAChlG,GAAY,IACzBkK,EAA8BlK,EAA9BkK,IAAKirD,EAAyBn1D,EAAzBm1D,QAASrgE,EAAgBkL,EAAhBlL,MAAOgI,EAASkD,EAATlD,KAE7B,OAAKoN,EAKHjX,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACEa,MAAI,EACJlT,IAAKnhB,EACL2J,MAAO1jB,EAAOM,MAEb0kE,EAASrgE,GATL7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KAAO5gC,IAgBkCmoG,OAAK,GAClDzyG,IAMTolF,EAAYxiF,UAAZ,GAIewiF,QCpBAznF,EAhBA+tC,aAAWC,OAAO,CAC/Bu4H,UAAW,CACT73H,SAAU,EACVW,QAAS,OACTd,cAAe,MACfoF,SAAU,QAGZhvC,MAAO,CACLqhB,MAAO5H,oBACPixB,QAAS,SACTX,SAAU,EACVd,WAAY,OCThB,SAAS44H,EAATnlK,GAAkC,IAAbklK,EAAallK,EAAbklK,UACnB,OAAIp1J,IAAQo1J,GACH,KAIPzjK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOumK,WAClBzjK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2E,OAApB,mBACA7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KAAOg5H,IAKbC,EAAUvhK,UAAV,GAIeuhK,QCLAxmK,EAfA+tC,aAAWC,OAAO,CAC/By4H,gBAAiB,CACf/3H,SAAU,EACVW,QAAS,OACTd,cAAe,MACfoF,SAAU,QAGZhvC,MAAO,CACLqhB,MAAO5H,oBACPswB,SAAU,EACVd,WAAY,OCPhB,SAAS84H,EAATrlK,GAA8C,IAAnBolK,EAAmBplK,EAAnBolK,gBACzB,GAAIt1J,IAAQs1J,GACV,OAAO,KAFmC,IAK7B95J,EAASg6J,IAAkBpxI,KAAK,SAAA3uB,GAAA,IAAGlC,EAAHkC,EAAGlC,MAAH,OAAe+hK,IAAoB/hK,IAA1EC,MAER,OACE7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOymK,iBAClB3jK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2E,OAApB,sBACA7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KAAO5gC,IAKb+5J,EAAgBzhK,UAAhB,GAIeyhK,iDCeA1mK,EAnCA+tC,aAAWC,OAAO,CAC/BrhC,KAAM,CACJqZ,MAAO5H,oBACPwvB,WAAY,IACZc,SAAU,GAEZpuC,KAAM,CACJ0lB,MAAOhK,qBACP4xB,WAAY,IACZc,SAAU,EACVk4H,SAAU,EACV33H,SAAU,IACVsB,eAAgB,OAChB+vB,aAAc,YAEhBumG,OAAQ,CACNtyH,WAAY,GAEd5vC,MAAO,CACLqhB,MAAO5H,oBACPswB,SAAU,EACVd,WAAY,KAEd/lC,UAAW,CACTwnC,QAAS,OACTd,cAAe,MACfsE,MAAO,QAETqpC,MAAO,CACL7sC,QAAS,OACTd,cAAe,MACfoF,SAAU,6OC7Bd,SAASmzH,EAATzlK,GAAqC,IAAhBsD,EAAgBtD,EAAhBsD,MAAOD,EAASrD,EAATqD,MAiC1B,OACE5B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO6H,WAClB/E,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2E,OAAQA,EAA5B,MACA7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOk8E,OACjBjtD,IAAIvqB,EApCM,SAAAkC,EAAyCoD,GAAU,IAAzCy4C,EAAyC77C,EAAhDjC,MAAyBoiK,EAAuBngK,EAA9BlC,MACpC,IAAK+9C,EACH,OAAO,KAGT,IAAKskH,EACH,OAAOjkK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOM,KAAMkK,IAAG,QAAAC,OAAUg4C,IAAcA,GAG9D,IAAMukH,EAAc3tH,IAAK30C,GACnBuiK,EAAmBD,EAAc,GAAKh9J,EAAQg9J,EAAc,EAC5DE,EAA6B,IAAVl9J,GAAei9J,EAClCltJ,EAAMvR,YAAWu+J,GAAaA,EAAYjxH,YAAeixH,GACzDI,EAAelkK,EAAA,GAChBjD,EAAOM,KADS,GAEhBN,EAAO6mK,QAGZ,OACE/jK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOk8E,MAAO1xE,IAAG,QAAAC,OAAUg4C,IACtC3/C,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CACE/iC,IAAKu8J,EACLrjJ,MAAOwjJ,EAAmBC,EAAkBnnK,EAAOM,KACnD46B,IAAKnhB,GAEJ0oC,GAEFwkH,GAAoBnkK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO2M,MAApB,WAe7Bm6J,EAAU7hK,UAAV,GAQe6hK,QCvDf,SAASM,EAAT/lK,GACE,OADwBA,EAAT66E,MAEPhxE,IAAI,SAAAtE,GAAA,IAAGjC,EAAHiC,EAAGjC,MAAOD,EAAVkC,EAAUlC,MAAV,OACR5B,EAAAC,EAAAC,cAACqkK,EAAD,CACE78J,IAAK7F,EACLA,MAAOA,EACPD,MAAOA,MAMf0iK,EAAMniK,UAAN,GAcemiK,QCtBApnK,EAPA+tC,aAAWC,OAAO,CAC/BnpC,MAAO,CACL6pC,SAAU,GACVd,WAAY,OCGhB,SAAS9R,EAATz6B,GAA6B,IAAZgB,EAAYhB,EAAZgB,SACf,OACES,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO6E,OACjBxC,GAKPy5B,EAAM72B,UAAN,GAIe62B,kBCgBA97B,GA7BA+tC,aAAWC,OAAO,CAC/Bs5H,YAAa,CACXrxH,aAAc,OACd/G,UAAW,QAGbq4H,KAAM,CACJhiJ,OAAQ,cACRK,QAAS,UACTvB,aAAc,EACd2tB,gBAAiB50B,8BACjBiyB,QAAS,OACTd,cAAe,OAGjB15B,KAAM,CACJ0rD,WAAY,SACZC,SAAU,SACVF,aAAc,WACdt6C,MAAO3I,wBACPqxB,SAAU,IAGZ5sC,KAAM,CACJy+D,WAAY,SACZ7xB,SAAU,MCvBd,SAAS84H,GAATnmK,GAAkC,IAAXomK,EAAWpmK,EAAXomK,QACrB,OAAIt2J,IAAQs2J,GACH,KAIP3kK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOsnK,aACjBG,EAAQv8J,IAAI,SAAAtE,GAAA,IAAmBP,EAAnBO,EAAG8gK,eAAqC3tJ,EAAxCnT,EAAuB+gK,gBAAsB9yJ,EAA7CjO,EAA6CiO,KAAM/S,EAAnD8E,EAAmD9E,KAAnD,OACXgB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAKnE,EAAIqd,MAAO1jB,GAAOunK,MAC3BzkK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMrS,IAAKnhB,EAAK2J,MAAO1jB,GAAO6U,MAC3BA,GAEH/R,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO8B,MAApB,QACUwwF,aAAYxwF,GADtB,QAIDgkE,WAKT0hG,GAAYviK,UAAZ,GAIeuiK,UCTAxnK,GAvBA+tC,aAAWC,OAAO,CAC/BhpC,KAAM,CACJixC,aAAc,GACdrwB,QAAS,EACTitB,MAAO,QAGTwmB,SAAU,CACRhqB,QAAS,OACTd,cAAe,MACf5pB,eAAgB,aAChB+pB,SAAU,EACVQ,UAAW,EACX+G,aAAc,GAGhB2xH,SAAU,CACRh6H,WAAY,IACZc,SAAU,EACV8F,cAAe,eCFnB,SAAStlC,GAAT7N,GAWG,IAVDwD,EAUCxD,EAVDwD,MACA0hK,EASCllK,EATDklK,UACAE,EAQCplK,EARDolK,gBACAN,EAOC9kK,EAPD8kK,UACAE,EAMChlK,EANDglK,aACAthK,EAKC1D,EALD0D,YACA2J,EAICrN,EAJDqN,KACAwtE,EAGC76E,EAHD66E,MACA0rF,EAECvmK,EAFDumK,SACAH,EACCpmK,EADDomK,QAEQ9iK,EAAUkjK,IAAWD,GAArBjjK,MAER,OACE7B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOgF,MAClBlC,EAAAC,EAAAC,cAACqzI,EAAD,KAAQxxI,GACR/B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOq5D,UAClBv2D,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO4nK,UAApB,GAAAn9J,OAAkC9F,EAAlC,QACA7B,EAAAC,EAAAC,cAAC8kK,EAAD,KAAezB,IAEjBvjK,EAAAC,EAAAC,cAAC+kK,EAAD,KACGhjK,GAEHjC,EAAAC,EAAAC,cAACw3C,EAAD,CAAM9rC,KAAMA,IACZ5L,EAAAC,EAAAC,cAACglK,EAAD,CAAWzB,UAAWA,IACtBzjK,EAAAC,EAAAC,cAACilK,EAAD,CAAiBxB,gBAAiBA,IAClC3jK,EAAAC,EAAAC,cAACklK,EAAD,CAAOhsF,MAAOA,IACdp5E,EAAAC,EAAAC,cAACmlK,EAAD,CAAWhC,UAAWA,IACtBrjK,EAAAC,EAAAC,cAAColK,GAAD,CAAaX,QAASA,KAK5Bv4J,GAAKjK,UAAL,GAaeiK,UC7Df,SAASA,GAAT7N,GAcG,IAbDgF,EAaChF,EAbDgF,GACAxB,EAYCxD,EAZDwD,MACA0hK,EAWCllK,EAXDklK,UACAE,EAUCplK,EAVDolK,gBACAJ,EASChlK,EATDglK,aACAF,EAQC9kK,EARD8kK,UACA3+D,EAOCnmG,EAPDmmG,KACAziG,EAMC1D,EAND0D,YACA2J,EAKCrN,EALDqN,KACAwtE,EAIC76E,EAJD66E,MACAmsF,EAGChnK,EAHDgnK,oBACAT,EAECvmK,EAFDumK,SACAH,EACCpmK,EADDomK,QAEA,OACE3kK,EAAAC,EAAAC,cAAC09B,GAAD,CACEr6B,GAAIA,EACJxB,MAAOA,EACPwhK,aAAcA,EACdE,UAAWA,EACXE,gBAAiBA,EACjBN,UAAWA,EACX3+D,KAAMA,EACNziG,YAAaA,EACb2J,KAAMA,EACNwtE,MAAOA,EACPz0B,aAAc4gH,EACdT,SAAUA,EACVH,QAASA,IAKfv4J,GAAKjK,UAAL,GAgBeiK,+OC7Cf,IAAMlP,GAAS+tC,aAAWC,OAAO,CAC/BqqB,iBAAkB,CAChB7oB,UAAW,OACXd,SAAU,MAId,SAAS45H,GAATjnK,GAAiC,IAATy1G,EAASz1G,EAATy1G,MAChBz+C,EAAmBv1D,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOq4D,kBAAmB1uD,KAMhE,OACE7G,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KACEzqC,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAActzJ,MAAM,aACnBsM,IAAQ2lG,GACLz+C,EACAy+C,EAAM5rG,IATd,WAAsC,IAAlBlG,EAAkBuN,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAX,GAAIvI,EAAOuI,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EACpC,OAAO1P,EAAAC,EAAAC,cAAC0N,GAAD63J,GAAA,CAAM/9J,IAAG,YAAAC,OAAcT,IAAahF,OAa/CsjK,GAAarjK,UAAb,GAIeqjK,+BCgBAtoK,GAlDA+tC,aAAWC,OAAO,CAC/Bw6H,kBAAmB,CACjB95H,SAAU,GACV5oC,SAAU,WACVkgB,MAAOnK,sBAET4sJ,cAAe,CACb76H,WAAY,IACZqI,aAAc,IAEhBpxC,MAAO,CACL+oC,WAAY,IACZqK,WAAY,KAEdywH,SAAU,CACRz5H,SAAU,KAEZ05H,aAAc,CACZ91H,MAAO,GACP+E,eAAgB,EAChBD,eAAgB17B,sBAElB2sJ,iBAAkB,CAChB/1H,MAAO,IAET+pF,SAAU,CACR92H,SAAU,WACV47B,IAAK,OACL6G,MAAO,EACP0N,aAAc,GAEhB4yH,SAAU,CACR35H,WAAY,EACZqF,WAAY,GAEd/D,UAAW,CACTtB,UAAW,IAEb45H,aAAc,CACZz5H,QAAS,OACTd,cAAe,MACfC,WAAY,aACZyH,aAAc,IAEhB8yH,uBAAwB,CACtBC,gBAAiB,EACjBC,gBAAiBhtJ,wBCzCrB,SAAS+xH,GAAT3sI,GAA0D,IAAtC6nK,EAAsC7nK,EAAtC6nK,UAAWC,EAA2B9nK,EAA3B8nK,SAAUC,EAAiB/nK,EAAjB+nK,cACjCC,EAAiBF,EAASr/J,OAEhC,SAASsqC,EAAW7lC,EAAMvE,GAAO,IACvBnF,EAAgB0J,EAAhB1J,MAAO8H,EAAS4B,EAAT5B,KACT6tB,EAAO,YAAA/vB,OAAe5F,EAAf,KAAA4F,OAAwBT,GAC/B2qH,EAAS3qH,IAAUq/J,EAAiB,EACpCC,EAAa,CAACtpK,GAAO8oK,aAAcn0C,GAAU30H,GAAO48H,UACpD2sC,EAAa,CAACvpK,GAAO2oK,aAAch0C,GAAU30H,GAAO4oK,kBACpDY,EAAiB,CAACxpK,GAAO0oK,SAAUU,GAEzC,GAAIliK,IAAQrC,IAAUqC,IAAQyF,GAC5B,OAAO,KAGT,IAAM88J,EAAiB/1H,KAAS7uC,GAC5B/B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO6E,OAAQA,GAC5BA,EAEJ,OACE/B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,MAAM,EAAO1qB,MAAO4lJ,EAAY9+J,IAAKgwB,GACzC13B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO6lJ,IACbzmK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO6oK,UACjBY,EACD3mK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO8lJ,GAAiB78J,KAiCtC,OACE7J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMm8H,MAAOR,EAAWxlJ,MAAO1jB,GAAOwoK,mBACpC1lK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOyoK,eAApB,YA7BJ,WACE,GAAIvhK,IAAQiiK,GACV,OACErmK,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAOwwC,WACjB7mC,KAKP,GAAuB,IAAnB0/J,EAAsB,KAAAM,EACAR,EAAS,GAAzBtkK,EADgB8kK,EAChB9kK,MAAO8H,EADSg9J,EACTh9J,KAEf,OACE7J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,KACEzqC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO6E,OAAQA,GAC5B/B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO0oK,UAAW/7J,IAKrC,OACE7J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,GAAO+oK,wBACjBI,EAASj+J,IAAIkpC,IAQfw1H,IAKP57B,GAAS/oI,UAAT,GASe+oI,UCnFfpqI,EAAAC,EAAAC,EAAA,sBAAA+lK,IAAAjmK,EAAAC,EAAAC,EAAA,sBAAAgmK,IAAAlmK,EAAAC,EAAAC,EAAA,sBAAAimK,KAAAnmK,EAAAC,EAAAC,EAAA,sBAAAkmK,0FCAA,IAAAh+J,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEgCI,IAAU6tD,MAAM,CAC9Cl1B,YAAa34B,IAAU48D,KACvBxuC,QAASpuB,IAAU8E,OACnBvM,MAAOyH,IAAU8E,OACjB8oB,WAAY5tB,IAAU8E,0CCNxBtN,EAAAC,EAAAC,EAAA,sBAAAmmK,IAAA,IAAAxnJ,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAunJ,EAAAtmK,EAAA,KAAA09D,EAAA19D,EAAA,GAAAumK,EAAAvmK,EAAA,IAAAwmK,EAAAxmK,EAAA,MAAAymK,EAAAzmK,EAAAsI,EAAAk+J,GAUO,SAASH,EAAY9gG,GAAU,IAAA9nE,EACZqyH,IAAWvqD,IAAauqD,IAAW42C,YAE3D,MAAO,CACLjkK,GAAI8iE,EACJxkE,MALkCtD,EAC5BsD,MAKNrB,KANkCjC,EACrBiC,KAMbinK,UAAWvqK,IAAOmpE,IAItB,SAASqhG,EAAT5jK,GASG,IARDhE,EAQCgE,EARDhE,WACAL,EAOCqE,EAPDrE,UACA4mE,EAMCviE,EANDuiE,SACA43B,EAKCn6F,EALDm6F,YACAz+F,EAICsE,EAJDtE,UACAN,EAGC4E,EAHD5E,cACAQ,EAECoE,EAFDpE,gBACAlB,EACCsF,EADDtF,QACCmpK,EACkCR,EAAY9gG,GAAvCxkE,EADP8lK,EACO9lK,MAAOrB,EADdmnK,EACcnnK,KAAMinK,EADpBE,EACoBF,UAMrB,OACE7nJ,EAAA3f,EAAAC,cAACs+D,EAAA,EAAD,CACEv/D,YAAaQ,GAAamgB,EAAA3f,EAAAC,cAAA,KAAGV,UAAWgB,IACxC5B,SAAUkB,GAAcL,EACxBjB,QARJ,WACEA,GAAWA,EAAQ6nE,IAQjBvnE,MAAM,QACNI,cAAemB,IAAWonK,EAAWvoK,GACrCM,UAAWA,GAEVC,GAAamgB,EAAA3f,EAAAC,cAACmnK,EAAA,EAAD,CAAQroK,KAAK,SAAS0B,UAAQ,EAAClB,UAAWa,IAAWnD,IAAOgX,OAAQxU,KACjFu+F,GAAep8F,GAKtB6lK,EAAevlK,UAAf,GAWeulK,qCC/Df5mK,EAAAC,EAAAC,EAAA,sBAAA4mK,IAAO,IAAMA,EAAkB,CAC7B7nH,MAAO,QACP1B,MAAO,QACPwpH,aAAc,gBACdC,aAAc,oDCJhBhnK,EAAAC,EAAAC,EAAA,sBAAAi4F,IAAAn4F,EAAA,OAAAinK,EAAAjnK,EAAA,IAAAknK,EAAAlnK,EAAA,IASam4F,EAAa,SAAAxxD,GAAK,OAC7Bm4C,YAASn4C,GAASy3H,IAAlB,GAAAv3J,OAAgCu3J,IAAhC,gBAAAv3J,OAAuD8/B,mDCTzD5uB,EAAAC,QAAA,CAAkBiiJ,gBAAA,yCAAAC,YAAA,qCAAAp8J,SAAA,wDCAlBia,EAAAC,QAAA,CAAkBqtG,UAAA,mCAAA1oE,iBAAA,0CAAA4lE,SAAA,yKCCZ4kD,EAA4B,SAAAz3C,GAAS,OAAI,SAAAjyH,GAAA,IAAGooE,EAAHpoE,EAAGooE,aAAcwyB,EAAjB56F,EAAiB46F,cAAjB,OAC7C+uE,IAAIvhG,EAAc6pD,IAAc23C,IAAKhvE,EAAeq3B,KAGzC5jB,EAAgB,SAAA5vB,GAAS,OAAImrF,IACxCnrF,EACAirF,EAA0B,gBAGfrvB,EAAwB,SAAA57D,GAAS,OAAImrF,IAChDnrF,EACAirF,EAA0B,0CCZ5BpvJ,EAAAC,QAAA,CAAkBsvJ,WAAA,oCAAAC,eAAA,wCAAAC,YAAA,oECDlBxnK,EAAAC,EAAAC,EAAA,sBAAAolF,IAAO,IAAMA,EAAoB,kCCCjCvtE,EAAAC,QAAA,CAAkByvJ,sBAAA,+CAAA/3B,aAAA,sCAAAzuI,MAAA,+BAAAwvI,WAAA,+JCMH,SAASi3B,EAATjqK,GAAyC,IAArBkqK,EAAqBlqK,EAArBkqK,kBAC3BC,EACJ1oK,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,OACN8G,qBAAqB,EACrBH,KAAK,wDAHP,oBASIkjK,EACJ3oK,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,OACN8G,qBAAqB,EACrBH,KAAMgjK,GAHR,QASIxmK,EACJjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,0FACqFyiK,EACnF1oK,EAAAC,EAAAC,cAAA,WACCuoK,GACCzoK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgqG,gBAAvB,SACSyhE,EADT,iCAON,OACE3oK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6G,OACrB/D,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CACE95B,MAAM,gDACNvC,UAAWtC,IAAO+pG,SAClB/nG,cAAehC,IAAOgC,cACtBmH,eAAgBnJ,IAAOmJ,eACvBivD,qBAAsBp4D,IAAOo4D,qBAC7BrzD,YAAaA,u9BCvCN,SAAS2mK,EAATrqK,GAAsE,IAApDsqK,EAAoDtqK,EAApDsqK,WAAYrrK,EAAwCe,EAAxCf,KAAMsrK,EAAkCvqK,EAAlCuqK,YAAaL,EAAqBlqK,EAArBkqK,kBAAqBv5J,EAAAC,EAC/CC,mBAAS,MADsC,GAC5E25J,EAD4E75J,EAAA,GAChE85J,EADgE95J,EAAA,GAcnF,OANAe,oBAAU,WACRqH,QAAQC,QAPSP,EAAED,KAAK,CAExBrY,KAAqB,QAAfmqK,EAAuB,UAAY,MACzC5xJ,IAAKzZ,KAKFga,KAAK,kBAAMwxJ,GAAc,KAD5B,MAES,kBAAMA,GAAc,MAC5B,KAEgB,IAAfD,EAA6B/oK,EAAAC,EAAAC,cAACsoK,EAAD,CAAUC,kBAAmBA,IAG5DzoK,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,MACA/tB,EAAAC,EAAAC,cAAA,UACEk4B,IAAK2wI,GAAcvrK,EACnByrK,YAAY,IACZzpK,UAAWa,IAAWnD,IAAOiqG,OAAQ2hE,GACrC/mK,MAAM,cCvBC,SAASmnK,EAAT3qK,GAQZ,IAPDf,EAOCe,EAPDf,KACAiC,EAMClB,EANDkB,UACA0pK,EAKC5qK,EALD4qK,OACAN,EAICtqK,EAJDsqK,WACAO,EAGC7qK,EAHD6qK,eACAN,EAECvqK,EAFDuqK,YACAL,EACClqK,EADDkqK,kBAEMY,EAAsB,SAAA/vH,GAAI,OAC9Bt5C,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWqkK,IAAkB9vH,IAGjE,OAAsB+vH,EAAlB5pK,EAAsCO,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,MACrCo7I,EAGHnpK,EAAAC,EAAAC,cAAC0oK,EAAD,CACEprK,KAAMA,EACNqrK,WAAYA,EACZC,YAAaA,EACbL,kBAAmBA,IAPiBzoK,EAAAC,EAAAC,cAACsoK,EAAD,CAAUC,kBAAmBA,KF+BvED,EAASrmK,UAAT,GChBAymK,EAAOzmK,UAAP,GCtCArB,EAAAC,EAAAC,EAAA,sBAAAkoK,IAmCAA,EAAI/mK,UAAJ,qBClCA0W,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAqG,WAAA,oCAAArJ,MAAA,+BAAAE,YAAA,uDCAlB4W,EAAAC,QAAA,CAAkB2gG,eAAA,wCAAAC,WAAA,oCAAAC,gBAAA,yCAAAC,cAAA,uCAAApuG,OAAA,gCAAAquG,YAAA,qCAAAzB,WAAA,oCAAAr9D,UAAA,mCAAAu9D,gBAAA,yCAAAwB,aAAA,sCAAAC,aAAA,sCAAAC,gBAAA,yCAAAvuG,KAAA,8BAAA1J,MAAA,+BAAAE,YAAA,uDCAlB4W,EAAAC,QAAA,CAAkBkgC,WAAA,oCAAAE,SAAA,kCAAAuO,KAAA,gDCAlB5uC,EAAAC,QAAA,CAAkBwwJ,QAAA,UAAAC,SAAA,UAAAC,OAAA,UAAAC,OAAA,4BCAlB5wJ,EAAAC,QAAA,CAAkBqnD,OAAA,gCAAAwE,MAAA,+BAAAnkE,KAAA,8BAAAgkE,UAAA,qDCAlB3rD,EAAAC,QAAA,CAAkBy8C,iBAAA,0CAAA/0D,KAAA,8BAAAuB,MAAA,+BAAAE,YAAA,uDCAlB4W,EAAAC,QAAA,CAAkB4wJ,eAAA,wCAAA/qK,OAAA,gCAAAsrB,OAAA,mDCAlBpR,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAm8I,WAAA,oCAAAC,iBAAA,4DCAlBtoI,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAznB,QAAA,iCAAAu/E,WAAA,oCAAAK,iBAAA,0CAAAF,YAAA,uDCAlB/oI,EAAAC,QAAA,CAAkBtY,KAAA,8BAAAilC,KAAA,8BAAAE,MAAA,+BAAAn0B,MAAA,iDCAlBqH,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAj/E,OAAA,gCAAA3I,MAAA,+BAAAq0G,KAAA,8BAAAE,MAAA,qDCAlBz9F,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAvH,KAAA,8BAAAyU,YAAA,uDCAlB4G,EAAAC,QAAA,CAAkBkR,SAAA,kCAAAC,OAAA,kDCAlBpR,EAAAC,QAAA,CAAkB6/F,gBAAA,yCAAAgxD,YAAA,qCAAA5nK,MAAA,+BAAApD,OAAA,kDCAlBka,EAAAC,QAAA,CAAkB7G,YAAA,qCAAA6f,WAAA,oCAAAL,YAAA,qCAAA7O,OAAA,kDCAlB/J,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAA5kF,UAAA,mCAAA6kK,cAAA,uCAAA3/I,OAAA,kDCAlBpR,EAAAC,QAAA,CAAkB6nF,WAAA,oCAAA/hG,SAAA,kCAAAiiG,QAAA,qDCAlBhoF,EAAAC,QAAA,CAAkB+nF,QAAA,iCAAA0lD,YAAA,qCAAAvvH,OAAA,gCAAAwvH,cAAA,2DCAlB3tI,EAAAC,QAAA,CAAkBna,OAAA,kDCAlBka,EAAAC,QAAA,CAAkBoyE,OAAA,gCAAAxgF,OAAA,gCAAAm/J,SAAA,kCAAAC,QAAA,mDCAlBjxJ,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAqiF,gBAAA,yCAAA4lB,OAAA,gCAAAC,cAAA,0DCAlBp0F,EAAAC,QAAA,CAAkBixJ,QAAA,iCAAAhlK,UAAA,mCAAAirD,SAAA,uDCAlBn3C,EAAAC,QAAA,CAAkBmkC,YAAA,qCAAA3uB,KAAA,8BAAA07I,iBAAA,0CAAAjnJ,WAAA,yDCAlBlK,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,wCAAAk1E,YAAA,qCAAAC,aAAA,sCAAAC,YAAA,qCAAAkxD,iBAAA,4DCAlBpxJ,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,wCAAAk1E,YAAA,qCAAAC,aAAA,sCAAAC,YAAA,uDCAlBlgG,EAAAC,QAAA,CAAkB6zH,cAAA,uCAAAC,aAAA,sCAAAp4H,MAAA,+BAAAipE,UAAA,2DCAlB5kE,EAAAC,QAAA,CAAkBoxJ,SAAA,kCAAAtrK,SAAA,kCAAAorF,QAAA,mDCAlBnxE,EAAAC,QAAA,CAAkBqxJ,sBAAA,+CAAAtgK,KAAA,8BAAAg3F,QAAA,iCAAAtrC,iBAAA,4DCAlB18C,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAvE,KAAA,8BAAA2+J,MAAA,+BAAAt9J,MAAA,iDCAlBgX,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAvE,KAAA,8BAAA2+J,MAAA,+BAAAt9J,MAAA,iDCAlBgX,EAAAC,QAAA,CAAkB6jC,SAAA,kCAAA56C,MAAA,+BAAA0J,KAAA,gDCAlBoN,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA/B,SAAA,oDCAlB6V,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,wCAAAm1E,aAAA,sCAAAC,YAAA,qCAAAqxD,UAAA,qDCAlBvxJ,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAslK,SAAA,kCAAAzgD,SAAA,kCAAA0gD,WAAA,sDCAlBzxJ,EAAAC,QAAA,CAAkBoyE,OAAA,gCAAAz/E,KAAA,qZCuBX,SAAS8+J,IAA8D,IAAtCC,EAAsC/6J,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAArB,GAAIg7J,EAAiBh7J,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACvDi7J,EAA0BF,EAAnClnK,QACSqnK,EAA8CF,EAAvDnnK,QAFoEsnK,EAEbH,EAA3BI,KAC9BC,QAHsE,IAAAF,EAEpB,GAFoBA,GAG5CjjK,OAAO,CAAC,gBAClCojK,EAAiCC,IAAKN,EAAuBI,GAC7DG,EAA6BD,IAAKL,EAAmBG,GAE3D,OAAII,IAAQH,IACPG,IAAQD,IACRE,IAAQJ,EAAgCE,GACpC,EAGFG,IAAKL,GACT3iK,IAAI,SAAAV,GAAG,OA5BgBkb,EA6BtBmoJ,EAA+BrjK,GA7BD2jK,EA8B9BJ,EAA2BvjK,GA7B3ByjK,IAAQvoJ,EAAQyoJ,GACX,EAGLC,IAAQ1oJ,IACNsoJ,IAAQK,IAAQ3oJ,EAAQyoJ,IACnB,EAIJ,EAXT,IAA4BzoJ,EAAQyoJ,IAgC/BpxC,OAAO,SAACuxC,EAAK37J,GAAN,OAAkB27J,EAAM37J,GAAS,GAGtC,SAAS47J,EAAiBC,GAA4C,IAA9BjB,EAA8Bh7J,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAjB,GAAIslB,EAAatlB,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAC3E,OACGw7J,IAAQQ,KACLP,IAAQO,EAAcjB,EAAWnnK,WACjC4nK,IAAQn2I,GAGT,SAAS42I,EAAgBjkK,EAAK9F,GAAyB,IAAlBgqK,EAAkBn8J,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAClDo8J,EAAYjqK,IAAUgqK,EAAYlkK,GACxC,OAAKokK,IAAUlqK,IAAWspK,IAAQtpK,KAAWiqK,EAI7Cp6J,EAAA,GAAU/J,EAAMkkK,EAAYlkK,IAH1B+J,EAAA,GAAU/J,EAAM9F,ixCC+BL4qH,IA/Ef,SAAAjuH,GASG,IARDorH,EAQCprH,EARDorH,kBACAE,EAOCtrH,EAPDsrH,mBACAD,EAMCrrH,EANDqrH,SACA6C,EAKCluH,EALDkuH,eACAC,EAICnuH,EAJDmuH,iBACAzoE,EAGC1lD,EAHD0lD,gBACA6nE,EAECvtH,EAFDutH,gBACAC,EACCxtH,EADDwtH,gBACC78G,EAAAC,EACiDC,oBAAS,GAD1D,GACM29G,EADN79G,EAAA,GACyB68J,EADzB78J,EAAA,GAAApL,EAE6E4oH,GAAoB,GAA1FxnH,EAFPpB,EAEOoB,MAAOynH,EAFd7oH,EAEc6oH,oBAAqBa,EAFnC1pH,EAEmC0pH,mBAAoBX,EAFvD/oH,EAEuD+oH,kBAChDm/C,GAAyB/nH,GAAmB,IAA5C+nH,qBAER,SAASC,EAAiBloK,GAGxB,MAFAgoK,GAAqB,GACrBnzH,IAAWmzE,GAAmBA,IAAoBxpC,IAAc2pF,WAC1DnoK,EAGR,SAASooK,IACPJ,GAAqB,GACrBt/C,GAAkBA,IAClBX,GAAmBA,IAGrB,SAASsgD,EAAYC,GACnB,IAAMC,EAAexlJ,IAAMgW,aAAa6sF,EAAmB0iD,GAE3D,OAAOE,YAAyBD,EAAc1iD,GA4ChD,MAAO,CACLmD,oBACA1qB,SA3CF,WAA+B,QAAAwjB,EAAAp2G,UAAAzI,OAAN8+G,EAAM,IAAA37G,MAAA07G,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAND,EAAMC,GAAAt2G,UAAAs2G,GAAA,IAAAymD,EASxB1mD,EATwB,GAE3Bj5E,EAF2B2/H,EAE3B3/H,QACAoJ,EAH2Bu2H,EAG3Bv2H,gBACAmsD,EAJ2BoqE,EAI3BpqE,gBACAlD,EAL2BstE,EAK3BttE,SACAuC,EAN2B+qE,EAM3B/qE,WACAS,EAP2BsqE,EAO3BtqE,cACAn2D,EAR2BygI,EAQ3BzgI,qBAOF,OAJI4gF,EAAsBznH,GAAS2nH,GACjCA,EAAkB3nH,GAGhBynH,EAAsBznH,GAASsoH,EAC1BA,EAAmBtoH,IAG5B6mK,GAAqB,GAErBC,GAAwBA,EAAqB,CAAE9sE,WAAUuC,aAAYS,kBAEjEtpD,IAAWixE,GACNA,EAAkBtrG,WAAlB,EAAsBunG,GAC1BtuG,KAAK,SAAAo7E,GAAQ,OAAIw5E,EAAWjsK,EAAA,CAC3B0sC,UACAoJ,kBACAmsD,kBACAr2D,wBACG6mD,MAEJp7E,KAAK20J,GARD,MASEF,GAGJG,EAAY,CAAEv/H,UAASoJ,kBAAiBmsD,oBAC5C5qF,KAAK20J,GADD,MAEEF,qCC7Eb,IAAAtsJ,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAA8sJ,GAAA3rK,EAAA,GAAAA,EAAA,KAAA4rK,EAAA5rK,EAAAsI,EAAAqjK,GAAAnzB,EAAAx4I,EAAA,GAAAy4I,EAAAz4I,EAAAsI,EAAAkwI,GAAAqzB,EAAA7rK,EAAA,IAAAw6F,EAAAx6F,EAAA,MAAAy6F,EAAAz6F,EAAAsI,EAAAkyF,GASA,SAASsxE,EAATruK,GAA2D,IAAxCsD,EAAwCtD,EAAxCsD,MAAOD,EAAiCrD,EAAjCqD,MAAOirK,EAA0BtuK,EAA1BsuK,YAAartK,EAAajB,EAAbiB,UAC5C,OAAIo5C,IAAWi0H,GAEXjtJ,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAA,KAAGV,UAAWtC,IAAO2E,OAAQA,GAC5BgrK,KAMLjtJ,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAA,KAAGV,UAAWtC,IAAO2E,OAAQA,GAC7B+d,EAAA3f,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAO0E,MAAOpC,IAAaoC,GAASiF,MAKnE+lK,EAAQzqK,UAAR,GAOeyqK,wCClCf,IAAAjtJ,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAkxG,EAAAjwH,EAAA,KAAAkwH,EAAAlwH,EAAA,IAAAmwH,EAAAnwH,EAAA,KAAAgsK,GAAAhsK,EAAA,MAAAA,EAAA,MAAAisK,EAAAjsK,EAAAsI,EAAA0jK,GAWA,SAASE,EAATzuK,GAOG,IAND6gD,EAMC7gD,EAND6gD,SACA1nB,EAKCn5B,EALDm5B,QACAjsB,EAIClN,EAJDkN,KACAhM,EAGClB,EAHDkB,UACAD,EAECjB,EAFDiB,UACAogH,EACCrhH,EADDqhH,eACC+4B,GACqBltI,GAAQ,IAAtBG,YADP,IAAA+sI,EACc,GADdA,EAGKtmI,EAAW,SAACxG,GAChB+zG,GAAkBA,EAAe,OAAQ,CAAC/zG,KAGtCulH,EAAc,kBAClBxxG,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOkqF,gBAAiB5nF,IACjDogB,EAAA3f,EAAAC,cAAC6wH,EAAA,EAAD,CACEtxH,UAAWA,EACXmM,KAAMA,EACN5M,KAAMqyH,IAAUvzH,MAChB2pF,cAAevqF,IAAOo0H,KACtB9yH,QAAS6T,MAKf,OAAK+sC,EAKHx/B,EAAA3f,EAAAC,cAAC8wH,EAAA,EAAD,CAAQtpH,IAAKgwB,EAASA,QAASA,EAASl4B,UAAWtC,IAAO6H,WACvDqsH,GALIA,IAUX47C,EAAS/nK,aAAe,CACtBm6C,UAAU,GAGZ4tH,EAAS7qK,UAAT,GASe6qK,+2CCtDA,SAASC,EAAT1uK,GAQZ,IAPDi4B,EAOCj4B,EAPDi4B,cACAC,EAMCl4B,EANDk4B,WACA6zB,EAKC/rD,EALD+rD,YACA4iH,EAIC3uK,EAJD2uK,aAICC,EAAA5uK,EAHD46E,eAGC,IAAAg0F,EAHSzuI,OAAOy6C,QAGhBg0F,EAAAC,EAAA7uK,EAFD8vE,gBAEC,IAAA++F,EAFU1uI,OAAO2vC,SAEjB++F,EAAAC,EAAA9uK,EADD+uK,oBACC,IAAAD,EADc,GACdA,EAAAn+J,EAAAC,EACqCC,mBAASk+J,GAD9C,GACMC,EADNr+J,EAAA,GACmBs+J,EADnBt+J,EAAA,GAGKu+J,EAAe,WAAM,IACjB57F,EAAWxD,EAAXwD,OAER,OAAO67F,YAAW77F,IASd87F,EAAqB,SAAC17F,GAAgC,IAAxB27F,EAAwBn+J,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GAC3CmiE,EAAavD,EAAbuD,SACFi8F,EAAcC,IAAO77F,EAAQ,SAAA87F,GAAK,OAAKA,IACvCC,EAAoBC,IAAKH,IAAO77F,EAAQ,SAAA87F,GAAK,QAAMA,KACnDG,EAAqBC,IAAKV,IAAgBO,GAE1CI,EAAeD,IAAAhuK,EAAA,GAAU+tK,EAAV,GAAiCL,GAAeD,GAC/D31I,EAAQq5G,YAAe88B,GACvBj8F,EAAOk8F,IAAK,CAACz8F,EAAU35C,GAAQA,EAAQ,IAAM,IAEnDu1I,EAAev1I,GACfkhD,EAAQm1F,aAAa,CAAEn8F,QAAQ,KAAMA,IAOjCo8F,EAAuB,SAAClwF,GAC5BsvF,EAAmB,CAAEtvF,cAuBvB,OAhBApuE,oBAAU,WACR09J,EAAmB,CAAEv3F,KAAM3/C,KAC1B,CAACA,IAEJxmB,oBAAU,WACR09J,EAAmB,CAAEt3F,UAAW7/C,KAC/B,CAACA,IAEJvmB,oBAAU,WACR09J,EAAmB,CAAExiI,KAAMmf,KAC1B,CAACA,IAEJr6C,oBAAU,WACRs+J,EAAqBrB,IACpB,CAACA,IAEG,CACLsB,gBAjDsB,WACtB,IAAMC,EAAYhB,IAElB,OAAOiB,IAAKD,EAAW72D,MA+CvB+2D,YAtBkB,kBAAMhB,EAAmB,GAAI/1D,MAuB/Cg3D,mBA/ByB,SAAC/8F,GAC1B87F,EAAmB,CAAE97F,YA+BrB08F,uBACAZ,qBACAJ,cACAsB,YAzBkB,SAAA58F,GAAM,OAAI07F,EAAmB,GAAI17F,wcCpDvD,IAAMmQ,QAAkBC,EAAeD,gBAEjCr+E,EAAQ,SAAAqR,GAAO,OAAIgtE,EAAgB,CAAEhtE,UAASktE,MAAO,WAGtCC,2HACZusF,gBAAkB,kBAAM/qK,EAAM,6CADlBw+E,EAEZwsF,sBAAwB,kBAAMhrK,EAAM,+CAFxBw+E,EAGZ+gE,mBAAqB,kBALHlhE,EAAgB,CAAEhtE,QAKD,uCALUktE,MAAO,aAExCC,EAIZghE,kBAAoB,kBAAMx/I,EAAM,yLCTlC,IAAMyH,GAAMiG,EAAAu9J,EAAA,GAChB1tF,IAAUF,QAAU,6BADJ3vE,EAAAu9J,EAEhB1tF,IAAUD,MAAQ,2BAFF2tF,mjCC4DJ9yD,MA/Cf,SAAkBG,EAAkB4yD,EAAeC,GAAe,IAAAhgK,EAAAC,EAC1BC,qBAD0B,GACzDmtG,EADyDrtG,EAAA,GAC5CstG,EAD4CttG,EAAA,GAyChE,OAtCAe,oBAAU,YAEPosG,GAAoBG,EAAehB,MACnC,CAACa,IAmCG,CACLK,sBAlCF,SAA+BrsG,GAC7BmsG,EAAensG,EAAMvK,OAAOlE,QAkC5Bg7G,kBArBF,WACE,IAXFr+G,EAA2BwD,EAAOssE,EAAUmhF,EAAeH,EAAep4I,EAWlE5G,EAAQ4+J,GAAiBC,EAAc,GACvCC,EAAeC,WAZIrtK,GAA3BxD,EAYiD8R,GAZtBtO,MAAOssE,EAA+C9vE,EAA/C8vE,SAAUmhF,EAAqCjxJ,EAArCixJ,cAAeH,EAAsB9wJ,EAAtB8wJ,cAAep4I,EAAO1Y,EAAP0Y,IACxE,WAAAtP,OACI0nJ,EAAa,YAAA1nJ,OAAe0nJ,GAAkB,GADlD,mBAAA1nJ,OAEW5F,EAFX,kBAAA4F,OAGU2rB,IAAOk8H,GAAexkH,OAAO,sBAHvC,sBAAArjC,OAIc0mE,GAAY,2BAJ1B,kBAAA1mE,OAKUsP,EALV,YAaIslG,IAAgBjB,KAClB58E,OAAOm+E,KAAKtB,YAA2BlrG,EAAM4G,IAAKk4J,IAGhD5yD,IAAgBf,KAClB98E,OAAOm+E,KAAKwyD,YAAeF,IAGzB5yD,IAAgBb,KAClBh9E,OAAOm+E,KAAKyyD,YAAYH,IAG1BI,6BAAmB,CAAE7wK,KAAM69G,0BCvC/B,SAASizD,EAATjxK,GAOG,IAND6tB,EAMC7tB,EAND6tB,MACA6iJ,EAKC1wK,EALD0wK,cACAC,EAIC3wK,EAJD2wK,cACA7yD,EAGC99G,EAHD89G,iBACA58G,EAEClB,EAFDkB,UACAg9G,EACCl+G,EADDk+G,iBACCO,EAIGd,EAASG,EAAkB4yD,EAAeC,GAF5CtyD,EAFDI,EAECJ,kBACAF,EAHDM,EAGCN,sBAGF,IAAKL,EACH,OAAO,KAGT,IAAMa,EACJl9G,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLI,MAAM,QACNF,SAAUa,EACVjB,QAASi+G,GAJX,UASAz8G,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLE,SAAUa,EACVjB,QAASo+G,GAET58G,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACG1uB,EACGO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQU,UAAWtC,IAAOgX,SACrDlU,EAAAC,EAAAC,cAAA,wBAMZ,OACEF,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACEZ,OAAQ6oG,EACRt6G,MAAM,QACNkS,QAASipG,EACT7oG,WAAYooG,GAEZz8G,EAAAC,EAAAC,cAAA,wCAA0D,IAAzBgvK,EAAcloK,OAAe,YAAc,cAA5E,KAEAhH,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,KACGpF,EAAMhkB,IAAI,SAACqD,EAAMvE,GAAP,OACTlH,EAAAC,EAAAC,cAACq8B,EAAA,EAAD,CACE36B,MAAO6J,EAAK7J,MACZC,MAAO4J,EAAK5J,MACZ6F,IAAKR,EACL6K,KAAK,SACL0lG,eAAgBhsG,EAAKgsG,eACrBplG,SAAUqqG,QAQtB8yD,EAAMvqK,aAAe,CACnBmnB,MAAO,CACL,CAAEvqB,MAAO,WAAYD,MAAO05G,IAAU7D,gBAAgB,GACtD,CAAE51G,MAAO,UAAWD,MAAO45G,IAAS/D,gBAAgB,GACpD,CAAE51G,MAAO,QAASD,MAAO85G,IAAUjE,gBAAgB,KAIvD+3D,EAAMrtK,UAAN,GASegnF,kBAAaqmF,6BC9EbC,MAhBf,SAAAlxK,GAA4C,IAAjB2wK,EAAiB3wK,EAAjB2wK,cACnBQ,EAAyBR,EAAcloK,OAAS,EAChD2oK,EAAgD,IAAzBT,EAAcloK,OACrC4oK,EAAyBV,EAAc,GAM7C,OAJAj/J,oBAAU,WACRsrI,YAAoBm0B,IACnB,CAACA,IAEG,CACLA,yBACAC,uBACAC,iRCJJ,SAAS//I,EAATtxB,GAOG,IAND2wK,EAMC3wK,EAND2wK,cACAjtK,EAKC1D,EALD0D,YACA4tK,EAICtxK,EAJDsxK,iBACAC,EAGCvxK,EAHDuxK,kBACArzD,EAECl+G,EAFDk+G,iBACA7mF,EACCr3B,EADDq3B,QACCm6I,EAKGN,EAAgB,CAAEP,kBAHpBQ,EAFDK,EAECL,uBACAC,EAHDI,EAGCJ,qBACAC,EAJDG,EAICH,uBAGII,EAAW,CACflxK,MAAO,QACPE,KAAM,UAWR,OAAO0wK,GACL1vK,EAAAC,EAAAC,cAAC8jF,EAAA,EAAD,CACEjiF,MAAM,UACNE,YAAaA,EACbw8B,cAAeywI,EACft5I,QAASA,GAET51B,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACM6vK,EADN,CAEExxK,QAASqxK,IAFX,SAOCF,GACC3vK,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACM6vK,EADN,CAEExwK,UAAWa,IAAW,eAAgBnD,IAAOyB,QAC7C8G,KAAMmqK,EAAuB34J,IAC7BnR,OAAO,SACPC,IAAI,sBACJ9G,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,2BAN3B,QAUAQ,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GACM6vK,EADN,CAEExwK,UAAWa,IAAW,0BAA2BnD,IAAOyB,QACxD8G,KAAMmqK,EAAuBngB,iBAC7B3pJ,OAAO,SACPC,IAAI,sBACJ9G,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,2BAN3B,oBAaJQ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACM6vK,EADN,CAEExwK,UAAWa,IAAW,0BAA2BnD,IAAOyB,QACxDH,QAlDN,WACEsxK,OA8CE,UAQCH,GACC3vK,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,GACM6vK,EADN,CAEExwK,UAAWa,IAAW,yBAA0BnD,IAAOyB,QACvDH,QAvDR,WACEi+G,OAmDI,UAYR5sF,EAAc5qB,aAAe,CAC3BhD,YAAa,CACXvE,QAAS,sBACTmnF,QAAS,oCAEXjvD,SAAS,GAGX/F,EAAc1tB,UAAd,GASegnF,kBAAat5D,4JCvG5B,SAAS01G,GAAThnI,GAAwE,IAA9C8R,EAA8C9R,EAA9C8R,MAAOy/J,EAAuCvxK,EAAvCuxK,kBAAmBrzD,EAAoBl+G,EAApBk+G,iBAAoB34G,EAIlEuM,GAAS,GAFXo/I,EAFoE3rJ,EAEpE2rJ,iBACAx4I,EAHoEnT,EAGpEmT,IAeF,OACEjX,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,gBAAiBnD,KAAOk6B,iBACjDp3B,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,QACN2G,KAAMwR,EACNhY,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,yBACzBhB,QAVN,WACEyxK,cAAoB,CAAE7tJ,KAAM,cAUxB5iB,UAAU,eACVoG,qBAAqB,EACrBF,YAAU,GAPZ,QAWA1F,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,QACN2G,KAAMgqJ,EACNxwJ,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,yBACzBhB,QAAS0xK,MACT1wK,UAAU,0BACVoG,qBAAqB,EACrBF,YAAU,GAPZ,mBAWA1F,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNU,UAAU,wBACVhB,QAvCN,WACEsxK,EAAkBz/J,KAmChB,UAOArQ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNU,UAAU,uBACVhB,QA1CN,WACEi+G,EAAiBpsG,KAsCf,UAWNk1H,GAAepjI,UAAf,GAMeojI,yCCnEf,SAAS4qC,GAAT5xK,GAAqD,IAAhCgxJ,EAAgChxJ,EAAhCgxJ,cAAeC,EAAiBjxJ,EAAjBixJ,cAC1B4gB,EAAaj7I,cAAbi7I,SACFC,EAAoB/pJ,QAAQipI,GAC5B+gB,EAAoB/gB,IAAkBjuE,IAAUL,iBAChDsvF,EAAsBD,EACxBpzK,KAAOmzE,YACPnzE,KAAOkzE,WAELogG,EAAal9I,IAAOk8H,GACpBihB,EAAaD,EAAWE,WACxBnhF,EAAMihF,EAAWxlI,OAAO,OACxB2lI,EAAeH,EAAWxlI,OAAO,UACjCy6B,EAAO+qG,EAAWxlI,OAAO,UAE/B,OACEhrC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOsoE,gBACrBxlE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgzE,WACpBzK,GACCzlE,EAAAC,EAAAC,cAAC8kC,GAAA,EAAD,CACExlC,UAAWa,IAAWnD,KAAOe,MAAOwyK,GAAcvzK,KAAOizE,cACzDrxE,MAAM,WAEL2mE,EAJH,IAIUmrG,KAIVR,GAAYO,GACZ3wK,EAAAC,EAAAC,cAAC8kC,GAAA,EAAD,CAAOxlC,UAAWa,IAAWnD,KAAOe,MAAOf,KAAO+yE,aAC/Csf,EADH,KACUohF,IAKd3wK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOq7C,YACnB63H,GAAYK,GACZzwK,EAAAC,EAAAC,cAAC8kC,GAAA,EAAD,CACExlC,UAAWa,IAAWnD,KAAOe,MAAOf,KAAOizE,cAC3CrxE,MAAM,SAFR,YAODuxK,GACCrwK,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAO0oE,WAAY2qG,IAC3CD,EAAoB,IAAM,OAQvCH,GAAUhuK,UAAV,GASeguK,yCChEf,SAASt5B,GAATt4I,GAA0B,IAATsxJ,EAAStxJ,EAATsxJ,MACf,OAAIzrJ,IAAQyrJ,GACH,KAIP7vJ,EAAAC,EAAAC,cAAA,SACEF,EAAAC,EAAAC,cAAA,sBACCisB,KAAI0jI,EAAO,SAAA/rJ,EAAiCoD,GAAU,IAAxC3D,EAAwCO,EAAxCP,GAAIxB,EAAoC+B,EAApC/B,MAAO4tJ,EAA6B7rJ,EAA7B6rJ,WAAY14I,EAAiBnT,EAAjBmT,IAC9B45J,EAAY3pK,IAAUqvC,KAAKs5G,GAAS,EAE1C,OACE7vJ,EAAAC,EAAAC,cAACgI,GAAA,EAAD,CACER,IAAKnE,EACLvB,QAASD,EACTuG,aAAW,EACX0pB,OAAK,GAELhyB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOM,MACtBwC,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CAAMzG,MAAM,OAAO2G,KAAMwR,GACtB04I,EAAYkhB,GAAa,UAU1Ch6B,GAAM10I,UAAN,GASe00I,+BC5Bf,SAASi6B,GAATvyK,GAMG,IALD8R,EAKC9R,EALD8R,MACA6+J,EAIC3wK,EAJD2wK,cACA6B,EAGCxyK,EAHDwyK,qBACAjB,EAECvxK,EAFDuxK,kBACArzD,EACCl+G,EADDk+G,iBAGEl5G,EAWE8M,EAXF9M,GACA8rJ,EAUEh/I,EAVFg/I,cACAC,EASEj/I,EATFi/I,aACAC,EAQEl/I,EARFk/I,cACAC,EAOEn/I,EAPFm/I,cACA3sI,EAMExS,EANFwS,MACA+sI,EAKEv/I,EALFu/I,QACAC,EAIEx/I,EAJFw/I,MACA9tJ,EAGEsO,EAHFtO,MACAssE,EAEEh+D,EAFFg+D,SACAp3D,EACE5G,EADF4G,IAGM2Q,EAAauN,cAAbvN,SACF6oJ,EAAan9I,IAAOk8H,GAAekhB,WACnCM,EAAkB3wK,IAAW,gBAAiBnD,KAAOoiI,SAAUmxC,GAAcvzK,KAAOyoE,SACpFsrG,EAAkBC,KAAK1zF,KAAO,CAAC36D,EAAO+sI,GAAUtpI,SAAU,OAUhE,IAAM6qJ,EACJnxK,EAAAC,EAAAC,cAACkxK,GAAD,CACE7hB,cAAeA,EACfC,cAAeA,IAIb6hB,EAAsB,CAC1BhhK,QACAy/J,oBACArzD,oBAaF,OACEz8G,EAAAC,EAAAC,cAAC65I,GAAA,EAAD,CACEhoI,KAAMxO,EACNyhB,WAjCF,IAAOkqJ,EAAc9mK,IAAI,SAAAkpK,GAAY,OAAIA,EAAa/tK,KAAIixB,QAASnkB,EAAM9M,IAkCvE02I,eA/BJ,SAAwBhtD,GACtB8jF,EAAqB1gK,EAAO48E,EAAEnnF,OAAOuf,UA+BnC7lB,UAAWwxK,EACX55I,eAAgBp3B,EAAAC,EAAAC,cAACmmI,GAAmBgrC,GACpCx5I,cAAejQ,GAAYupJ,IAEzBvpJ,GAAYupJ,EAEdnxK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO87D,SACpBj3D,GACC/B,EAAAC,EAAAC,cAAA,KAAGV,UAAU,WACXQ,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,KACEuF,KAAMwR,EACNnR,OAAO,SACPC,IAAI,sBACJvH,QAAS,kBAAMyxK,cAAoB,CAAE7tJ,KAAM,gBAE1CrgB,EACA,IACD/B,EAAAC,EAAAC,cAAA,KAAGV,UAAU,2BAIlB6uE,GAAYruE,EAAAC,EAAAC,cAAA,KAAGV,UAAU,YAAWQ,EAAAC,EAAAC,cAAA,yBAAuBmuE,GAC3DghF,GACCrvJ,EAAAC,EAAAC,cAAA,KAAGV,UAAU,aACXQ,EAAAC,EAAAC,cAAA,0BAvCJovJ,EAEAtvJ,EAAAC,EAAAC,cAAA,KAAGuF,KAAM6pJ,EAAc9wJ,QAAS+yK,OAAgCliB,GAI7DA,GAqCF4hB,GACCjxK,EAAAC,EAAAC,cAAA,SACEF,EAAAC,EAAAC,cAAA,8BACAF,EAAAC,EAAAC,cAAA,KAAGuF,KAAI,iBAAAkC,OAAmBkb,IAAUouJ,IAGxCjxK,EAAAC,EAAAC,cAACsxK,GAAD,CAAO3hB,MAAOA,MAMtBihB,GAAM3uK,UAAN,GAQegnF,mBAAa2nF,ICxH5B,SAASW,GAATlzK,GAKG,IAAAmzK,EAAAnzK,EAJD+gI,SACEhV,EAGDonD,EAHCpnD,OACAj3F,EAEDq+I,EAFCr+I,KAGF,OACErzB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,oBAAqBnD,KAAOoiI,WACrDt/H,EAAAC,EAAAC,cAAC+mH,GAAA,EAAD,CAAKp9G,KAAMwpB,EAAM7zB,UAAWtC,KAAO6E,QAElCqG,KAAIkiH,EAAQ,SAACj6G,EAAOnJ,GAAR,OACXlH,EAAAC,EAAAC,cAACyxK,GAAD,CACEjqK,IAAG,GAAAC,OAAK0I,EAAM9M,GAAX,KAAAoE,OAAiBT,GACpBmJ,MAAOA,OAOjBohK,GAAUxsK,aAAe,CACvBq6H,SAAU,IAGZmyC,GAAUtvK,UAAV,GAIegnF,mBAAasoF,mEChC5B,SAASG,GAATrzK,GAAwE,IAAxCqpB,EAAwCrpB,EAAxCqpB,SAAUujE,EAA8B5sF,EAA9B4sF,OAAQxlB,EAAsBpnE,EAAtBonE,QAASkgE,EAAatnI,EAAbsnI,UACzD,OACE7lI,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOsoE,eAAgBqsG,KAAYrsG,iBAC5DxlE,EAAAC,EAAAC,cAAA,OAAKV,UAAWqyK,KAAY3hG,WAC1BlwE,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTnD,KAAOe,MACPf,KAAOuoE,KACPosG,KAAY5zK,MACZ2pB,GAAY+9C,GAAWzoE,KAAOwoE,gBAIhC99C,GACA5nB,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTnD,KAAOe,MACPf,KAAOm2B,KACPw+I,KAAY5zK,MACZ4zK,KAAY5hG,eAKpBjwE,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOq7C,WAAYs5H,KAAYt5H,aACvDotB,GACC3lE,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTnD,KAAOe,MACPf,KAAOyoE,QACPksG,KAAY1hG,gBAIjB01D,GACC7lI,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTwxK,KAAYjsG,WACZ1oE,KAAO0oE,WACPulB,EAAS0mF,KAAYxhG,YAAcwhG,KAAYzhG,gBAS7DwhG,GAAqBzvK,UAArB,GAOeyvK,UCpDf,SAASE,GAATvzK,GAAwE,IAAxCqpB,EAAwCrpB,EAAxCqpB,SAAUujE,EAA8B5sF,EAA9B4sF,OAAQxlB,EAAsBpnE,EAAtBonE,QAASkgE,EAAatnI,EAAbsnI,UACnDl5H,EACJ3M,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOyP,SAAUolK,KAAgBplK,YAGxD24D,EACJtlE,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOooE,QAASysG,KAAgBzsG,UACzDtlE,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOqoE,YAIhCvM,EACJh5D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO87D,SACrBh5D,EAAAC,EAAAC,cAAA,SAAGF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO6E,QAAS/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO2M,QAC5D7J,EAAAC,EAAAC,cAAA,SAAGF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO6E,QAAS/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO2M,QAC5D7J,EAAAC,EAAAC,cAAA,SAAGF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO6E,QAAS/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOM,SAI1DiuI,EAAiBprI,IACrBnD,KAAOwP,UACPqlK,KAAgBrlK,UAChBi5D,GAAWzoE,KAAOmoE,aAGpB,OAAIz9C,EAEA5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAWisI,GACdzrI,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW2xK,KAAW9vK,KAAM6vK,KAAgBrnK,SACzDiC,EACD3M,EAAAC,EAAAC,cAAA,OAAKV,UAAWuyK,KAAgBl6I,eAC9B73B,EAAAC,EAAAC,cAAC+xK,GAAD,CACE9mF,OAAQA,EACRxlB,QAASA,EACT/9C,SAAUA,EACVi+G,UAAWA,KAGdvgE,GAEHtlE,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW2xK,KAAW9vK,KAAM6vK,KAAgB/vK,UACzDg3D,IAOPh5D,EAAAC,EAAAC,cAAA,OAAKV,UAAWisI,GACb9+H,EAED3M,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOgF,KAAM8vK,KAAW9vK,KAAM6vK,KAAgB/vK,UACvEhC,EAAAC,EAAAC,cAAC+xK,GAAD,CACE9mF,OAAQA,EACRxlB,QAASA,EACT/9C,SAAUA,EACVi+G,UAAWA,IAEZ7sE,GAGFsM,GAKPwsG,GAAqB3vK,UAArB,GAOe2vK,+OC1Ef,SAAS/jJ,GAATxvB,GAA4C,IAArB+rH,EAAqB/rH,EAArB+rH,OAAQub,EAAatnI,EAAbsnI,UACrBj+G,EAAauN,cAAbvN,SAER,OACE5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAW0yK,KAAe5yC,UAC7Bt/H,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOioE,KACrBnlE,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOkoE,WAEzBklD,EAAOliH,IAAI,SAACiI,EAAO9M,GAAR,OACVvD,EAAAC,EAAAC,cAACiyK,GAADC,GAAA,GACM/hK,EADN,CAEE3I,IAAKnE,EACLqkB,SAAUA,EACVi+G,UAAWA,QAOrB93G,GAAY5rB,UAAZ,GAKA4rB,GAAY9oB,aAAe,CACzBqlH,OAAQ,CACN,CAAEn/B,QAAQ,EAAMxlB,SAAS,GACzB,CAAEwlB,QAAQ,EAAOxlB,SAAS,GAC1B,CAAEwlB,QAAQ,EAAMxlB,SAAS,KAId53C,UC9Bf,SAASskJ,GAAT9zK,GAAuF,IAAjE+zK,EAAiE/zK,EAAjE+zK,gBAAiB/nD,EAAgDhsH,EAAhDgsH,UAAWgoD,EAAqCh0K,EAArCg0K,4BAC1C1sC,EAD+EtnI,EAARG,OAClD4iF,IAAUF,QAErC,GAAIkxF,EACF,OAAOtyK,EAAAC,EAAAC,cAAC2/E,GAAD,CAAuBgmD,UAAWA,IAG3C,GAAwB,IAApBtvF,KAAKg0E,GAAkB,CACzB,IAAMtoH,EAAcjC,EAAAC,EAAAC,cAAA,WAAMqyK,GAE1B,OAAOvyK,EAAAC,EAAAC,cAAC27B,GAAA,EAAD,CAAkB55B,YAAaA,IAGxC,OAAOkqB,KAAIo+F,EAAW,SAAC+U,EAAUp4H,GAAX,OACpBlH,EAAAC,EAAAC,cAACsyK,GAAD,CACE9qK,IAAG,GAAAC,OAAK23H,EAASjsG,KAAd,KAAA1rB,OAAsBT,GACzBo4H,SAAUA,MAKhB+yC,GAAWptK,aAAe,CACxBstK,4BAA2B,wLAM7BF,GAAWlwK,UAAX,GAOegnF,mBAAakpF,iECzC5B,SAASx+G,GAATt1D,GAAmC,IAAnBsL,EAAmBtL,EAAnBsL,KAAMrK,EAAajB,EAAbiB,UACpB,OACEQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWb,EAAWtC,KAAOsD,KAAM,SAAWqJ,GAInEgqD,GAAK5uD,aAAe,CAClB4E,KAAM,GACNrK,UAAW,IAGbq0D,GAAK1xD,UAAL,GAKe0xD,gCCff,SAAStZ,GAATh8C,GAAmC,IAAnBsL,EAAmBtL,EAAnBsL,KAAMrK,EAAajB,EAAbiB,UACpB,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWb,EAAWtC,KAAOuO,OAC3CzL,EAAAC,EAAAC,cAACo0D,GAAD,MACAt0D,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO2M,MAAOA,IAKrC0wC,GAAKp4C,UAAL,GAKAo4C,GAAKt1C,aAAe,CAClB4E,KAAM,GACNrK,UAAW,IAGE+6C,gCCnBf,SAAS0kE,GAAT1gH,GAA2B,IAATwD,EAASxD,EAATwD,MAChB,OACE/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguF,QACrBlrF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwN,QAAU3I,GACjC/B,EAAAC,EAAAC,cAACuyK,GAAD,CAAM5oK,KAAK,mBAAmBrK,UAAWtC,KAAO4sK,UAChD9pK,EAAAC,EAAAC,cAACuyK,GAAD,CAAM5oK,KAAK,oBAAoBrK,UAAWtC,KAAO2sK,YAKvD5qD,GAAO98G,UAAP,GAIA88G,GAAOh6G,aAAe,CACpBlD,MAAO,UAGMk9G,+mCCPf,SAASyzD,GAATn0K,GAAuF,IAAnEG,EAAmEH,EAAnEG,KAAMi0K,EAA6Dp0K,EAA7Do0K,aAAcC,EAA+Cr0K,EAA/Cq0K,qBAAsBC,EAAyBt0K,EAAzBs0K,sBACpD5xF,EAAsCK,IAAtCL,iBAAkBC,EAAoBI,IAApBJ,gBAD2DhyE,EAAA4jK,GAE7C1jK,mBAASkkB,OAFoC,GAE9Ey/I,EAF8E7jK,EAAA,GAEhE8jK,EAFgE9jK,EAAA,GAG/E+jK,EAAav0K,IAAS4iF,IAAUF,QAClCS,EAAiB,GAoBrB,OAlBI8wF,EAAa3rK,SACf66E,EAAiB,CAACqxF,GAAA,GACbh2K,KAAO+jF,GAAoBkpC,aAAwBwoD,EAAc1xF,IADrDiyF,GAAA,GAEZh2K,KAAOgkF,GAAmBipC,aAAwBwoD,EAAczxF,MAgBrElhF,EAAAC,EAAAC,cAACkM,GAAA,EAAD,CAAM5M,UAAWa,IAAW,WAAYnD,KAAOi2K,oBAC7CnzK,EAAAC,EAAAC,cAACkuF,GAAA,EAAD,CACE/tE,QAAM,EACN+gB,SAAU2xI,EACVlxF,eAAgBA,EAChBxvE,SAZN,SAAsBghB,GACpBu/I,EAAqBhwG,aAAWvvC,IAChC2/I,EAAgB3/I,GAChB+/I,6BAUIrmF,cAlBN,SAA2B15D,GACzBw/I,GAAyBA,EAAsBjwG,aAAWvvC,IAC1DggJ,iCAkBErzK,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAC+mH,GAAA,EAAD,CAAKp9G,KAAK,4EACTopK,GAAcjzK,EAAAC,EAAAC,cAACsmH,GAAD,OAKrBksD,GAASvwK,UAAT,GAOegnF,mBAAaupF,uvBClD5B,SAAShzD,GAATnhH,GAIG,IAAA+0K,EAHD50K,EAGCH,EAHDG,KACA60K,EAECh1K,EAFDg1K,cACAC,EACCj1K,EADDi1K,kBACCC,GAAAC,GAAAJ,EAAA,GAMEhyF,IAAUF,QAAU,CACnBrvE,KAAM,YACN80C,SAAU,oBACV50C,YAAa,uCACb0hK,cAAeC,KACfC,eAAgBL,IAXnBE,GAAAJ,EAaEhyF,IAAUD,MAAQ,CACjBtvE,KAAM,QACN80C,SAAU,qBACV50C,YAAa,mCACb0hK,cAAeG,MACfD,eAAgBN,IAlBnBD,GACQ50K,GACPm1K,EAFDJ,EAECI,eACAF,EAHDF,EAGCE,cACGI,EAJJl0K,GAAA4zK,EAAA,oCA2BD,OACEzzK,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,kBAAmBnD,KAAO+uB,UACnDjsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,wBAAyBnD,KAAOsU,QACzDxR,EAAAC,EAAAC,cAACymD,GAAA,EAADqtH,GAAA,GAAcD,EAAd,CAA6B1hK,SARnC,SAAsBosB,GACpBo1I,EAAep1I,GACfk1I,UAYJj0D,GAAQv9G,UAAR,GAMegnF,mBAAau2B,++BClC5B,SAAS9hF,GAATr/B,GAyBG,IAxBD6lI,EAwBC7lI,EAxBD6lI,GACA1lI,EAuBCH,EAvBDG,KACA4rH,EAsBC/rH,EAtBD+rH,OACA4kD,EAqBC3wK,EArBD2wK,cACA+E,EAoBC11K,EApBD01K,eACAC,EAmBC31K,EAnBD21K,mBACAC,EAkBC51K,EAlBD41K,YACAxB,EAiBCp0K,EAjBDo0K,aACAyB,EAgBC71K,EAhBD61K,kBACAxB,EAeCr0K,EAfDq0K,qBACAC,EAcCt0K,EAdDs0K,sBACAwB,EAaC91K,EAbD81K,iBACAxE,EAYCtxK,EAZDsxK,iBACAkB,EAWCxyK,EAXDwyK,qBACAyC,EAUCj1K,EAVDi1K,kBACAD,EASCh1K,EATDg1K,cACAe,EAQC/1K,EARD+1K,aACAC,EAOCh2K,EAPDg2K,YACAC,EAMCj2K,EANDi2K,cACA/qJ,EAKClrB,EALDkrB,WACAgrJ,EAICl2K,EAJDk2K,mBACAC,EAGCn2K,EAHDm2K,sBACAnC,EAECh0K,EAFDg0K,4BACAoC,EACCp2K,EADDo2K,mBACCzlK,EAAA0lK,GACiDxlK,oBAAS,GAD1D,GACMylK,EADN3lK,EAAA,GACyB4lK,EADzB5lK,EAAA,GAAA+I,EAAA28J,GAE+CxlK,oBAAS,GAFxD,GAEMitG,EAFNpkG,EAAA,GAEwBqkG,EAFxBrkG,EAAA,GAAAgT,EAAA2pJ,GAGyCxlK,mBAAS,MAHlD,GAGM6/J,EAHNhkJ,EAAA,GAGqB8pJ,EAHrB9pJ,EAAA,GAIK+pJ,IAAiBtH,YAAWhvI,OAAO2vC,SAASwD,OAAQ,UAU1D,SAASi+F,EAAkBz/J,GACzB0kK,EAAiB1kK,GACjBykK,GAAsBD,GAVxB5kK,oBAAU,WACPqkK,GAAgBF,GAAsBA,IAAiB,MAAS7xF,EAAcwsF,uBAC/E2F,EAAsBD,GACtBN,IAAW,MAAS5xF,EAAcusF,kBACjC,CAACoF,IAEJ5gJ,IAAO2hJ,GAAGC,WAAWC,KAZpB,IAAA/wF,EAwB+BjvD,cAAxB7pB,GAxBP84E,EAwBO94E,UAAWsc,GAxBlBw8D,EAwBkBx8D,SACbwtJ,GAAyB,CAC7B9C,gBAAiBluC,EAAGkuC,gBACpB+C,iBAAkBjxC,EAAGixC,iBACrBR,oBACAx4D,mBACAiO,SACA4kD,gBACA+E,iBACAC,qBACAvB,eACAC,uBACAC,wBACAwB,mBACAxE,mBACAkB,uBACA9B,gBACAa,oBACArzD,iBAvBF,SAA0BpsG,GACxB0kK,EAAiB1kK,GACjBisG,GAAqBD,IAsBrBm3D,oBACAD,gBACA+B,oBAAqB,CACnBC,UAAWhzF,EAAcghE,kBACzBiyB,WAAYjzF,EAAc+gE,oBAE5BivB,+BAjDDkD,GAyDGC,YAAe,CAAEC,SAAUrrD,EAAQ7qH,UAAW2kI,EAAGkuC,kBAJ5CsD,GArDRH,GAqDCrpJ,MACAsB,GAtDD+nJ,GAsDC/nJ,UACAmoJ,GAvDDJ,GAuDCI,eACAC,GAxDDL,GAwDCK,kBAGAjmK,GAGE6d,GAHF7d,QACAwd,GAEEK,GAFFL,MACAG,GACEE,GADFF,WAGI+8F,GAAYiqD,EAAgBoB,GAAkBtrD,EAE9CyrD,GAAkB,CACtBzhK,gBAAiBpX,KAAO4mG,WACxBz9F,eAAgBnJ,KAAO6mG,gBACvBhiG,MAAOyJ,EAAO9M,IAGhB,OACEsB,EAAAC,EAAAC,cAACipF,EAAA,EAAuB7zD,SAAxB,CAAiC1zB,MAAOwzK,IACrC3rJ,GAAczpB,EAAAC,EAAAC,cAACoK,EAAA,QAAeyrK,IAC9BxB,GACCv0K,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,4BAA6BnD,KAAO+uB,UAC7DjsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8mG,gBACrBhkG,EAAAC,EAAAC,cAACogH,GAAD,CAAS5hH,KAAMA,IACfsB,EAAAC,EAAAC,cAAC81K,GAAA,EAAD,CAAet3K,KAAMA,EAAMi3K,SAAUrrD,EAAQ0qD,aAAcA,MAKjEh1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOkb,KAAM82J,EAAcloK,QAAU9J,KAAOsuC,SACrExrC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,sBAAuBnD,KAAO+mG,aACvDjkG,EAAAC,EAAAC,cAAC+1K,GAAD,CAAYv3K,KAAMA,EAAM6rH,UAAWA,MAGpC+pD,GAAgBhpK,IACftL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0tF,UACrB5qF,EAAAC,EAAAC,cAACg2K,GAAD,CAAUx3K,KAAMA,MAKrBi2K,GAAsB30K,EAAAC,EAAAC,cAACowB,EAAD,CAAesF,SAAS,IAC9C4+I,IAAkBnmK,IAAQunK,KACzB51K,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE6c,SAAUA,GACVnoB,UAAWo2K,GACXhmK,QAASA,GACTwd,MAAOA,GACPO,WAAYJ,GACZnb,SAAUyjK,GACVt2K,UAAWtC,KAAOwwB,UAClBC,SAAU,KAIZgnJ,GAAsB30K,EAAAC,EAAAC,cAACowB,EAAD,MACxBtwB,EAAAC,EAAAC,cAACi2K,EAAA,EAAD,CACEvhK,YAAaigK,EACbhgK,YAAai7J,EACbrxI,cAAeywI,EACfyG,SAAUrrD,EACV5rH,KAAMA,IAERsB,EAAAC,EAAAC,cAACk2K,EAAD,OAKNx4I,GAAU34B,aAAe,CACvBm/H,GAAI,GACJmwC,aAAa,EACbD,cAAc,EACd7qJ,YAAY,EACZ+qJ,eAAe,EACfC,mBAAoB,EACpBE,oBAAoB,GAItB/2I,GAAUz7B,UAAV,GA8Bey7B,gCC5MA7P,OARf,WACE,OACE/tB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOyB,QACrBqB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO2M,8BCC9B,SAASkkB,GAATxvB,GAAoC,IAAbsnI,EAAatnI,EAAbsnI,UACrB,OACE7lI,EAAAC,EAAAC,cAAA,eACEF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+U,aACrBjS,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0tF,UACrB5qF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO2tF,gBACrB7qF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOs6B,aACxBx3B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO4tF,YACtB9qF,EAAAC,EAAAC,cAACo0D,GAAD,MACAt0D,EAAAC,EAAAC,cAACo0D,GAAD,OAEFt0D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8tF,cAGzBhrF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6tF,OACpB5gF,MAAM,GAAGC,KAAK,GAAGhC,IAChB,SAACiC,EAAGnD,GAAJ,OAAclH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+tF,KAAMvjF,IAAKR,QAItDlH,EAAAC,EAAAC,cAAA,WAEAF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOioE,MACtB0gE,GACC7lI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguF,QACrBlrF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwN,SACvB1K,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOuO,KAAMvO,KAAOiuF,SAC7CnrF,EAAAC,EAAAC,cAACo0D,GAAD,MACAt0D,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO2M,QAG1B7J,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOuO,KAAMvO,KAAOkuF,QAC7CprF,EAAAC,EAAAC,cAACo0D,GAAD,MACAt0D,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO2M,YAUxCkkB,GAAY5rB,UAAZ,GAIe4rB,+BClCAA,OAjBf,WACE,OACE/tB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+uB,SACrBjsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0qD,OACrB5nD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOw5B,WACrB12B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOyP,WACxB3M,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOs6H,iBAG5Bx3H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOu6H,YAAav6H,KAAOsU,QACpDxR,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOgxG,YACxBluG,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOq6H,mBCLzB,SAASxpG,GAATxvB,GAAoC,IAAbsnI,EAAatnI,EAAbsnI,UACpBv6H,EAAc6pB,cAAd7pB,UAER,OACEtL,EAAAC,EAAAC,cAAA,eACEF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+uB,SACrBjsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8mG,gBACrBhkG,EAAAC,EAAAC,cAACm2K,GAAD,MACAr2K,EAAAC,EAAAC,cAACo2K,GAAD,QAIJt2K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOkb,MACrBpY,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+mG,YACrBjkG,EAAAC,EAAAC,cAAC2/E,GAAD,CAAuBgmD,UAAWA,KAGnCv6H,GACCtL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0tF,UACrB5qF,EAAAC,EAAAC,cAACq2K,GAAD,CAAqB1wC,UAAWA,OAQ5C93G,GAAY5rB,UAAZ,GCtCArB,EAAAC,EAAAC,EAAA,sBAAAw1K,KAIe54I,qfCKf,SAAS64I,EAATl4K,GAA4E,IAAhDm4K,EAAgDn4K,EAAhDm4K,UAAWl3K,EAAqCjB,EAArCiB,UAAWD,EAA0BhB,EAA1BgB,SAA0Bo3K,ECPrE,SAAAp4K,GAAgF,IAAjD6lI,EAAiD7lI,EAAjD6lI,GAAI1lI,EAA6CH,EAA7CG,KAAMk4K,EAAuCr4K,EAAvCq4K,WAAYC,EAA2Bt4K,EAA3Bs4K,aAAcC,EAAav4K,EAAbu4K,UAChEC,EAAsC3yC,EAAtC2yC,eAAgBC,EAAsB5yC,EAAtB4yC,kBAYxB,OANA/mK,oBAAU,WAGR,OAFA2mK,EAAWl4K,GAEJ,kBAAMo4K,MACZ,IAEI,CACLh3K,WAAYi3K,GAAkBC,EAC9BC,YAZF,WACEJ,EAAan4K,KDIqBw4K,CADsCr3K,EAAAtB,EAAA,uCAClE04K,EADkEN,EAClEM,YAAan3K,EADqD62K,EACrD72K,WAErB,OAAK42K,EAKH12K,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWjF,GAAc5C,IAAO4C,WAAYN,IAC5EQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO8E,SAAUzC,GAElCS,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,OACNG,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,gBACzBhB,QAASy4K,EACTr4K,SAAUkB,EACVN,UAAWtC,IAAOyB,OAClBO,cAAehC,IAAOsD,QAbnB,KAmBXi2K,EAAiBt0K,UAAjB,GAaes0K,QExCTn0C,EAAeC,YAAa,mBAAoBj9D,GAEvCg9D,MAAa1kG,+ECP5B98B,EAAAC,EAAAC,EAAA,sBAAAurK,IAAA,IAAAt9G,EAAAnuD,EAAA,IAAAq2K,EAAAr2K,EAAA,KAIO,SAASyrK,EAAyB5uH,EAAUisE,GACjD,OAAOwtD,cAAIz5H,GAAU05H,SAClB7/J,KAAK,SAAA8/J,GAAI,OAAIC,YAAaD,EAAM1tD,qDCNrC,IAAA1gH,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAE8BI,IAAUkuK,SACtCluK,IAAU4oE,UAAU,CAAC5oE,IAAU8E,OAAQ9E,IAAUguD,wCCHnD,IAAApuD,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEauuK,EAAYnuK,IAAU4oE,UAAU,CAC3C5oE,IAAU4jE,QACV5jE,IAAU8E,OACV9E,IAAUiuD,QAAQjuD,IAAU8E,UAGN9E,IAAU6tD,MAAM,CACtCt1D,MAAOyH,IAAU8E,OACjBxM,MAAO61K,oCCVT,IAAA93J,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAA+3J,GAAA52K,EAAA,GAAAA,EAAA,KAAAif,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAOA,SAAS43J,EAATp5K,GAA+B,IAIrBsL,EAJqB/F,EAAAvF,EAARkN,MAC+B,GADvBy3C,EAAAp/C,EACrBq/C,0BADqB,IAAAD,EACA,EADAA,EACGkB,EADHtgD,EACGsgD,QAkBhC,OACExkC,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO06K,gBAhBjB/tK,EAAOs5C,EAAqB,EAArB,YAAAx7C,OACGw7C,EADH,iBAET,wBAEAiB,EAEAxkC,EAAA3f,EAAAC,cAACw3K,EAAA,EAAD,CAAM54K,MAAM,UAAUE,KAAK,OAAOyG,KAAM2+C,GACrCv6C,GAKAA,IAUX8tK,EAAYx1K,UAAZ,GAIew1K,6RCnCFE,EAAqB,iBAAO,CACvC,CACEt0K,GAAI,UACJxB,MAAO,aACPq3E,MAAO,CACL,CACE3zE,KAAMqyK,IAAMC,gBAAgBC,cAC5BjmK,KAAM,kBAER,CACEtM,KAAMqyK,IAAMC,gBAAgBE,eAC5BlmK,KAAM,mBAER,CACEtM,KAAMqyK,IAAMC,gBAAgBG,mBAC5BnmK,KAAM,0BAIZ,CACExO,GAAI,OACJxB,MAAO,OACPq3E,MAAO,CACL,CACE3zE,KAAM,0CACNsM,KAAM,kBACNrM,YAAY,KAIlB,CACEnC,GAAI,cACJxB,MAAO,wBACPq3E,MAAO,CACL,CACE3zE,KAAI,GAAAkC,OAAKmwK,IAAMK,qBAAqBC,mBAAhC,KAAAzwK,OAAsD2c,IAAI+zJ,WAC9DtmK,KAAM,sBACNnT,UAAW0lB,IAAIyuD,YAAYulG,cAE7B,CACE7yK,KAAMqyK,IAAMK,qBAAqBI,MACjCxmK,KAAM,eACNnT,UAAW0lB,IAAIyuD,YAAYulG,cAE7B,CACE7yK,KAAM,iBACNsM,KAAM,gBACNnT,WACI0lB,IAAIyuD,YAAYulG,eAAiBh0J,IAAIktH,0BAA4BltH,IAAIk0J,gBAG3E,CACE/yK,KAAMqyK,IAAMK,qBAAqBM,YACjC1mK,KAAM,eACNnT,UAAW0lB,IAAIyuD,YAAYulG,cAE7B,CACE7yK,KAAMqyK,IAAMK,qBAAqBO,kBACjC3mK,KAAM,qBACNnT,UAAW0lB,IAAIyuD,YAAYulG,kBAMtBK,EAAqB,CAChClzK,KAAMqyK,IAAMC,gBAAgBp3C,OAC5Bi4C,cAAe,SACf7yK,IAAK,iQC5DP,SAAS8yK,EAATt6K,GAAuC,IAAtBiV,EAAsBjV,EAAtBiV,OAAQa,EAAc9V,EAAd8V,WACjBykK,EAAkBjB,IAClB5wK,EAAa,SAAAnD,GAA0C,IAAvC2B,EAAuC3B,EAAvC2B,KAAMsM,EAAiCjO,EAAjCiO,KAAMrM,EAA2B5B,EAA3B4B,WAChC,OAD2D5B,EAAflF,SAEnC,KAIPoB,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEK,qBAAmB,EACnBH,KAAMA,EACN3G,MAAM,QACNU,UAAWtC,IAAOM,KAClBkI,WAAYA,EACZgC,IAAKjC,EACLvG,cAAehC,IAAOsD,MAErBuR,IAmBP,OACE/R,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACEZ,OAAQA,EACRa,WAAYA,EACZ7U,UAAWtC,IAAOsX,MAClBgB,cAAetY,IAAOkb,MAEtBpY,EAAAC,EAAAC,cAAC64K,EAAA,EAAD,CAAah3K,MAAM,UAAUO,QAAS+R,IAEtCrU,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk8E,OACpB0/F,EAAgB1wK,IAxBD,SAAApE,GAA0B,IAAvBT,EAAuBS,EAAvBT,GAAIxB,EAAmBiC,EAAnBjC,MAAOq3E,EAAYp1E,EAAZo1E,MAClC,OAAIA,EAAM4/F,MAAM,SAAAx7K,GAAI,OAAIA,EAAKoB,WACpB,KAIPoB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,QAAS1uC,IAAKnE,GACnCvD,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQA,GAE7Bq3E,EAAMhxE,IAAInB,MAiBXjH,EAAAC,EAAAC,cAACqF,EAAA,EAADpF,EAAA,GAAUw4K,EAAV,CAA8B75K,MAAM,QAAQU,UAAWtC,IAAOyjI,SAA9D,aAQRk4C,EAAM12K,UAAN,GAKe02K,2BC3Df,SAASI,EAAT16K,GAAqC,IAAlB2hE,EAAkB3hE,EAAlB2hE,SAAUnuD,EAAQxT,EAARwT,KAAQ2W,EACEpJ,cAA7BzK,EAD2B6T,EAC3B7T,YAAaD,EADc8T,EACd9T,YAOrB,OACE5U,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQE,QAPQ,WAClB06K,cACArkK,KAKgC/V,MAAM,QAAQU,UAAWtC,IAAOi8K,SAC5Dn5K,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CACE18D,GAAI61K,IACJ55K,UAAWtC,IAAOijE,OAClBD,SAAUA,EACVnuD,KAAMA,KAIV/R,EAAAC,EAAAC,cAACm5K,EAAD,CAAO7lK,OAAQoB,EAAaP,WAAYQ,KAK9CokK,EAAQ92K,UAAR,GAKe82K,+uCChBf,SAASr7I,EAATr/B,GAUG,IATD8hE,EASC9hE,EATD8hE,iBACAc,EAQC5iE,EARD4iE,kBACA7sD,EAOC/V,EAPD+V,gBACA8sD,EAMC7iE,EAND6iE,gBACAk4G,EAKC/6K,EALD+6K,yBACAC,EAICh7K,EAJDg7K,YACAx3K,EAGCxD,EAHDwD,MACAikF,EAECznF,EAFDynF,OACAwzF,EACCj7K,EADDi7K,eACC9wJ,EACoEpJ,cAAhDm6J,EADpB/wJ,EACO9T,YAA0C8kK,EADjDhxJ,EACoC7T,YAI/BmsC,EAAY,CAAEH,OCpCf,SAAiCkhH,GAAY,IAC3C4X,EAD2CxqK,EACzB,CAAC4yJ,GAAc,IACrC35J,IAAI,SAAAwxK,GAAa,OAAIA,EAAcjrK,MAAM,OAAOxG,OAAO,KACvDC,IAAIkG,KAH2C,MAKlD,OAAIqrK,IAAmBE,IACd,GAGFF,ED0BaG,CADDz5G,GAAoB05G,YAAgBr7I,OAAO2vC,SAASuD,UAAUmwF,aAHhFiY,EAOmCxsB,cAA5BysB,EAPPD,EAOOC,cAAe5jK,EAPtB2jK,EAOsB3jK,SAUvB,IAAM6jK,EACJl6K,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CACE18D,GAAI61K,IACJ55K,UAAWtC,IAAOijE,OAClBD,SAAU+5G,EACVloK,KAAMsE,IAIJ8jK,EAAc71J,IAAI81J,sBAAwB73F,IAAgBm/D,IAC1D24B,EAAY/1J,IAAIw7C,sBAAwB,KAAO9/D,EAAAC,EAAAC,cAACo6K,EAAA,EAAD,MA+DrD,OACEt6K,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGm7D,GACCphE,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOi6G,aAAc7yF,IAAIw7C,uBAAyB5iE,IAAOk6G,YAhErE,WACnB,GAAI9yF,IAAIw7C,sBAAuB,CAC7B,IAAM07B,EAAc+9E,GAAex3K,EA8BnC,OACE/B,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAWnD,IAAOwN,OAAQxN,IAAOitF,GAAI71E,IA5BrCimK,YAAiBj2J,IAAIk2J,SAASroG,MAI7CnyE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO85G,UACrBh3G,EAAAC,EAAAC,cAACkxE,EAAA,EAAD,MACCoqB,GAcLx7F,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAM,OAASuI,KAAMugF,GAAU1hE,IAAIk2J,SAASroG,MACxDnyE,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,oBAAqBnD,IAAOsD,QACrDR,EAAAC,EAAAC,cAAA,YAVEs5K,EACKx5K,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOg6G,mBAGrC1b,IAePx7F,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyoC,OACrB3lC,EAAAC,EAAAC,cAACi6K,EAAD95D,EAAA,CACEz4F,UAAQ,GACJtD,IAAI81J,uBAAyB,CAAE56K,UAAWtC,IAAO0sF,iBAEvD5pF,EAAAC,EAAAC,cAACu6K,EAAD,CAASv6G,SAAU+5G,EAAeloK,KAAMsE,MAMhD,OACErW,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAWnD,IAAOwN,OAAQ4J,IAC3CtU,EAAAC,EAAAC,cAACohJ,EAAA,EAAD,CACE9uH,SAAUinJ,EACVj7K,QAASk7K,EACTn4B,gBAAiB24B,IAEnBl6K,EAAAC,EAAAC,cAAA,MAAAmgH,EAAA,CAAK7gH,UAAWtC,IAAO6E,OAzEvBo/D,EACK,CAAE5hE,SAAU4hE,GAGd,CAAEpgB,wBAAyBC,KAuE9BhhD,EAAAC,EAAAC,cAACi6K,EAAD,CAAavyJ,UAAQ,KAUtB8yJ,IAEEp2J,IAAIq2J,sBACF36K,EAAAC,EAAAC,cAAC06K,EAAA,EAAD,MAEL56K,EAAAC,EAAAC,cAAC26K,EAAA,EAAD,CAAiBpB,eAAgBA,IAChCH,GAA4Be,GAKnCz8I,EAAU34B,aAAe,CACvBk8D,kBAAmB,GACnBC,iBAAiB,EACjBo4G,gBAAgB,GAGlB57I,EAAUz7B,UAAV,GAceogI,kBAAa,gBAAiBj9D,EAA9Bi9D,CAAuC3kG,GElJvCsjC,IARf,SAAyB1+D,GACvB,OACExC,EAAAC,EAAAC,cAAC46K,EAAA,EAAD,CAAU97B,MAAOA,KACfh/I,EAAAC,EAAAC,cAAC66K,EAAcv4K,0HCARw4K,EAVY,QAWZC,EAAmC,qBACnCC,EAAiC,2BAEjCC,EAA6B,CACxC,CAAE53K,GAAI,aAAcxB,MAAO,sBAAuBm8F,aAAa,GAC/D,CAAE36F,GAfoB,OAeCxB,MAAO,QAC9B,CAAEwB,GAfoB,OAeCxB,MAAO,QAC9B,CAAEwB,GAAIy3K,EAAmBj5K,MAAO,QAASjC,YAAY,GACrD,CAAEyD,GAhByB,YAgBCxB,MAAO,aACnC,CAAEwB,GAhBwB,WAgBCxB,MAAO,YAClC,CAAEwB,GAboB,OAaCxB,MAAO,SAGnBq5K,EAA2B,CACtC,CAAE73K,GAAI,aAAcxB,MAAO,sBAAuBm8F,aAAa,GAC/D,CAAE36F,GAzBoB,OAyBCxB,MAAO,QAC9B,CAAEwB,GAzBoB,OAyBCxB,MAAO,QAC9B,CAAEwB,GAAIy3K,EAAmBj5K,MAAO,QAASjC,YAAY,GACrD,CAAEyD,GA1ByB,YA0BCxB,MAAO,aACnC,CAAEwB,GA1BwB,WA0BCxB,MAAO,YAClC,CAAEwB,GA1BqB,QA0BCxB,MAAO,SAC/B,CAAEwB,GA1BuB,UA0BCxB,MAAO,WACjC,CAAEwB,GA1BqB,QA0BCxB,MAAO,SAC/B,CAAEwB,GA1BoB,OA0BCxB,MAAO,4OChBhC,SAASo0K,EAAT53K,GAMG,IALDqW,EAKCrW,EALDqW,YACAC,EAICtW,EAJDsW,YACA4pB,EAGClgC,EAHDkgC,cACAk3I,EAECp3K,EAFDo3K,SACAj3K,EACCH,EADDG,KAEgB28K,EAAkB,CAChC33D,QAAS,CACPkG,SAAQ,+BAAAjiH,OAAiCqlC,eACzC21D,cAAe,mCACfipB,iBAAkBqvD,EAClBptD,mBAAoBstD,GAEtBt4J,MAAO,CACL+mG,SAAQ,6BAAAjiH,OAA+BqlC,eACvC21D,cAAe,iCACfipB,iBAAkBsvD,EAClBrtD,mBAAoButD,IAXf18K,GAyBT,IAAMmtH,EAAiB,CACrByvD,6BAA8BnkK,KAAKC,WAVdhT,IAAQq6B,KAAmBr6B,IAAQuxK,GAGpDzrD,YAAiByrD,GACjBl3I,GAEUr2B,IAAI,SAAAiI,GAAK,OAAIA,EAAM9M,OAOnC,OACEvD,EAAAC,EAAAC,cAACwtH,EAAA,EAADvtH,EAAA,GACMk7K,EADN,CAEEzmK,YAAaA,EACbC,YAAaA,EACbg3G,eAAgBA,EAChB8B,kBAAmB,CAACqtD,GACpB1sD,kBAAmB,CAAC9xB,KACpB0xB,uBAAqB,EACrBK,oBAAkB,KAKxB4nD,EAA4BlxK,aAAe,CACzCw5B,cAAe,GACfk3I,SAAU,IAGZQ,EAA4Bh0K,UAA5B,GAQeg0K,oCCjFfr1K,EAAAC,EAAAC,EAAA,sBAAA6zJ,IAAA/zJ,EAAAC,EAAAC,EAAA,sBAAAu6K,IAAA,IAAA57J,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAuxD,EAAApwE,EAAA,KAAAqwE,EAAArwE,EAAAsI,EAAA8nE,GAIasqG,EAAc,CACzB7mB,OAAQ,KACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,mEAC6D2Z,EAAA3f,EAAAC,cAAA,WAC3D0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,wBAFf,yEAOSg9D,EAAgB,CAC3B9mB,OAAQ,IACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,gEAC0D2Z,EAAA3f,EAAAC,cAAA,WACxD0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,kBAFf,2DAOSi9D,EAAkB,CAC7B/mB,OAAQ,IACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,8EACwE2Z,EAAA3f,EAAAC,cAAA,WACtE0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,kBAFf,0DAOSk9D,EAAqB,CAChChnB,OAAQ,IACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,yDACmD2Z,EAAA3f,EAAAC,cAAA,WACjD0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,iBAFf,yFAOSm9D,EAAoB,CAC/BjnB,OAAQ,IACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,wDACkD2Z,EAAA3f,EAAAC,cAAA,WAChD0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,UAFf,oCAOSo9D,EAAoB,CAC/BlnB,OAAQ,MACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,0FACoF2Z,EAAA3f,EAAAC,cAAA,WAClF0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,mBAFf,kFAEuJ7+F,EAAA3f,EAAAC,cAAA,WAFvJ,mNAQS47K,EAA4B,CACvCnnB,OAAQ,KACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,sDACgD2Z,EAAA3f,EAAAC,cAAA,WAC9C0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,WAFf,+DAGE7+F,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,sCAHF,sFAGiK7+F,EAAA3f,EAAAC,cAAA,aAKxJ67K,EAAmB,CAC9BpnB,OAAQ,KACRC,aACEh1I,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,gDAC0C2Z,EAAA3f,EAAAC,cAAA,WACxC0f,EAAA3f,EAAAC,cAAA,iBAFF,KAEe0f,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOuhH,WAAxB,yBAFf,+GAOSo2C,EAAwB,CACnC2mB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGWR,EAAqB,CAChCC,EACAC,EACAC,EACAC,EACAI,srBC9FF,SAAStjK,EAATla,GAOG,IANDwD,EAMCxD,EANDwD,MACAyR,EAKCjV,EALDiV,OACAa,EAIC9V,EAJD8V,WACAwjF,EAGCt5F,EAHDs5F,SACAC,EAECv5F,EAFDu5F,cACGl4F,EACFC,EAAAtB,EAAA,4DASD,IAAM0V,EACJ2L,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAC0qG,EAAA,EAAD,CACElsG,KAAK,QACLI,MAAM,WACNN,QAASq5F,EACTr4F,UAAWtC,IAAO+4E,gBAJpB,WASAr2D,EAAA3f,EAAAC,cAAC0qG,EAAA,EAAD,CACElsG,KAAK,QACLF,QAAS6V,EACT7U,UAAWtC,IAAO+4E,gBAHpB,SAUJ,OACEr2D,EAAA3f,EAAAC,cAAC4+I,EAAA,EAAD3+I,EAAA,CACE4B,MAAOA,EACPyR,OAAQA,EACRS,QAASA,EACTI,WAAYA,EACZC,gBAAiBpX,IAAOwN,OACxB8K,cAAetY,IAAOkb,KACtB5Y,UAAWtC,IAAO02J,wBACdh0J,GAEJggB,EAAA3f,EAAAC,cAAA,WAvCE43F,GAIGl4E,EAAA3f,EAAAC,cAAA,mFAqCH0f,EAAA3f,EAAAC,cAAA,KAAGV,UAAWtC,IAAO22J,cAArB,uCAMRp7I,EAAkBxT,aAAe,CAC/BlD,MAAO,WAGT0W,EAAkBtW,UAAlB,GAYesW,sgCCpDAujK,IA1Bf,SAAAz9K,GAA4C,IAAhB6vK,EAAgB7vK,EAAhB6vK,aAAgBl/J,EAAAC,EACUC,oBAAS,GADnB,GACnC6sK,EADmC/sK,EAAA,GACfgtK,EADehtK,EAAA,GAAA+I,EAAA9I,EAEEC,mBAAS,IAFX,GAEnC+sK,EAFmClkK,EAAA,GAEnBmkK,EAFmBnkK,EAAA,GAI1C,SAASokK,EAAmBC,GAC1B,IAAMC,EAAevvC,OAAOsvC,GAE5BtvC,OAAOwvC,UAAUD,IAAiBH,EAAkBE,GACpDJ,GAAuBD,GAWzB,OARAhsK,oBAAU,WACR,GAAIm+J,EAAc,KACRkO,GAAclO,GAAgB,IAA9BkO,UAERA,GAAaD,EAAmBC,KAEjC,IAEI,CACLL,qBACAE,iBACAE,qDCxBJ,IAAA18J,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA07I,EAAAz6J,EAAA,IAAA09D,EAAA19D,EAAA,GAAA27K,EAAA37K,EAAA,IAAA47K,EAAA57K,EAAA,KAAA67K,EAAA77K,EAAA,IAAA89D,EAAA99D,EAAA,MAAA+9D,EAAA/9D,EAAAsI,EAAAw1D,GAYA,SAASg+G,EAATr+K,GAAyD,IAA1Bs+K,EAA0Bt+K,EAA1Bs+K,YAAaC,EAAav+K,EAAbu+K,UAClCl1J,EAAauN,cAAbvN,SAMFm1J,GAAoB,IAAGr+I,OAAO2vC,SAAS5oE,KAAK+uB,QAAS,yBACrDqrC,EAAav7C,IAAIw7C,uBAAyBl4C,EA8BhD,OACEhI,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB6a,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOoyE,uBACnBytG,GAAwBl9G,GAC1BjgD,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAO8xJ,0BACtBpvI,EAAA3f,EAAAC,cAACs+D,EAAA,EAAD,CACE1/D,MAAM,QACN64B,YAAU,kBACVn5B,QA3CiB,WACzBkgC,OAAOy6C,QAAQi9B,SA4CPx2F,EAAA3f,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAO+xJ,SAAU,2CAI9CrvI,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SA1C7B,WACE,GAAI66K,GAAeC,EAAW,CAC5B,IAAM76K,EACJ2d,EAAA3f,EAAAC,cAAA,wBAEE0f,EAAA3f,EAAAC,cAACq7J,EAAA,EAAD,CAAM91J,KAAMq3K,EAAWp3K,YAAU,EAAC5G,MAAM,UAAUU,UAAWtC,IAAOM,MAApE,QAFF,+BASF,OACEoiB,EAAA3f,EAAAC,cAACw8K,EAAA,EAAD,CACE36K,MAAM,iCACNE,YAAaA,IAKnB,OAAOkI,MAAM,IACVC,KAAK,GACLhC,IAAI,SAACiC,EAAGnD,GAAJ,OAEH0Y,EAAA3f,EAAAC,cAACu8K,EAAA,EAAD,CAAiB/0K,IAAG,eAAAC,OAAiBT,GAAS1H,UAAWtC,IAAO8xF,oBAmB7Dv0C,MAOXmiI,EAAoBz6K,UAApB,GAKey6K,mSC3ER,IAAMI,EAAgBj2J,0BAYdC,MAVf,SAAoBC,GAClB,OAAO,SAAoBzkB,GACzB,OACExC,EAAAC,EAAAC,cAAC88K,EAAc91J,SAAf,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,iFCC/C,SAAS2N,EAATv2B,GAKG,IAJD0+K,EAIC1+K,EAJD0+K,2BACAC,EAGC3+K,EAHD2+K,qBACAt1J,EAECrpB,EAFDqpB,SACAuH,EACC5wB,EADD4wB,WAEMlwB,EAAae,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,MAAO,YAAanD,IAAOsD,QAEvE,OAAIonB,EAEA5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkuH,gBACrBprH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNG,WAAYA,EACZT,QAASy+K,EACTz9K,UAAWtC,IAAOyB,OAClBO,cAAehC,IAAO02D,cAEvBspH,EAAuB,GACtBl9K,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOe,OACrBi/K,IAQTl9K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkuH,gBACrBprH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNG,WAAYA,EACZT,QAASy+K,EACTz9K,UAAWtC,IAAOyB,OAClBO,cAAehC,IAAO02D,aAEtB5zD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO2M,MAAxB,mBACCqzK,EAAuB,EAAvB,KAAAv1K,OAAgCu1K,EAAhC,KAA0D,IAG5DA,EAAuB,GACtBl9K,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,OACNN,QAAS2wB,EACT3vB,UAAWtC,IAAOyyB,UAHpB,cAYRmF,EAAe7vB,aAAe,CAC5B2iB,UAAU,EACVs1J,qBAAsB,GAGxBpoJ,EAAe3yB,UAAf,GAOe6kB,QAAW8N,qBCjE1B,SAASqoJ,EAAT5+K,GAA2D,IAAnC6+K,EAAmC7+K,EAAnC6+K,sBAAuBx1J,EAAYrpB,EAAZqpB,SAE3Cy1J,EAOED,EAPFC,iBACA7+K,EAME4+K,EANF5+K,QACAiX,EAKE2nK,EALF3nK,gBACA6nK,EAIEF,EAJFE,SACAC,EAGEH,EAHFG,SACAr+K,EAEEk+K,EAFFl+K,cACAY,EACEs9K,EADFt9K,WAEI+J,EAAOwzK,EAAmBE,EAAWD,EACrCplC,EAAmB73I,IAAWnD,IAAOyB,OAAQ8W,GAC7CqqE,EAAiBz/E,IACrBnD,IAAOsD,KACPtB,EACAm+K,GAAoBngL,IAAOmjI,YAG7B,OAAIz4G,EAEA5nB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNU,UAAW04I,EACX15I,QAASA,EACTS,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAWsgF,MAM9B9/E,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNU,UAAW04I,EACX15I,QAASA,EACTS,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAWsgF,IAC1BlhF,SAAUkB,GAEVE,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO2M,MAAOA,IAKrCszK,EAAah7K,UAAb,GAae6kB,QAAWm2J,WCvD1B,SAASjlG,EAAT35E,GAAsD,IAAnC6+K,EAAmC7+K,EAAnC6+K,sBAAuBx1J,EAAYrpB,EAAZqpB,SAEtC41J,EAKEJ,EALFI,YACAhxK,EAIE4wK,EAJF5wK,iBACA6wK,EAGED,EAHFC,iBACA9D,EAEE6D,EAFF7D,YACAkE,EACEL,EADFK,mBAGF,OAAKJ,EAIDz1J,EAEA5nB,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAOw3K,EACP/lK,OAAQ6pK,EACRv+K,MAAM,iBACNU,UAAWtC,IAAOsX,MAClBgB,cAAetY,IAAOkjI,iBACtB/rH,WAAYopK,GAEXD,GAMLx9K,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASwK,IACxCgxK,GApBI,KAyBXtlG,EAAQ/1E,UAAR,GAWe6kB,QAAWkxD,YCvDbwlG,EAAQ,QACRC,EAAM,yBCUnB,SAASC,EAATr/K,GAAiD,IAAvBs/K,EAAuBt/K,EAAvBs/K,SAAUp+K,EAAalB,EAAbkB,UAC1Bq+K,EAAsCD,EAAtCC,gBAAiBC,EAAqBF,EAArBE,iBACzB,OACE/9K,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAapL,MAAM,QAAQU,UAAWa,IAAWnD,IAAO8sB,UAAW8zJ,GAAmB5gL,IAAOo3J,UAC3Ft0J,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNE,KAAK,QACLQ,UAAWa,IAAWnD,IAAOyB,OAAQm/K,GAAmB5gL,IAAO6qB,WAC/DvpB,QAASu/K,EAAiBL,GAC1B9+K,SAAUa,GAEVO,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAEfQ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNE,KAAK,QACLQ,UAAWa,IAAWnD,IAAOyB,QAASm/K,GAAmB5gL,IAAO6qB,WAChEvpB,QAASu/K,EAAiBJ,GAC1B/+K,SAAUa,GAEVO,EAAAC,EAAAC,cAAA,KAAGV,UAAU,4BAMrBo+K,EAAez7K,UAAf,GAQe6kB,QAAW42J,qBChC1B,SAAS3tJ,EAAT1xB,GAaG,IAZDiB,EAYCjB,EAZDiB,UACA09K,EAWC3+K,EAXD2+K,qBACAc,EAUCz/K,EAVDy/K,cACAC,EASC1/K,EATD0/K,sBACAC,EAQC3/K,EARD2/K,eACAjB,EAOC1+K,EAPD0+K,2BACAkB,EAMC5/K,EAND4/K,qBACAnxK,EAKCzO,EALDyO,aACAmiB,EAIC5wB,EAJD4wB,WACA0uJ,EAGCt/K,EAHDs/K,SACAT,EAEC7+K,EAFD6+K,sBACAgB,EACC7/K,EADD6/K,sBAEMC,EAA+C,oBAAnBH,IAAkC7vK,IAAQ6vK,KACtEI,GAAgBjwK,IAAQwvK,GACxBU,GAAwBlwK,IAAQ+uK,GAEtC,GAAIe,EACF,OACEn+K,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC/CQ,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,IAAO0jI,sBACvBq9C,IAmBT,OACEj+K,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC/CQ,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAW,gBAAiBnD,IAAOwN,SACpD1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuoC,MACrBzlC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO20E,QACpBmsG,IAGD3vK,IAAQ4vK,IACRj+K,EAAAC,EAAAC,cAACs+K,EAAD,CACEvB,2BAA4BA,EAC5BC,qBAAsBA,EACtB/tJ,WAAYA,IAGfovJ,GAAwBv+K,EAAAC,EAAAC,cAACu+K,EAAD,OAG3Bz+K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyoC,OACpB04I,GAAsBH,IACtBlxK,GAAgBA,EAChBsxK,GAAgBt+K,EAAAC,EAAAC,cAACw+K,EAAD,QAGpBH,GAAwBv+K,EAAAC,EAAAC,cAACy+K,EAAD,MApCvBtwK,IAAQ+vK,GACH,KAIPp+K,EAAAC,EAAAC,cAACoK,EAAA,eAAD,CACEhH,QAAS86K,EACT5+K,UAAWtC,IAAO+kE,kBAmC1BhyC,EAAYhrB,aAAe,CACzBk5K,sBAAsB,EACtBf,sBAAuB,IAGzBntJ,EAAY9tB,UAAZ,GAoCe6kB,QAAWiJ,qBC9G1B,SAASM,EAAThyB,GAgBG,IAfDiB,EAeCjB,EAfDiB,UACA09K,EAcC3+K,EAdD2+K,qBACAc,EAaCz/K,EAbDy/K,cACAC,EAYC1/K,EAZD0/K,sBACAC,EAWC3/K,EAXD2/K,eACAjB,EAUC1+K,EAVD0+K,2BACA2B,EASCrgL,EATDqgL,mBACAT,EAQC5/K,EARD4/K,qBACAU,EAOCtgL,EAPDsgL,aACA7xK,EAMCzO,EANDyO,aACA6wK,EAKCt/K,EALDs/K,SACAT,EAIC7+K,EAJD6+K,sBACAgB,EAGC7/K,EAHD6/K,sBACAU,EAECvgL,EAFDugL,oBACAC,EACCxgL,EADDwgL,mBAEM9/K,EAAae,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,MAAO,YAAanD,IAAOsD,QACjEw+K,EAAkD,oBAAnBd,GAAiC7vK,IAAQ6vK,KACxEe,EAAsB5wK,IAAQrB,GAC9BsxK,GAAgBjwK,IAAQwvK,GACxBU,GAAwBlwK,IAAQ+uK,GAEhC8B,EACJl/K,EAAAC,EAAAC,cAACs+K,EAAD,CACEvB,2BAA4BA,EAC5BC,qBAAsBA,IAI1B,GAAIiB,EACF,OACEn+K,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC9Cy+K,GAKP,GAAIe,GAAyBC,EAC3B,OACEj/K,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC/CQ,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAW,gBAAiBnD,IAAOwN,SACpD1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuoC,MACrBzlC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO20E,QACpBitG,GAAuBC,EACvBf,IAILh+K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyoC,OACpB44I,GAAwBv+K,EAAAC,EAAAC,cAACu+K,EAAD,MACxBR,GAAyBiB,KAOpC,GAAIL,EACF,OACE7+K,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC/CQ,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAW,gBAAiBnD,IAAOwN,SACnDszK,IAmBT,OACEh+K,EAAAC,EAAAC,cAAA,WAASV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC/CQ,EAAAC,EAAAC,cAAA,UAAQV,UAAWa,IAAW,gBAAiBnD,IAAOwN,SACpD1K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuoC,OACnBu5I,GAAyBd,KACzBe,GAAuBjyK,EACxBsxK,GAAgBt+K,EAAAC,EAAAC,cAACw+K,EAAD,OAGnB1+K,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyoC,OACpB44I,GAAwBv+K,EAAAC,EAAAC,cAACu+K,EAAD,MACxBR,GAAyBiB,EACzBJ,GAAuBC,EACxB/+K,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWtC,IAAOwzF,aAClB5xF,MAAM,UACNG,WAAYA,EACZT,QAASogL,EACT1/K,cAAehC,IAAO02D,gBAI3B2qH,GAAwBv+K,EAAAC,EAAAC,cAACy+K,EAAD,MAlCvBtwK,IAAQ+vK,GACH,KAIPp+K,EAAAC,EAAAC,cAACoK,EAAA,eAAD,CACEhH,QAAS86K,EACT5+K,UAAWtC,IAAO+kE,kBAiC1B1xC,EAAWtrB,aAAe,CACxBk5K,sBAAsB,EACtBU,cAAc,EACd3B,qBAAsB,EACtB4B,qBAAqB,GAGvBvuJ,EAAWpuB,UAAX,GAwCe6kB,QAAWuJ,sOCpJX4uJ,IAff,SAAsB38K,GAAO,IACnB8I,EAAc6pB,cAAd7pB,UAEF8zK,EAAaC,EAAA,GACd78K,EADc,CAEjBolB,UAAWtc,IAGb,OACEtL,EAAAC,EAAAC,cAAC88K,EAAc1nJ,SAAf,CAAwB1zB,MAAOw9K,GAC5B9zK,EAAYtL,EAAAC,EAAAC,cAACq1B,EAAD,MAAkBv1B,EAAAC,EAAAC,cAACs1B,EAAD,oHChBxB8pJ,EAAiBh2K,IAAU6tD,MAAM,CAC5CplD,KAAMzI,IAAU8E,OAChBq5B,MAAOn+B,IAAU8E,YAGY9E,IAAUiuD,QAAQ+nH,6CCIjD,SAASC,EAAThhL,GAAwD,IAAlC4F,EAAkC5F,EAAlC4F,KAAM3E,EAA4BjB,EAA5BiB,UAAWggL,EAAiBjhL,EAAjBihL,cAqBrC,OACEx/K,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASxC,IACzCQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWm/K,IAA5B,eADF,IApBOrzJ,IAAIhoB,EAAM,SAAAL,EAAkBoD,EAAOu4K,GAAQ,IAA9Bh4I,EAA8B3jC,EAA9B2jC,MAAO11B,EAAuBjO,EAAvBiO,KACnBkvC,EAAY/5C,IAAUqvC,IAAKkpI,GAAO,GAAK,KACvCh6K,EAAOi6K,YAAWj4I,GAExB,OACEznC,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAK+/B,GACbznC,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACE/F,UAAWa,IAAWnD,IAAO8kK,UAC7BljK,MAAM,YACN2G,KAAMA,GAELsM,GAEFkvC,MAaXs+H,EAAWp9K,UAAX,GAMeo9K,6DCnCf,SAASI,EAATphL,GAUG,IATD26E,EASC36E,EATD26E,SACAn+B,EAQCx8C,EARDw8C,UACA6kI,EAOCrhL,EAPDqhL,eACA3oK,EAMC1Y,EAND0Y,IACA4oK,EAKCthL,EALDshL,OACArgL,EAICjB,EAJDiB,UACAggL,EAGCjhL,EAHDihL,cACAn5K,EAEC9H,EAFD8H,eACAy5K,EACCvhL,EADDuhL,eAEMC,EAAmB1xK,IAAQ0sC,GAEjC,GAAI1sC,IAAQ6qE,IAAa6mG,EACvB,OAAO,KAWT,IAAM/9K,EACJhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASxC,IACxC05E,GACCl5E,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO6hE,UAAWygH,IAC3CtmG,EAXH6mG,EACK,KAGFD,EAAiB,aAAe,KAUpC/kI,GACC/6C,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOglK,YAAa77J,IAC7C2qE,IAASj2B,EAAW,CAAE/zC,OAAQ44K,MAMvC,OAAI3oK,EAEAjX,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACE/F,UAAWa,IAAWnD,IAAO8kK,SAAU6d,GAAU3iL,IAAO+kK,WACxDnjK,MAAM,YACN2G,KAAMwR,GAELjV,GAKAA,EAGT29K,EAAU16K,aAAe,CACvB26K,eAAgB,GAChBC,QAAQ,EACRC,gBAAgB,GAGlBH,EAAUx9K,UAAV,GAYew9K,qDCnFFK,EAAoB,GACpBC,EAA2B,GCmCzBC,MA9Bf,SAAA3hL,GAQG,IAPDgF,EAOChF,EAPDgF,GACA48K,EAMC5hL,EAND4hL,kBACAl+K,EAKC1D,EALD0D,YACAgV,EAIC1Y,EAJD0Y,IACA2Q,EAGCrpB,EAHDqpB,SACAw4J,EAEC7hL,EAFD6hL,uBACAthG,EACCvgF,EADDugF,UAEMuhG,EAAQ,GAAA14K,OAAM24K,YAAWxhG,GAAjB,YAAAn3E,OAAsCpE,GAC9Cg9K,EAAkBJ,EAAiB,GAAAx4K,OAClC24K,YAAWxhG,GADuB,eAAAn3E,OACCw4K,GACtC,GAEEK,EAAmB54J,EACrBq4J,EACAG,GAA0BJ,EAM9B,MAAO,CACLK,WACAI,WAAYF,GAAmBtpK,EAC/BypK,iBARuBt8K,IAAQnC,GAS/B0+K,qBAR2B/vI,IAAS3uC,GAClC2+K,IAAWjqI,IAAS10C,EAAa,CAAE+E,OAAQw5K,KAC3Cv+K,uBCbN,SAAS4+K,EAATtiL,GAkBG,IAjBDgF,EAiBChF,EAjBDgF,GACAxB,EAgBCxD,EAhBDwD,MACAE,EAeC1D,EAfD0D,YACAi3E,EAcC36E,EAdD26E,SACAn+B,EAaCx8C,EAbDw8C,UACA9jC,EAYC1Y,EAZD0Y,IACA6pK,EAWCviL,EAXDuiL,UACAthL,EAUCjB,EAVDiB,UACA2gL,EASC5hL,EATD4hL,kBACAv4J,EAQCrpB,EARDqpB,SACAw4J,EAOC7hL,EAPD6hL,uBACAZ,EAMCjhL,EANDihL,cACAuB,EAKCxiL,EALDwiL,cACAvrK,EAICjX,EAJDiX,cACAsqK,EAGCvhL,EAHDuhL,eACApgG,EAECnhF,EAFDmhF,WACAZ,EACCvgF,EADDugF,UACCkiG,EAMGd,EAAQ,CACV38K,KACA48K,oBACAl+K,cACAgV,MACA2Q,WACAw4J,yBACAthG,cAXAuhG,EAFDW,EAECX,SACAI,EAHDO,EAGCP,WACAC,EAJDM,EAICN,gBACAC,EALDK,EAKCL,qBAWF,OACE3gL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOgF,KAAM1C,IACrCshL,GAAa9gL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,OAAQA,GAE5C2+K,GACC1gL,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,YACN2G,KAAMs7K,GAAiBV,EACvB7gL,UAAWa,IAAWnD,IAAOkb,KAAM5C,IAElCmrK,GAIL3gL,EAAAC,EAAAC,cAAC+gL,EAAD,CACE/nG,SAAUA,EACVn+B,UAAWA,EACX9jC,IAAKwpK,EACLZ,QAAQ,EACRrgL,UAAWtC,IAAOkxJ,UAClBoxB,cAAen/K,IAAWnD,IAAOg8E,SAAUsmG,GAC3CM,eAAgBA,IAGjB9gL,IAAK0gF,GAAc,GAClB1/E,EAAAC,EAAAC,cAACghL,EAAD,CACE/8K,KAAMu7E,EACNlgF,UAAWtC,IAAOkxJ,UAClBoxB,cAAen/K,IAAWnD,IAAOg8E,SAAUsmG,MAOrDqB,EAAK1+K,UAAL,GAuBe0+K,iMClGA,SAASM,EAAT5iL,GAAyD,IAA9B6iL,EAA8B7iL,EAA9B6iL,iBAAkBC,EAAY9iL,EAAZ8iL,SAC1D,OACErhL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOw7E,MACpB0oG,GAAoBphL,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,OACnBqzJ,GAAoBC,GCPb,SAASC,IAGtB,OAAOthL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6G,OAFT,iEDWvBo9K,EAAgBh/K,UAAhB,iBEVA,SAASo/K,EAAe7rI,EAAWnhB,GACjC,IAAKA,EAAW,OAAO,KAEvB,IAAMitJ,EAAgC,WAAd9rI,EACpB11C,EAAAC,EAAAC,cAACuhL,EAAA,EAAD,CAAiBC,OAAQntJ,IACzBA,EAEJ,OACEv0B,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2E,OAAQ6zC,GAC/B11C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0E,OAAQ4/K,6iDCCrC,SAASG,EAATpjL,GAOG,IAND46E,EAMC56E,EAND46E,QACAw3D,EAKCpyI,EALDoyI,WACAy9B,EAIC7vK,EAJD6vK,aACA+N,EAGC59K,EAHD49K,eACA3R,EAECjsK,EAFDisK,eACA6R,EACC99K,EADD89K,mBAEQzqG,EAAauH,EAAQ9K,SAArBuD,SACA2oF,EAAeiQ,EAAfjQ,WACAqnB,EAA2DjxC,EAA3DixC,QAASC,EAAkDlxC,EAAlDkxC,aAAcC,EAAoCnxC,EAApCmxC,cAAeV,EAAqBzwC,EAArBywC,iBACtCW,EAAgDH,EAAhDG,QAAS5Y,EAAuCyY,EAAvCzY,OAAQN,EAA+B+Y,EAA/B/Y,WAAemZ,EAJvCniL,EAIuD+hL,EAJvD,mCAKKP,EDRO,WAAoD,IAA/B9mB,EAA+B9qJ,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAlB,GAAImyK,EAAcnyK,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACvDwyK,EAAkB1nB,IAAe2nB,IAErCC,EAUEP,EAVFO,UACAC,EASER,EATFQ,iBACAC,EAQET,EARFS,mBACAC,EAOEV,EAPFU,uBACAZ,EAMEE,EANFF,OACAruJ,EAKEuuJ,EALFvuJ,KACApxB,EAIE2/K,EAJF3/K,YACA4mK,EAGE+Y,EAHF/Y,WACA0Z,EAEEX,EAFFW,aACAC,EACEZ,EADFY,cAGEnB,EACFrhL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,UACGqhL,EAAe,iBAAkBY,GACjCZ,EAAe,iBAAkBa,GACjCb,EAAe,iBAAkBe,GACjCf,EAAe,YAAac,IAE/BriL,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,UACGqhL,EAAe,SAAUG,GACzBH,EAAe,OAAQluJ,GACvBkuJ,EAAe,cAAe1Y,GAC9B0Y,EAAe,gBAAiBgB,GAChChB,EAAe,gBAAiBiB,KAwBvC,OAnBIP,IACFZ,EACErhL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,UACGqhL,EAAe,iBAAkBY,IAEpCniL,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,UACGqhL,EAAe,SAAUG,GACzBH,EAAe,OAAQluJ,GACvBkuJ,EAAe,cAAe1Y,GAC9B0Y,EAAe,cAAet/K,GAC9Bs/K,EAAe,gBAAiBgB,GAChChB,EAAe,gBAAiBiB,MAMlCnB,EC7CUoB,CAAYloB,EAAYynB,GACnCC,EAAkB1nB,IAAe2nB,IACjCQ,EAAiBT,EAAkBC,IAAgBS,IACnD7rF,EAAamrF,EAAkB,oBAAsB,eACrDzkL,EAAI,GAAAmK,OAAM2c,IAAIs+J,eAAV,YAAAj7K,OAAmC+6K,EAAnC,KAAA/6K,OAAqDw0K,EAArD,QATTjtK,EAAAC,EAU2CC,mBAAS,oBAVpD,GAUMsU,EAVNxU,EAAA,GAUsB2zK,EAVtB3zK,EAAA,GAWK4zK,EAAuC,qBAAnBp/J,EACpBq/J,EAA8B,YAAnBr/J,EACXiF,EAAa,CACjBnV,QAAQ,EACR1U,MAAO,iBACPU,UAAWtC,IAAOsX,MAClBgB,cAAetY,IAAOkb,KACtB9D,gBAAiBpX,IAAOwN,OACxB2J,WAAYgoK,EACZt6K,MAAQ8/K,GAAiBT,EAAkD,GAApE,GAAAz5K,OAAwCmvF,EAAxC,WAAAnvF,OAAuDo6K,EAAvD,WAGT9xK,oBAAU,WACR,GAAIksK,EAAgB,CAClB,IAAMG,GAAat0F,IAAIomF,EAAc,cAAgB,CAAEkO,UAAWH,GAC5D6G,EAAwB1xC,YAAcnxI,EAAA,GACrCiuK,EADqC,GACpBkO,EADoB,GACN,CAAE/hB,eACtC,CAAE0oB,YAAa,SAGjB9pG,EAAQ76D,KAAR,GAAA3W,OAAgBiqE,EAAhB,KAAAjqE,OAA4Bq7K,IAC5BlB,EAAc,CAAEv+K,GAAI44K,EAAgB3R,mBAGtC,OAAO,WACL,IAAM0Y,EAA2B5xC,YAAcnxI,EAAA,GACxCq0G,IAAK45D,EAAc,CAAC,YAAa,gBACtC,CAAE6U,YAAa,SAGjB9pG,EAAQ76D,KAAR,GAAA3W,OAAgBiqE,EAAhB,KAAAjqE,OAA4Bu7K,MAE7B,CAAC/G,IAMJ,IAAMpvJ,EAAc,CAClBvuB,QALF,SAAAsF,GAA0C,IAAVgC,EAAUhC,EAAVgC,OAC9B+8K,EAAkB/8K,EAAO8pE,cAKzB9wE,MAAO,WAGHqkL,EAAuB,CAC3B/B,mBACAC,YAGI+B,EAAc,CAClBha,eAAgBlsK,IAAO6H,UACvBtF,UAAW2hL,EACXvY,aACAM,SACA3rK,QAGI6lL,EACJrjL,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAI,sBACXo7K,GAAqB9iL,EAAAC,EAAAC,cAACihL,EAAoBgC,GAC1CJ,GAAY/iL,EAAAC,EAAAC,cAACgpK,EAAA,EAAQka,IAIpBE,EACJtjL,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAI,oBACZ1H,EAAAC,EAAAC,cAACihL,EAAoBgC,GACrBnjL,EAAAC,EAAAC,cAACgpK,EAAA,EAAQka,IAIb,OACEpjL,EAAAC,EAAAC,cAACkU,EAAA,EAAUuU,EACT3oB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOu+E,UACrBz7E,EAAAC,EAAAC,cAACgK,EAAA,EAAD,CAAa1K,UAAWtC,IAAO8sB,UAC7BhqB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,CAAQX,UAAWa,IAAWyiL,GAAqB5lL,IAAOs1B,WAAezF,GAAzE,oBAGA/sB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD6B,EAAA,CAAQX,UAAWa,IAAW0iL,GAAY7lL,IAAOs1B,WAAezF,GAAhE,aAMJ/sB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOw+E,aACnBmmG,EAAsC7hL,EAAAC,EAAAC,cAACohL,EAAD,MAAvB,CAAC+B,IAGpBrjL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOy+E,WACnBkmG,EAAoC7hL,EAAAC,EAAAC,cAACohL,EAAD,MAArB,CAACgC,KAM1B3B,EAAax/K,UAAb,GAYew/K,uLCnIf,SAAS5zJ,EAATxvB,GAA2C,IAApB6mJ,EAAoB7mJ,EAApB6mJ,MAAO5lJ,EAAajB,EAAbiB,UAa5B,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWgM,IAAatH,UAAWvF,IAChDo0B,IAAMwxH,GAAOh9I,IAdlB,SAA8Bm7K,GAC5B,OACEvjL,EAAAC,EAAAC,cAAA,OAAKwH,IAAG,QAAAC,OAAU47K,GAAW/jL,UAAWa,IAAWnD,IAAOsxB,SAAUtxB,IAAOg8G,iBACzEl5G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2E,OACrB7B,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAOi8G,oBAGrCn5G,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAO8E,cAY3C+rB,EAAY9oB,aAAe,CACzBmgJ,MAAO,GAGTr3H,EAAY5rB,UAAZ,GAKe4rB,yBC7Bf,SAASguB,EAATx9C,GAYG,IAXDsD,EAWCtD,EAXDsD,MACAG,EAUCzD,EAVDyD,QACAJ,EASCrD,EATDqD,MACAgJ,EAQCrM,EARDqM,UACA44K,EAOCjlL,EAPDilL,YACAvqE,EAMC16G,EAND06G,gBACAgmB,EAKC1gI,EALD0gI,kBACAG,EAIC7gI,EAJD6gI,qBACAD,EAGC5gI,EAHD4gI,mBACAp5C,EAECxnF,EAFDwnF,eACAs5C,EACC9gI,EADD8gI,cAEA,GAAImkD,GAAen1K,IAAQzM,GACzB,OAAO,KAGT,IAAM6hL,EAAYpkD,EACdx9H,EACA7B,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWa,IAAWnD,IAAOe,MAAO8nF,IAAkBlkF,GAEjE,OACE7B,EAAAC,EAAAC,cAAA,OACEV,UACEa,IACEnD,IAAOsxB,SACP5jB,GAAa1N,IAAO0N,UACpBquG,GAAmB/7G,IAAO+7G,gBAC1BgmB,GAAqBA,IAIzBj/H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW8+H,EAAoBjiI,IAAO2E,QACnD4hL,GAGHzjL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO8E,QAASo9H,IACxC/wH,IAAQrM,GAAW6E,IAAc7E,IAM1C+5C,EAAS92C,aAAe,CACtBu+K,aAAa,EACbvqE,iBAAiB,EACjBruG,WAAW,EACXy0H,eAAe,GAGjBtjF,EAAS55C,UAAT,GAqBe45C,ijDCtEf,SAASqX,EAAT70D,GAeG,IAdDkB,EAcClB,EAdDkB,UACA+8E,EAaCj+E,EAbDi+E,UACApwD,EAYC7tB,EAZD6tB,MACA5sB,EAWCjB,EAXDiB,UACAkkL,EAUCnlL,EAVDmlL,kBACAprI,EASC/5C,EATD+5C,qBACA0mF,EAQCzgI,EARDygI,sBACAC,EAOC1gI,EAPD0gI,kBACAG,EAMC7gI,EAND6gI,qBACAD,EAKC5gI,EALD4gI,mBACAp5C,EAICxnF,EAJDwnF,eACA49F,EAGCplL,EAHDolL,iBACA/4K,EAECrM,EAFDqM,UACAy0H,EACC9gI,EADD8gI,cACCnwH,EAAAC,EAC2BC,oBAAS,GADpC,GACMoE,EADNtE,EAAA,GACcsQ,EADdtQ,EAAA,GAGD,GAAIzP,EACF,OACEO,EAAAC,EAAAC,cAAC2/E,EAAD,CACEulE,MAAOpmB,EACPx/H,UAAW84C,IAKjB,IAAKkkC,GAAap4E,IAAQgoB,GACxB,OAAO,KA+BT,IAzBQw3J,EAyBFC,EAAsB,SAAAhiL,GAAK,OAAI7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2iI,cAAeh+H,IAE3E,OACE7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,IA5BVokL,EAAgBz3J,IAAIC,EAAO,SAAAtoB,EAAkBoD,GAAlB,IAAG3D,EAAHO,EAAGP,GAAOkI,EAAV5L,EAAAiE,EAAA,eAC/B9D,EAAAC,EAAAC,cAACk9C,EAADj9C,EAAA,GACMsL,EADN,CAEEb,UAAWA,EACXlD,IAAKnE,GAAE,YAAAoE,OAAgBT,GACvB+xG,gBAAiByqE,EACjBzkD,kBAAmB5+H,IAAWsjL,GAAoBzmL,IAAO4iI,aAAcb,GACvEG,qBAAsBA,EACtBD,mBAAoBA,EACpBp5C,eAAgBA,EAChBs5C,cAAeA,OAIfqkD,EAEA1jL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOkvB,MAAO5Y,GAAUtW,IAAOyiI,WACvDikD,GAKAA,GASJF,GACC1jL,EAAAC,EAAAC,cAAC4qI,EAAA,EAAD,CACEhsI,MAAM,OACN0U,OAAQA,EACRhV,QAtCe,kBAAMghB,GAAWhM,IAuChChU,UAAWtC,IAAO0iI,SAClBmL,SAAU84C,EAAoB,YAC9B74C,UAAW64C,EAAoB,YAC/BpuK,gBAAiBvY,IAAOm+E,kBAOlCjoB,EAAUnuD,aAAe,CACvBmnB,MAAO,GACPs3J,mBAAmB,EACnBlnG,WAAW,EACX5xE,WAAW,EACXo0H,sBAAuB,GAGzB5rE,EAAUjxD,UAAV,GA8BeixD,oCCjIR,ICED5nD,EAAS,CACbs4K,cAAe,CACb/hL,MAAO,WACPowB,aCHuB,CACzBiF,eFH8B,CAC9B2sJ,cAAez/J,IAAI0/J,qBEEcD,eDEE3sJ,gBAEnC6sJ,kBAAmB,CACjBliL,MAAO,uBAIIyJ,8gCEWAkwH,IArBf,SAAAn9H,GAAuD,IAAzB2lL,EAAyB3lL,EAA9B6B,IAAcy/B,EAAgBthC,EAAhBshC,aAAgB3wB,EAAAC,EACrBC,oBAAS,GADY,GAC9CskG,EAD8CxkG,EAAA,GACpCi1K,EADoCj1K,EAAA,GAGrD,SAASmvG,IACP,IACMz/E,GADkBslJ,EAAQr0K,SAAWq0K,EAAQr0K,QAAQyuG,yBAC/B1/E,IAG5BulJ,EAFoBvlJ,EAAMiB,GAY5B,OAPA5vB,oBAAU,WAIR,OAHAouG,IACA3/E,OAAOkE,iBAAiB,SAAUy7E,GAE3B,kBAAM3/E,OAAOmE,oBAAoB,SAAUw7E,KACjD,IAEI3K,iCCpBT,IAAA/zF,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,KAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMA,SAASgZ,EAATx6B,GAA6D,IAAvBgB,EAAuBhB,EAAvBgB,SAAUC,EAAajB,EAAbiB,UAC9C,OACEogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC1CD,GAKPw5B,EAA2B52B,UAA3B,GAKe42B,wCCnBfj4B,EAAAC,EAAAC,EAAA,sBAAAmE,IAAO,IAAMA,EAAsB,oCCAnC,IAAAwa,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAqsE,EAAAlrF,EAAA,GAAAmrF,EAAAnrF,EAAAsI,EAAA4iF,GAAAo4F,EAAAtjL,EAAA,GAAAujL,EAAAvjL,EAAAsI,EAAAg7K,GAAAE,EAAAxjL,EAAA,IAAAyjL,EAAAzjL,EAAA,KAAA0jL,EAAA1jL,EAAA,GAAA2jL,EAAA3jL,EAAA,IAAAm3C,EAAAn3C,EAAA,MAAAo3C,EAAAp3C,EAAAsI,EAAA6uC,GAWA,SAASysI,EAATnmL,GAAqC,IAAX+E,EAAW/E,EAAX+E,QAChBskB,EAAauN,cAAbvN,SAEF+8J,EAAiB,SAACxyG,GACtBzzC,OAAO2vC,SAASu2G,OAAOzyG,IAOzB,SAAS0yG,EAAejjL,GACtB,WAAO88B,OAAO2vC,SAASuD,SAASp9C,QAAS5yB,GAG3C,IACQi6H,EAIR,OAAIj0G,EAEAhI,EAAA3f,EAAAC,cAACukL,EAAA,EAAD,CACEnhL,QAASA,EACT+O,SAjBqB,SAAAvO,GAAA,IAAGlC,EAAHkC,EAAGlC,MAAH,OACzB+iL,EAAe/iL,IAiBXA,OATEi6H,EAAav4H,EAAQmvB,KAAK,SAAAzuB,GAAA,OAAe6gL,EAAf7gL,EAAGpC,SAC5Bi6H,GAAcA,EAAWj6H,OAS5B+a,WAAW,EACXS,aAAW,EACX6B,cAAc,EACd6lK,qBAAmB,EACnBtlL,UAAWtC,IAAOwsK,eAClBqb,QAAQ,yBAMZnlK,EAAA3f,EAAAC,cAACqkL,EAAA,EAAD,CAAa/kL,UAAWtC,IAAOwsK,eAAgB5qK,MAAM,SAClDwE,EAAQ8E,IAAI,SAAAw4B,GAAA,IAAG/+B,EAAH++B,EAAG/+B,MAAOD,EAAVg/B,EAAUh/B,MAAV,OACXge,EAAA3f,EAAAC,cAACskL,EAAA,EAAD,CACE98K,IAAK9F,EACLpD,QAAS,kBAAMmmL,EAAe/iL,IAC9BpC,UAAWa,IAAWnD,IAAOyB,OAAQkmL,EAAejjL,IAAU1E,IAAO+sB,QACrEnrB,MAAM,aAEL+C,MAOgByH,IAAU6tD,MAAM,CACzCv1D,MAAO0H,IAAU8E,OACjBvM,MAAOyH,IAAU8E,SAGnBs2K,EAAeviL,UAAf,GAIeuiL,mCCvEf7rK,EAAAC,QAAA,CAAkBtb,KAAA,8BAAA60G,UAAA,qDCAlBx5F,EAAAC,QAAA,CAAkBxV,QAAA,stBCOlB,SAAS4mJ,EAAT3rJ,GAOG,IANDqpC,EAMCrpC,EANDqpC,WACAs9D,EAKC3mG,EALD2mG,SACA+oD,EAIC1vJ,EAJD0vJ,SACA9D,EAGC5rJ,EAHD4rJ,gBACAvoJ,EAECrD,EAFDqD,MACGhC,EACFC,EAAAtB,EAAA,gEAYKoB,EAAW+uD,iBAAO,MAClB9+C,EAAWq+I,GAAYtuJ,EAEvB0gC,EAASsd,SAAS20B,eAAe4yB,GAEvCj1F,oBAAU,WAAM,IACNJ,EAAYD,EAAZC,QAER,GAAI+3B,GAAc/3B,EAAS,CACzB,IAAMm1K,EAAeC,IAAKrjL,GAE1BiO,EAAQC,QACRD,EAAQq1K,kBAAkBF,EAAcA,KAEzC,CAACp9I,IAOJ,OACE88B,EAAAzkE,EAAAC,cAACilL,EAAA,EAADhlL,EAAA,CACEyB,MAAOA,EACP4wG,aAnCiB,CACnB,CACEtwC,QAAS,IACT4rC,aAAc,UAEhB,CACE5rC,QAAS,IACT4rC,aAAc,SA6BdlvG,UAAWgpC,EACXh4B,SAAUA,EACV0C,UAXwB,SAACjC,GAC3B,IAAM+0K,EAAU/0K,EAAMM,UAAYC,IAAUI,OAC3CX,EAAMg1K,SAAWh1K,EAAMi1K,UAAYF,GAAWj7B,KAU7Co7B,mBAAiB,EACjBC,sBAAuBnlJ,GACnBzgC,IAKVsqJ,EAAajlJ,aAAe,CAC1B2iC,YAAY,GAGdsiH,EAAa/nJ,UAAb,GASe+nJ,yBC1EfrxI,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAxH,OAAA,kECDlB,IAAAoiB,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA4lK,EAAA3kL,EAAA,IAAA4kL,EAAA5kL,EAAA,IAAA0jL,EAAA1jL,EAAA,GAAAwmK,EAAAxmK,EAAA,MAAAymK,EAAAzmK,EAAAsI,EAAAk+J,GAUA,SAASqe,EAATpnL,GASG,IARDqnL,EAQCrnL,EARDqnL,aACAC,EAOCtnL,EAPDsnL,QACAC,EAMCvnL,EANDunL,eACA/wJ,EAKCx2B,EALDw2B,YACAgxJ,EAICxnL,EAJDwnL,YACA3c,EAGC7qK,EAHD6qK,eACA4c,EAECznL,EAFDynL,iBACAvmL,EACClB,EADDkB,UAIA,GAAqB,IAAjBmmL,IAAuB7wJ,EACzB,OAAO,KAGT,GANwBt1B,IAAcs1B,GAAe6wJ,GAOnD,OACEhmK,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWqkK,IAC3CxpJ,EAAA3f,EAAAC,cAACwlL,EAAA,EAAD,CAAiBlmL,UAAWa,IAAWnD,IAAO+U,YAAa+zK,MAuBjE,OACEpmK,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWqkK,IAA7C,WACUxpJ,EAAA3f,EAAAC,cAAA,SAAI2lL,GADd,IAC4BE,EAnBvBhxJ,EAIEnV,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,gBAAY2Z,EAAA3f,EAAAC,cAAA,SAAI60B,GAAhB,KAHE,IAMX,WACE,IAAK6wJ,EACH,OAAO,KAGT,IAAMK,EAAc1hG,YAAU,SAAU,UAAWqhG,GAEnD,OAAOhmK,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,YAAQ2Z,EAAA3f,EAAAC,cAAA,SAAI0lL,GAAZ,IAA+BK,EAA/B,YAOJC,GAHH,OAKEtmK,EAAA3f,EAAAC,cAACskL,EAAA,EAAD,CACExlL,KAAK,QACLF,MAAM,YACNU,UAAWtC,IAAOM,KAClBgB,QAASsnL,GAJX,aALF,KAiBJH,EAAoBxjL,UAApB,GAWewjL,uCCjFf,IAAAhmK,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAwmK,EAAArlL,EAAA,KAAAk9J,EAAAl9J,EAAA,MAAAm9J,EAAAn9J,EAAAsI,EAAA40J,GAmBejwI,IAbf,WACE,OAAO5jB,MAAM,GAAGC,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OAC1B0Y,EAAA3f,EAAAC,cAAA,OAAKwH,IAAG,eAAAC,OAAiBT,GAAS1H,UAAWtC,IAAOy7G,iBAClD/4F,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOysK,aACrB/pJ,EAAA3f,EAAAC,cAACimL,EAAA,EAAD,CAAiB3mL,UAAWtC,IAAO6E,QACnC6d,EAAA3f,EAAAC,cAACimL,EAAA,EAAD,OAGFvmK,EAAA3f,EAAAC,cAACimL,EAAA,EAAD,CAAiB3mL,UAAWtC,IAAOyB,2CCdzCmC,EAAAC,EAAAC,EAAA,sBAAAwhJ,IAAA1hJ,EAAAC,EAAAC,EAAA,sBAAAolL,IAAA,IAAAC,EAAAvlL,EAAA,GAAAipD,EAAAjpD,EAAAsI,EAAAi9K,GAAAC,EAAAxlL,EAAA,KAIO,SAAS0hJ,EAA4B9iE,GAC1C,OAAOt3E,IAAIs3E,EAAY,SAAAnhF,GAAA,IAAGqD,EAAHrD,EAAGqD,MAAH,MAAuB,CAAEmQ,KAAzBxT,EAAUsD,MAA4B4lC,MAAO7lC,KAG/D,SAASwkL,EAA4BjtF,EAAezZ,GACzD,OAAOt3E,IAAI+wF,EAAe,SAACxyB,EAAcz/D,GAAf,MAA0B,CAClDy/D,aAAc4/G,YAAsB5/G,GACpC+W,KAAMgC,EAAWx4E,sCCXrB,IAAAyY,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAqsE,EAAAlrF,EAAA,GAAAmrF,EAAAnrF,EAAAsI,EAAA4iF,GAAAw6F,EAAA1lL,EAAA,MAAA2lL,EAAA3lL,EAAAsI,EAAAo9K,GAAAE,EAAA5lL,EAAA,IAAA6lL,EAAA7lL,EAAA,IAAA0jL,EAAA1jL,EAAA,GAAA8lL,EAAA9lL,EAAA,KAAA+lL,EAAA/lL,EAAA,KAAA89D,EAAA99D,EAAA,MAAA+9D,EAAA/9D,EAAAsI,EAAAw1D,GAqDekoH,IArCf,WAAsB,IACZl/J,EAAauN,cAAbvN,SAER,OAAKqY,YAAgBrY,IAWrBm/J,YAAsB,kBACtBv0G,cAGE5yD,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB6a,EAAA3f,EAAAC,cAACskL,EAAA,EAAD,CACE1lL,MAAM,YACNU,UAAWtC,IAAO0sK,cAClBprK,QAbN,WACEwoL,IAAQC,IAAI,sBAAuBvoJ,OAAO2vC,SAAS5oE,MACnDi5B,OAAO2vC,SAAS5oE,KAAOyhL,MAQrB,YAOAtnK,EAAA3f,EAAAC,cAACskL,EAAA,EAAD,CACE1lL,MAAM,YACNU,UAAWa,IAAWnD,IAAO0sK,cAAe1sK,IAAO+sB,QACnDrrB,UAAQ,GAHV,mBAtBFg0E,cAEO,sCCtBX9xE,EAAAC,EAAAC,EAAA,sBAAA+lJ,IAAO,IAAMA,EAAkB,CAC7BC,OAAQ,SACRmgC,KAAM,mgCCoBOnkF,IApBf,WAA8B,IAAA9zF,EAAAC,EACkBC,mBAAS,IAD3B,GACrBgzF,EADqBlzF,EAAA,GACJk4K,EADIl4K,EAAA,GAa5B,MAAO,CACLkzF,kBACAa,gBAZF,WAAyC,IAC/BrhG,IAD+B6N,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,IACX3J,QAAU,IAA1BlE,MAERwlL,EAAmBxlL,IAUnB66F,eAPF,WACE2qF,EAAmB,2gCCuBR/jF,IA/Bf,SAAA9kG,GAA6D,IAAnCukG,EAAmCvkG,EAAnCukG,mBAAoBluF,EAAerW,EAAfqW,YAAeyyK,EAC9B/iK,IAArByuD,YACAuwB,QAFmD,IAAA+jF,EACrC,GADqCA,GAEnD/jF,eACFgkF,EACJhkF,GACGR,GACAluF,EANsD1F,EAAAC,EASjBC,oBAAS,GATQ,GASpDm0F,EAToDr0F,EAAA,GASrCq4K,EATqCr4K,EAAA,GAAA+I,EAAA9I,EAU7BC,mBAAS,IAVoB,GAUpDy9B,EAVoD50B,EAAA,GAU3CuvK,EAV2CvvK,EAAA,GAwB3D,OAZAhI,oBAAU,WACJq3K,IACFC,GAAiB,GAEjBjwK,QAAQC,QAAQkwK,YAAe56I,IAC5Br1B,KAAK,SAACkwK,GACLF,EAAWE,GACXH,GAAiB,OAGtB,CAACD,IAEG,CACL/jF,gBACA12D,UACAy2D,mXC7BiB/gB,2HACZigB,kBAAoBz+F,YAAM,yCADdw+E,EAGZ2pF,SAAWnoK,YAAM,0ECL1B,IAAAkrD,EAAAnuD,EAAA,IAAAouD,EAAApuD,EAAA,IAQM5D,EAAS+tC,aAAWC,OAAO,CAC/Br/B,IAAK,CACHqjC,gBAAiB70B,uBACjBw5B,YAAaz5B,mBACbmH,aAAc,EACdqyB,YAAa,EACb1wB,MAAO7J,cACPuyB,SAAU,EACVd,WAAY,IACZroB,OAAQ,UACRK,QAAS,aAIE5lB,kyCClBf,IAAMyqL,EAAqB,CACzB93K,QAAS,EACTwd,MAAO,EACPG,WAAY,EACZD,QAAS,IAqGIq6J,IAlGf,SAAArpL,GAAiE,IAApC2oD,EAAoC3oD,EAApC2oD,cAAe7f,EAAqB9oC,EAArB8oC,KAAMo3H,EAAelgK,EAAfkgK,YAAevvJ,EAAAC,EACnCC,mBAAS83C,GAD0B,GACxD1hC,EADwDtW,EAAA,GAChD24K,EADgD34K,EAAA,GAAA+I,EAAA9I,EAE7BC,oBAAS,GAFoB,GAExD3P,EAFwDwY,EAAA,GAE7C+7G,EAF6C/7G,EAAA,GAAAgT,EAAA9b,EAGrBC,mBAAS,IAHY,GAGxD04K,EAHwD78J,EAAA,GAGzC88J,EAHyC98J,EAAA,GAAAE,EAAAhc,EAInBC,mBAAS,IAJU,GAIxD44K,EAJwD78J,EAAA,GAIxC88J,EAJwC98J,EAAA,GAAAmhD,EAAAn9D,EAKDC,mBAASu4K,GALR,GAKxDO,EALwD57G,EAAA,GAK/B67G,EAL+B77G,EAAA,GAOzDuS,EAAMupG,YAAI,CAAE/gJ,OAAMo3H,gBAElB52I,EAAoB,WAAc,IAAbsjB,EAAa17B,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAN,EAChCukH,GAAa,GAEbn1C,EAAIh3D,kBAAkB,CAAEsjB,SACrB3zB,KAAK,SAAA1T,GAA8B,IAA3BssB,EAA2BtsB,EAA3BssB,SAAU87B,EAAiBpoD,EAAjBooD,WACjB67H,EAAiB33J,GACjB+3J,EAA2Bj8H,KAH/B,QAKW,WACP8nE,GAAa,MAIblsG,EAAqB,WACzBksG,GAAa,GAEbn1C,EAAI/2D,qBACDtQ,KAAK,SAAAxT,GAAkB,IAAfosB,EAAepsB,EAAfosB,SACP63J,EAAkB73J,KAFtB,QAIW,WACP4jG,GAAa,MAyCnB,MAAO,CACLv0H,YACAoyE,OAAQ,CACN3mC,OAlCW,WACb,OANqBm9I,IAAQ7iK,GAETwzJ,MAAbjhE,EAAA93G,GAKE,KAGF4+E,EAAI3zC,OAAOo9I,IAAO9iK,EAAPuyF,EAAA93G,KA8BhB2/J,KA3BS,SAAA/tF,GAAM,OACjBgN,EAAI+gF,KAAK/tF,GACNr6D,KAAKsQ,IA0BNgrD,OAvBW,SAAAjB,GAAM,OACnBgN,EAAI/L,OAAOjB,GACRr6D,KAAK,kBAAMqQ,OAsBZ0gK,MAnBU,WAA0C,IAAA3nJ,EAAAnxB,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GAAjB2+J,EAAwBxtI,EAAvC+9H,cACfkpB,EAAUS,IAAOla,EAAPr2D,EAAA93G,MAoBVqD,QAAS,CACPkiB,SACAnT,SAAUw1K,GAEZG,eAAgB,CACd53J,SAAU43J,EACV1oB,KAAMx3I,GAERggK,cAAe,CACb13J,SAAU03J,EACVxoB,KAAMz3I,EACNqkC,WAAU/rD,EAAA,GACL+nL,EADK,CAERM,OA9B0B,SAACr9I,GAC/Bg9I,EAA0BhoL,EAAA,GACrB+nL,EADqB,CAExBr4K,QAASs7B,KAGXtjB,EAAkBsjB,gHC3EhB8I,EAAS,CACbw0I,QAAS,UACTC,SAAU,YAWGp8K,IARE,SAAA/N,GAAmB,IAAhB0Y,EAAgB1Y,EAAhB0Y,IAAKvY,EAAWH,EAAXG,KACjB++J,EAAmBtjF,IAAQz7E,EAAM,SAAU,IAEjD,OAAIo3C,YAAM7+B,IAAsC,UAA9BymJ,IAAQD,GAAsC,WAEzDxpH,EAAOypH,IAAQD,KAAsBkrB,IAAWjrB,IAAQh/J,mCCdjEoC,EAAAC,EAAAC,EAAA,sBAAA4nH,IAAA,IAAAggE,EAAA9nL,EAAA,IAAA+nL,EAAA/nL,EAAA,KAIa8nH,EAAqB,SAAArqH,GAA8D,IAA3DwD,EAA2DxD,EAA3DwD,MAAOy2D,EAAoDj6D,EAApDi6D,aAAcv2D,EAAsC1D,EAAtC0D,YAAauxB,EAAyBj1B,EAAzBi1B,UAAWC,EAAcl1B,EAAdk1B,QAC1EJ,EAAOg2D,YAAQ71D,EAAWC,GAC1BktJ,EAAuB7sG,YAAmB7xE,GAC1C6mL,EAAax8J,YAAY,CAACksC,EAAcmoH,EAAsBttJ,GAAO,KAE3E,OAAO/G,YAAY,CAACvqB,EAAO+mL,mCCT7BhoL,EAAAC,EAAAC,EAAA,sBAAAgnH,IAAA,IAAA4gE,EAAA9nL,EAAA,IAAA+nL,EAAA/nL,EAAA,KAIaknH,EAAuB,SAAAzpH,GAO9B,IANJwD,EAMIxD,EANJwD,MACA22D,EAKIn6D,EALJm6D,QACAllC,EAIIj1B,EAJJi1B,UACAC,EAGIl1B,EAHJk1B,QACAmlC,EAEIr6D,EAFJq6D,UACAC,EACIt6D,EADJs6D,QAEM9lC,EAAQS,GAAaolC,EACrB5lC,EAAMS,GAAWolC,EACjBxlC,EAAOg2D,YAAQt2D,EAAOC,GAE5B,SAAArrB,OAAU2kB,YAAY,CAACvqB,EAAO22D,IAA9B,KAAA/wD,OAA2C0rB,kCChB7CvyB,EAAAC,EAAAC,EAAA,sBAAA4mH,IAAA,IAAAmhE,EAAAjoL,EAAA,KAAAkoL,EAAAloL,EAAAsI,EAAA2/K,GAAAE,EAAAnoL,EAAA,IAAA2zJ,EAAA3zJ,EAAA,KAMa8mH,EAA0B,SAAArpH,GAAqD,IAAlDw6D,EAAkDx6D,EAAlDw6D,OAAQC,EAA0Cz6D,EAA1Cy6D,QAASxlC,EAAiCj1B,EAAjCi1B,UAAWC,EAAsBl1B,EAAtBk1B,QAASwlC,EAAa16D,EAAb06D,OACvE5lC,EAAOg2D,YAAQ71D,EAAWC,GAC1By1J,EAAmBp1G,YAAmB9a,GACtCmwH,EAAY78J,YAAY,CAACysC,EAAQmwH,EAAkB71J,GAAO,KAEhE,OAAO/G,YAAY,CAAC68J,EAAW76K,IAAK2qD,IAAU,sCCXhDn4D,EAAAC,EAAAC,EAAA,sBAAAsnH,IAAA,IAAAsgE,EAAA9nL,EAAA,IAAA+nL,EAAA/nL,EAAA,KAIawnH,EAAmB,SAAA/pH,GAA0D,IAAvD46D,EAAuD56D,EAAvD46D,YAAaC,EAA0C76D,EAA1C66D,OAAQJ,EAAkCz6D,EAAlCy6D,QAASxlC,EAAyBj1B,EAAzBi1B,UAAWC,EAAcl1B,EAAdk1B,QACpEJ,EAAOg2D,YAAQ71D,EAAWC,GAC1By1J,EAAmBp1G,YAAmB9a,GACtC8vH,EAAax8J,YAAY,CAAC8sC,EAAQ8vH,EAAkB71J,GAAO,KAEjE,OAAO/G,YAAY,CAAC6sC,EAAa2vH,mCCTnChoL,EAAAC,EAAAC,EAAA,sBAAAmnH,IAAA,IAAAygE,EAAA9nL,EAAA,IAAA+nL,EAAA/nL,EAAA,KAIaqnH,EAAyB,SAAA5pH,GAOhC,IANJwD,EAMIxD,EANJwD,MACAy2D,EAKIj6D,EALJi6D,aACA95D,EAIIH,EAJJG,KACAs6D,EAGIz6D,EAHJy6D,QACAJ,EAEIr6D,EAFJq6D,UACAC,EACIt6D,EADJs6D,QAEMxlC,EAAOg2D,YAAQzwB,EAAWC,GAC1BuwH,EAAgBt1G,YAAmBp1E,GACnCoqL,EAAax8J,YAAY,CAACksC,EAAc4wH,EAAepwH,EAAS3lC,GAAO,KAE7E,OAAO/G,YAAY,CAACvqB,EAAO+mL,mCChB7BhoL,EAAAC,EAAAC,EAAA,sBAAAuoH,IAAA,IAAAq/D,EAAA9nL,EAAA,IAEayoH,EAAwB,SAAAhrH,GAA+C,IAA5CG,EAA4CH,EAA5CG,KAAMqD,EAAsCxD,EAAtCwD,MAAO03D,EAA+Bl7D,EAA/Bk7D,UAAWT,EAAoBz6D,EAApBy6D,QAASU,EAAWn7D,EAAXm7D,KACjE2vH,EAAiBtnL,EAAK,IAAA4F,OAAO5F,EAAP,KAAkB,GACxCunL,EAAqBx1G,YAAmBra,GACxCyvH,EAAmBp1G,YAAmB9a,GACtCuwH,EAAgBz1G,YAAmBpa,GACnCyvH,EAAY78J,YAAY,CAAC5tB,EAAM2qL,EAAgBC,IAC/CR,EAAax8J,YAAY,CAAC48J,EAAkBK,GAAgB,KAElE,SAAA5hL,OAAUwhL,EAAV,KAAAxhL,OAAuBmhL,kCCVzBhoL,EAAAC,EAAAC,EAAA,sBAAAymH,IAAA,IAAAmhE,EAAA9nL,EAAA,IAEa2mH,EAAkB,SAAAlpH,GAAkD,IAA/CwD,EAA+CxD,EAA/CwD,MAAOy2D,EAAwCj6D,EAAxCi6D,aAAc95D,EAA0BH,EAA1BG,KAAMs6D,EAAoBz6D,EAApBy6D,QAASU,EAAWn7D,EAAXm7D,KAC9D0vH,EAAgBt1G,YAAmBp1E,GACnC6qL,EAAgBz1G,YAAmBpa,GACnCovH,EAAax8J,YAAY,CAACksC,EAAc4wH,EAAepwH,EAASuwH,GAAgB,KAEtF,OAAOj9J,YAAY,CAACvqB,EAAO+mL,yjCCqBdU,IAzBf,WAA2D,IAAlCnqC,EAAkC5vI,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAtB,GAAIqlF,EAAkBrlF,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GACzD,GAAI2zD,IAAQi8E,GACV,MAAO,GAGT,IAAMoqC,EAAU,IAAI/iE,IAAI,IALiCs1C,GAAA,EAAAC,GAAA,EAAAC,OAAAxsJ,EAAA,IAOzD,QAAAysJ,EAAAC,EAAmB/c,EAAnBgd,OAAAC,cAAAN,GAAAG,EAAAC,EAAAG,QAAAC,MAAAR,GAAA,EAA8B,KAAnBvwJ,EAAmB0wJ,EAAAv6J,MACpBC,EAAiB4J,EAAjB5J,MACF2jB,EAAS,CADU/Z,EAAV7J,SACW,EAEtB6nL,EAAQC,IAAI7nL,IACd2jB,EAAOlH,KAAPC,MAAAiH,EAAMhH,EAASirK,EAAQ/pB,IAAI79J,GAAOD,QAGpC,IAAM+nL,EAAgB70F,EAClBtvE,EAAOpd,IAAI,SAAAk4C,GAAY,OAAIA,EAAaw0C,aACxCtvE,EAEJikK,EAAQxC,IAAIplL,EAAZ1B,EAAA,GAAwBsL,EAAxB,CAA8B7J,MAAOgoL,IAAKD,OAnBa,MAAA5sB,GAAAd,GAAA,EAAAC,EAAAa,EAAA,YAAAf,GAAA,MAAAI,EAAA,QAAAA,EAAA,oBAAAH,EAAA,MAAAC,GAsBzD,OAAO/xJ,MAAM0/K,KAAKJ,EAAQjkK,oICvBtBskK,EAAc,CAClBC,OAAQ,CACNC,qBAAsBC,IAAO3gB,QAC7B4gB,uBAAwBD,IAAO1gB,SAC/B4gB,yBAA0B,IAE5BC,MAAO,CACLJ,qBAAsBC,IAAOxgB,OAC7BygB,uBAAwBD,IAAOzgB,OAC/B2gB,yBAA0B,KAIxB3hL,EACI,SADJA,EAEG,QCXT,SAAS6hL,EAAT9rL,GAA2C,IAApBiB,EAAoBjB,EAApBiB,UAAWV,EAASP,EAATO,MAC1BwrL,EAAaR,EAAYhrL,IAAU,GAEzC,OACEkB,EAAAC,EAAAC,cAAA,KACEV,UAAWa,IAAW,MAAOb,GAC7BohB,MAAO0pK,IAKbD,EAAYplL,aAAe,CACzBnG,MAAO0J,GAGT6hL,EAAYloL,UAAZ,GAOekoL,mCCtBf,SAASE,EAAThsL,GAA4C,IAAvB0Y,EAAuB1Y,EAAvB0Y,IAAKohB,EAAkB95B,EAAlB85B,IAAK74B,EAAajB,EAAbiB,UAC7B,OACEQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOsD,KAAMhB,GAAY44B,IAAKnhB,EAAKohB,IAAKA,IAIvEkyJ,EAAUpoL,UAAV,GAMeooL,8WCTf,IAAMC,EAAc,CAClBC,oBAAqBxqH,IACrByqH,UAAW,CACTlrL,UAAWtC,IAAOijE,SAIhBmsD,EAAgB,CACpBm+D,oBAAqBF,EACrBG,UAAW,CACTzzK,IAAK,+BAII0zK,GAAWl5K,EAAAm5K,EAAA,GACrBzhJ,IAAME,mBAAqB,CAC1BpnC,YAAa,qBACbyoL,UAAW,CACTlrL,UAAW,oBAJOiS,EAAAm5K,EAOrBzhJ,IAAMC,iBAAmB,CACxBnnC,YAAa,mBACbyoL,UAAW,CACTlrL,UAAW,eAVOiS,EAAAm5K,EAarBzhJ,IAAMG,YAAc,CACnBrnC,YAAa,cACbyoL,UAAW,CACTlrL,UAAW,gBAhBOiS,EAAAm5K,EAmBrBzhJ,IAAMM,UAnBetpC,EAAA,GAoBjBqqL,EApBiB,CAqBpBvoL,YAAa,eArBOwP,EAAAm5K,EAuBrBzhJ,IAAMQ,gBAvBexpC,EAAA,GAwBjBqqL,EAxBiB,CAyBpBvoL,YAAa,qBAzBOwP,EAAAm5K,EA2BrBzhJ,IAAMU,qBA3Be1pC,EAAA,GA4BjBqqL,EA5BiB,CA6BpBvoL,YAAa,6BA7BOwP,EAAAm5K,EA+BrBzhJ,IAAMS,kBA/BezpC,EAAA,GAgCjBqqL,EAhCiB,CAiCpBvoL,YAAa,uBAjCOwP,EAAAm5K,EAmCrBzhJ,IAAMO,gBAnCevpC,EAAA,GAoCjBqqL,EApCiB,CAqCpBvoL,YAAa,qBArCOwP,EAAAm5K,EAuCrBzhJ,IAAMoB,KAvCepqC,EAAA,GAwCjBqqL,EAxCiB,CAyCpBvoL,YAAa,UAzCOwP,EAAAm5K,EA2CrBzhJ,IAAMI,cAAgB,CACrBtnC,YAAa,gBACbwoL,oBAAqBF,EACrBG,UAAW,CACTzzK,IAAK,8BA/CaxF,EAAAm5K,EAkDrBzhJ,IAAMK,gBAAkB,CACvBvnC,YAAa,kBACbwoL,oBAAqBF,EACrBG,UAAW,CACTzzK,IAAK,8BAtDaxF,EAAAm5K,EAyDrBzhJ,IAAMY,aAAe,CACpB9nC,YAAa,eACbyoL,UAAW,CACTlrL,UAAW,iBA5DOiS,EAAAm5K,EA+DrBzhJ,IAAMW,WAAa,CAClB7nC,YAAa,aACbyoL,UAAW,CACTlrL,UAAW,iBAlEOiS,EAAAm5K,EAqErBzhJ,IAAMc,mBAAqB,CAC1BhoC,YAAa,qBACbyoL,UAAW,CACTlrL,UAAW,cAxEOiS,EAAAm5K,EA2ErBzhJ,IAAMa,iBAAmB,CACxB/nC,YAAa,mBACbyoL,UAAW,CACTlrL,UAAW,cA9EOiS,EAAAm5K,EAiFrBzhJ,IAAMgB,kBAAoB,CACzBloC,YAAa,SAAA1D,GAAA,IAAGssL,EAAHtsL,EAAGssL,kBAAH,OAA2BA,GAAiB,IAAAljL,OAAQkjL,EAAR,MACzDH,UAAW,CACTlrL,UAAW,iBApFOiS,EAAAm5K,EAuFrBzhJ,IAAMe,gBAAkB,CACvBjoC,YAAa,SAAA6B,GAAA,IAAG+mL,EAAH/mL,EAAG+mL,kBAAH,OAA2BA,GAAiB,IAAAljL,OAAQkjL,EAAR,MACzDH,UAAW,CACTlrL,UAAW,iBA1FOiS,EAAAm5K,EA6FrBzhJ,IAAMiB,SAAW,CAChBnoC,YAAa,WACbyoL,UAAW,CACTlrL,UAAW,kBACXV,MAAO0J,KAjGWiJ,EAAAm5K,EAoGrBzhJ,IAAMkB,iBAAmB,CACxBpoC,YAAa,mBACbyoL,UAAW,CACTlrL,UAAW,oBACXV,MAAO0J,KAxGWiJ,EAAAm5K,EA2GrBzhJ,IAAMmB,YAAc,CACnBroC,YAAa,SAAA+B,GAAyB,IAAtB8mL,EAAsB9mL,EAAtB8mL,gBACd,OAAIz8K,IAAQy8K,GAAyB,KAE9B,mBA/GWr5K,EAAAm5K,EAkHrBzhJ,IAAMpB,qBAlHe5nC,EAAA,GAmHjBmsH,EAnHiB,CAoHpBrqH,YAAa,0BApHOwP,EAAAm5K,EAsHrBzhJ,IAAMnB,kBAtHe7nC,EAAA,GAuHjBmsH,EAvHiB,CAwHpBrqH,YAAa,uBAxHOwP,EAAAm5K,EA0HrBzhJ,IAAMlB,iBA1He9nC,EAAA,GA2HjBmsH,EA3HiB,CA4HpBrqH,YAAa,sBA5HOwP,EAAAm5K,EA8HrBzhJ,IAAMjB,4BA9He/nC,EAAA,GA+HjBmsH,EA/HiB,CAgIpBrqH,YAAa,iCAhIOwP,EAAAm5K,EAkIrBzhJ,IAAMhB,0BAlIehoC,EAAA,GAmIjBmsH,EAnIiB,CAoIpBrqH,YAAa,+BApIOwP,EAAAm5K,EAsIrBzhJ,IAAMf,SAtIejoC,EAAA,GAuIjBmsH,EAvIiB,CAwIpBrqH,YAAa,cAxIOwP,EAAAm5K,EA0IrBzhJ,IAAMd,WA1IeloC,EAAA,GA2IjBmsH,EA3IiB,CA4IpBrqH,YAAa,gBA5IOwP,EAAAm5K,EA8IrBzhJ,IAAMb,sBA9IenoC,EAAA,GA+IjBmsH,EA/IiB,CAgJpBrqH,YAAa,2BAhJOwP,EAAAm5K,EAkJrBzhJ,IAAMZ,gBAlJepoC,EAAA,GAmJjBmsH,EAnJiB,CAoJpBrqH,YAAa,qBApJOwP,EAAAm5K,EAsJrBzhJ,IAAMX,WAtJeroC,EAAA,GAuJjBmsH,EAvJiB,CAwJpBrqH,YAAa,gBAxJOwP,EAAAm5K,EA0JrBzhJ,IAAMV,MA1JetoC,EAAA,GA2JjBmsH,EA3JiB,CA4JpBrqH,YAAa,WA5JOwP,EAAAm5K,EA8JrBzhJ,IAAMT,wBA9JevoC,EAAA,GA+JjBmsH,EA/JiB,CAgKpBrqH,YAAa,6BAhKOwP,EAAAm5K,EAkKrBzhJ,IAAMR,4BAlKexoC,EAAA,GAmKjBmsH,EAnKiB,CAoKpBrqH,YAAa,iCApKOwP,EAAAm5K,EAsKrBzhJ,IAAMP,WAtKezoC,EAAA,GAuKjBmsH,EAvKiB,CAwKpBrqH,YAAa,gBAxKOwP,EAAAm5K,EA0KrBzhJ,IAAMN,2BA1Ke1oC,EAAA,GA2KjBmsH,EA3KiB,CA4KpBrqH,YAAa,iCA5KOwP,EAAAm5K,EA8KrBzhJ,IAAML,gBA9Ke3oC,EAAA,GA+KjBmsH,EA/KiB,CAgLpBrqH,YAAa,qBAhLOwP,EAAAm5K,EAkLrBzhJ,IAAMJ,mBAlLe5oC,EAAA,GAmLjBmsH,EAnLiB,CAoLpBrqH,YAAa,wBApLOwP,EAAAm5K,EAsLrBzhJ,IAAMH,2BAtLe7oC,EAAA,GAuLjBmsH,EAvLiB,CAwLpBrqH,YAAa,gCAxLOwP,EAAAm5K,EA0LrBzhJ,IAAMF,eA1Le9oC,EAAA,GA2LjBmsH,EA3LiB,CA4LpBrqH,YAAa,oBA5LOwP,EAAAm5K,EA8LrBzhJ,IAAMD,uBA9Le/oC,EAAA,GA+LjBmsH,EA/LiB,CAgMpBrqH,YAAa,4BAhMOwP,EAAAm5K,EAkMrBzhJ,IAAMO,gBAAkB,CACvBznC,YAAa,oBAnMOwP,EAAAm5K,EAqMrBzhJ,IAAMQ,gBAAkB,CACvB1nC,YAAa,oBAtMOwP,EAAAm5K,EAwMrBzhJ,IAAMU,qBAAuB,CAC5B5nC,YAAa,yBAzMOwP,EAAAm5K,EA2MrBzhJ,IAAMS,kBAAoB,CACzB3nC,YAAa,sBA5MO2oL,0lBCZxB,SAASG,EAATxsL,GAKG,IAJDG,EAICH,EAJDG,KACAmoD,EAGCtoD,EAHDsoD,SACA21B,EAECj+E,EAFDi+E,UACAwuG,EACCzsL,EADDysL,gBAEA,IAAKxuG,EAAW,OAAO,KAEvB,IAAMyuG,EAAcN,EAAYjsL,GAAQmoD,IAAa,GAC7C6jI,EAAmCO,EAAnCP,UAAWD,EAAwBQ,EAAxBR,oBAEnB,GAAIp8K,IAAQq8K,GACV,OAAO1qL,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAO45H,UAAW55H,IAAOsD,QAP1D,IAUOhB,EAAuCkrL,EAAvClrL,UAAWV,EAA4B4rL,EAA5B5rL,MAAUosL,EAV5BrrL,EAU8C6qL,EAV9C,uBAYD,OAAID,EAEAzqL,EAAAC,EAAAC,cAACuqL,EAADU,EAAA,CAAqB3rL,UAAWA,GAAewrL,EAAqBE,IAKtElrL,EAAAC,EAAAC,cAACkrL,EAADD,EAAA,CACE3rL,UAAWa,IAAWnD,IAAOsD,KAAMhB,GACnCV,MAAOA,GACHosL,IAKVH,EAAW9lL,aAAe,CACxB+lL,gBAAiB,GACjBxuG,WAAW,GAGbuuG,EAAW5oL,UAAX,GAQe4oL,8ZChDf,SAASM,EAAT9sL,GAA4C,IAAtBG,EAAsBH,EAAtBG,KAASkB,EAAa0rL,EAAA/sL,EAAA,UAClC0D,GAAgB0oL,EAAYjsL,IAAS,IAArCuD,YAER,GAAIszC,IAAMtzC,GACR,OAAO,KAWT,OACEjC,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO65H,YARjBpmF,IAAW1uC,GACNA,EAAYrC,GAGrB,IAAA+H,OAAW1F,EAAX,MAUJopL,EAAWlpL,UAAX,GAIekpL,gBC1BTE,EAAqB,CACzBpiJ,IAAME,mBACNF,IAAMC,iBACND,IAAMI,cACNJ,IAAMK,iBAGR,SAASgiJ,EAATjtL,GAA8C,IAAnBG,EAAmBH,EAAnBG,KAAMszC,EAAazzC,EAAbyzC,UACzBy5I,GAAY,IAAGF,EAAmB/2J,QAAS91B,GAEjD,GAAI2P,IAAQ2jC,KAAey5I,EACzB,OAAO,KAGT,IAAM15I,EAAaC,EAAU7pC,MAAM,EAAG,GAAG8G,cAEzC,OACEjP,EAAAC,EAAAC,cAACg0D,EAAA,EAAD,CACEw3H,iBAAe,EACf35I,WAAYA,EACZC,UAAWA,IAKjBw5I,EAAgBrpL,UAAhB,GAKeqpL,+lBC7Bf,SAASz8E,EAATxwG,GAUG,IATDG,EASCH,EATDG,KACAmD,EAQCtD,EARDsD,MACAuP,EAOC7S,EAPD6S,WACAy1C,EAMCtoD,EANDsoD,SACY7U,EAKXzzC,EALDotL,WACiBzrH,EAIhB3hE,EAJDomG,gBACAhsB,EAGCp6E,EAHDo6E,SACAizG,EAECrtL,EAFDqtL,gBACGhsL,EACFisL,EAAAttL,EAAA,sGACKysL,EAAkB,CACtBj5K,KAAMlQ,EACNq+D,YAGF,OACElgE,EAAAC,EAAAC,cAAA,OAAKV,UAAWosL,GACd5rL,EAAAC,EAAAC,cAAC4rL,EAAD,CACEtvG,UAAW7D,EACXj6E,KAAMA,EACNmoD,SAAUA,EACVmkI,gBAAiBA,IAEnBhrL,EAAAC,EAAAC,cAACm6J,EAAA,EAAD,CACEr4J,QAASH,EACTkzB,YAAa3jB,IAEfpR,EAAAC,EAAAC,cAAC6rL,EAAD,CACErtL,KAAMA,EACNszC,UAAWA,IAEbhyC,EAAAC,EAAAC,cAAC8rL,EAADC,EAAA,CAAYvtL,KAAMA,GAAUkB,KAKlCmvG,EAAW9pG,aAAe,CACxBmM,WAAY,GACZunE,UAAU,GAGZo2B,EAAW5sG,UAAX,GAWe4sG,0KC5DkBzlG,IAAU6tD,MAAM,CAC/Cl1D,YAAaqH,IAAU4oE,UAAU,CAC/B5oE,IAAU8E,OACV9E,IAAUgwC,OAEZ/1C,GAAI+F,IAAU8E,OAAOwmB,WACrBmmB,UAAWzxC,IAAU8E,OACrB8qE,SAAU5vE,IAAU8E,OAAOwmB,WAC3B7yB,MAAOuH,IAAU8E,OAAOwmB,WACxB3d,IAAK3N,IAAU8E,SAGM9E,IAAU6tD,MAAM,CACrC+0H,wBAAyB5iL,IAAU48D,KAAKtxC,i8CC+E3Bu3J,MAxFf,SAAA5tL,GAMG,IALDgF,EAKChF,EALDgF,GACA6oL,EAIC7tL,EAJD6tL,SACAC,EAGC9tL,EAHD8tL,YACAC,EAEC/tL,EAFD+tL,iBAECC,EAAAhuL,EADDiuL,4BACC,IAAAD,KAAAr9K,EAAAC,EACyCC,mBAAS,IADlD,GACMw6E,EADN16E,EAAA,GACqBu9K,EADrBv9K,EAAA,GAAA+I,EAAA9I,EAEiDC,mBAAS,IAF1D,GAEMs9K,EAFNz0K,EAAA,GAEyB00K,EAFzB10K,EAAA,GAAAgT,EAAA9b,EAGiCC,oBAAS,GAH1C,GAGMw9K,EAHN3hK,EAAA,GAGiB4hK,EAHjB5hK,EAAA,GAAAE,EAAAhc,EAIyBC,oBAAS,GAJlC,GAIM06E,EAJN3+D,EAAA,GAIa2hK,EAJb3hK,EAAA,GAKGuzH,EAAQ,KAWZ,SAASp8I,EAAQE,GAAO,IACVuqL,GAAcvqL,GAAS,IAA3Be,GAEHgyC,IAAMw3I,KACTF,GAAa,GACbJ,EAAiB,SAAAt4J,GAAS,OAAIqpD,IAAOrpD,EAAW,SAAA1oB,GAAI,OAAIA,EAAKlI,KAAOwpL,OAuDxE,OAzBA98K,oBAAU,WAGR,OA7BF,WACE,IAAI7L,IAAQgoL,GAAZ,CAIAS,GAAa,GAEb,IAAMG,EAAmBC,IAAab,EAAUxiG,EAAe,MAE3DxlF,IAAQ4oL,KAIZF,GAAS,GAETpuC,EAAQh9G,WAAW,kBAAMorJ,GAAS,IAAQ,KAE1CL,EAAiB,SAAA/pJ,GAAS,SAAA/6B,OAAA6W,EACrBkkB,GADqBlkB,EAErBwuK,MAGLL,EAAqBK,KAKrBE,GAEO,kBAAMvuC,aAAaD,KACzB,CAAC0tC,IAGJn8K,oBAAU,WACR,IAAK28K,GAAaJ,EAAsB,CAnDxC/oL,IAAM0pL,UAqDJ,IAAMC,EAAsB72I,IAAKm2I,GAC3BW,EAAcD,EAAsBjoL,IACpCpD,EAAK,GAAA4F,OAAMylL,EAAN,sBAEXA,EAAsB,GAAKd,EAAiB,CAC1C/oL,KACAxB,QACAsqL,cACAziG,cAAez9D,IAAIugK,EAAmB,WACtCW,cACA/qL,cAGH,CAACoqL,IAEG,CACL5iG,QACAwjG,cAnEF,SAA2B1rL,GACzBkrL,EAASlrL,whCCRb,SAAS2rL,EAAThvL,GAOG,IANDwD,EAMCxD,EANDwD,MACAwB,EAKChF,EALDgF,GACAqmF,EAICrrF,EAJDqrF,cACAyjG,EAGC9uL,EAHD8uL,YACAhB,EAEC9tL,EAFD8tL,YACA/pL,EACC/D,EADD+D,QAEMgB,EAAU,CAAEK,WAAYlB,IAAOH,WAErC,SAASkrL,IAAsB,IAAAxpL,EAAAovJ,EACJxpE,GAAiB,IAAnC6jG,EADsBzpL,EAAA,GACZoqG,EADYpqG,EAAAmE,MAAA,GAEvBulL,EAAcvtL,EAAA,GAAQmD,EAAR,CAAiBK,WAAYb,MAEjDyB,YAAmBhB,EAAIkqL,EAAOC,GAC9BvhK,IAAIiiF,EAAM,SAAA3iG,GAAI,OAAIpI,YAAoBoI,EAAMiiL,EAA1BrqL,KA+BpB,IAAMsqL,EAAgC,IAAxBp3I,IAAKqzC,GACf7rC,IAAK6rC,GACL5pF,EAAAC,EAAAC,cAAC0E,EAAA,EAAD,CAAW7C,MAAOA,EAAOC,QA9B7B,WACE,GAAIqrL,EAAa,KAAAzsJ,EACYyrJ,GAAe,GAAlC5mL,EADOm7B,EACPn7B,KAAMg8D,EADC7gC,EACD6gC,SAEd,OACEzhE,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,YACNE,KAAK,OACLyG,KAAMA,EACNjG,UAAWtC,IAAOM,MAJpB,eAMUikE,EANV,UAWJ,OACEzhE,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNE,KAAK,OACLR,QAASgvL,EACThuL,UAAWtC,IAAOM,MAJpB,uCAakCyJ,GAAczH,UAAWtC,IAAOgF,OAEtE,OAAOmB,YAAoBsqL,EAADxtL,EAAA,GAAamD,EAAb,CAAsBC,OAAzCF,GAGTkqL,EAAWprL,UAAX,GAWeorL,ytCCCAK,OAvEf,SAAArvL,GAWG,IAAAsvL,EAAAtvL,EAVDqrF,qBAUC,IAAAikG,EAVe,GAUfA,EATDC,EASCvvL,EATDuvL,mBACAC,EAQCxvL,EARDwvL,uBACAnmK,EAOCrpB,EAPDqpB,SACAomK,EAMCzvL,EANDyvL,mBACAxB,EAKCjuL,EALDiuL,qBAKCyB,EAAA1vL,EAJD2vL,kBAIC,IAAAD,EAJY,EAIZA,EAHDE,EAGC5vL,EAHD4vL,YACA7U,EAEC/6K,EAFD+6K,yBACA8U,EACC7vL,EADD6vL,WACCl/K,EAAAm/K,EACiCj/K,oBAAS,GAD1C,GACMk/K,EADNp/K,EAAA,GACiBq/K,EADjBr/K,EAAA,GAAA+I,EAAAo2K,EAEyCj/K,mBAAS8+K,GAFlD,GAEMM,EAFNv2K,EAAA,GAEqBw2K,EAFrBx2K,EAAA,GAIKo1K,EAAcW,EAAqBltG,IACnC4tG,EAAeV,EAAqB,KAAOpmK,GAAY0xJ,GACvDqV,EAAetB,EAAW,GAAA1lL,OACzBm5E,IADyB,KAE5BktG,EACEY,GAAoBtqK,IAAIw7C,uBAAyBl4C,GAAY0xJ,EAE7DuV,EAASzmL,IAAIwhF,EAAe,SAACa,GAGjC,MAAO,CAAElnF,GAFMknF,EAAPlnF,GAEKvB,QAAS6+K,YAAKiO,EAAA,GAAKrkG,EAAN,CAAoBjrF,UAAWtC,IAAOgF,KAAM4+K,WAAW,QAG7EuL,EAAc,CAAE5mL,KAAMm7E,IAAcnf,SAAU,WAjBnDstH,EAmBgC5C,EAAyB,CACxD5oL,GAAI,wBACJ6oL,SAAUyC,EACVxC,cACAC,iBAAkBiB,EAClBf,sBAAuB5kK,GAAY4kK,IAAyBlT,GAA4BgV,IALlFxkG,EAnBPilG,EAmBOjlG,MAAOwjG,EAnBdyB,EAmBczB,cA8Bf,OAbAr9K,oBAAU,WACRs+K,EAAaC,IAAkBN,GAC/BO,EAAiBP,IAChB,CAACA,IAEJj+K,oBAAU,WAGR,OAFAu8K,GAAwBsB,IAEjB,kBAAMC,MACZ,CAACvB,IAEJv8K,oBAAU,kBAAMm+K,GAAY,IAErB,CACLY,YAAa1V,EACb2V,cAxBF,WACE3V,EACIwU,GAAsBA,IACtBC,GAA0BA,IAE9BT,GAAehU,GACf6U,KAmBArkG,MAAOliE,GAAYkiE,EACnB4kG,eACAE,mBACAD,eACAtB,0DChDW6B,OAzBf,SAAA3wL,GAAiG,IAAvEqrF,EAAuErrF,EAAvEqrF,cAAeokG,EAAwDzvL,EAAxDyvL,mBAAoBmB,EAAoC5wL,EAApC4wL,mBAAoB/qD,EAAgB7lI,EAAhB6lI,GACzEgrD,EADyF7wL,EAAZqpB,SAC7C+4D,IAAqBD,IACrD8rG,EAAuB6C,KAAKzlG,EAAewlG,GAC3CE,EAAelrL,IAAQooL,GACvB+C,EAAiBvB,EAAqBoB,EAU5C,MAAO,CACLI,oBAAqBF,EACrBngK,WATF,WACE,IACQ5rB,GADmBw6C,IAAKyuI,IACK,IAA7BjpL,GAERA,GAAM4rL,EAAmB5rL,IAMzBksL,0BAZkCrrD,GAAM,IAAlC8nD,wBAaNwD,eAAgBJ,EAChB9C,uBACAmD,kBAAmBJ,EAAiB,EACpCA,6QCXJ,SAASK,GAATrxL,GAOG,IAND6lI,EAMC7lI,EAND6lI,GACAx8G,EAKCrpB,EALDqpB,SACAgiE,EAICrrF,EAJDqrF,cACAulG,EAGC5wL,EAHD4wL,mBACAnB,EAECzvL,EAFDyvL,mBACA1rL,EACC/D,EADD+D,QACCutL,EASGX,GAAe,CAAEtlG,gBAAeulG,qBAAoB/qD,KAAI4pD,qBAAoBpmK,aAP9E4nK,EAFDK,EAECL,mBACArgK,EAHD0gK,EAGC1gK,WACAsgK,EAJDI,EAICJ,yBACAC,EALDG,EAKCH,eACAlD,EANDqD,EAMCrD,qBACAmD,EAPDE,EAOCF,kBACAJ,EARDM,EAQCN,eAGI/O,EAAmB,GAEzB,SAASsP,EAAmBrlG,GAAc,IAChClnF,EAAOknF,EAAPlnF,GAER,OACEvD,EAAAC,EAAAC,cAAC2gL,GAAA,EAADkP,GAAA,GACMtlG,EADN,CAEEjrF,UAAWtC,KAAOutF,aAClB/iF,IAAKnE,EACLqkB,SAAUA,EACVw4J,uBAAwBI,EACxBhB,cAAetiL,KAAOwB,KACtB8W,cAAetY,KAAOkb,QAK5B,SAAS43K,IACP7gK,IACA7sB,IAGF,IAuCQ2tL,EAuCAC,EA1EAnuL,EAJFouL,EAA2BnC,EAAqB,EAChDnuH,EAAav7C,IAAIw7C,uBAAyBl4C,EAiE1CwoK,EAAgBT,GACpB3vL,EAAAC,EAAAC,cAAC84F,GAAA,EAAD,CACEl6F,MAAM,UACN2G,KAAMm7E,IACNphF,UAAWtC,KAAOqtF,UAClB/rF,QAASwxL,GAJX,KAAAroL,OAMQ4nL,EANR,UA6BF,OACEvvL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAO8E,QAASsiB,IAAIw7C,uBAAyB5iE,KAAOitF,MA7FzEpoF,EAAK,iBAAA4F,OAAoBwoL,EAAwB,IAAAxoL,OAAOqmL,EAAP,KAA+B,IAElFnuH,EAEA7/D,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOmtF,cACxBrqF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6E,OACpBA,GAEH/B,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQkB,UAAWtC,KAAOsG,YAAa1E,MAAM,QAAQN,QAAS8D,GAC5DtC,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,eAAgBnD,KAAOsD,UAOtDR,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOwN,QACvB3I,EAEAytL,GACCxvL,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,OACLQ,UAAWtC,KAAOktF,YAClB5rF,QAAS2wB,EACTvwB,SAAU6wL,GALZ,eA4EHC,GACC1vL,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAOotF,YAArB,0BAvBE4lG,EACJlwL,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGmC,IAAIokL,EAAsBsD,GAC1BM,GAIDvwH,EAEA7/D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0sF,eACpBsmG,GAKAA,IAtDDD,EACJjwL,EAAAC,EAAAC,cAAC84F,GAAA,EAAD,CACEl6F,MAAM,WACN2G,KAAMm7E,IACNpiF,QAASwxL,EACTxwL,UAAWtC,KAAOstF,YAJpB,uBAUE3qB,EAEA7/D,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOooE,SACpBkqH,GACCxvL,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CAAQE,QAAS2wB,EAAYrwB,MAAM,QAAQU,UAAWtC,KAAOwtF,eAA7D,oBAIDulG,GAKAA,IAkDXL,GAAYztL,UAAZ,GASeytL,yCClKA7hK,OARf,WACE,OACE/tB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO0sF,eACtB5pF,EAAAC,EAAAC,cAACgpB,GAAA,EAAD,CAAM6N,UAAW12B,IAAW,aAAcnD,KAAOsD,KAAMtD,KAAO4C,0mBCUpE,SAAS89B,GAATr/B,GASG,IARDqrF,EAQCrrF,EARDqrF,cACAokG,EAOCzvL,EAPDyvL,mBACApmK,EAMCrpB,EANDqpB,SACA9nB,EAKCvB,EALDuB,WACAuwL,EAIC9xL,EAJD8xL,WACAv4K,EAGCvZ,EAHDuZ,eACAtY,EAECjB,EAFDiB,UACGI,EACFC,GAAAtB,EAAA,0GACOqzE,EAAalzC,OAAO2vC,SAApBuD,SAEF4K,IADc8zG,IAAW1+G,EAAUgP,MAAiB0vG,IAAW1+G,EAAUiP,OAC7CwvG,EAC5B7D,EAAuBhwG,IAAc18E,EACrCouL,EAAaqC,aAAa/zI,QAAQ,sBALvCg0I,EAcG5C,GAAiBvtE,GAAA,GAChBzgH,EADe,CAElBgqF,gBACAhiE,WACAomK,qBACAxB,uBACA0B,gBAZAc,EARDwB,EAQCxB,YACAC,EATDuB,EASCvB,cACAnlG,EAVD0mG,EAUC1mG,MACA4kG,EAXD8B,EAWC9B,aACAE,EAZD4B,EAYC5B,iBACAD,EAbD6B,EAaC7B,aAUF,SAAS8B,IACP,OACEzwL,EAAAC,EAAAC,cAACwwL,GAADrwE,GAAA,GACMzgH,EADN,CAEEgqF,cAAeA,EACfokG,mBAAoBA,EACpBpmK,SAAUA,EACVtlB,QAAS2sL,KAWf,IAAKzyG,EACH,OAAO,KAGT,GAAI18E,EACF,OAAOE,EAAAC,EAAAC,cAAC2/E,GAAD,MAGT,IAIM8wG,EAAYrsK,IAAIw7C,uBAAyBl4C,EACzCgpK,EACJ5wL,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNI,cAAehC,KAAOsD,KACtBhB,UAAWa,IACTnD,KAAO0sF,cACPglG,GAAoB1xL,KAAO2sF,mBAC3BrqF,GAEFP,WA3BK2vL,EACH5uL,EAAAC,EAAAC,cAAA,OAAKk4B,IAAI,8BAA8BC,IAAI,iBAC3Cr4B,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,aAAcypF,GAAS5sF,KAAO4sF,SA0BzDtrF,QAfgB,WAClBywL,IACA4B,gBAeGnC,GACC1uL,EAAAC,EAAAC,cAAC8kC,EAAA,EAAD,CAAOxlC,UAAWa,IAAWnD,KAAOe,MAAO0yL,GAAazzL,KAAO6sF,SAAUjrF,MAAM,OAC5E6vL,IAMHmC,EACJ9wL,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACEG,UAAU,aACV7I,UAAWa,IAAWnD,KAAO8sF,QAAS9sF,KAAO+sF,YAC7CjoF,QAASyuL,IACT3xL,MAAM,QACNg9G,QAASkzE,EACThzE,eAAgBizE,EAChB3mL,aAAW,EACX0pB,OAAQpK,GAER5nB,EAAAC,EAAAC,cAAA,YACG0wL,IAKDG,EACJ/wL,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG2qL,EACD5wL,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACEZ,OAAQw7K,EACR36K,WAAY46K,EACZv3K,iBAAkBrX,IAAWnD,KAAOgtF,QAAS5lE,IAAIw7C,uBAAyB5iE,KAAOitF,IACjF30E,cAAetY,KAAOugF,UACtBj+E,UAAWa,IAAWnD,KAAOsX,MAAO8P,IAAIw7C,uBAAyB5iE,KAAOitF,IACxEryE,eAAgBA,GAEf24K,MAKP,OAAO7oK,EAAWmpK,EAAgBD,EAGpClzJ,GAAU34B,aAAe,CACvBnF,YAAY,EACZuwL,YAAY,GAGdzyJ,GAAUz7B,UAAV,GAYeogI,gBAAa,gBAAiBj9D,EAA9Bi9D,CAAuC3kG,iHCpJtD,SAAS7P,EAATxvB,GAAoC,IAAbiB,EAAajB,EAAbiB,UACrB,OAAOQ,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWnD,IAAO+U,YAAazS,KAEpEuuB,EAAY5rB,UAAZ,GAIe4rB,mBCbYzkB,IAAU6tD,MAAM,CACzCj0C,MAAO5Z,IAAU8E,OACjBvM,MAAOyH,IAAU8E,OACjB5N,KAAM8I,IAAU8E,OAChBxB,MAAOtD,IAAU8E,OACjBxM,MAAO0H,IAAU8E,kCCEnB,SAAS9P,EAATC,GAKG,IAJDqkB,EAICrkB,EAJDqkB,OACApkB,EAGCD,EAHDC,QACAgB,EAECjB,EAFDiB,UACAN,EACCX,EADDW,cAEQ2C,EAA8B+gB,EAA9B/gB,MAAOrB,EAAuBoiB,EAAvBpiB,KAAM0iB,EAAiBN,EAAjBM,MAAOthB,EAAUghB,EAAVhhB,MAEtBovL,EAAc3wL,IAClBnD,IAAOsD,KACPtD,IAAOgmB,GACPhkB,GAKF,OACEc,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLF,MAAM,YACNU,UAAWa,IAAWnD,IAAOyB,OAAQa,GACrCN,cAAe8xL,EACfxyL,QARgB,kBAAMA,EAAQoD,IAS9B3C,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAWgB,KAEzBqB,GAKPvD,EAAO6D,UAAP,GAOe7D,8PCrCf,SAAS8V,EAAT7V,GAA4E,IAA3DiV,EAA2DjV,EAA3DiV,OAAQa,EAAmD9V,EAAnD8V,WAAY48K,EAAuC1yL,EAAvC0yL,cAAe3tL,EAAwB/E,EAAxB+E,QAAS4tL,EAAe3yL,EAAf2yL,YAe3D,OACElxL,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAM,WACNyR,OAAQA,EACRgC,cAAetY,IAAOugF,UACtBppE,WAAYA,GAEX68K,EAAY9oL,IArBI,SAAA6rH,GAAa,OAChCj0H,EAAAC,EAAAC,cAAC+pH,EAAD,CACEzqH,UAAWtC,IAAOyB,OAClBO,cAAehC,IAAOsD,KACtBkH,IAAKusH,EACLrxG,OAAMziB,EAAA,GACDmD,EAAQ2wH,GADP,CAEJryH,MAAOqyH,IAETz1H,QAASyyL,EACT3tL,QAASA,OAgBf8Q,EAAMjS,UAAN,GAQeiS,m/BC0CA+8K,MAjFf,SAAA5yL,GAUG,IATDq1H,EASCr1H,EATDq1H,WACAE,EAQCv1H,EARDu1H,YACAJ,EAOCn1H,EAPDm1H,cACAC,EAMCp1H,EANDo1H,gBACAE,EAKCt1H,EALDs1H,mBACAvwH,EAIC/E,EAJD+E,QACAkqG,EAGCjvG,EAHDivG,kBACAwnB,EAECz2H,EAFDy2H,UACAxhH,EACCjV,EADDiV,OAEQoU,EAAauN,cAAbvN,SADP1Y,EAAAC,EAGmCC,mBAASoE,GAH5C,GAGM49K,EAHNliL,EAAA,GAGkBmiL,EAHlBniL,EAAA,GAAA+I,EAAA9I,EAI2BC,mBAASskH,GAJpC,GAIM9wG,EAJN3K,EAAA,GAIc87G,EAJd97G,EAAA,GAAAgT,EAAA9b,EAKiCC,mBAASukH,GAL1C,GAKMl0H,EALNwrB,EAAA,GAKiB+oG,EALjB/oG,EAAA,GAAAE,EAAAhc,EAM+CC,oBAAS,GANxD,GAMMknB,EANNnL,EAAA,GAMwBmmK,EANxBnmK,EAAA,GAQDlb,oBAAU,WACR+jH,EAAaL,IACZ,CAACA,IAEJ,IAAMu9D,EAAclgK,OAAOC,KAAK3tB,GAC1BiuL,EAAeL,EAAY1iL,OAAO,SAAAgjL,GAAC,OAAIA,IAAM5uK,IAC7C6uK,GAAgB7pK,GAAYwpK,EAC5BM,EAAY9pK,GAAYwpK,EAExB/8K,EAAa,kBAAMg9K,GAAeD,IAElCl9D,EAAe,SAACD,IACnB39F,GAAoBsiB,IAAWk7E,IAAgBA,EAAYG,GAC5DF,EAAUE,GACVD,GAAa,IAGTS,EAAiB,WACrBV,EAAUnxG,GACVoxG,GAAa,IA+Bf,OARA/jH,oBAAU,WACRu9F,EANOwnB,IACJx9G,KAAK,SAAAo7E,GAAQ,OAAIshC,EAAathC,KAD1B,MAEE6hC,GAMJf,GAAiBK,EAAUL,GAEhC49D,GAAoB,IACnB,CAAC59D,IAEG,CACL9wG,SACAtf,UACA2tL,cA/BkB,SAACh9D,GACfA,IAAkBrxG,EACpBixG,EAAmB,CACjBI,gBACAL,aACAI,eACAE,eACAO,mBALF,QAMWpgH,GAEXA,KAsBFk9K,eACAE,eACAC,YACAr9K,aACA68K,cACAzxL,iCChFSkyL,EAAa,CACxBhsJ,MAAOzoC,IAAO+iK,QACdx6H,KAAMvoC,IAAOgjK,+lBCQf,SAAShrC,EAAT32H,GAOG,IAND83E,EAMC93E,EAND83E,UACA72E,EAKCjB,EALDiB,UACA4N,EAIC7O,EAJD6O,mBACAkrC,EAGC/5C,EAHD+5C,qBACAp5C,EAECX,EAFDW,cACGU,EACFC,EAAAtB,EAAA,uFAAAqzL,EAWGT,EAAgBvxL,GATlBgjB,EAFDgvK,EAEChvK,OACAtf,EAHDsuL,EAGCtuL,QACA2tL,EAJDW,EAICX,cACAM,EALDK,EAKCL,aACAE,EANDG,EAMCH,aACAC,EAPDE,EAOCF,UACAr9K,EARDu9K,EAQCv9K,WACA68K,EATDU,EASCV,YAIF,GAbCU,EAUCnyL,UAIA,OAAOO,EAAAC,EAAAC,cAAC2/E,EAAD,CAAargF,UAAW84C,IAGjC,IAAMu5I,EAAe,SAAA59D,GAAa,OAChCj0H,EAAAC,EAAAC,cAAC+pH,EAAD,CACEzqH,UAAWA,EACXkI,IAAKusH,EACL/0H,cAAeA,EACf0jB,OAAMkvK,EAAA,GACDxuL,EAAQ2wH,GADP,CAEJryH,MAAOqyH,IAETz1H,QAASyyL,KAIb,OACEjxL,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IACTnD,IAAO6H,UACP4sL,EAAWt7G,GACXo7G,GAAgBv0L,IAAOijK,cACvB/yJ,IAGDykL,EAAajvK,GACb6uK,GAAgBF,EAAanpL,IAAIypL,GAClC7xL,EAAAC,EAAAC,cAAC6xL,EAAD,CACEd,cAAeA,EACfz9K,OAAQk+K,EACRr9K,WAAYA,EACZ68K,YAAaA,EACb5tL,QAASA,KAMjB4xH,EAAiBjwH,aAAe,CAC9BoxE,UAAW,QACXm3B,mBAAmB,GAGrB0nB,EAAiB/yH,UAAjB,GAsBe+yH,oIClGFrnF,WAAY,CACvB3qB,MAAO,UACPuqB,eAAgB,OAChB+vB,aAAc,WACdE,SAAU,WCIG,SAASs0H,EAATzzL,GAAmC,IAAfqD,EAAerD,EAAfqD,MAAO6D,EAAQlH,EAARkH,KACxC,IAAKrB,IAAQqB,GACX,OAAOzF,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,KAAK,QAAQlT,IAAK3yB,EAAMmb,MAAOitB,GAAYjsC,GAG1D,IAAMqwL,EAAcpuD,IAAQ,CAACjiI,IAE7B,OAAOuqB,IAAI8lK,EAAa,SAAAphI,GAAS,OAC/B7wD,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM/iC,IAAKmpD,GACRA,KAKPmhI,EAAS7vL,UAAT,iBCpBM+vL,EAAc,CAClBhjJ,gBAAiB,WAGbijJ,EAAe,CACnBjjJ,gBAAiB,WAGbkjJ,EAAiB,CACrBC,aAAc,oBACdvvK,QAAS,MACTypB,QAAS,OACTd,cAAe,MACfC,WAAY,aACZrqB,UAAW,GACX6B,MAAO,UACP0oB,SAAU,GAGC0mJ,EAAc,SAAAt4J,GAAQ,MAAK,CACtCo4J,EACCG,YAAOv4J,EAAW,GAAKm4J,EAAeD,IAG5BnkJ,EAAa,CACxBjD,WAAY,IACZsH,SAAU,GACVrB,YAAa,IAGFpC,EAAa,CACxBpC,QAAS,OACTd,cAAe,MACf5pB,eAAgB,gBAChByqB,KAAM,GC5BR,SAASkmJ,EAATj0L,GAA+C,IAAhCsD,EAAgCtD,EAAhCsD,MAAOD,EAAyBrD,EAAzBqD,MAAO6D,EAAkBlH,EAAlBkH,KAAMu0B,EAAYz7B,EAAZy7B,SAC3BgW,EAAWsiJ,EAAYt4J,GAEvBy4J,EAAiBpuL,yBAAezC,GAEtC,OACE5B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOovB,EAAU1E,MAAM,GAC3BtrC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOmtB,GAAalsC,GACzB4wL,EACG7wL,EAEA5B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO+tB,GACX3uC,EAAAC,EAAAC,cAAC8xL,EAAD,CAAUpwL,MAAOA,EAAO6D,KAAMA,MAO1C+sL,EAAIrwL,UAAJ,GAOeqwL,QClCFE,EAAc,CACzB1xK,OAAQ,oBACRqxK,aAAc,sOCSD,SAAS9lL,EAAThO,GAAgC,IAAfwN,EAAexN,EAAfwN,KAAM6U,EAASriB,EAATqiB,MAC9B+iB,EAAcxjC,EAAA,GACfuyL,EADe,GAEf9xK,GAGL,OACE5gB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO+iB,GACVv7B,IAAI2D,EAAM,SAAAjI,EAAyBk2B,GAAzB,IAAGn4B,EAAHiC,EAAGjC,MAAOD,EAAVkC,EAAUlC,MAAO6D,EAAjB3B,EAAiB2B,KAAjB,OACTzF,EAAAC,EAAAC,cAACyyL,EAAD,CACEjrL,IAAK7F,EACLA,MAAOA,EACPD,MAAOA,EACP6D,KAAMA,EACNu0B,SAAUA,uCAOpBztB,EAAMpK,UAAN,4MChCaywL,EAAoB,GACpBC,EAAqB,6JCC3B,IAAMC,GAAUrhL,EAAAshL,EAAA,GACpBC,IAAmBC,UAAY,KADXxhL,EAAAshL,EAEpBC,IAAmBE,uBAAyB,KAFxBzhL,EAAAshL,EAGpBC,IAAmBG,qBAAuB,KAHtB1hL,EAAAshL,EAIpBC,IAAmB9oJ,gBAAkB,KAJjB6oJ,sBCOvB,SAASK,EAAT70L,GAA0C,IAAjB46F,EAAiB56F,EAAjB46F,cACjBk6F,EAAQjrL,IAAI+wF,EAAe,oBAQjC,OACEn5F,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGmC,IAAIirL,EART,SAAoB30L,GAAM,IACR8B,EAASsyL,EAAhBp0L,GAET,OAAOsB,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOsD,KAAMkH,IAAKhJ,GAAO8B,MAUlD4yL,EAAcjxL,UAAd,GAIeixL,2BCbf,SAASh6F,EAAT76F,GAMG,IALDiB,EAKCjB,EALDiB,UACAie,EAIClf,EAJDkf,iBACA07E,EAGC56F,EAHD46F,cACAE,EAEC96F,EAFD86F,UACA1yB,EACCpoE,EADDooE,aAEM2sH,EAAuBlvL,IAAQ+0F,GAE/Bo6F,EADep+J,cAAbvN,SACqBgrK,EAAoBC,EAmCjD,OACE7yL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO2jG,QAASpjF,IACzCzd,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACE/F,UAAWa,IAAWnD,IAAOo0H,KAAM9xH,GACnCV,MAAM,UACNE,KAAK,OACLyG,KAAMwzF,YAAWI,EAAU5xD,OAC3BjpC,QA5BN,SAAqByuF,GACnBA,EAAE1hE,oBAIEgrB,IAAK8iD,EAAUtnF,MAAQwhL,EAEvBvzL,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACEpJ,MAAM,OACNkD,QAASq3F,EAAUtnF,KACnB1J,UAAU,SACV2pB,OAAK,GAELhyB,EAAAC,EAAAC,cAAA,YAAOq/C,IAAW5I,IAAS0iD,EAAUtnF,KAAM,CAAE/K,OAAQusL,OAKpDh0I,IAAW85C,EAAUtnF,MA7BvBuhL,EAIDtrG,IAAIrhB,EAAc,cACb3mE,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,sBAAuBnD,IAAOsD,QAGzD,KAPER,EAAAC,EAAAC,cAACszL,EAAD,CAAer6F,cAAeA,MA+C3CC,EAAcj3F,UAAd,GAQei3F,0HC5EA,SAAShxE,EAAT7pB,GAA0C,IAAnB05B,EAAmB15B,EAAnB05B,MAAO5lB,EAAY9T,EAAZ8T,SAC3C,OACErS,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsiI,sBACrBx/H,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACElB,WAAS,EACTtQ,MAAOq2B,EACP5lB,SAAUA,EACVJ,YAAY,sBACZzS,UAAWa,IAAWnD,IAAO0N,UAAW1N,IAAOgxG,cAMvD9lF,EAAYjmB,UAAZ,m/BC+BesxL,MAjDf,SAAAl1L,GAQG,IAPDm1L,EAOCn1L,EAPDm1L,cACApwL,EAMC/E,EAND+E,QACAskB,EAKCrpB,EALDqpB,SACA8R,EAICn7B,EAJDm7B,YACAhP,EAGCnsB,EAHDmsB,SACA8O,EAECj7B,EAFDi7B,WACApI,EACC7yB,EADD6yB,aACCliB,EAAAC,EACyBC,mBAAS,IADlC,GACM6oB,EADN/oB,EAAA,GACaykL,EADbzkL,EAAA,GAAA+I,EAAA9I,EAE6CC,mBAAS9L,GAFtD,GAEMswL,EAFN37K,EAAA,GAEuB47K,EAFvB57K,EAAA,GA+BD,MAAO,CACLggB,QACA67J,eA9BqBC,YAAkB,CACvC97J,QACArQ,WACAtkB,QAASswL,EACTp6J,aACAk6J,kBA0BAjjL,kBAdF,SAAA3M,GAAuC,IAPlBkwL,EACbnO,EAMqB//K,EAAUhC,EAAVgC,OAPRkuL,EAQPluL,EAAOlE,MAPbikL,EAAUoO,YAAc3wL,EAAS0wL,GAEvCH,EAAmBhO,GACnB8N,EAASK,GAKTtpK,GAAYA,EAAS,CAAE5kB,YAavBouL,gBAzBsB7lL,IAAQulL,GA0B9BO,aAzBmB/iK,EAAapqB,SAAW1D,EAAQ0D,OA0BnD83F,YAZF,SAAyBpnE,GACvB,OAAO,SAACrnB,GACNqpB,EAAYhC,EAASrnB,OC5B3B,SAASkpB,EAATh7B,GAYG,IAXD+E,EAWC/E,EAXD+E,QACA9D,EAUCjB,EAVDiB,UACAkxB,EASCnyB,EATDmyB,oBACAgJ,EAQCn7B,EARDm7B,YACApI,EAOC/yB,EAPD+yB,WACA5G,EAMCnsB,EANDmsB,SACA8O,EAKCj7B,EALDi7B,WACApI,EAIC7yB,EAJD6yB,aACAxJ,EAGCrpB,EAHDqpB,SACA+R,EAECp7B,EAFDo7B,2BACA+5J,EACCn1L,EADDm1L,cACCU,EAQGX,EAAiB,CACnBriK,eACAsiK,gBACApwL,UACAskB,WACA8R,cACAhP,WACA8O,eAbAvB,EAFDm8J,EAECn8J,MACA67J,EAHDM,EAGCN,eACArjL,EAJD2jL,EAIC3jL,kBACAyjL,EALDE,EAKCF,gBACAp1F,EANDs1F,EAMCt1F,YACAq1F,EAPDC,EAOCD,aAWF,SAASE,EAAezxK,EAAQ1b,GAAO,IAC7BwwB,EAAgC9U,EAAhC8U,QAAS71B,EAAuB+gB,EAAvB/gB,MAAOq8F,EAAgBt7E,EAAhBs7E,YAClB7rF,EAAW6rF,EAAc5sE,EAAawtE,EAAYpnE,GAClD1S,EAAYk5E,EAAci2F,GAAH,IAAkB/iK,EAAaoD,QAASkD,GAErE,OACE13B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACErd,IAAG,GAAAC,OAAK+vB,EAAL,KAAA/vB,OAAgBT,GACnBtF,MAAO81B,EACP1S,UAAWA,EACX3S,SAAUA,EACVxQ,MAAOA,IAsBb,OACE7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACdQ,EAAAC,EAAAC,cAACkoB,EAAD,CAAa6P,MAAOA,EAAO5lB,SAAU5B,IACrCzQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOqiI,oBAAqB7uG,IACpDwjK,EACGv6J,EAA2B1B,GAC3B67J,EAAe1rL,IAvBzB,SAAqBksL,EAAc3kG,GACjC,IAAM2sC,EAAsBj8H,IAC1BnD,IAAO40B,WACP0H,EAAa,GAAKt8B,IAAOuiI,gBAG3B,OACEz/H,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CACE9pB,IAAG,SAAAC,OAAWgoF,GACdviF,mBAAoBkvH,EACpB98H,UAAWtC,IAAOwiI,gBAEjB40D,EAAalsL,IAAIisL,QAkB1B96J,EAAwBt0B,aAAe,CACrCyuL,eAAe,GAGjBn6J,EAAwBp3B,UAAxB,GAiBeo3B,kVCzER,SAASg7J,EAATh2L,GAA6F,IAAlEqpB,EAAkErpB,EAAlEqpB,SAAUy6I,EAAwD9jK,EAAxD8jK,aAAcmyB,EAA0Cj2L,EAA1Ci2L,mBAAoBC,EAAsBl2L,EAAtBk2L,mBACtE5yL,EAAQwgK,GAAgB,mBAGxB/+J,EAAUi9J,IAqBhB,OApBAj9J,EAAQm9J,SAARtgK,EAAA,GACKmD,EAAQm9J,SADb,CAEEi0B,UAAW,CACT7yL,MANoB,SAAAsC,GAAI,SAAAwD,OAAO9F,EAAP,MAAA8F,OAAiBxD,EAAKvC,WAU9C4yL,IACFlxL,EAAQy9J,OAAOC,MAAM,GAAGC,MAAME,cAAgBqzB,GAG5C5sK,IACFtkB,EAAQq9J,SAASC,MAAMjyF,OAAS,EAE5B8lH,IACFnxL,EAAQy9J,OAAOC,MAAM,GAAGC,MAAMG,YAAc,GAC5C99J,EAAQy9J,OAAOC,MAAM,GAAGC,MAAMI,YAAc,KAIzC/9J,2iDCeMqxL,IArEf,SAAAp2L,GAIG,IAHDq2L,EAGCr2L,EAHDq2L,cACAhtK,EAECrpB,EAFDqpB,SAECitK,EAAAC,EAAA,GAAAj1L,EAAAtB,EAAA,+BAECw2L,EAFDF,EAECE,eACAC,EAHDH,EAGCG,aACAnhJ,EAJDghJ,EAIChhJ,YACAwuH,EALDwyB,EAKCxyB,aACAzuH,EANDihJ,EAMCjhJ,YACAqhJ,EAPDJ,EAOCI,iBACAC,EARDL,EAQCK,eACAC,EATDN,EASCM,YACAC,EAVDP,EAUCO,iBACAZ,EAXDK,EAWCL,mBACAC,EAZDI,EAYCJ,mBACAY,EAbDR,EAaCQ,WAbDC,EDLI,WAAgD,IAApBV,EAAoBnlL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACjD,MAAO,CACL8lL,UAAWX,EAAcxsL,IAAI,SAAAqD,GAAI,OAAIA,EAAK25I,QAC1CnxG,OAAQ2gJ,EACLxsL,IAAI,SAAAqD,GAAI,OAAI6nB,IAAO7nB,EAAK4nB,MAAM2X,OAAO,cCiBZwqJ,CAAmBZ,GAAzCW,EAhBPD,EAgBOC,UAAWthJ,EAhBlBqhJ,EAgBkBrhJ,OAhBlB/kC,EAAAC,EAiBiCC,mBAAS2lL,GAjB1C,GAiBMU,EAjBNvmL,EAAA,GAiBiBwmL,EAjBjBxmL,EAAA,GAkBKipC,EAAkBy8I,EAAc5tL,QAAU,EAC1C2uL,EAAWjnI,iBAAO,MAExBz+C,oBAAU,WACR,GAAI0lL,EAAS9lL,QAAS,CACpB,IAAM+lL,EDpBL,SAA0BD,EAAUZ,EAAgBC,EAAcK,GACvE,GAAIhnL,IAAQsnL,GACV,OAAOZ,EAGT,IACE,IACMa,EADMD,EAASE,cAAcC,IACdC,qBAAqB,GAAI,EAAG,GAAIV,GAKrD,OAHAO,EAASI,aAAa,EAAGjB,GACzBa,EAASI,aAAa,EAAGhB,GAAgB30B,KAElCu1B,EACP,MAAO7xL,GAKP,OAJI26B,OAAO+5H,QACT/5H,OAAO+5H,OAAOC,eAAe,4CAA6C30J,GAGrEgxL,GCEYkB,CACfN,EAAS9lL,QACTklL,EACAC,EACAK,GAEFK,EAAaE,KAEd,CAACD,EAAS9lL,QAAS+kL,IAEtB,IAAMsB,EAAmB,CACvBC,iBAAkBtiJ,EAClBohJ,mBACAE,cACAD,iBACAE,mBACAvhJ,cACA3E,gBAAiBumJ,GAiBnB,MAAO,CACLtxL,KAfW,CACX8vC,SACAmiJ,SAAU,CAACtB,EAAA,CAEP3wL,KAAMoxL,EACN3hJ,cACAyiJ,YAAa,EACbC,qBAAsBz1B,IAAaC,uBACnCy1B,0BAA2B11B,IAAaC,wBACrCo1B,KAOPP,WACAx9I,kBACAq+I,aAAcjC,EAAgB,CAAE3sK,WAAUy6I,eAAcmyB,qBAAoBC,ioCCpEhF,IAoDegC,EApDO,SAAAl4L,GAMhB,IALJyvJ,EAKIzvJ,EALJyvJ,OACA7oD,EAII5mG,EAJJ4mG,WACAD,EAGI3mG,EAHJ2mG,SACAonD,EAEI/tJ,EAFJ+tJ,iBACAyB,EACIxvJ,EADJwvJ,qBACI7+I,EAAAC,EACgCC,mBAAS,IADzC,GACGgC,EADHlC,EAAA,GACe8D,EADf9D,EAAA,GAAA+I,EAAA9I,EAEoDC,mBAAS,IAF7D,GAEGsnL,EAFHz+K,EAAA,GAEyB0+K,EAFzB1+K,EAAA,GAAAgT,EAAA9b,EAG4BC,mBAAS,IAHrC,GAGGtC,EAHHme,EAAA,GAGas/H,EAHbt/H,EAAA,GAKE2rK,EAA+B,SAAAh1L,GAAK,OACvCwC,IAAQsyL,IAAyB90L,EAAM0uL,WAAWoG,IAGrDzmL,oBAAU,WAIJ2mL,EAA6BxlL,IAAek7I,EAC9Ct5I,EAAc5B,EAAW2gE,QAAQ2kH,EAAsBpqC,IAC9CA,EACTt5I,EAAa,GAAArL,OAAI2kJ,EAAJ,KAAA3kJ,OAAwByJ,KAErC4B,EAAc5B,EAAW2gE,QAAQ2kH,EAAsB,IAAIG,YAC3D9oC,KAGF4oC,EAAwBrqC,IACvB,CAACA,IAeJ,MAAO,CACLl7I,aACAutC,YAfkB,YACjBv6C,IAAQgN,IAAe48I,EAAO,CAAEnkJ,KAAMuH,EAAY+zF,aAAYD,WAAUp4F,aACtE0K,KAAK,kBAAMxE,EAAc,OAc5BzC,aAZmB,SAAAzM,GAA2B,IAAdlC,EAAckC,EAAxBgC,OAAUlE,MAChCoR,EAAcpR,GACV0qJ,IAAqBsqC,EAA6Bh1L,KACpDmsJ,IACA4oC,EAAwB,MAS1B1rC,qBAN2B,SAAAC,GAAW,OAAIX,EAAYW,yBC7B1D,SAAS4C,EAATvvJ,GASG,IARDyvJ,EAQCzvJ,EARDyvJ,OACAG,EAOC5vJ,EAPD4vJ,UACAhpD,EAMC5mG,EAND4mG,WACAD,EAKC3mG,EALD2mG,SACA+oD,EAIC1vJ,EAJD0vJ,SACA3B,EAGC/tJ,EAHD+tJ,iBACAyB,EAECxvJ,EAFDwvJ,qBACAvuJ,EACCjB,EADDiB,UAEMP,EAAakvJ,GAAanuJ,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQ4B,UAAQ,IAEnE4K,EAAc6pB,cAAd7pB,UAHP0uK,EAImCxsB,cAA5BysB,EAJPD,EAIOC,cAAe5jK,EAJtB2jK,EAIsB3jK,SACjB6pD,EAAW+5G,GAAiB,GAE5B6c,EAAkB1yL,IAAQ+gG,GAC1BlzF,EAAc6kL,EAAkB,cAAgB,gBAEhDjtC,EAAS,cAAAliJ,OAAiBu9F,EAAjB,KAAAv9F,OAA6Bw9F,GAAc,SAEpD4xF,GAAkBD,GAAmBxrL,IAAc6iJ,EAZxD6oC,EAmBGP,EAAc,CAChBzoC,SACA7oD,aACAD,WACAonD,mBACAyB,yBATA38I,EAfD4lL,EAeC5lL,WACAutC,EAhBDq4I,EAgBCr4I,YACApuC,EAjBDymL,EAiBCzmL,aACA06I,EAlBD+rC,EAkBC/rC,qBASF,OACEjrJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CACEluD,KAAMsE,EACN6pD,SAAUA,EACV1gE,UAAWtC,IAAOijE,SAEpBngE,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuxJ,WAAYlrJ,GAAIsmJ,GACrC7pJ,EAAAC,EAAAC,cAACgqJ,EAAA,EAAD,CACEj4I,YAAaA,EACbg8I,SAAUA,EACVrsJ,MAAOwP,EACPiB,SAAU9B,EACV20F,SAAU2kD,EACVxpJ,WAAY,CAAEkwG,gBAAiBrzG,IAAOyrG,OACtC8J,iBAAkBw4C,EAClBd,gBAAiBxrG,KAEjBv6C,IAAQgN,EAAW9C,SACnBtO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOqhD,MACrBv+C,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLQ,UAAWtC,IAAOyB,OAClBH,QAASmgD,EACT//C,SAAUuvJ,EACVlvJ,WAAYA,GALd,QASAe,EAAAC,EAAAC,cAACq8E,EAAA,EAAD,CAAYC,UAAWu6G,EAAgBv3L,UAAWtC,IAAOu/E,KAAzD,QAEEz8E,EAAAC,EAAAC,cAACq8E,EAAA,EAAD,YAFF,IAIEv8E,EAAAC,EAAAC,cAACq8E,EAAA,EAAD,aAJF,MAMEv8E,EAAAC,EAAAC,cAACq8E,EAAA,EAAD,cANF,cAgBZuxE,EAAW7oJ,aAAe,CACxBqnJ,iBAAkB,GAClByB,qBAAsB,cAGxBD,EAAW3rJ,UAAX,GAYe2rJ,yBCjHfj1I,EAAAC,QAAA,CAAkB/W,MAAA,+BAAAvE,KAAA,8BAAAgD,KAAA,8BAAAkK,OAAA,gCAAA1I,QAAA,iCAAAi1L,UAAA,qDCAlBp+K,EAAAC,QAAA,CAAkB8uC,MAAA,+BAAAn8C,KAAA,8BAAAo8C,WAAA,sDCAlBhvC,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAw/C,eAAA,wCAAAC,WAAA,sDCAlB3rC,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAqQ,QAAA,iCAAAzW,OAAA,oDCAlBka,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAilF,QAAA,iCAAAy3D,WAAA,sDCAlB5oI,EAAAC,QAAA,CAAkBkiF,SAAA,kCAAArpF,QAAA,mDCAlBkH,EAAAC,QAAA,CAAkBkiF,SAAA,kCAAAt9F,QAAA,iCAAAm9F,YAAA,uDCAlBhiF,EAAAC,QAAA,CAAkBtb,KAAA,8BAAA0E,KAAA,kDCAlB2W,EAAAC,QAAA,CAAkB6uC,SAAA,kCAAA1qD,QAAA,iCAAAE,UAAA,qDCAlB0b,EAAAC,QAAA,CAAkB8xE,SAAA,kCAAA2E,IAAA,6BAAAL,OAAA,kDCAlBr2E,EAAAC,QAAA,CAAkBw4G,KAAA,8BAAA9wH,KAAA,8BAAAqgG,QAAA,oDCAlBhoF,EAAAC,QAAA,CAAkB83C,WAAA,oCAAA/uD,MAAA,+BAAAyuD,UAAA,sDCAlBz3C,EAAAC,QAAA,CAAkBna,OAAA,gCAAA6B,KAAA,8BAAAkI,MAAA,+BAAAC,IAAA,6BAAAF,KAAA,8BAAAsiH,OAAA,kDCAlBlyG,EAAAC,QAAA,CAAkB2kE,UAAA,mCAAA9+E,OAAA,gCAAA6B,KAAA,iDCAlBqY,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAmP,OAAA,gCAAAvV,OAAA,uDCAlBka,EAAAC,QAAA,CAAkBna,OAAA,gCAAA6B,KAAA,8BAAAyB,YAAA,uDCAlB4W,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAzB,QAAA,iCAAA8sB,SAAA,oDCAlBvX,EAAAC,QAAA,CAAkBwZ,YAAA,qCAAA3zB,OAAA,gCAAA6zB,SAAA,oDCAlB3Z,EAAAC,QAAA,CAAkB8a,MAAA,+BAAAb,MAAA,+BAAAC,IAAA,gDCAlBna,EAAAC,QAAA,CAAkB/W,MAAA,+BAAAE,YAAA,qCAAAg/C,UAAA,qDCAlBpoC,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAkvJ,YAAA,qCAAAijC,eAAA,0DCAlBr+K,EAAAC,QAAA,CAAkB2mF,cAAA,uCAAAnvF,OAAA,qDCAlBuI,EAAAC,QAAA,CAAkB8qI,qBAAA,8CAAAC,sBAAA,+CAAA5xI,YAAA,uDCAlB4G,EAAAC,QAAA,CAAkBmnG,eAAA,wCAAA/wC,QAAA,iCAAA8wC,eAAA,wCAAAm3E,SAAA,kCAAA/sL,KAAA,kDCAlByO,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAwpF,kBAAA,2CAAAhoF,OAAA,gCAAAC,MAAA,iDCAlBvyE,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAgD,KAAA,8BAAAyW,IAAA,gDCAlB4B,EAAAC,QAAA,CAAkB/T,UAAA,mCAAApG,OAAA,wDCAlBka,EAAAC,QAAA,CAAkBwZ,YAAA,qCAAA3zB,OAAA,gCAAA6zB,SAAA,sDCAlB3Z,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAqjK,WAAA,oCAAAC,eAAA,0DCAlBxvJ,EAAAC,QAAA,CAAkB7L,UAAA,mCAAAmqL,QAAA,iCAAAC,SAAA,kCAAAC,SAAA,kCAAA54L,KAAA,gDCAlBma,EAAAC,QAAA,CAAkBhM,SAAA,kCAAAC,QAAA,iCAAA9O,MAAA,iDCAlB4a,EAAAC,QAAA,CAAkB2vE,gBAAA,yCAAAD,kBAAA,2CAAAhoF,KAAA,iDCAlBqY,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAlD,MAAA,+BAAAyO,OAAA,kDCAlBuI,EAAAC,QAAA,CAAkBpO,OAAA,gCAAAuoJ,iBAAA,0CAAA/lJ,OAAA,kDCAlB2L,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAmP,OAAA,gCAAAijL,SAAA,kCAAAlpK,aAAA,6DCAlBpV,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA4H,SAAA,kCAAAsF,YAAA,uDCAlB4G,EAAAC,QAAA,CAAkBmhG,UAAA,mCAAAC,kBAAA,2CAAAC,oBAAA,+DCAlBthG,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,wCAAAk1E,YAAA,qCAAAC,aAAA,sCAAAC,YAAA,uDCAlBlgG,EAAAC,QAAA,CAAkBwuG,OAAA,gCAAA76G,MAAA,sDCAlBoM,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA2zE,KAAA,8BAAA6+G,OAAA,kDCAlB1+K,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAhD,MAAA,+BAAAgoK,QAAA,mDCAlBlxJ,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAyM,MAAA,+BAAA3P,MAAA,iDCAlBgX,EAAAC,QAAA,CAAkBs9B,QAAA,iCAAA8L,WAAA,oCAAAngD,MAAA,iDCAlB8W,EAAAC,QAAA,CAAkBgpJ,SAAA,kCAAA/8J,UAAA,mCAAAsjK,eAAA,0DCAlBxvJ,EAAAC,QAAA,CAAkBjX,MAAA,+BAAAD,MAAA,iDCAlBiX,EAAAC,QAAA,CAAkB0+K,eAAA,wCAAAz1L,MAAA,iDCAlB8W,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAnjC,KAAA,8BAAAmpK,kBAAA,2CAAAj3L,KAAA,2GCIoB8I,IAAUiuD,QAC9CjuD,IAAUC,MAAMwgD,IAAI2tI,IAAY,QAGQpuL,IAAUiuD,QAClDjuD,IAAU6tD,MAAM,CACd5zD,GAAI+F,IAAU8E,OACdrM,MAAOuH,IAAU8E,yCCZrB,IAAAlF,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEyBI,IAAU6tD,MAAM,CACvCmf,QAAShtE,IAAU48D,OAGQ58D,IAAU6tD,MAAM,CAC3C33D,UAAW8J,IAAU8E,OACrBpP,KAAMsK,IAAU8E,OAChBtP,MAAOwK,IAAU8E,SAGe9E,IAAUiuD,QAC1CjuD,IAAU6tD,MAAM,CACd9jC,KAAM/pB,IAAU8E,OAChB7K,GAAI+F,IAAU4oE,UAAU,CACtB5oE,IAAU8E,OACV9E,IAAUguD,SAEZqgI,gBAAiBruL,IAAU48D,KAC3B0xH,OAAQtuL,IAAU8E,OAClBurE,QAASrwE,IAAU8E,OACnByU,MAAOvZ,IAAU4oE,UAAU,CACzB5oE,IAAU8E,OACV9E,IAAU6tD,MAAM,CACd0gI,OAAQvuL,IAAU8E,OAClB2D,KAAMzI,IAAU8E,OAChB7K,GAAI+F,IAAUguD,WAGlBv1D,MAAOuH,IAAU8E,OACjB6I,IAAK3N,IAAU8E,UAIS9E,IAAU6tD,MAAM,CAC1C2gI,YAAaxuL,IAAU8E,OACvBizH,eAAgB/3H,IAAU6tD,MAAM,CAC9B4gI,YAAazuL,IAAU8E,OACvBk7D,QAAShgE,IAAU8E,SAErB4pL,sBAAuB1uL,IAAU8E,OACjC6pL,WAAY3uL,IAAU8tD,KACtB8gI,YAAa5uL,IAAU8E,OACvB+pL,eAAgB7uL,IAAU8tD,KAC1BghI,WAAY9uL,IAAU8E,OACtB+xG,YAAa72G,IAAU48D,KACvBi5C,YAAa71G,IAAU48D,KACvB4gD,eAAgBx9G,IAAU48D,OAGO58D,IAAU6tD,MAAM,CACjDqlB,UAAWlzE,IAAU48D,KACrB3iE,GAAI+F,IAAU8E,OACd8+J,aAAc5jK,IAAUguD,OACxB+gI,sBAAuB/uL,IAAU8tD,KACjCkhI,qBAAsBhvL,IAAU8tD,KAChCtvC,mBAAoBxe,IAAU8tD,KAC9BvvC,kBAAmBve,IAAU8tD,KAC7B3sC,kBAAmBnhB,IAAU48D,KAC7BqyH,2BAA4BjvL,IAAU8E,OACtCoqL,gBAAiBlvL,IAAU8tD,KAC3BqhI,uBAAwBnvL,IAAU8tD,KAClCshI,mBAAoBpvL,IAAU8tD,KAC9BgtE,GAAI96H,IAAU6tD,MAAM,CAClBwhI,uBAAwBrvL,IAAU48D,KAClC0yH,wBAAyBtvL,IAAU48D,OAErC2yH,eAAgBvvL,IAAU8tD,ioOC3DrB,SAASw4D,EAATrxH,GAAwG,IAAhEqvH,EAAgErvH,EAAhEqvH,kBAAmBtqB,EAA6C/kG,EAA7C+kG,eAAgB0O,EAA6BzzG,EAA7ByzG,MAG1E8mF,EAA2BlrE,GAAqB5b,EAChD+mF,GAJuGx6L,EAAtBgwH,oBAIlCvc,EAQrD,MAAO,CAAEnQ,yBANwBm3F,IAAO,CACtCD,GAAyBE,IADa94L,EAAA,GAEjC+4L,IAFiC,CAERp5L,YAAawjG,EAAgBlsE,eAPzC,wHAQlB0hK,GAA4BK,OAMzB,IAAMxqE,EAAiB,SAAAb,GAAiB,OAAIsrE,IACjDtrE,EACA,SAAA9iF,GAAM,OAAIu0G,IAAKm4C,IAAY,CAAEn0L,GAAIynC,OAGtBquJ,EAA2B,SAACn6F,EAAUzN,GAQjD,OAAO6nG,IAAOp6F,EALU,SAACq6F,EAAanjJ,GAAd,OAAAj2C,EAAA,GACnBo5L,EADmB,GAFA,SAAAnjJ,GAAO,OAAIq7C,EAAIr7C,IAAJ3kC,EAAA,GAAmBggF,EAAIr7C,IAAW,GAIhEojJ,CAAgBpjJ,KAGoB,KAG9BqjJ,EAA4B,SAAClrF,EAAM9c,GAAP,wBAAAztF,KAAA01L,IAAA7wL,KAAe,SAAA8wL,IAAA,IAAA/4J,EAAAs+D,EAAA06F,EAAAnqL,UAAA,OAAAiqL,IAAApuJ,KAAA,SAAAuuJ,GAAA,cAAAA,EAAAjkJ,KAAAikJ,EAAAt9B,MAAA,cAAA37H,EAAAg5J,EAAA5yL,OAAA,QAAA0I,IAAAkqL,EAAA,GAAAA,EAAA,GAAsB,GAAb16F,EAATt+D,EAASs+D,SAAT26F,EAAAC,OAAA,SAAAroL,EAAA,GACnD88F,EAAO8qF,EAAyBn6F,EAAUzN,KADS,wBAAAooG,EAAAE,SAAAJ,kLAAf,yBAAA31L,EAAAua,MAAAwf,KAAAtuB,YAAA,uCCxCzC3O,EAAAC,EAAAC,EAAA,sBAAAg5L,IAAAl5L,EAAAC,EAAAC,EAAA,sBAAAi5L,IAAO,IAAMD,EAAqB,UACrBC,EAAsB,yCCDnCn5L,EAAAC,EAAAC,EAAA,sBAAAk5L,IAAAp5L,EAAAC,EAAAC,EAAA,sBAAAm5L,IAAAr5L,EAAAC,EAAAC,EAAA,sBAAAo5L,IAAAt5L,EAAAC,EAAAC,EAAA,sBAAAq5L,IAAO,IAAMH,EAAY,CACvBr4L,MAAO,uBACPD,MAAO,OAGIu4L,EAAgB,CAC3Bt4L,MAAO,UACPD,MAAO,WAGIw4L,EAAkB,CAC7Bv4L,MAAO,YACPD,MAAO,aAGIy4L,EAAa,CAACH,EAAWC,EAAeC,2QCfrD,IAAAlxL,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAAAoxL,EAAAx5L,EAAA,KAAAy5L,EAAAz5L,EAAA,KAAA05L,EAAA15L,EAAA,KAAA25L,EAAA35L,EAAA,KAOyBwI,IAAU6tD,MAAM,CACvC5zD,GAAI+F,IAAU4oE,UAAU,CACtB5oE,IAAUguD,OACVhuD,IAAU8E,SAEZ6I,IAAK3N,IAAU8E,OACfg2C,QAAS96C,IAAU8E,OACnBs4D,aAAcp9D,IAAU8E,OACxBsqI,aAAcpvI,IAAU8E,OACxBrM,MAAOuH,IAAU8E,OACjB8qE,SAAU5vE,IAAU8E,OACpBxC,KAAMtC,IAAUiuD,QAAQmjI,KACxB/zH,aAAcd,IACdumC,UAAW9iG,IAAU48D,KACrBghB,SAAU59E,IAAUiuD,QAAQ+nH,KAC5BtiG,UAAW1zE,IAAUiuD,QAAQojI,yCCtB/B,IAAAzxL,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAE4BI,IAAU6tD,MAAM,CAC1CyjI,QAAStxL,IAAU48D,KACnB20H,aAAcvxL,IAAU48D,OAGE58D,IAAU6tD,MAAM,CAC1C5zD,GAAI+F,IAAU8E,OAAOwmB,WACrB7yB,MAAOuH,IAAU8E,OAAOwmB,mLCC1B,SAASkmK,EAATv8L,GAAgG,IAApEqW,EAAoErW,EAApEqW,YAAaC,EAAuDtW,EAAvDsW,YAAawtF,EAA0C9jG,EAA1C8jG,SAA0C04F,EAAAx8L,EAAhCy8L,wBAAgC,IAAAD,EAAb,UAAaA,EAM9F,IAAME,EACJj7L,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+W,SACrBjU,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLI,MAAM,QACNN,QAASqW,EACTrV,UAAWtC,IAAO+4E,gBAEjBhhE,KAGHjV,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLF,QAlBN,WACEqW,IACAwtF,KAiBI7iG,UAAWtC,IAAO+4E,gBAEjB/gE,MAKP,OACElV,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAM,cACNyR,OAAQoB,EACRX,QAASgnL,EACT5mL,WAAYQ,GAEZ7U,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOilK,kBAArB,yBACAniK,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOklK,oBAArB,qCACqC/0C,IADrC,IAC2D2tE,EAD3D,yBAEuB3tE,IAFvB,IAE6C2tE,EAF7C,gCAEuF9lL,IAFvF,kCAGqBD,IAHrB,8CASN6lL,EAAiB34L,UAAjB,GAOe24L,oRC5Cf,SAASI,EAAT38L,GAeG,IAdD4F,EAcC5F,EAdD4F,KACAg3L,EAaC58L,EAbD48L,gBACAjpD,EAYC3zI,EAZD2zI,aACAxkH,EAWCnvB,EAXDmvB,UACAmjE,EAUCtyF,EAVDsyF,YACAuqG,EASC78L,EATD68L,YACAx5I,EAQCrjD,EARDqjD,SACA2uC,EAOChyF,EAPDgyF,SACAz8B,EAMCv1D,EANDu1D,gBACAknI,EAKCz8L,EALDy8L,iBACA5kH,EAIC73E,EAJD63E,KACA52E,EAGCjB,EAHDiB,UACAkwC,EAECnxC,EAFDmxC,aACamzD,EACZtkG,EADD88L,YACCC,GACmBppD,GAAgB,IAA5B9N,UADP,IAAAk3D,EACY,GADZA,EAEO9tK,GAAeE,GAAa,IAA5BF,WACA+tK,GAA4B35I,GAAY,IAAxC25I,wBACFC,EAAel8K,cACfm8K,EAAkBn8K,cAElBo8K,EAAkBt3D,EAAGixC,iBACrBj5H,EAAc/tC,IAAQlK,GACtBw3L,EAAqBnuK,EAAa6/F,IAQxC,IAAMuuE,EAAiBF,EAEnB17L,EAAAC,EAAAC,cAACO,EAAA,EAAD,CACEjB,UAAWa,IAAWnD,IAAOgX,OAAQ4/C,GAAmB52D,IAAO6lF,cAC/D/jF,KAAK,QACLF,MAAOs8L,EACP16L,UAAQ,IAGVV,EAAAC,EAAAC,cAACgpB,EAAA,EAAD,CAAM6N,UAAU,cAAc+8B,gBAAiBA,IAEnD,OACE9zD,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAO+xF,EACP5xF,WAAYsxF,GAAYqrG,EACxB18L,cAAehC,IAAOsD,KACtBhB,UAAWa,IACT,qBACAnD,IAAOylF,UACPvmC,GAAel/C,IAAO2+L,YACtBr8L,GAEFhB,QA7BN,WACE,OAAOm9L,EACHH,EAAa3mL,cACb4mL,EAAgB5mL,eA2BhBjW,SAAU88L,GAAmBt/I,GAE7Bp8C,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTnD,IAAO2lF,WACP/uB,GAAmB52D,IAAO4lF,yBAH9B,gBAUF9iF,EAAAC,EAAAC,cAAC2iG,EAAD1iG,EAAA,GACMs7L,EADN,CAEEjxB,eAAgB2wB,EAChB/kH,KAAMA,EACNi4C,WAAYktE,EACZztE,kBAAmB,CAACX,IAAS3V,KAC7B9nE,aAAcA,EACdosJ,cAAY,KAGbH,GACC37L,EAAAC,EAAAC,cAAC67L,EAAD57L,EAAA,GACMq7L,EADN,CAEER,iBAAkBA,EAClB34F,SAAUo5F,EAAgB5mL,gBAOpCqmL,EAAWj2L,aAAe,CACxB+2L,gBAAgB,EAChBZ,YAAa,OACbvqG,YAAa,YACbN,UAAU,EACVz8B,iBAAiB,GAInBonI,EAAW/4L,UAAX,GAsBe+4L,mCC1Hf,SAASe,EAAT19L,GAYG,IAXD6lI,EAWC7lI,EAXD6lI,GACAjgI,EAUC5F,EAVD4F,KACAy9C,EASCrjD,EATDqjD,SACAl0B,EAQCnvB,EARDmvB,UACAwuK,EAOC39L,EAPD29L,aACAF,EAMCz9L,EANDy9L,eACAzrG,EAKChyF,EALDgyF,SACAz8B,EAICv1D,EAJDu1D,gBACA+8B,EAGCtyF,EAHDsyF,YACAuqG,EAEC78L,EAFD68L,YACA57L,EACCjB,EADDiB,UAEA,GAAIw8L,EACF,OAAO,KAFR,IAKOxuK,GAAeE,GAAa,IAA5BF,WACA2uK,GAA2Bv6I,GAAY,IAAvCu6I,uBACF//I,EAAc/tC,IAAQlK,GACtBi4L,EAAoB5uK,EAAa6uK,IA0BvC,IAAMC,EAAkBlgJ,GAAeggJ,GAAqBJ,EAGtDJ,EAFyBx3D,EAAvBgK,mBAIJpuI,EAAAC,EAAAC,cAACO,EAAA,EAAD,CACEjB,UAAWa,IAAWnD,IAAOgX,OAAQ4/C,GAAmB52D,IAAO6lF,cAC/D/jF,KAAK,QACLF,MAAOs8L,EACP16L,UAAQ,IAGVV,EAAAC,EAAAC,cAACgpB,EAAA,EAAD,CAAM6N,UAAU,iBAAiB+8B,gBAAiBA,IAEhDyoI,EACJv8L,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAO+xF,EACP5xF,WAAYsxF,GAAYqrG,EACxB18L,cAAehC,IAAOsD,KACtBhB,UAAWa,IACT,oBACAnD,IAAO0lF,SACPpjF,GAEFZ,SAAU09L,EACV99L,QAjDJ,SAAwB6R,GACtBA,EAAMU,iBAENmrL,IACG1kL,KAAK,SAAC22F,GAGL,OAFAguF,GAA0BA,IAEnBK,YAAc,CAAEr4L,KAAMgqG,EAAO6nB,QAASymE,YAAY,MAJ7D,MAMS,SAAC14L,GAEN,MADA24L,IAAmBC,oBACb54L,MAwCR/D,EAAAC,EAAAC,cAAA,QACEV,UAAWa,IACTnD,IAAO2lF,WACP/uB,GAAmB52D,IAAO4lF,yBAH9B,eAWJ,OAAIs5G,EAEAp8L,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAhDFhC,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO+zE,aAArB,wDACwDorH,IADxD,6DAiDEh0L,UAAU,aACV7I,UAAWa,IACT,yBACAnD,IAAOsgD,eACPtgD,IAAOugD,mBAGTz9C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8lF,aAAcu5G,IAKpCA,EAGTN,EAAUh3L,aAAe,CACvB+2L,gBAAgB,EAChBzrG,UAAU,EACVz8B,iBAAiB,EACjBsnI,YAAa,OACbvqG,YAAa,aAGforG,EAAU95L,UAAV,GAce85L,QC5Ifn7L,EAAAC,EAAAC,EAAA,sBAAA47L,IAAA97L,EAAAC,EAAAC,EAAA,sBAAA67L,q3BCEO,SAAS5I,EAAc3wL,EAAS20B,GACrC,IAAM6kK,EAAiB7kK,EAAMrlB,cAE7B,OAAOtP,EAAQkL,OAAO,SAAAoU,GAAM,WAC1BA,EAAO/gB,MAAM+Q,cAAc4hB,QAASsoK,KAGjC,SAAS/I,EAATx1L,GAMJ,IALD05B,EAKC15B,EALD05B,MACArQ,EAICrpB,EAJDqpB,SACAtkB,EAGC/E,EAHD+E,QAGCy5L,EAAAx+L,EAFDi7B,kBAEC,IAAAujK,EAFY,EAEZA,EAAAC,EAAAz+L,EADDm1L,cAEA,GAAI9rK,EACF,MAAO,CAACtkB,GAGV,IAAI25L,EAAmB35L,OALtB,IAAA05L,MAaoB3uL,IAAQ4pB,KAC3BglK,EAAgB,CARM,CACtBp7L,MAAO,sBACP61B,QAAS,YACTwmE,aAAa,IAKGv2F,OAAA6W,EAAwBy+K,KAG1C,IAAMnJ,EAAiB3pL,MAAMqvB,GAAYpvB,KAAK,IAM9C,OALA6yL,EAAiB7+K,QAAQ,SAACwE,EAAQ1b,GAChC,IAAMg2L,EAAch2L,EAAQsyB,EAC5Bs6J,EAAeoJ,GAAf,GAAAv1L,OAAA6W,EAAkCs1K,EAAeoJ,IAAjD,CAA+Dt6K,MAG1DkxK,uCCtCThzL,EAAAC,EAAAC,EAAA,sBAAA86F,IAAA,IAAAqhG,EAAAr8L,EAAA,GAAAs8L,EAAAt8L,EAAAsI,EAAA+zL,GAAAjsH,EAAApwE,EAAA,KAAAqwE,EAAArwE,EAAAsI,EAAA8nE,GAIa4qB,EAAc,CACzBp+F,QAASR,IAAO6H,UAChBqjK,WAAYlrK,IAAOgqH,oBACnBC,eAAgB9mH,IAAWnD,IAAO6H,UAAW7H,IAAOiqH,uqDCAtD,SAASk2E,EAAT9+L,GAA+D,IAAxCO,EAAwCP,EAAxCO,MAAO8C,EAAiCrD,EAAjCqD,MAAOyQ,EAA0B9T,EAA1B8T,SAAazS,EAAaC,EAAAtB,EAAA,8BAAA2Q,EAAAC,EACfC,mBAASxN,GADM,GACtDstC,EADsDhgC,EAAA,GACrCouL,EADqCpuL,EAAA,GAAA+I,EAAA9I,EAOTC,oBAAS,GAPA,GAOtDmuL,EAPsDtlL,EAAA,GAOlCulL,EAPkCvlL,EAAA,GAe7D,OAJAhI,oBAAU,WACRqtL,EAAmB17L,IAClB,CAACA,IAGFge,EAAA3f,EAAAC,cAACyf,EAAA,SAAD,KACEC,EAAA3f,EAAAC,cAAA,OAAKV,UAAWm+B,IAAO7+B,GAAQ8hB,MAAO,CAAEsuB,mBAAmB1wC,QAT5C,kBAAMg/L,GAAsB,MAW1CD,GACC39K,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOugM,SACrB79K,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOwgM,MAAOl/L,QAZlB,kBAAMg/L,GAAsB,MAaxC59K,EAAA3f,EAAAC,cAACy9L,EAAA,aAADx9L,EAAA,CACE+iB,MAAOgsB,EACP78B,SAtBW,SAAAvO,GAAa,IAAV85L,EAAU95L,EAAV85L,IACtBN,EAAmBM,GACnBvrL,GAAYA,EAASurL,KAqBTh+L,MAShBy9L,EAAYp4L,aAAe,CACzBnG,MAAO,UACP8C,MAAO,WAGTy7L,EAAYl7L,UAAZ,GAOek7L,oCCrDfv8L,EAAAC,EAAAC,EAAA,sBAAA68L,IAAA,IAAA30L,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEa20L,EAAe,CAC1BC,OAAQx0L,IAAU8E,OAClB2vL,WAAYz0L,IAAU8E,OACtBrM,MAAOuH,IAAU8E,QAGS9E,IAAU6tD,MAAM0mI,uBCP5ChlL,EAAAC,QAAA,CAAkB86C,YAAA,qCAAApzD,KAAA,gDCAlBqY,EAAAC,QAAA,CAAkBtY,KAAA,8BAAA4zD,UAAA,qDCAlBv7C,EAAAC,QAAA,CAAkBnP,iBAAA,0CAAAE,KAAA,gDCAlBgP,EAAAC,QAAA,CAAkBkR,SAAA,kCAAA3sB,MAAA,iDCAlBwb,EAAAC,QAAA,CAAkB9N,iBAAA,0CAAAC,gBAAA,2DCAlB4N,EAAAC,QAAA,CAAkBlN,KAAA,8BAAAC,IAAA,+CCAlBgN,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAuK,MAAA,iDCAlBoM,EAAAC,QAAA,CAAkBpO,OAAA,gCAAAuf,OAAA,kDCAlBpR,EAAAC,QAAA,CAAkB9V,SAAA,kCAAAxC,KAAA,gDCAlBqY,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA2gC,OAAA,kDCAlB7sB,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAH,MAAA,iDCAlB8W,EAAAC,QAAA,CAAkB9W,QAAA,iCAAAggK,SAAA,wDCAlBnpJ,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA9G,MAAA,iDCAlB4a,EAAAC,QAAA,CAAkBtE,MAAA,+BAAA9J,OAAA,kDCAlBmO,EAAAC,QAAA,CAAkBtE,MAAA,+BAAAqqI,UAAA,sDCAlBhmI,EAAAC,QAAA,CAAkBjX,MAAA,+BAAAiR,aAAA,wDCAlB+F,EAAAC,QAAA,CAAkBkxE,QAAA,iCAAAue,YAAA,uDCAlB1vF,EAAAC,QAAA,CAAkBtY,KAAA,8BAAAgR,MAAA,iDCAlBqH,EAAAC,QAAA,CAAkB49F,OAAA,gCAAAC,WAAA,sDCAlB99F,EAAAC,QAAA,CAAkB2jE,IAAA,6BAAAC,SAAA,oDCAlB7jE,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAnD,MAAA,iDCAlBiX,EAAAC,QAAA,CAAkBynH,SAAA,kCAAArsH,OAAA,mDCAlB2E,EAAAC,QAAA,CAAkB5E,OAAA,gCAAAxW,QAAA,iCAAA8pK,YAAA,qCAAAw2B,OAAA,gCAAA5hH,IAAA,6BAAAH,KAAA,8BAAA60C,QAAA,mDCAlBj4G,EAAAC,QAAA,CAAkBkuE,QAAA,iCAAAzpC,gBAAA,4DCAlB1kC,EAAAC,QAAA,CAAkB/T,UAAA,mCAAAmP,OAAA,kECDlBpT,EAAAC,EAAAC,EAAA,sBAAAi9L,IAAA,IAAMC,EAAoB,CACxB,CACEnsL,KAAM,cACNosL,MAAO,QAET,CACEpsL,KAAM,gBACNosL,MAAO,MAET,CACEpsL,KAAM,kBACNosL,MAAO,MAET,CACEpsL,KAAM,qBACNosL,MAAO,QAET,CACEpsL,KAAM,oBACNosL,MAAO,SAET,CACEpsL,KAAM,oBACNosL,MAAO,WAET,CACEpsL,KAAM,4BACNosL,MAAO,MAET,CACEpsL,KAAM,mBACNosL,MAAO,WAILF,EAA4B,SAAAnxD,GAAI,OACpCoxD,EAAkBv9J,KAAK,SAAA6oB,GAAQ,OAAIA,EAAS20I,MAAM5/I,KAAKuuF,wBCnCzDj0H,EAAAC,QAAA,CAAkB/W,MAAA,+BAAAC,QAAA,iCAAAiQ,YAAA,uDCAlB4G,EAAAC,QAAA,CAAkB5L,OAAA,gCAAAyiB,SAAA,oDCAlB9W,EAAAC,QAAA,CAAkB0wE,qBAAA,OAAAC,cAAA,uCAAAC,sBAAA,+CAAAC,eAAA,wCAAAn5D,gBAAA,yCAAA9lB,OAAA,kDCAlBmO,EAAAC,QAAA,CAAkBirE,4BAAA,QAAApgF,WAAA,oCAAA+/E,mBAAA,8EAAAE,kBAAA,+FCAlB/qE,EAAAC,QAAA,CAAkBqgK,QAAA,iCAAAh5G,OAAA,mDCAlBtnD,EAAAC,QAAA,CAAkB9W,QAAA,iCAAA+C,UAAA,sDCAlB8T,EAAAC,QAAA,CAAkBwpF,gBAAA,yCAAAC,aAAA,wDCAlB1pF,EAAAC,QAAA,CAAkBtE,MAAA,+BAAAmvF,eAAA,+DCAlB9qF,EAAAC,QAAA,CAAkBgtI,UAAA,mCAAAjlD,QAAA,mDCAlBhoF,EAAAC,QAAA,CAAkBsnG,aAAA,sCAAAjB,YAAA,wDCAlBtmG,EAAAC,QAAA,CAAkBslL,iBAAA,0CAAA13K,eAAA,0DCAlB7N,EAAAC,QAAA,CAAkBqsD,IAAA,6BAAAznE,QAAA,mDCAlBmb,EAAAC,QAAA,CAAkBjP,KAAA,8BAAA4B,KAAA,gDCAlBoN,EAAAC,QAAA,CAAkBmT,QAAA,iCAAAza,MAAA,iDCAlBqH,EAAAC,QAAA,CAAkBna,OAAA,gCAAAkL,KAAA,gDCAlBgP,EAAAC,QAAA,CAAkBulL,YAAA,qCAAAxzL,eAAA,wCAAAjM,SAAA,oDCAlBia,EAAAC,QAAA,CAAkBjX,MAAA,+BAAAqzI,aAAA,wDCAlBr8H,EAAAC,QAAA,CAAkBjX,MAAA,+BAAA2P,MAAA,uDCAlBqH,EAAAC,QAAA,CAAkB2kL,QAAA,iCAAAC,MAAA,kDCAlB7kL,EAAAC,QAAA,CAAkBw2D,qBAAA,8CAAAM,YAAA,qCAAAwa,YAAA,uDCAlBvxE,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA1sD,UAAA,mCAAA4zC,gBAAA,2DCAlB9/B,EAAAC,QAAA,CAAkBsvJ,WAAA,oCAAAC,eAAA,8DCAlBxvJ,EAAAC,QAAA,CAAkBxI,OAAA,gCAAAguL,OAAA,kDCAlBzlL,EAAAC,QAAA,CAAkB00H,YAAA,uDCAlB30H,EAAAC,QAAA,CAAkB67H,gBAAA,yCAAAloI,MAAA,iDCAlBoM,EAAAC,QAAA,CAAkB8oC,SAAA,kCAAAh2C,KAAA,gDCAlBiN,EAAAC,QAAA,CAAkB5W,KAAA,8BAAAy0I,aAAA,iECAlB99H,EAAAC,QAAA,CAAkB/W,MAAA,sCAAAw0D,SAAA,2DCAlB19C,EAAAC,QAAA,CAAkBylL,aAAA,QAAAC,cAAA,6BCAlB3lL,EAAAC,QAAA,CAAkB04B,UAAA,mCAAAw7D,OAAA,kDCAlBn0F,EAAAC,QAAA,CAAkB7a,MAAA,+BAAA8G,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA05L,mBAAA,8DCAlB5lL,EAAAC,QAAA,CAAkB4lL,cAAA,uCAAAn2B,sBAAA,iECAlB1vJ,EAAAC,QAAA,CAAkB/W,MAAA,+BAAAvE,KAAA,gDCAlBqb,EAAAC,QAAA,CAAkB6lL,SAAA,oDCAlB9lL,EAAAC,QAAA,CAAkB0xG,kBAAA,2CAAAC,UAAA,mCAAA9rH,OAAA,gCAAA6B,KAAA,8BAAAu/E,YAAA,qCAAA2qC,gBAAA,yCAAAk0E,YAAA,qCAAAtmG,UAAA,qDCAlBz/E,EAAAC,QAAA,CAAkB/T,UAAA,mCAAA/C,QAAA,mDCAlB6W,EAAAC,QAAA,CAAkB+lL,cAAA,uCAAA/1K,gBAAA,2ECDlBhoB,EAAAC,EAAAC,EAAA,sBAAAi2C,IAAA,IAAAt3B,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAq+I,GAAAl9J,EAAA,GAAAA,EAAA,OAAAm9J,EAAAn9J,EAAAsI,EAAA40J,GAKe,SAAS/mH,EAAT14C,GAAiC,IAATwD,EAASxD,EAATwD,MACrC,OACE6d,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB6a,EAAA3f,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQA,GAC9B6d,EAAA3f,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6sK,WAK5B9yH,EAAa90C,UAAb,iCCdA,IAAAwd,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAA+3J,GAAA52K,EAAA,GAAAA,EAAA,KAAAif,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAOA,SAASuhK,EAAT/iL,GAA2B,IAAVg5L,EAAUh5L,EAAVg5L,OAKf,IACMuH,EAAkBvH,GACtB33K,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,+EAEE2Z,EAAA3f,EAAAC,cAACw3K,EAAA,EAAD,CAAM54K,MAAM,UAAUU,UAAWtC,IAAOq6L,OAAQ/4L,QARpD,WACE+4L,GAAUA,MAOR,eAMJ,OACE33K,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACpB+5L,GACCl/K,EAAA3f,EAAAC,cAAA,wCAKF0f,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOw7E,MACpBomH,GAnBc,yDAyBvBxd,EAAMn/K,UAAN,GAIem/K,4TClCf,SAASyd,EAATxgM,GAA4E,IAAzDm5B,EAAyDn5B,EAAzDm5B,QAASsnK,EAAgDzgM,EAAhDygM,SAAUxzL,EAAsCjN,EAAtCiN,OAAQ5J,EAA8BrD,EAA9BqD,MAAOyQ,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UAC7D,OACEQ,EAAAC,EAAAC,cAAC40B,EAAA,EAAD30B,EAAA,GACMqL,EADN,CAEEhM,UAAWA,EACXkxB,oBAAqBxzB,IAAOypG,WAC5BpjG,GAAIm0B,EACJ3lB,KAAM2lB,EACNlS,OAAQw5K,EACRp9L,MAAOA,EACPyQ,SAAUA,KAKhB0sL,EAAQ95L,aAAe,CACrByyB,QAAS,UACTlsB,OAAQ,CACNzJ,MAAO,UACPkQ,YAAa,qCAIjB8sL,EAAQ58L,UAAR,GASe48L,2OClCf,SAASE,EAAT1gM,GAAwE,IAA/Cm5B,EAA+Cn5B,EAA/Cm5B,QAASlsB,EAAsCjN,EAAtCiN,OAAQ5J,EAA8BrD,EAA9BqD,MAAOyQ,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UAKzD,OACEQ,EAAAC,EAAAC,cAAC40B,EAAA,EAADoqK,EAAA,GACM1zL,EADN,CAEEhM,UAAWA,EACXuS,KAAM2lB,EACNmvB,SAAS,iBACTlyB,cAAe/yB,EACfmyF,kBAAmBnyF,EACnByQ,SAZJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,OAgBtB86L,EAAch6L,aAAe,CAC3ByyB,QAAS,SACTlsB,OAAQ,CACNzJ,MAAO,SACPkQ,YAAa,gFAIjBgtL,EAAc98L,UAAd,GAQe88L,2OClCf,IAAME,EAAc,CAAEC,KAAM,OAE5B,SAASC,EAAT9gM,GAAqF,IAAzDm5B,EAAyDn5B,EAAzDm5B,QAASmvB,EAAgDtoD,EAAhDsoD,SAAUr7C,EAAsCjN,EAAtCiN,OAAQ5J,EAA8BrD,EAA9BqD,MAAOyQ,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UAStE,OACEQ,EAAAC,EAAAC,cAAC40B,EAAA,EAADwqK,EAAA,GACM9zL,EADN,CAEEhM,UAAWA,EACXuS,KAAM2lB,EACNmvB,SAAUA,EACV04C,eAAgB4/F,EAChBxqK,cAAe/yB,EACfmyF,kBAAmBnyF,EACnByQ,SAjBJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,IAiBhBo7L,mBAdJ,SAAsBC,GACpB,OAAQ59L,EAAM++B,KAAK,SAAA/d,GAAM,OAAIA,EAAO/gB,QAAU29L,EAAU39L,YAkB5Dw9L,EAAiBp6L,aAAe,CAC9ByyB,QAAS,YACTmvB,SAAU,oBACVr7C,OAAQ,CACNzJ,MAAO,4BACPkQ,YACE,2FAINotL,EAAiBl9L,UAAjB,GASek9L,kPC5Cf,SAASngJ,EAAT3gD,GASG,IARDm5B,EAQCn5B,EARDm5B,QACAlsB,EAOCjN,EAPDiN,OACA5J,EAMCrD,EANDqD,MACAyQ,EAKC9T,EALD8T,SACA7S,EAICjB,EAJDiB,UACAqmI,EAGCtnI,EAHDsnI,UACA45D,EAEClhM,EAFDkhM,eACAlgG,EACChhG,EADDghG,eAGM14C,EAAW44I,IADY55D,EAAY,qBAAuB,iCAOhE,OACE7lI,EAAAC,EAAAC,cAAC40B,EAAA,EAAD4qK,EAAA,GACMl0L,EADN,CAEEhM,UAAWA,EACXuS,KAAM2lB,EACNmvB,SAAUA,EACVlyB,cAAe/yB,EACfmyF,kBAAmBnyF,EACnByQ,SAZJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,IAYhBo7F,eAAgBA,KAKtBrgD,EAAWj6C,aAAe,CACxB4gI,WAAW,EACXnuG,QAAS,aACTlsB,OAAQ,CACNzJ,MAAO,aACPkQ,YAAa,8EAIjBitC,EAAW/8C,UAAX,GAgBe+8C,2PCtDf,SAASygJ,EAATphM,GAAuF,IAA1Dm5B,EAA0Dn5B,EAA1Dm5B,QAASlsB,EAAiDjN,EAAjDiN,OAAQ5J,EAAyCrD,EAAzCqD,MAAOyQ,EAAkC9T,EAAlC8T,SAAU7S,EAAwBjB,EAAxBiB,UAAW4tC,EAAa7uC,EAAb6uC,UAIxE,IAAM9pC,wHAAOs8L,CAAA,GACVloK,EAAU0V,GAGb,OACEptC,EAAAC,EAAAC,cAAC40B,EAAA,EAAD+qK,EAAA,GACMr0L,EADN,CAEEhM,UAAWa,IAAWb,EAAWtC,IAAOwpG,qBACxCnjG,GAAIm0B,EACJ3lB,KAAM2lB,EACNlS,OAAQliB,EACR1B,MAAOA,EAAQ,CAAC81B,GAAW,GAC3BrlB,SAfJ,WACEA,EAASqlB,GAAU91B,OAmBvB+9L,EAAkB16L,aAAe,CAC/ByyB,QAAS,uBACT0V,UAAW,iDACX5hC,OAAQ,CACNzJ,MAAO,2BAIX49L,EAAkBx9L,UAAlB,GASew9L,2OCvCf,SAASG,EAATvhM,GAAyE,IAAxDwhM,EAAwDxhM,EAAxDwhM,QAASroK,EAA+Cn5B,EAA/Cm5B,QAASlsB,EAAsCjN,EAAtCiN,OAAQ5J,EAA8BrD,EAA9BqD,MAAOyQ,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UAC1D,OACEQ,EAAAC,EAAAC,cAAC40B,EAAA,EAADkrK,EAAA,GACMx0L,EADN,CAEEhM,UAAWA,EACXkxB,oBAAqBxzB,IAAOypG,WAC5BpjG,GAAIm0B,EACJ3lB,KAAM2lB,EACNlS,OAAQu6K,EACRn+L,MAAOA,EACPyQ,SAAUA,KAKhBytL,EAAM76L,aAAe,CACnByyB,QAAS,QACTlsB,OAAQ,CACNzJ,MAAO,QACPkQ,YAAa,wCAIjB6tL,EAAM39L,UAAN,GASe29L,2OClCf,SAASG,EAAT1hM,GAAwF,IAA7Dm5B,EAA6Dn5B,EAA7Dm5B,QAASlsB,EAAoDjN,EAApDiN,OAAQ5J,EAA4CrD,EAA5CqD,MAAOyQ,EAAqC9T,EAArC8T,SAAU7S,EAA2BjB,EAA3BiB,UAAW0gM,EAAgB3hM,EAAhB2hM,aAKtE,OACElgM,EAAAC,EAAAC,cAAC40B,EAAA,EAADqrK,EAAA,GACM30L,EADN,CAEEhM,UAAWA,EACXuS,KAAM2lB,EACNmvB,SAAS,qBACTktC,kBAAmBnyF,EACnB+yB,cAAe/yB,EACfyQ,SAZJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,IAYhB+7L,aAAcA,KAKpBD,EAAgBh7L,aAAe,CAC7ByyB,QAAS,kBACTlsB,OAAQ,CACNzJ,MAAO,mBACPkQ,YAAa,kEAIjBguL,EAAgB99L,UAAhB,GASe89L,2OCpCf,SAASG,EAAT7hM,GAA6F,IAA1Em5B,EAA0En5B,EAA1Em5B,QAASlsB,EAAiEjN,EAAjEiN,OAAQ5J,EAAyDrD,EAAzDqD,MAAOyQ,EAAkD9T,EAAlD8T,SAAU7S,EAAwCjB,EAAxCiB,UAAWqmI,EAA6BtnI,EAA7BsnI,UAIxDh/E,EAJqFtoD,EAAlBkhM,iBACpD55D,EACjB,iCACA,2BAOJ,OACE7lI,EAAAC,EAAAC,cAAC40B,EAAA,EAADurK,EAAA,GACM70L,EADN,CAEEhM,UAAWA,EACXuS,KAAM2lB,EACNmvB,SAAUA,EACVlyB,cAAe/yB,EACfmyF,kBAAmBnyF,EACnByQ,SAZJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,OAgBtBi8L,EAAQn7L,aAAe,CACrB4gI,WAAW,EACXnuG,QAAS,WACTlsB,OAAQ,CACNzJ,MAAO,UACPkQ,YAAa,iCAIjBmuL,EAAQj+L,UAAR,GAUei+L,2OC1Cf,SAASE,EAAT/hM,GAA0G,IAApFm5B,EAAoFn5B,EAApFm5B,QAASlsB,EAA2EjN,EAA3EiN,OAAQ5J,EAAmErD,EAAnEqD,MAAOyQ,EAA4D9T,EAA5D8T,SAAU7S,EAAkDjB,EAAlDiB,UAAWqmI,EAAuCtnI,EAAvCsnI,UAAW45D,EAA4BlhM,EAA5BkhM,eAAgB5iL,EAAYte,EAAZse,SAEtFgqC,EAAW44I,IADY55D,EAAY,sBAAwB,qBAOjE,OACE7lI,EAAAC,EAAAC,cAAC40B,EAAA,EAADyrK,EAAA,GACM/0L,EADN,CAEEhM,UAAWA,EACXuS,KAAM2lB,EACN7a,SAAUA,EACVgqC,SAAUA,EACVlyB,cAAe/yB,EACfyQ,SAZJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,OAgBtBm8L,EAAWr7L,aAAe,CACxB4gI,WAAW,EACXhpH,UAAU,EACV6a,QAAS,cACTlsB,OAAQ,CACNzJ,MAAO,cACPkQ,YAAa,gBAIjBquL,EAAWn+L,UAAX,GAcem+L,+mBCzCf,SAASE,EAATjiM,GAAiH,IAA1Fm5B,EAA0Fn5B,EAA1Fm5B,QAAS91B,EAAiFrD,EAAjFqD,MAAO0B,EAA0E/E,EAA1E+E,QAASujD,EAAiEtoD,EAAjEsoD,SAAUr7C,EAAuDjN,EAAvDiN,OAAQ6G,EAA+C9T,EAA/C8T,SAAU7S,EAAqCjB,EAArCiB,UAAWi7I,EAA0Bl8I,EAA1Bk8I,SAAa76I,EAAaC,EAAAtB,EAAA,qFAK/G,IAAM8xD,EAAchiD,IAAQzM,QAAiB8N,EAAR9N,EAErC,OACE5B,EAAAC,EAAAC,cAAC40B,EAAA,EAAD2rK,EAAA,GACM7gM,EACA4L,EAFN,CAGEivI,SAAUA,EACVj7I,UAAWkhM,IAAWlhM,EAAWtC,IAAO0pG,aACxCtjG,QAASA,EACTujD,SAAUA,EACVx0C,SAdJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,IAchBvC,MAAOyuD,KAKbmwI,EAAYv7L,aAAe,CACzBw1I,UAAU,GAGZ+lD,EAAYr+L,UAAZ,GAoBeq+L,mPC9Cf,IAAMG,EAAoB,eAE1B,SAASC,EAATriM,GAAmE,IAAtCqD,EAAsCrD,EAAtCqD,MAAOyQ,EAA+B9T,EAA/B8T,SAAU7G,EAAqBjN,EAArBiN,OAAQhM,EAAajB,EAAbiB,UAOpD,IAAM6yB,EACJryB,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACExR,MAAOA,EACPyQ,SATJ,SAAsBhC,GAAO,IACZwwL,EAAexwL,EAAMvK,OAA5BlE,MAERyQ,EAASsuL,EAAmBE,IAO1BrhM,UAAWtC,IAAO4pG,oBAItB,OAAO9mG,EAAAC,EAAAC,cAAC40B,EAAA,EAADgsK,EAAA,GAAgBt1L,EAAOu1L,aAAvB,CAAqC1uK,gBAAiBA,EAAiB7yB,UAAWA,KAG3FohM,EAAkBz+L,UAAlB,GAOey+L,2OC3Bf,IAAMI,EAAoB,eAE1B,SAASC,EAAT1iM,GAAwD,IAA3BqD,EAA2BrD,EAA3BqD,MAAOyQ,EAAoB9T,EAApB8T,SAAU7G,EAAUjN,EAAViN,OAO5C,IAAM6mB,EACJryB,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACExR,MAAOA,EACPyQ,SATJ,SAAsBhC,GAAO,IACZwwL,EAAexwL,EAAMvK,OAA5BlE,MAERyQ,EAAS2uL,EAAmBH,IAO1BrhM,UAAWtC,IAAO2pG,oBAItB,OAAO7mG,EAAAC,EAAAC,cAAC40B,EAAA,EAADosK,EAAA,GAAgB11L,EAAO21L,aAAvB,CAAqC9uK,gBAAiBA,KAG/D4uK,EAAkB9+L,UAAlB,GAMe8+L,YClCFG,EAAM,MACNC,GAAU,UACVC,GAAM,MAENC,GAAU,CACrB,CACE3/L,MAAOw/L,EACPv/L,MAAO,gBAET,CACED,MAAOy/L,GACPx/L,MAAO,WAET,CACED,MAAO0/L,GACPz/L,MAAO,cCXE2/L,GAAwB,SAACzuK,EAAOC,GAC3C,OAAK3kB,IAAQ0kB,IAAW1kB,IAAQ2kB,GAI3B3kB,IAAQ2kB,GAINouK,EAHEE,GAJAD,qtCCKX,SAASI,GAATljM,GAA4E,IAAtDm5B,EAAsDn5B,EAAtDm5B,QAASlsB,EAA6CjN,EAA7CiN,OAAQ5J,EAAqCrD,EAArCqD,MAAOqxB,EAA8B10B,EAA9B00B,cAAeC,EAAe30B,EAAf20B,YACnDH,EAAenxB,EAAfmxB,MAAOC,EAAQpxB,EAARoxB,IAD2D9jB,EAAAC,GAGpCC,mBAASoyL,GAAsBzuK,EAAOC,IAHF,GAGnE0uK,EAHmExyL,EAAA,GAGtDyyL,EAHsDzyL,EAAA,GAAA+I,EAAA9I,GAIlCC,oBAAS,GAJyB,GAInEwyL,EAJmE3pL,EAAA,GAIrD4pL,EAJqD5pL,EAAA,GAMpE6pL,EAASJ,IAAgBL,GACzBU,EAAeL,IAAgBN,EAC/BY,EAAkBN,IAAgBJ,GAExCrxL,oBAAU,WACH2xL,GACHD,EAAe,kBAAMH,GAAsBzuK,EAAOC,KAGpD6uK,GAAgB,IACf,CAAC9uK,EAAOC,IAEX/iB,oBAAU,WACJyxL,IAAgBN,IAClBS,GAAgB,GAChB3uK,EAAY,KAGVwuK,IAAgBJ,KAClBO,GAAgB,GAChB5uK,EAAc,MAEf,CAACyuK,IAEJ,IAAMO,EAAqB,SAACr/K,GAC1B++K,EAAe/+K,EAAOhhB,QAGlB8xB,EAAoB,SAACrjB,GACzBwxL,GAAgB,GAChB5uK,EAAc5iB,EAAMvK,OAAOlE,QAGvB+xB,EAAkB,SAACtjB,GACvBwxL,GAAgB,GAChB3uK,EAAY7iB,EAAMvK,OAAOlE,QAyC3B,OACE5B,EAAAC,EAAAC,cAAC40B,EAAA,EAADotK,GAAA,GACM12L,EADN,CAEEhM,UAAU,aACVuS,KAAM2lB,EACN/C,cAAe/yB,EACfmyF,kBAAmBnyF,EACnBywB,gBA3CAryB,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEld,UAAWtC,KAAOoT,OAClB2B,YAAY,GACZI,SAAU4vL,EACV3+L,QAASi+L,GACT3/L,MAAO8/L,EACP/kL,WAAW,EACXI,YAAY,EACZK,aAAW,IAEbpd,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOohM,QACpB0D,GACChiM,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACE1U,KAAK,SACLkD,MAAOmxB,EACP1gB,SAAUqhB,EACVzhB,YAAY,KAGf6vL,GACC9hM,EAAAC,EAAAC,cAAA,kBAED6hM,GACC/hM,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACE1U,KAAK,SACLkD,MAAOoxB,EACP3gB,SAAUshB,EACV1hB,YAAY,UAoB1BwvL,GAAWx8L,aAAe,CACxBuG,OAAQ,IAGVi2L,GAAWt/L,UAAX,GAQes/L,omBChHf,SAASU,GAAT5jM,GASG,IARDqD,EAQCrD,EARDqD,MACAyQ,EAOC9T,EAPD8T,SACAtQ,EAMCxD,EANDwD,MACAkQ,EAKC1T,EALD0T,YACAylB,EAICn5B,EAJDm5B,QACAmvB,EAGCtoD,EAHDsoD,SACAg/E,EAECtnI,EAFDsnI,UACGjmI,EACFwiM,GAAA7jM,EAAA,6EAaD,OACEyB,EAAAC,EAAAC,cAAC40B,EAAA,EAADutK,GAAA,GACMziM,EADN,CAEEmC,MAAOA,EACPkQ,YAAaA,EACbF,KAAM2lB,EACNmvB,SAjBEA,IAIGg/E,EAAY,gBAAkB,gCAcnC9xC,kBAAmBnyF,EACnB+yB,cAAe/yB,EACfyQ,SAbJ,SAAsBgU,GACpBhU,EAASqlB,EAASrR,OAiBtB87K,GAAal9L,aAAe,CAC1BlD,MAAO,QACPowB,aAAc,iEAGhBgwK,GAAahgM,UAAb,GAUeggM,oBCjDf,SAASt5E,GAATtqH,GAAkE,IAA9Cm5B,EAA8Cn5B,EAA9Cm5B,QAAS31B,EAAqCxD,EAArCwD,MAAOH,EAA8BrD,EAA9BqD,MAAOyQ,EAAuB9T,EAAvB8T,SAAU7S,EAAajB,EAAbiB,UAKnD,OACEQ,EAAAC,EAAAC,cAAC40B,EAAA,EAAD,CACE2lH,UAAQ,EACR59H,UAAQ,EACR9a,MAAOA,EACPgQ,KAAM2lB,EACN91B,MAAOA,EACPmyF,kBAAmBnyF,EACnB0B,QAASuoF,KACTrsF,UAAWa,IAAW,aAAcb,GACpC6S,SAdJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,MAkBtB0kH,GAAS5jH,aAAe,CACtByyB,QAAS,WACT31B,MAAO,YAGT8mH,GAAS1mH,UAAT,GAQe0mH,+OCnCf,SAAS76G,GAATzP,GAA6E,IAA7Dm5B,EAA6Dn5B,EAA7Dm5B,QAASlsB,EAAoDjN,EAApDiN,OAAQ5J,EAA4CrD,EAA5CqD,MAAOyQ,EAAqC9T,EAArC8T,SAAU7S,EAA2BjB,EAA3BiB,UAAW0gM,EAAgB3hM,EAAhB2hM,aAK3D,OACElgM,EAAAC,EAAAC,cAAC40B,EAAA,EAADwtK,GAAA,GACM92L,EADN,CAEEioF,UAAQ,EACR1hF,KAAM2lB,EACNmvB,SAAS,MACTktC,kBAAmBnyF,EACnB+yB,cAAe/yB,EACfpC,UAAWA,EACX0gM,aAAcA,EACd7tL,SAdJ,SAAsBlO,GACpBkO,EAASqlB,EAASvzB,OAkBtB6J,GAAK/I,aAAe,CAClByyB,QAAS,OACTlsB,OAAQ,CACNzJ,MAAO,OACPkQ,YAAa,KAIjBjE,GAAK7L,UAAL,GASe6L,yjCC9Bf,SAASu0L,GAAThkM,GASG,IARDm5B,EAQCn5B,EARDm5B,QACAlsB,EAOCjN,EAPDiN,OACA5J,EAMCrD,EANDqD,MACAyQ,EAKC9T,EALD8T,SACA7S,EAICjB,EAJDiB,UACAgjM,EAGCjkM,EAHDikM,cACAC,EAEClkM,EAFDkkM,UACAC,EACCnkM,EADDmkM,aACCxzL,EAAAyzL,GAC+BvzL,oBAAS,GADxC,GACM4V,EADN9V,EAAA,GACiB0zL,EADjB1zL,EAAA,GAEK2zL,EAAoBrlH,KAAOilH,EAAW,SAAA5/K,GAAK,OAAKgP,KAAS6wK,EAAc7/K,EAAMjhB,SAC7EuyL,EAAe59I,KAAKssJ,GAAqB,GAAKtsJ,KAAK30C,KAAW20C,KAAKssJ,GAczE,OACE7iM,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGuF,GAAUA,EAAOzJ,OAChB/B,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAO9gB,UAAWtC,IAAO8pG,gBACtBx7F,EAAOzJ,OAGZ/B,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACEljB,MAAO2gM,EACP96L,IAAI,qBACJsd,UAAWmvK,EACX9hL,SAlBN,WAEMA,EAASqlB,EADb1S,EACsB,GACA69K,GACtBD,GAAY59K,IAeRxlB,UAAWtC,IAAO6pG,0BAEpB/mG,EAAAC,EAAAC,cAAC40B,EAAA,EAAD,CACEt1B,UAAWa,IAAW,aAAcb,GACpCuS,KAAM2lB,EACN91B,MAAOA,EACP0B,QAASu/L,EACTxwL,SA/BN,SAAsBiuC,GACpBjuC,EAASqlB,EAAS4oB,GAClBsiJ,GAAW,IA8BPnoD,UAAQ,EACRv7H,aAAW,EACXtC,OAAK,EACLkmL,kBAAgB,KAMxBP,GAAqBt9L,aAAe,CAClCu9L,cAAe,qBACfE,aAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,OAG/CH,GAAqBpgM,UAArB,GAiBe4gM,oBAAcR,ICzF7BzhM,EAAAC,EAAAC,EAAA,sBAAAgiM,IAAAliM,EAAAC,EAAAC,EAAA,sBAAAiiM,IAAAniM,EAAAC,EAAAC,EAAA,sBAAAkiM,IAAApiM,EAAAC,EAAAC,EAAA,sBAAAmiM,IAAAriM,EAAAC,EAAAC,EAAA,sBAAAoiM,IAAAtiM,EAAAC,EAAAC,EAAA,sBAAAqiM,IAAAviM,EAAAC,EAAAC,EAAA,sBAAAsiM,IAAAxiM,EAAAC,EAAAC,EAAA,sBAAAuiM,IAAAziM,EAAAC,EAAAC,EAAA,sBAAAwiM,IAAA1iM,EAAAC,EAAAC,EAAA,sBAAAyiM,IAAA3iM,EAAAC,EAAAC,EAAA,sBAAA0iM,IAAA5iM,EAAAC,EAAAC,EAAA,sBAAA2iM,KAAA7iM,EAAAC,EAAAC,EAAA,sBAAA4iM,KAAA9iM,EAAAC,EAAAC,EAAA,sBAAA6iM,KAAA/iM,EAAAC,EAAAC,EAAA,sBAAA8iM,KAAAhjM,EAAAC,EAAAC,EAAA,sBAAA+iM,sBCCAlrL,EAAAC,QAAA,CAAkBtE,MAAA,+DCDlB,IAAAmL,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAqsE,EAAAprF,EAAA,IAAAqrF,EAAArrF,EAAA,GAAAsrF,EAAAtrF,EAAAsI,EAAA+iF,GAAAmP,EAAAx6F,EAAA,MAAAy6F,EAAAz6F,EAAAsI,EAAAkyF,GAQA,SAASl7B,EAAT7hE,GAAqD,IAA7B64B,EAA6B74B,EAA7B64B,eAAgB53B,EAAajB,EAAbiB,UACtC,OAAI6O,IAAQ+oB,GACH,KAIPxX,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CogB,EAAA3f,EAAAC,cAACgsF,EAAA,EAAD,CACE1sF,UAAWtC,IAAO+2J,YAClBjyJ,QAASo1B,EACTt4B,MAAM,QACNojE,QAAQ,QACR75D,UAAU,eACVC,aAAW,EACX0pB,OAAK,EACLrP,OAAQ,GAER/C,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAOg6L,gBACtBt3K,EAAA3f,EAAAC,cAAA,KAAGV,UAAU,8BAOvB4gE,EAAaj+D,UAAb,GAKei+D,8LC9BA,SAASnpB,EAAT14C,GAKZ,IAJDsD,EAICtD,EAJDsD,MACA2R,EAGCjV,EAHDiV,OACAI,EAECrV,EAFDqV,SACAvN,EACC9H,EADD8H,eAEA,OACErG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2N,gBACrB7K,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IAAWnD,IAAOmhM,YAAah4L,GAC1C7H,QAASoV,EACTtB,UAAWsB,GAEV/R,EALH,IAKU7B,EAAAC,EAAAC,cAAC+6C,EAAA,EAAD,CAAOznC,OAAQA,MAM/ByjC,EAAa90C,UAAb,eCAM60B,GAzBW1tB,IAAU6tD,MAAM,CAC/Bp1D,MAAOuH,IAAU8E,OACjBqzF,WAAYn4F,IAAU8E,OAAOwmB,WAC7BovK,WAAY16L,IAAU48D,KAAKtxC,WAC3BqvK,cAAe36L,IAAU48D,KAAKtxC,aAGRtrB,IAAU6tD,MAAM,CACtC2oC,SAAUx2F,IAAU8tD,KAAKxiC,WACzBsvK,cAAe56L,IAAU8tD,KAAKxiC,WAC9BuvK,iBAAkB76L,IAAU8tD,KAAKxiC,aAGNtrB,IAAU6tD,MAAM,CAC3C9kD,SAAU/I,IAAU8tD,KAAKxiC,WACzB5P,UAAW1b,IAAU8tD,KAAKxiC,aAGLtrB,IAAU6tD,MAAM,CACrC9lC,QAAS/nB,IAAU8tD,KAAKxiC,WACxBtD,WAAYhoB,IAAU8tD,KAAKxiC,WAC3B5P,UAAW1b,IAAU8tD,KAAKxiC,WAC1BwvK,aAAc96L,IAAU8tD,KAAKxiC,aAGhBtrB,IAAU6tD,MAAM,CAC7Bv1D,MAAO0H,IAAU8E,OAAOwmB,WACxB/yB,MAAOyH,IAAU8E,OAAOwmB,cAGpBnpB,EAAOnC,IAAU6tD,MAAM,CAC3Bv1D,MAAO0H,IAAU8E,OAAOwmB,WACxB/yB,MAAOyH,IAAU8E,OAAOwmB,WACxB5oB,QAAS1C,IAAUiuD,QAAQvgC,QAGb1tB,IAAUiuD,QACxBjuD,IAAU6tD,MAAM,CACd/gB,QAAS9sC,IAAU8E,OAAOwmB,WAC1BxI,MAAO9iB,IAAUiuD,QAAQ9rD,GACzB+H,OAAQlK,IAAU48D,QAIN58D,IAAU6tD,MAAM,CAC9BwqC,iBAAkBr4F,IAAU48D,KAAKtxC,WACjCviB,SAAU/I,IAAU8tD,KAAKxiC,WACzB0hE,QAAShtF,IAAU8tD,KAAKxiC,WACxBhzB,MAAO0H,IAAU8E,OAAOwmB,+BCtC1B,SAASyvK,EAAT9lM,GAA2D,IAAjC+E,EAAiC/E,EAAjC+E,QAASghM,EAAwB/lM,EAAxB+lM,qBAYjC,OACEtkM,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAO9gB,UAAWtC,IAAO2E,MAAO/C,MAAM,SAAtC,0GAGAkB,EAAAC,EAAAC,cAAC+6C,EAAA,EAAD,CAAWT,YAhBf,SAAA12C,GAAgD,IAAzB6kG,EAAyB7kG,EAAzB6kG,MAAO9yF,EAAkB/R,EAAlB+R,OAAQrC,EAAU1P,EAAV0P,OACpC,OACExT,EAAAC,EAAAC,cAAC+2C,EAAD,CACEp1C,MAAO8mG,EACPn1F,OAAQA,EACRI,SAAUiC,EACVxP,eAAgBnJ,IAAOg4I,iBAWtB9sI,IAAI9E,EAAS,SAAAU,GAAA,IAAGoyC,EAAHpyC,EAAGoyC,QAAShqB,EAAZpoB,EAAYooB,MAAO5Y,EAAnBxP,EAAmBwP,OAAnB,OACZxT,EAAAC,EAAAC,cAAC+6C,EAAA,EAAD,CACEvzC,IAAK0uC,EACLuyD,MAAOvyD,EACP5iC,OAAQA,GAERxT,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,KACGpF,EAAMhkB,IAAI,SAAAqD,GAAI,OACbzL,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACErd,IAAK+D,EAAK7J,MACVC,MAAO4J,EAAK5J,MACZmjB,UAAWs/K,EAAqBt/K,UAAUvZ,GAC1C4G,SAAU,kBAAMiyL,EAAqBjyL,SAAS5G,cAWhE44L,EAAeliM,UAAf,GAKekiM,QClDf,SAASE,EAAThmM,GAGG,IAFDkN,EAEClN,EAFDkN,KACA+4L,EACCjmM,EADDimM,eAcA,OACExkM,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAOxhB,MAAM,UAAb,gBAAmCkB,EAAAC,EAAAC,cAAA,SAAIuL,EAAK5J,OAA5C,uBACA7B,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,KACExxB,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEC,UAAWw/K,EAAeJ,aAAa34L,GACvC4G,SAAU,kBAAMmyL,EAAelzK,WAAW7lB,IAC1C5J,MAAM,wBAEP4J,EAAKO,QAAQ5D,IArBpB,SAAsB4uB,GACpB,OACEh3B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACErd,IAAKsvB,EAAOp1B,MACZA,MAAOo1B,EAAOp1B,MACdC,MAAOm1B,EAAOn1B,MACdmjB,UAAWw/K,EAAex/K,UAAUvZ,EAAMurB,GAC1C3kB,SAAU,kBAAMmyL,EAAenzK,QAAQ5lB,EAAMurB,UAoBrDutK,EAAiBpiM,UAAjB,GAKeoiM,8DCnCf,SAASE,EAATlmM,GAA4D,IAAtCqD,EAAsCrD,EAAtCqD,MAAOC,EAA+BtD,EAA/BsD,MAAOwQ,EAAwB9T,EAAxB8T,SAAUuiB,EAAcr2B,EAAdq2B,WAC5C,OACE50B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CACExhB,MAAM,QACNU,UAAWtC,IAAO2E,OAEjBA,EACD7B,EAAAC,EAAAC,cAACsnD,EAAA,EAAD,CAAUC,KAAM7yB,KAElB50B,EAAAC,EAAAC,cAACkT,EAAA,EAAD,CACExR,MAAOA,EACPyQ,SAAUA,EACV7S,UAAWtC,IAAOsU,SAM1BizL,EAAWtiM,UAAX,GAOesiM,oCClBA9vL,MAXf,WACE,IAAM9K,EACJ7J,EAAAC,EAAAC,cAAA,4GAEWF,EAAAC,EAAAC,cAAA,iBAFX,8BAMF,OAAOF,EAAAC,EAAAC,cAAC+mH,EAAA,EAAD,CAAKp9G,KAAMA,EAAM/K,MAAM,UAAUU,UAAWtC,IAAOioE,0CCS7Cu/H,MApBf,SAAiBV,GAAY,IAAA5gG,EAKvBC,YAAe,CAAEP,oBAAoB,EAAMluF,aAAa,IAH1Di4B,EAFyBu2D,EAEzBv2D,QACAy2D,EAHyBF,EAGzBE,eACAC,EAJyBH,EAIzBG,cAGF,OAAKygG,IAAczgG,GAAkBD,EAO9B,CACLA,iBACAz2D,WARO,CACLy2D,iBACAz2D,QAASM,MCoCAw3J,MA5Cf,SAAApmM,GAKG,IAJD+E,EAIC/E,EAJD+E,QACA+0J,EAGC95J,EAHD85J,SACAusC,EAECrmM,EAFDqmM,gBACAC,EACCtmM,EADDsmM,qBACCC,EACmCJ,EAAQrsC,EAAS2rC,YAA7C1gG,EADPwhG,EACOxhG,eAAgBz2D,EADvBi4J,EACuBj4J,QAClBi0I,GAAanuK,IAAM0lJ,EAASt2J,OAFjC+B,EAaG+gM,GAAwBA,EAAqB,CAC/CZ,cAAe5rC,EAAS4rC,cACxBxiG,WAAY42D,EAAS52D,WACrB6B,iBACAhgG,aACI,GATJwuJ,EATDhuJ,EASCguJ,YACAizC,EAVDjhM,EAUCihM,eACAC,EAXDlhM,EAWCkhM,mBACAC,EAZDnhM,EAYCmhM,yBAgBF,OARAh1L,oBAAU,WACR20L,EAAgBpd,WAAW36I,IAC1B,CAACwrH,EAAS2rC,aAEb/zL,oBAAU,WACR20L,EAAgBT,iBAAiB,KAAM,KACtC,CAAC9rC,EAAS52D,aAEN,CACLq/E,YACAhvB,cACAizC,iBACAC,qBACAC,2BACAC,mBA5ByB,SAAC76L,EAAGmb,GAAJ,OAAeo/K,EAAgBV,cAAc1+K,EAAO,KA6B7E06E,cA/BoB,SAAA7vF,GAAK,OAAIu0L,EAAgB9kG,SAASzvF,EAAMvK,OAAOlE,6BCGvE,SAASujM,EAAT5mM,GASG,IARDujG,EAQCvjG,EARDujG,qBACAa,EAOCpkG,EAPDokG,cACArB,EAMC/iG,EAND+iG,gBACA8jG,EAKC7mM,EALD6mM,eACAR,EAICrmM,EAJDqmM,gBACAvsC,EAGC95J,EAHD85J,SACA/0J,EAEC/E,EAFD+E,QACAuhM,EACCtmM,EADDsmM,qBACCQ,EASGV,EAAY,CACdrjG,kBACA8jG,iBACAR,kBACAvsC,WACA/0J,UACAuhM,yBAbA/jB,EAFDukB,EAECvkB,UACAhvB,EAHDuzC,EAGCvzC,YACAizC,EAJDM,EAICN,eACAC,EALDK,EAKCL,mBACAC,EANDI,EAMCJ,yBACAC,EAPDG,EAOCH,mBACAhlG,EARDmlG,EAQCnlG,cAUIwvB,EACJ1vH,EAAAC,EAAAC,cAACyvH,EAAA,EAAD,CACE9iF,QAASwrH,EAASxrH,QAClB81D,cAAe01D,EAASt2J,OAAS4gG,IAIrC,OACE3iG,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG66K,GACC9gL,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAColM,EAAD,CACEzjM,MAAM,QACND,MAAOy2J,EAASt2J,MAChBsQ,SAAU6tF,IAEZlgG,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6sK,WAG1B/pK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACrBhwD,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CACEr9E,OAAQ,CAAC6yI,EAAS52D,YAClBH,gBAAiBA,EACjBjvF,SAAU6yL,IAEZllM,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CACEr9E,OAAQ6yI,EAASv7D,oBACjB76F,YAAagjM,EACbpjG,yBAA0BmjG,EAC1BljG,qBAAsBA,EACtBzvF,SAAUuyL,EAAgBT,iBAC1Bn7G,eAAa,KAGhB8oE,GACC9xJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACrBhwD,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CAAS6sB,iBAAkBA,MAIhCq1E,GACC/kM,EAAAC,EAAAC,cAACwY,EAAD,OAMRysL,EAAShjM,UAAT,GAWegjM,mCChGf,SAASI,GAAThnM,GAKG,IAJD43G,EAIC53G,EAJD43G,WACAqvF,EAGCjnM,EAHDinM,WACAC,EAEClnM,EAFDknM,aACA7xG,EACCr1F,EADDq1F,aAEA,OACE5zF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACpBoxG,EAAW1uD,MACVznD,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWtC,KAAOyB,OAClBK,KAAK,QACLF,MAAM,QACNN,QAAS23G,EAAW33G,SAJtB,QASDo1F,EAAansC,MACZznD,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEkB,UAAWtC,KAAOyB,OAClBK,KAAK,QACLF,MAAM,QACNN,QAASo1F,EAAap1F,SAJxB,UASDgnM,EAAW/9I,MACVznD,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLR,QAASgnM,EAAWhnM,QACpBI,SAAU4mM,EAAW1lM,YAHvB,QAQD2lM,EAAah+I,MACZznD,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLR,QAASinM,EAAajnM,QACtBI,SAAU6mM,EAAa3lM,WACvBL,UAAWgmM,EAAahmM,WAJ1B,WAoBR8lM,GAAQpjM,UAAR,GAOeojM,UC/BAG,OAzCf,SAAAnnM,GASG,IARD8S,EAQC9S,EARD8S,QACA5R,EAOClB,EAPDkB,UACAkmM,EAMCpnM,EANDonM,YACA1wG,EAKC12F,EALD02F,WACA2wG,EAICrnM,EAJDqnM,aACAC,EAGCtnM,EAHDsnM,SA2BA,MAAO,CACL1vF,WAxBiB,CACjB1uD,MAAOk+I,EACPnnM,QAASonM,GAuBThyG,aApBmB,CACnBnsC,KAAMk+I,EACNnnM,QARDD,EAFDwxB,UA6BEy1K,WAhBiB,CACjB/9I,MAAOwtC,EACPz2F,QAASqnM,EACT/lM,YAAauR,GAcbo0L,aAXmB,CACnBh+I,KAAMwtC,EACNz2F,QAnBDD,EADDsV,SAqBE/T,YAAauR,EACb5R,ulECNWqmM,OArBf,WAA4B,IAAA52L,EAAA62L,GACgB32L,mBAAS,IADzB,GACnB42L,EADmB92L,EAAA,GACJ+2L,EADI/2L,EAAA,GAY1B,MAAO,CACL82L,cAH0BE,KAAQF,EAAe,CAAC,UAIlD1B,qBAAsB,CACpBjyL,SAZJ,SAAkB5G,GAChB,IAAM06L,EAAWhzF,KAAQ6yF,EAAe,CAACv6L,GAAxBimB,GAAAzxB,GAEjBgmM,EAAiBE,IAUfnhL,UAPc,SAAAvZ,GAAI,OAAIkyE,KAAKqoH,EAAev6L,o2CCmDjC26L,OA5Df,SAAA7nM,GAA6C,IAAjBynM,EAAiBznM,EAAjBynM,cAAiB92L,EAAAm3L,GACGj3L,mBAAS,IADZ,GACpCk3L,EADoCp3L,EAAA,GACnBq3L,EADmBr3L,EAAA,GAY3Ce,oBAAU,WATmB,IACrBu2L,IAAqB7wJ,KAAOqwJ,EAAe,SAAC55K,EAAO3gB,GAAR,OAAAtL,GAAAsR,GAAA,GAC9ChG,EAAK7J,MAAQ6J,EAAKO,SAChBogB,IACD,IAEJm6K,EAAmBC,IAKlB,CAACjwJ,KAAKyvJ,KAET,IAMM5B,EAAe,SAAC34L,GACpB,IAAMO,EAAUg8E,KAAIs+G,EAAiB76L,EAAK7J,MAAO,IAEjD,OAAO20C,KAAKvqC,KAAauqC,KAAK9qC,EAAKO,UAwBrC,MAAO,CACLs6L,kBACA9B,eAAgB,CACdnzK,QAxBY,SAAC5lB,EAAMurB,GACrB,IAAMyvK,EAAaz+G,KAAIs+G,EAAiB76L,EAAK7J,MAAO,IAC9C8kM,EAAavzF,KAAQszF,EAAY,CAACzvK,GAArBtF,GAAAzxB,GAEnBsmM,EAAkBpmM,GAAA,GACbmmM,EADa70L,GAAA,GAEfhG,EAAK7J,MAAQ8kM,MAmBdp1K,WAfe,SAAC7lB,GAClB,IAAMi7L,EAAatC,EAAa34L,GAC5B,GACAA,EAAKO,QAETu6L,EAAkBpmM,GAAA,GACbmmM,EADa70L,GAAA,GAEfhG,EAAK7J,MAAQ8kM,MASd1hL,UAtCc,SAACvZ,EAAMurB,GACvB,IAAMhrB,EAAUg8E,KAAIs+G,EAAiB76L,EAAK7J,MAAO,IAEjD,OAAOiwB,KAAS7lB,EAASgrB,IAoCvBotK,siCCvDN,IAAMuC,GAAW,EACXC,GAAQ,EACRC,GAAU,EAiGDC,OA/Ff,SAAAvoM,GAAgE,IAA5C85J,EAA4C95J,EAA5C85J,SAAU2tC,EAAkCznM,EAAlCynM,cAAeM,EAAmB/nM,EAAnB+nM,gBAAmBp3L,EAAA63L,GACxB33L,mBAASu3L,IADe,GACvDpwG,EADuDrnF,EAAA,GAC1C83L,EAD0C93L,EAAA,GAAA+I,EAAA8uL,GAExB33L,qBAFwB,GAEvD63L,EAFuDhvL,EAAA,GAE1CivL,EAF0CjvL,EAAA,GAoF9D,OAhFAhI,oBAAU,WACRi3L,EAAenpJ,KAAKioJ,KACnB,CAACzvJ,KAAKyvJ,KA8EF,CACL30L,QA7Ec,WACd,GAAIklF,IAAgBowG,KAAapxJ,IAAM8iH,EAASt2J,QAC1CqC,KAAQi0J,EAASt2J,OAAQ,OAAO,EAGtC,GAAIw0F,IAAgBqwG,IACdxiM,KAAQ4hM,GAAgB,OAAO,EAGrC,GAAIzvG,IAAgBswG,GAAS,CAC3B,IAAM76L,EAAUs6L,EAAgBW,EAAYrlM,OAE5C,GAAIwC,KAAQ4H,GAAU,OAAO,EAG/B,OAAO,EA8DEqF,GACTs0L,YA5DwBpvG,IAAgBowG,GA6DxC1xG,YA1DIsB,IAAgBowG,KAAYtuC,EAAS4rC,gBAIrC1tG,IAAgBqwG,KAIhBrwG,IAAgBswG,IACJM,KAAQnB,EAAeiB,KACX1wJ,KAAKyvJ,GAAiB,GAiDlDJ,aApBmB,WACfrvG,IAAgBswG,GApBK,WACzB,IAAM3/L,EAAQigM,KAAQnB,EAAeiB,GAGrC,GAF0B,IAAV//L,EAGd8/L,EAAezwG,EAAc,OACxB,CACL,IAAM6wG,EAAiBpB,EAAc9+L,EAAQ,GAC7CggM,EAAeE,IAafC,GAEAL,EAAezwG,EAAc,IAiB/BsvG,SAbe,WAfM,IACf3+L,EAEAkgM,EAaF7wG,IAAgBswG,IAfd3/L,EAAQigM,KAAQnB,EAAeiB,GAE/BG,EAAiBpB,EAAc9+L,EAAQ,GAC7CggM,EAAeE,IAebJ,EAAezwG,EAAc,IAU/B0wG,cACA1wG,sCC9EJ,SAASsM,GAATtkG,GAUG,IATDkB,EASClB,EATDkB,UACAynD,EAQC3oD,EARD2oD,cACAogJ,EAOC/oM,EAPD+oM,eACA3kG,EAMCpkG,EANDokG,cACArB,EAKC/iG,EALD+iG,gBACAimG,EAIChpM,EAJDgpM,uBACA1C,EAGCtmM,EAHDsmM,qBACAhwL,EAECtW,EAFDsW,YACAwtF,EACC9jG,EADD8jG,SACCmlG,EAC+C1B,KAAxCE,EADPwB,EACOxB,cAAe1B,EADtBkD,EACsBlD,qBADtBmD,EAG2CC,GAAW,CAAE1B,kBAAjDM,EAHPmB,EAGOnB,gBAAiB9B,EAHxBiD,EAGwBjD,eAHxBzhG,EAI4DC,cAArDZ,EAJPW,EAIOX,gBAAiBa,EAJxBF,EAIwBE,gBAAiBxG,EAJzCsG,EAIyCtG,eAJzC4oG,ECnBY,SAAA9mM,GAIZ,IAHDgpM,EAGChpM,EAHDgpM,uBAGCI,EAAAppM,EAFD+oM,sBAEC,IAAAK,EAFgB,GAEhBA,EAAAC,EAAArpM,EADD2oD,qBACC,IAAA0gJ,EADe,GACfA,EAAA14L,EAAAC,GACmCC,mBAASm4L,GAA0B/qG,MADtE,GACMiF,EADNvyF,EAAA,GACkBg1L,EADlBh1L,EAAA,GAAA+I,EAAA9I,GAEyBC,mBAAS44E,KAAI9gC,EAAe,QAAS,OAF9D,GAEMnlD,EAFNkW,EAAA,GAEa6nF,EAFb7nF,EAAA,GAAAgT,EAAA9b,GAGqDC,mBAAS,IAH9D,GAGM0tF,EAHN7xE,EAAA,GAG2B8xE,EAH3B9xE,EAAA,GAAAE,EAAAhc,GAI6BC,mBAAS+9B,KAJtC,GAIMN,EAJN1hB,EAAA,GAIeq8J,EAJfr8J,EAAA,GASD,MAAO,CACLktI,SAAU,CACR/0J,QANYqtC,KAAW22J,GACvBA,EAAe,CAAE7lG,eACjB6lG,EAKAvlM,QACA8qC,UACA40D,aACA3E,sBACAknG,WAAYnyK,KAASirE,EAAqBmyB,MAC1C44E,YAAah2K,KAASirE,EAAqBwyB,MAC3C20E,cAAepyK,KAASirE,EAAqBgrG,OAE/ClD,gBAAiB,CACf9kG,WACA0nF,aACA0c,gBACAC,iBAAkB,SAAC95L,EAAGmb,GAAJ,OAAeu3E,EAAuBv3E,MDJtBm/K,CAAY,CAChD4C,yBACAD,iBACApgJ,kBAHMmxG,EALPgtC,EAKOhtC,SAAUusC,EALjBS,EAKiBT,gBAMZ9iG,EAAuB,CAC3BH,iBAAkB02D,EAASwvC,YAC3Bx1L,SAAU4wF,EACV3M,QAASmG,EACT76F,MAAOwgG,GAGHxP,EAAW,CACf0zG,kBACAlkG,kBACAi2D,YArBD0vC,EAgCGjB,GAAS,CAAEzuC,WAAU2tC,gBAAeM,oBAPtCj1L,EAzBD02L,EAyBC12L,QACAs0L,EA1BDoC,EA0BCpC,YACA1wG,EA3BD8yG,EA2BC9yG,WACA2wG,EA5BDmC,EA4BCnC,aACAC,EA7BDkC,EA6BClC,SACAtvG,EA9BDwxG,EA8BCxxG,YACA0wG,EA/BDc,EA+BCd,aAGG3iL,IAAI0jL,yBAA2B3vC,EAAS/0J,UAC3C+0J,EAAS/0J,QAAQ,GAAG8oB,MAAQisI,EAAS/0J,QAAQ,GAAG8oB,MAAM5d,OAAO,SAAA/C,GAAI,SAAI,IAACA,EAAK7J,MAAM4yB,QAAS,gBAEvFlQ,IAAI2jL,uBAAyB5vC,EAAS/0J,UACzC+0J,EAAS/0J,QAAQ,GAAG8oB,MAAQisI,EAAS/0J,QAAQ,GAAG8oB,MAAM5d,OAAO,SAAA/C,GAAI,SAAI,IAACA,EAAK7J,MAAM4yB,QAAS,aAG5F,IAAM0zK,EAAexC,GAAW,CAC9Br0L,UACA5R,YACAkmM,cACA1wG,aACA2wG,eACAC,WACA91K,SAAUlb,EACVhB,SAAU,kBAAMwuF,EAASzP,MAOrBoC,EAAQxX,IAAO,CACnB,CACEt2E,MAAO,EACPkhD,UACEpoD,EAAAC,EAAAC,cAACioM,EAAD,CACE7kM,QAAS+0J,EAAS/0J,QAClB+0J,SAAUA,EACV11D,cAAeA,EACfb,qBAAsBA,EACtB8iG,gBAAiBA,EACjBtjG,gBAAiBA,EACjBujG,qBAAsBA,KAI5B,CACE39L,MAAO,EACPkhD,UACEpoD,EAAAC,EAAAC,cAACkoM,EAAD,CACE9kM,QAAS+0J,EAAS/0J,QAClBghM,qBAAsBA,KAI5B2C,GAAgB,CACd//L,MAAO,EACPkhD,UAAWpoD,EAAAC,EAAAC,cAACmoM,EAAD,CAAkB58L,KAAMw7L,EAAazC,eAAgBA,OAIpE,OACExkM,EAAAC,EAAAC,cAACooM,EAAA,EAAD,CACE90L,QAAM,EACNzR,MAAM,iBACNsS,WAAYQ,EACZmgF,MAAOA,EACPuB,YAAaA,EACbj0F,QAASuS,EACTpV,UAAWA,EACX81F,UAAU,EACVD,cA5CY,kBACdt1F,EAAAC,EAAAC,cAACqoM,GAAYL,IA4CX1oM,UAAWtC,KAAOsX,MAClB1V,MAAM,aACN43F,wBAAsB,EACtBiB,wBAAwB,IAK9BkL,GAAY1gG,UAAZ,GAee0gG,sCEtJf/hG,EAAAC,EAAAC,EAAA,sBAAAwnM,IAAA,IAAAC,EAAA3nM,EAAA,MAAA4nM,EAAA5nM,EAAA,KAAA6nM,EAAA7nM,EAAA,KAoBa0nM,EAAqB,WAChC,IAuBMrkM,EAAO,CACXkyE,UAAW,OACXD,KAAM,aACNwyH,YAAaC,YA1BC,CACdC,cAAe,GACfC,OAAQ,GACRC,QAAS,GACTn5C,MAAO,GACPo5C,YAAa,GACbC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,iBAAkB,GAClBz9L,KAAM,GACN63J,UAAW,CACTjwI,UAAW,KACXC,QAAS,MAEX8vI,aAAc,CACZ/vI,UAAW,KACXC,QAAS,MAEX+wI,aAAa,GAO+B8kC,gBAGxCvyL,EAAOC,EAAED,KAAK,CAClBE,IATU,+BAUVC,OATa,OAUb/S,KAAMgT,KAAKC,UAAUjT,GACrBkT,YAAa,qBAGf,OArDwB,WACxB,IAEMlT,EAAO,CACXykM,YAAa,CACXjhK,SAAS,EACT4hK,cAAe,CAAC9iK,IAAcU,MAEhCq7B,SAAU,KAGNzrD,EAAOC,EAAED,KAAK,CAAEE,IAVV,gCAUeC,OATZ,MASoB/S,SAEnC,OAAOmT,QAAQC,QAAQR,GAwChByyL,GAAoBhyL,KACzB,SAAAjZ,GAAgC,IAAvBkrM,EAAuBlrM,EAA7B4F,KACKwgD,EAAe+kJ,YAA6BD,GAClD,OAAOnyL,QAAQC,QAAQR,GACpBS,KAAK,SAAA1T,GAAA,OAAAA,EAAGK,KAAwBiE,IAAI,SAAAlG,GAAI,OAAIynM,YAAqBznM,EAAMyiD,yCC7DhF7jD,EAAAC,EAAAC,EAAA,sBAAA4oM,IAAO,IAAMA,EAAmCtlL,KAAOA,IAAIslL,kCAAoC,8/BCWhFtlI,IATf,WAAqB,IAAAp1D,EAAAC,EACeC,oBAAS,GADxB,GACZ08H,EADY58H,EAAA,GACD26L,EADC36L,EAAA,GAGnB,MAAO,CACL48H,YACAC,cAAe,kBAAM89D,GAAa,4dCItC,IAEaC,EAAoB,SAACz3I,EAAY03I,GAC5C,IAAMC,EAAgBC,IAASF,EAAY,CAAE/iM,OAHb,KAI1BqsB,EAAO2Z,YAAYC,KAEzB,SAAAtlC,OAAU0qD,EAAV,OAAA1qD,OAA0BqiM,EAA1B,OAAAriM,OAA6C0rB,EAA7C,SAGW62K,EAAgB,SAACl2I,GAC5B,GAAI+jD,IAAQ/jD,GAAQ,MAAO,GADW,IAGxBm2I,EAA+Bn2I,EAArC+D,KAAuBqyI,EAAcp2I,EAApBjiD,KAEzB,MAAO,CACLs4L,MAAOF,EACP9iK,KAAMijK,IAAMF,EAAW,KAAK,KAgBzB,SAASG,IACd,IAAMt0J,EAbR,SAAA13C,EAAyDsuC,GAAS,IAApCqyD,EAAoC3gG,EAApC2gG,SAAUgD,EAA0B3jG,EAA1B2jG,cAGtC,OAAA/hG,EAAA,GAF0BqqM,IAAStoG,EAAe+sB,MAGvB,CAAEpiF,WAD7B,CAEEN,QAAS,CACPquJ,QAAS4P,IAAStrG,EAAU86F,KAC5Ba,aAAc2P,IAAStrG,EAAU+6F,SAMK17K,WAAlB,EAAA9O,WAGxB,OAFyBwmC,EAAgB1J,QAAjCsuJ,aAGJ2N,cAAqBhxL,KAAK,SAAArT,GAAI,OAAAhE,EAAA,GAAU81C,EAAV,CAA2Bw0J,cAAetmM,MACxEmT,QAAQC,QAAQ0+B,sWCjDtB,IAAMy0J,EAAU,eAACxzK,EAADznB,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAc,gBAAd,MAAmC,CACjD5N,MAAO,UACP61B,QAAS,OACTuK,aAAa,EACb/K,eAGIn1B,EAAQ,CACZF,MAAO,QACP61B,QAAS,QACTuK,aAAa,EACb/K,WAAY,cASRmnB,EAAQ,eAACssJ,IAADl7L,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,KAAAA,UAAA,UAAAtP,EAAA,CACZ0B,MAAO,QACP61B,QAAS,QACTuK,aAAa,GACT0oK,GAAc,CAAEzzK,WAAY,eAG5B6oB,EAAQ,eAAC4qJ,IAADl7L,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,KAAAA,UAAA,UAAAtP,EAAA,CACZ0B,MAAO,QACP61B,QAAS,QACTuK,aAAa,GACT0oK,GAAc,CAAEzzK,WAAY,eA2BrBouG,EAAsB,CAAColE,IAAW3oM,EAN5B,CACjBF,MAAO,cACP61B,QAAS,SACTuK,aAAa,GAzCc,CAC3BpgC,MAAO,yBACP61B,QAAS,SACTuK,aAAa,GAyCyEoc,KAE3EusJ,EAAoB,CAACF,IAAW3oM,EAAOs8C,IAAS0B,KAEhD8qJ,EAA6B,CACxCH,EAAQ,aAvBK,CACb7oM,MAAO,QACP61B,QAAS,SACTuK,aAAa,GAGF,CACXpgC,MAAO,OACP61B,QAAS,OACTuK,aAAa,GAfC,CACdpgC,MAAO,UACP61B,QAAS,UACTuK,aAAa,GA8Bboc,GAAM,GACN0B,GAAM,oCCpER,IAAApgC,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAq+I,GAAAl9J,EAAA,GAAAA,EAAA,OAAAm9J,EAAAn9J,EAAAsI,EAAA40J,GAKA,SAAS8sC,EAATvsM,GAAwC,IAAZgB,EAAYhB,EAAZgB,SAC1B,OACEqgB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6tM,kBACpBxrM,GAKPurM,EAAiB3oM,UAAjB,GAIe2oM,2HCPf,SAASpuL,EAATne,GAQG,IAPDiB,EAOCjB,EAPDiB,UACA8D,EAMC/E,EAND+E,QACAszB,EAKCr4B,EALDq4B,OACAo0K,EAICzsM,EAJDysM,aACA1jJ,EAGC/oD,EAHD+oD,eACAo4C,EAECnhG,EAFDmhG,gBACAurG,EACC1sM,EADD0sM,cAMA,OACEjrM,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAACogB,EAAA,EAAD,CAAO9gB,UAAWa,IAAWnD,IAAO2E,MAAOylD,IAA3C,WAIAtnD,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOoT,OAAQovF,IACxC1/F,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEC,WAAW,EACXI,YAAY,EACZzZ,QAASA,EACT+O,SAfR,SAA4BqR,GAC1BkT,EAAOlT,EAAPkT,IAeMh1B,MAAOopM,GAAgBC,EACvB7tL,aAAW,MAOrBV,EAAOva,UAAP,GAUeua,uBCrDR,SAASwuL,EAAiBC,EAAYH,GAAc,IAAAzsM,EAC5B4sM,GAAc,GAAnCvpM,EADiDrD,EACjDqD,MAAOy0E,EAD0C93E,EAC1C83E,UAD0CvyE,EAEKknM,GAAgB,GAAhEx9H,EAF2C1pE,EAEjDsyE,KAAgCg1H,EAFiBtnM,EAE5BuyE,UAE7B,OAAIA,EACM7I,IAAkB5rE,GAAWy0E,IAAc+0H,EAG9C59H,IAAkB5rE,yBCE3B,SAASypM,EAAT9sM,GAAqF,IAA9D+E,EAA8D/E,EAA9D+E,QAAS9E,EAAqDD,EAArDC,QAASwsM,EAA4CzsM,EAA5CysM,aAAcxrM,EAA8BjB,EAA9BiB,UAAWosL,EAAmBrtL,EAAnBqtL,gBAmBhE,OACE5rL,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO+/C,YAAaz9C,IAC7CQ,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOoxB,MACnBhrB,EAAQ8E,IArBf,SAAsBwa,EAAQ1b,GAAO,IAC3BrF,EAAU+gB,EAAV/gB,MAEFkhB,EAAamoL,EAAiBtoL,EAAQ,CAAEwzD,KADjB40H,EAArBppM,MACmDy0E,UAD9B20H,EAAd30H,YAGf,OACEr2E,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,eAAAC,OAAiBT,IACtBlH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNU,UAAWa,IAAWnD,IAAO8sK,iBAAkBjnJ,GAAc7lB,IAAO6lB,WAAY6oK,GAChFptL,QAASA,EAAQokB,IAEhB/gB,QAeXwpM,EAAYlpM,UAAZ,GAQekpM,2BClCf,SAASt/G,EAATxtF,GAYG,IAXDiB,EAWCjB,EAXDiB,UACAo3B,EAUCr4B,EAVDq4B,OACAo0K,EASCzsM,EATDysM,aACA1nM,EAQC/E,EARD+E,QACAgoM,EAOC/sM,EAPD+sM,qBACA1f,EAMCrtL,EANDqtL,gBACAn9H,EAKClwD,EALDkwD,iBACApmD,EAIC9J,EAJD8J,UACA5I,EAGClB,EAHDkB,UACAwrM,EAEC1sM,EAFD0sM,cACA3jJ,EACC/oD,EADD+oD,eAEMikJ,EAAcjoM,EAAQmvB,KAAK,SAAA7P,GAAM,OAAIsoL,EAAiBtoL,EAAQooL,MAAkBC,EActF,OACEjrM,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAbFhC,EAAAC,EAAAC,cAACsrM,EAAD,CACEhtM,QAASo4B,EACTo0K,aAAcO,EACdjoM,QAASA,EACT9D,UAAW8rM,EACX1f,gBAAiBA,IASjBpsL,UAAWa,IAAWnD,IAAOugD,iBAAkBgR,GAC/CpmD,UAAWA,EACXsa,OAAQ,EACR7jB,MAAM,QACNojE,QAAQ,SAERliE,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOglE,QAASziE,GAAavC,IAAO4C,aAC9DE,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,OACNF,SAAUa,EACVD,UAAWtC,IAAO6xJ,YAElB/uJ,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO2E,MAAOylD,IAA1C,YAGCikJ,EAAY1pM,MAEb7B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsD,MACrBR,EAAAC,EAAAC,cAAA,KAAGV,UAAU,0BAS3BusF,EAAiB5pF,UAAjB,GAiBe4pF,usCChFf,SAAS0/G,EAATltM,GAcG,IAbD+E,EAaC/E,EAbD+E,QACA2nM,EAYC1sM,EAZD0sM,cACAD,EAWCzsM,EAXDysM,aACAvrM,EAUClB,EAVDkB,UACAm3B,EASCr4B,EATDq4B,OACAvuB,EAQC9J,EARD8J,UACAijM,EAOC/sM,EAPD+sM,qBACA78I,EAMClwD,EANDkwD,iBACAm9H,EAKCrtL,EALDqtL,gBACApsL,EAICjB,EAJDiB,UACAi7I,EAGCl8I,EAHDk8I,SACAnzF,EAEC/oD,EAFD+oD,eACAo4C,EACCnhG,EADDmhG,gBAEMgsG,EAAc,CAAEt1H,KAAM60H,EAAcrpM,MAAOy0E,UAAW40H,EAAc50H,WADzEnnE,EAAAC,EAEqCC,mBAASs8L,GAF9C,GAEMH,EAFNr8L,EAAA,GAEmBy8L,EAFnBz8L,EAAA,GAGOonE,EAAY00H,EAAZ10H,QAERrmE,oBAAU,WAEJ07L,EADJr1H,EACmBo1H,EACAV,IAClB,CAAC10H,EAAS00H,IASb,IAAMv4L,EAAc,CAClBjT,YACA8D,UACA0nM,aAAcO,EACd30K,OAXF,SAAA9yB,GAA0C,IAApBlC,EAAoBkC,EAApBlC,MAAOy0E,EAAavyE,EAAbuyE,UAC3B,OAAO,WACLs1H,EAAe,CAAEv1H,KAAMx0E,EAAOy0E,cAC9Bz/C,EAAO,CAAEh1B,QAAOy0E,gBASlB/uB,iBACA2jJ,iBAGF,OAAOW,kBAAQ,WACb,OAAInxD,EAEAz6I,EAAAC,EAAAC,cAAC2rM,EAAD1rM,EAAA,GACMsS,EADN,CAEEitF,gBAAiBA,KAMrB1/F,EAAAC,EAAAC,cAACgkC,EAAD/jC,EAAA,GACMsS,EADN,CAEE64L,qBAAsBA,EACtB1f,gBAAiBA,EACjBn9H,iBAAkBA,EAClBpmD,UAAWA,EACX5I,UAAWA,MAGd,CAAC8rM,EAAa9rM,IAGnBgsM,EAAKxmM,aAAe,CAClB+lM,aAAcnrC,IACdv8J,QAAS08J,IACT33J,UAAW,eACX4iM,cAAeprC,IACfpgK,WAAW,EACXg7I,UAAU,GAGZgxD,EAAKtpM,UAAL,GA2BespM,iECvGFK,EAAiB,SAAAl5G,GAAQ,MAAK,CACzCrvF,GAAIqvF,EAASrvF,GACbvB,QAAS4wF,EAASx6E,KAClB06C,UAAWx/B,IAAOs/D,EAASm5G,YAAY/gK,OAAOg+F,y9BCLzC,SAASpT,EAATr3H,GAAiD,IAAxB8zD,EAAwB9zD,EAAxB8zD,WAAYD,EAAY7zD,EAAZ6zD,SAiC1C,MAAO,CACLgkE,aAjCmB,WACnB,IAAMn/G,EAAG,sBAAAtP,OAAyB0qD,EAAzB,KAAA1qD,OAAuCyqD,GAC1Cr7C,EAAOC,EAAE0oJ,IAAIzoJ,GAEnB,OAAOK,QAAQC,QAAQR,GACpBS,KAAKs0L,IA6BR/1E,cA1BoB,WAAM,IACX9+G,EADW,sBAAAtP,OAC6B0qD,EAD7B,KAAA1qD,OAC2CyqD,GAC/Dr7C,EAAOC,EAAED,KAAK,CAAEE,MAAKC,OADJ,WAGvB,OAAOI,QAAQC,QAAQR,IAuBvBm/G,YApBkB,SAAApyH,GAA4B,IAAzB9B,EAAyB8B,EAAzB9B,QAAyB4+B,EAAAzxB,EAAArL,EAAhBmyH,UAE1B,CAAC,MAAD,sBAAAtuH,OAA8B0qD,EAA9B,KAAA1qD,OAA4CyqD,IAC5C,CAAC,OAAQ,sBAHiC,GACvCl7C,EADuC0pB,EAAA,GAC/B3pB,EAD+B2pB,EAAA,GAKxCz8B,EAAO,CACXmhG,YAAajzC,EACb17C,UAAWy7C,EACXh6C,KAAMpW,GAGF+U,EAAOC,EAAED,KAAK,CAAEE,MAAKC,SAAQ/S,SAEnC,OAAOmT,QAAQC,QAAQR,GACpBS,KAAKs0L,qEChCZ,IAAAnsL,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAqsE,EAAAprF,EAAA,IAAAkrM,EAAAlrM,EAAA,KAAAmrM,EAAAnrM,EAAA,KAAAorM,EAAAprM,EAAA,IAAAqrM,EAAArrM,EAAA,KAAAsrM,EAAAtrM,EAAA,MAAA+4I,EAAA/4I,EAAA,MAAAg5I,EAAAh5I,EAAAsI,EAAAywI,GAaA,SAASwyD,EAAT9tM,GAWG,IAVDiV,EAUCjV,EAVDiV,OACAoU,EASCrpB,EATDqpB,SACA0kL,EAQC/tM,EARD+tM,kBACAC,EAOChuM,EAPDguM,iBACAtuG,EAMC1/F,EAND0/F,YACA7wF,EAKC7O,EALD6O,mBACAqI,EAIClX,EAJDkX,gBACAvW,EAGCX,EAHDW,cACAQ,EAECnB,EAFDmB,gBACA8sM,EACCjuM,EADDiuM,iBACC9jL,EACgDpJ,YAAS9L,GAAlDoB,EADP8T,EACO9T,YAAaC,EADpB6T,EACoB7T,YAAa6K,EADjCgJ,EACiChJ,WAElC,SAAS+sL,EAAqB7qM,GAC5B8d,IACA8sL,EAAiB5qM,GAGnB,IAWMI,EACJ4d,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO62J,qBACpB/iI,OAAOC,KAAK2/F,KAAYxoH,IAbN,SAAAi+D,GAAQ,OAC7BzmD,EAAA3f,EAAAC,cAACksM,EAAA,EAAD,CACE1kM,IAAK2+D,EACLA,SAAUA,EACVvmE,WAAYwsM,EACZ9tM,QAASiuM,EACTvtM,cAAehC,IAAO+2J,YACtBz0J,UAAWa,IAAWnD,IAAO42J,cAAelsI,GAAY1qB,IAAO82J,mBAUnE,OACEp0I,EAAA3f,EAAAC,cAACgsF,EAAA,EAAD,CACEptF,MAAM,QACNuJ,UAAU,aACV7I,UAAWa,IAAWnD,IAAO8sF,SAC7BhoF,QAASA,EACTpD,SAAUgpB,EACVk0F,QAASlnG,EACTonG,eAAgBnnG,EAChB8N,OAAQ+pL,wBACR16K,OAAK,GAELpS,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOugD,iBAAkBrwC,IACnDwS,EAAA3f,EAAAC,cAACksM,EAAA,EAAD,CACE3sM,UAAW6sM,EACXjmI,SAAUkmI,EACV/sM,UAAWiW,EACXvW,cAAeA,EACfQ,gBAAiBA,EACjBu+F,YAAaA,EACbz/F,QAASqW,IAEV+S,GACChI,EAAA3f,EAAAC,cAAC+rM,EAAA,EAAD,CACElqM,MAAM,WACNyR,OAAQoB,EACRP,WAAYQ,GAEX7S,KAQbqqM,EAAgBpnM,aAAe,CAC7Bg5F,YAAa,WACbsuG,iBAAkB57E,KAGpB07E,EAAgBlqM,UAAhB,GAaekqM,8OClFf,SAASr2B,EAATz3K,GAOG,IANDG,EAMCH,EANDG,KACAi3K,EAKCp3K,EALDo3K,SACAtB,EAIC91K,EAJD81K,iBACAnF,EAGC3wK,EAHD2wK,cACAoD,EAEC/zK,EAFD+zK,gBACA0C,EACCz2K,EADDy2K,aACC23B,EAKGC,YAAc,CAAEj3B,WAAUX,iBAH5BngK,EAFD83L,EAEC93L,YACAD,EAHD+3L,EAGC/3L,YACAi4L,EAJDF,EAICE,qBAGIvpM,EAAUggE,IAAO,CACrB,CACE//D,GAAI,aACJ6kD,UACEmuG,EAAAt2J,EAAAC,cAACg7I,EAAA,EAAD,CACEt8I,SAAUiuM,EACVruM,QAASqW,EACT/V,MAAM,SAHR,kBAWAwrH,EAASJ,YAAiByrD,GAC1Bwe,GAAgB/wH,IAAQ8rG,IAAkBr0F,IAAKq0F,KAAmBr0F,IAAKyvC,GACvExqH,EAAasjE,IAAQknD,IAAWgoD,EAChCw6B,EAAkBpuM,IAAS4iF,IAAUF,QACvC2rH,IACAC,KASJ,OACEz2C,EAAAt2J,EAAAC,cAAAq2J,EAAAt2J,EAAAgG,SAAA,KACEswJ,EAAAt2J,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkhM,kBACrB7nC,EAAAt2J,EAAAC,cAAC+sM,EAAA,EAAD,CACEprM,MAAM,aACNwQ,SAZR,SAAwBhC,GAAO,IACrBgV,EAAYhV,EAAMvK,OAAlBuf,QAERA,GAAWynL,IACXz4B,EAAiBhvJ,IASXL,UAAWmvK,EACXr0L,WAAYA,EACZN,UAAWa,IAAW,qBAAsBnD,IAAOwpB,kBAErD6vI,EAAAt2J,EAAAC,cAACgtM,EAAA,EAAD,CACEpuM,MAAM,YACNwE,QAASA,EACTtF,OAAK,KAGTu4J,EAAAt2J,EAAAC,cAACitM,EAAA,EAAD,CACEv4L,YAAaA,EACblW,KAAMA,EACNi3K,SAAUA,EACV9gK,YAAaA,KAMrBmhK,EAAc7zK,UAAd,GASegnF,gBAAa6sF,iCCnG5B,IAAAjd,EAAAj4J,EAAA,GAAAsiE,EAAAtiE,EAAAsI,EAAA2vJ,GAAAq0C,EAAAtsM,EAAA,IAgBe8rM,IAZf,SAAAruM,GAAmD,IAA1Bo3K,EAA0Bp3K,EAA1Bo3K,SAAUX,EAAgBz2K,EAAhBy2K,aAAgBtsJ,EACZpJ,YAAS01J,GAI9C,MAAO,CACLpgK,YAN+C8T,EACzC9T,YAMNC,YAP+C6T,EAC5B7T,YAOnBg4L,qBAL2Bx+L,IAAQsnK,+ICA1Bz4K,EAAS+tC,aAAWC,OAAO,CACtCmiK,aAAc,CACZ99J,kBAAmB,EACnBC,kBAAmBr2B,qBACnBg6B,aAAc,IAEhBxG,UAAW,CACT7B,WAAY,IACZc,SAAU,GACV1oB,MAAOnK,qBACPmJ,cAAe,KAInB,SAAS+0B,EAAT14C,GAA2D,IAAnCwD,EAAmCxD,EAAnCwD,MAAOynI,EAA4BjrI,EAA5BirI,kBAAmBx9F,EAASztC,EAATytC,MAChD,OAAIq4B,IAAWmlE,GAEXhzE,EAAAv2D,EAAAC,cAACotM,EAAA,KAAD,CAAM1sL,MAAO1jB,EAAOmwM,aAAcrhK,MAAOA,GACtCw9F,KAKHzxB,IAAQh2G,GACH,KAIPy0D,EAAAv2D,EAAAC,cAACotM,EAAA,KAAD,CAAM1sL,MAAO1jB,EAAOmwM,aAAcrhK,MAAOA,GACvCwqB,EAAAv2D,EAAAC,cAACotM,EAAA,KAAD,CAAM1sL,MAAO1jB,EAAOyvC,WAAY5qC,IAKtCk1C,EAAa90C,UAAb,GAMe80C,oCC/Cfn2C,EAAAC,EAAAC,EAAA,sBAAAusM,IAAAzsM,EAAAC,EAAAC,EAAA,sBAAAwsM,IAAO,IAAMD,EAAsB,CACjC,CAAE3rM,MAAO,4BAA6BC,MAAO,6BAC7C,CAAED,MAAO,iBAAkBC,MAAO,kBAClC,CAAED,MAAO,SAAUC,MAAO,UAC1B,CAAED,MAAO,MAAOC,MAAO,QAGZ2rM,EAAoB,CAC/B,CAAE5rM,MAAO,aAAcC,MAAO,cAC9B,CAAED,MAAO,YAAaC,MAAO,aAC7B,CAAED,MAAO,WAAYC,MAAO,YAC5B,CAAED,MAAO,SAAUC,MAAO,UAC1B,CAAED,MAAO,SAAUC,MAAO,UAC1B,CAAED,MAAO,SAAUC,MAAO,UAC1B,CAAED,MAAO,UAAWC,MAAO,oMCNd,SAASgsI,EAATtvI,GAAkC,IAAXyD,EAAWzD,EAAXyD,QACpC,OAAIyrM,IAAQzrM,GACH,KAGL0rM,IAAQ1rM,GACHo3L,IAAIp3L,EAAS,SAAC2sL,EAAcznL,GAAf,OAClBymM,EAAA1tM,EAAAC,cAAC0tM,EAAA,EAAD,CAAOpuM,UAAWtC,IAAOswI,YAAa9lI,IAAKwgK,IAAIymB,EAAc,MAAOznL,IACjEynL,KAMLgf,EAAA1tM,EAAAC,cAAC0tM,EAAA,EAAD,CAAOpuM,UAAWtC,IAAOswI,aACtBxrI,GAKP6rI,EAAY1rI,UAAZ,2wCC8BesgI,IArDf,WAMQ,IAAAlkI,EAAAkR,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GALFtL,EAKM5F,EALN4F,KACAiyE,EAIM73E,EAJN63E,KACA32E,EAGMlB,EAHNkB,UAGMouM,EAAAtvM,EAFN4wI,4BAEM,IAAA0+D,EAFiB,GAEjBA,EAAAC,EAAAvvM,EADNgwI,4BACM,IAAAu/D,KAAA5+L,EAAAC,EACoCC,mBAAS,IAD7C,GACCqvB,EADDvvB,EAAA,GACgB6gI,EADhB7gI,EAAA,GAAA+I,EAAA9I,EAEoCC,mBAAS+/H,GAF7C,GAECluG,EAFDhpB,EAAA,GAEgB+3H,EAFhB/3H,EAAA,GAGA81L,EAAUrrE,YAAatsD,EAAM32E,GAE7BwwI,EAAyBxxG,EAAcz3B,OAAS,EAMtD,SAASkpI,IACPH,EAAiB,IAwBnB,OAdA9/H,oBAAU,WACR,IAAM+9L,EAAsB,WAAe,IAAdviM,EAAcgE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GACtBw+L,EAAexiM,EAAnBlI,GAER,OAAO2qM,IAAK/pM,EAAM,SAAAL,GAAA,IAAOqqM,EAAPrqM,EAAGP,GAAH,OAAoB0qM,IAAeE,KAAW1iM,GAGlEskI,EAAiB,SAAArtG,GAAS,OAAI02J,IAAI12J,EAAWsrK,MAC5C,CAAC7pM,IAEJ8L,oBAAU,WACRs+H,GAAwB2B,KACvB,CAAC3B,IAEJpuI,EAAA,GACK4tM,EADL,CAEE9sK,gBACAgvG,yBACAxxG,gBACA2vK,iBA1BF,SAA0B99D,EAAetT,GACvCgT,EAAiB,SAAAttG,GAAS,OAAAviC,EAAA,GACrBuiC,KACcs6F,KAAhBsT,OAFuB,2GA0B1BJ,mBACAm+D,kBApCF,SAA2BjiL,GACzB2jH,EAAiB3jH,6SCjBd,IAAMkiL,EAAexnL,IAAMC,gBAYnBwnL,MAVf,SAAmBtnL,GACjB,OAAO,SAA4BzkB,GACjC,OACExC,EAAAC,EAAAC,cAACouM,EAAapnL,SAAd,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,0HCNlCof,iCAAoB,yPCgDlBk8F,MA5Cf,SAAAlkI,GAAuG,IAA7E0wI,EAA6E1wI,EAAnF63E,KAAiB1oD,EAAkEnvB,EAAlEmvB,UAAWhD,EAAuDnsB,EAAvDmsB,SAAUyE,EAA6C5wB,EAA7C4wB,WAAY80B,EAAiC1lD,EAAjC0lD,gBAAiBvU,EAAgBnxC,EAAhBmxC,aAC7E8+J,EAA4CvqJ,EAA5CuqJ,iBAAkBC,EAA0BxqJ,EAA1BwqJ,sBACpBr4H,EAAOssD,cACPrjG,GAAsBhxB,IAAQqf,GAgCpC,OA7BAzd,oBAAU,WACR,IAAK5B,IAAQ4gI,GAAY,KACTS,EAA2BT,EAAjC74D,KAAmBC,EAAc44D,EAAd54D,UAE3BD,GAAQA,EAAKu5D,YAAY,CAAEt5D,YAAWr/C,OAAQ04G,MAE/C,CAACT,IAuBGpM,EAAA,GACFzsD,EADL,CAEE/2C,qBACAyjG,aAxBF,SAA0B9rG,GAAQ,IAE1Bq/C,GAAY0sD,EADO3sD,EAAjB2sD,cACuB/rG,GACzBgsG,EAAcC,YAA2BvzF,EAAc1Y,GAE7DtM,EAAS,CAAE0rD,KAAMp/C,EAAQq/C,cACzBm4H,GAAoBA,EAAiBxrE,EAAa3sD,IAmBlD6sD,aAhBF,SAA0B/3F,GAAM,IAAAg4F,EACJ/sD,EAAlBgtD,gBADsB,IAAAD,EACX,GADWA,EAEtBnsG,EAAsBosG,EAAtBpsG,OAAQq/C,EAAc+sD,EAAd/sD,UAEhB3rD,EAAS,CAAEygB,OAAMirC,KAAMp/C,EAAQq/C,cAC/Bo4H,GAAyBA,EAAsBtjK,IAY/Ctf,QATF,WACEsD,QCqBWu/K,EA3Da,CAC1B,CACE7sM,MAAO,OACP61B,QAAS,OACTR,WAAY,KACZ+K,aAAa,GAEf,CACEpgC,MAAO,aACP61B,QAAS,eACTR,WAAY,gBACZ+K,aAAa,GAEf,CACEpgC,MAAO,cACP61B,QAAS,aACTR,WAAY,uBACZ+K,aAAa,GAEf,CACEpgC,MAAO,mBACP61B,QAAS,iBACTR,WAAY,uBACZ+K,aAAa,GAEf,CACEpgC,MAAO,SACP61B,QAAS,SACTR,WAAY,kBACZ+K,aAAa,GAEf,CACEpgC,MAAO,WACP61B,QAAS,WACTR,WAAY,gCACZ+K,aAAa,GAEf,CACEpgC,MAAO,aACP61B,QAAS,aACTuK,aAAa,GAEf,CACEpgC,MAAO,WACP61B,QAAS,UACTuK,aAAa,GAEf,CACEpgC,MAAO,OACP61B,QAAS,OACTuK,aAAa,GAEf,CACEpgC,MAAO,UACP61B,QAAS,UACTuK,aAAa,iPC/CjB,SAAS0sK,EAATpwM,GAAiF,IAAvDm5B,EAAuDn5B,EAAvDm5B,QAASjsB,EAA8ClN,EAA9CkN,KAAMw4C,EAAwC1lD,EAAxC0lD,gBAAiBpB,EAAuBtkD,EAAvBskD,oBAChD+rJ,EAA4B3qJ,EAA5B2qJ,wBACF3H,EAAW4H,EAAA,GACZpjM,EADY,CAEfw3C,YAAax3C,EAAKqjM,SAClB3rJ,mBAAoB13C,EAAKsjM,kBAErB33K,EAAiBp3B,EAAAC,EAAAC,cAACy3K,EAAA,EAAD,CAAalsK,KAAMw7L,IAE1C,OACEjnM,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE8vB,QAASA,EACTjsB,KAAMw7L,EACNrkJ,uBAAwBgsJ,EACxB/rJ,oBAAqBA,EACrBE,qBAAsB3rB,EACtB0rB,gBAAgB,sCAKtB6rJ,EAAexsM,UAAf,GAOeosM,QAAUI,sOC5BzB,SAASK,EAATzwM,GAAmF,IAAvDm5B,EAAuDn5B,EAAvDm5B,QAASjsB,EAA8ClN,EAA9CkN,KAAMw4C,EAAwC1lD,EAAxC0lD,gBAAiBpB,EAAuBtkD,EAAvBskD,oBAClDosJ,EAA8BhrJ,EAA9BgrJ,0BACFhI,EAAWiI,EAAA,GACZzjM,EADY,CAEfw3C,YAAax3C,EAAK0jM,WAClBhsJ,mBAAoB13C,EAAK2jM,oBAErBh4K,EAAiBp3B,EAAAC,EAAAC,cAACy3K,EAAA,EAAD,CAAalsK,KAAMw7L,IAE1C,OACEjnM,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE6D,KAAMw7L,EACNvvK,QAASA,EACTkrB,uBAAwBqsJ,EACxBpsJ,oBAAqBA,EACrBE,qBAAsB3rB,EACtB0rB,gBAAgB,uCAKtBksJ,EAAiB7sM,UAAjB,GAOeosM,QAAUS,sBCRzB,SAASv/J,EAATlxC,GAgBG,IAfDqpB,EAeCrpB,EAfDqpB,SACAnoB,EAcClB,EAdDkB,UACA22E,EAaC73E,EAbD63E,KACAu/F,EAYCp3K,EAZDo3K,SACAjoJ,EAWCnvB,EAXDmvB,UACA2qB,EAUC95C,EAVD85C,iBACA4L,EASC1lD,EATD0lD,gBACAvU,EAQCnxC,EARDmxC,aACAhlB,EAOCnsB,EAPDmsB,SACAyE,EAMC5wB,EAND4wB,WACA+uD,EAKC3/E,EALD2/E,eACAD,EAIC1/E,EAJD0/E,oBACAu6D,EAGCj6I,EAHDi6I,uBACA5xD,EAECroF,EAFDqoF,cACAG,EACCxoF,EADDwoF,yBACCu9C,EAMG7B,EAAS,CAAErsD,OAAM1oD,YAAWhD,WAAUyE,aAAY80B,kBAAiBvU,iBAJrErQ,EAFDilG,EAECjlG,mBACA+jG,EAHDkB,EAGClB,SACAN,EAJDwB,EAICxB,aACAI,EALDoB,EAKCpB,aAGF,IAAKzjI,GAAa4O,IAAQsnK,GACxB,OAAO31K,EAAAC,EAAAC,cAACiiI,EAAA,EAAD,CAAuBlgI,YAAao2C,IAwE7C,IAAMwsF,EAAiBxkI,IACrBnD,IAAO47G,aACPprF,GACGA,EAAU7d,QAAU,GACpB6d,EAAU7d,UAAY6d,EAAUL,OAChCnwB,IAAO67G,aAGZ,OACE/4G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACE9M,UAAWA,EACXo6B,qBAAsB0M,EACtB3L,UAAU,KACV5uB,QAAS0jC,EACT1M,eAAgB6hG,EAChB1gI,KAAMwxK,EACNl/I,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBz/C,OAAQksG,EACRzjG,mBAAoBA,EACpBzX,SAAUA,EACVgO,SAAO,EACPwN,gBAAc,GAEbsM,EAAatnC,IA9FpB,SAAsB4uB,GAAQ,IACpBU,EAAYV,EAAZU,QA6CR,MAnCyB,CACvB69H,KAAMv1J,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CAAeF,IAAKgwB,EAASA,QAASA,IAC5Co3K,SAAU9uM,EAAAC,EAAAC,cAACmvM,EAAD,CAAgB3nM,IAAKgwB,EAASA,QAASA,IACjDy3K,WAAYnvM,EAAAC,EAAAC,cAACovM,EAAD,CAAkB5nM,IAAKgwB,EAASA,QAASA,IACrDiiD,QAAS35E,EAAAC,EAAAC,cAACqvM,EAAA,EAAD,CAAe7nM,IAAKgwB,EAASA,QAASA,IAC/C83K,WAAYxvM,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAb7C,SAAuB91B,GACrB,OACE5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO+sK,kBACrBjqK,EAAAC,EAAAC,cAACukD,EAAA,EAAD,CAAc58C,WAAYjG,EAAOkG,cAAe,QAWpD2nM,aAAczvM,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CAAUF,IAAKgwB,EAASA,QAASA,EAASn0B,GAAG,iBAC3DmsM,eAAgB1vM,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CAAUF,IAAKgwB,EAASA,QAASA,EAASn0B,GAAG,mBAC7DosM,QACE3vM,EAAAC,EAAAC,cAACgxH,EAAA,EAAD,CACExpH,IAAKgwB,EACLA,QAASA,EACTqvD,yBAA0BA,IAG9Bn7E,KACE5L,EAAAC,EAAAC,cAAC8sK,EAAA,EAAD,CACEtlK,IAAKgwB,EACLA,QAASA,EACTj4B,UAAWmnF,IAGfthB,QACEtlE,EAAAC,EAAAC,cAACk4I,EAAA,EAAD,CACE1wI,IAAKgwB,EACLA,QAASA,EACT2gH,WAAW,SACXzwH,SAAUA,EACVs2D,eAAgBA,EAChBD,oBAAqBA,EACrBu6D,uBAAwBA,KAKN9gH,IAAY13B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,OAGrE,WACE,IAAK2H,EACH,OAAO,KAFiB,IAKlBxvB,EAAyC6d,EAAzC7d,QAASwd,EAAgCK,EAAhCL,MAAOG,EAAyBE,EAAzBF,WAAYG,EAAaD,EAAbC,SAEpC,OACE3tB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE6c,SAAUA,EACVnoB,UAAWA,EACXoQ,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVC,WAAYJ,EACZnb,SAAU6wH,IAiCXmC,IAKP51F,EAAUxqC,aAAe,CACvBozC,iBAAkB,GAClB3I,aAAcg/J,GAGhBj/J,EAAUttC,UAAV,GAkBeosM,QAAU9+J,uXC7KzB,SAASonG,EAATt4I,GAgBG,IAfDkzI,EAeClzI,EAfDkzI,UACA1vI,EAcCxD,EAdDwD,MACAE,EAaC1D,EAbD0D,YACAkwB,EAYC5zB,EAZD4zB,aACAkmB,EAWC95C,EAXD85C,iBACAlpB,EAUC5wB,EAVD4wB,WACAzE,EASCnsB,EATDmsB,SACAmlI,EAQCtxJ,EARDsxJ,MACAz5E,EAOC73E,EAPD63E,KACA1oD,EAMCnvB,EANDmvB,UACAjuB,EAKClB,EALDkB,UACAojD,EAICtkD,EAJDskD,oBACA+sJ,EAGCrxM,EAHDqxM,qBACA3rJ,EAEC1lD,EAFD0lD,gBACGrkD,EACFC,EAAAtB,EAAA,qMACKwpI,EAAU,CACdllF,sBACAxK,mBACA4L,kBACAxkD,YACAk2K,SAAU9lB,EACVz5E,OACA1oD,YACAhD,WACAyE,cAGF,OACEnvB,EAAAC,EAAAC,cAACouM,EAAah5K,SAAd,CAAuB1zB,MAAOmmI,GAC5B/nI,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACEp0C,GAAIkuI,EACJ1vI,MAAOA,EACPE,YAAaA,EACbkwB,aAAcA,EACdkmB,iBAAkBA,GAElBr4C,EAAAC,EAAAC,cAAA,WACG0vM,GAGH5vM,EAAAC,EAAAC,cAACi3C,EAAcv3C,KAMvBi3I,EAAM10I,UAAN,GAmBe00I,4JChEf,SAASg5D,EAATtxM,GAAuE,IAAjDm5B,EAAiDn5B,EAAjDm5B,QAASjsB,EAAwClN,EAAxCkN,KAAMw4C,EAAkC1lD,EAAlC0lD,gBAAiB6rJ,EAAiBvxM,EAAjBuxM,cAAiBhsM,EAOjE2H,GAAQ,GALVy4C,EAFmEpgD,EAEnEogD,OACA6rJ,EAHmEjsM,EAGnEisM,SACA5rJ,EAJmErgD,EAInEqgD,UACAC,EALmEtgD,EAKnEsgD,QACA4rJ,EANmElsM,EAMnEksM,WAEMC,GAAkChsJ,GAAmB,IAArDgsJ,8BACFC,EAAkB,kBAAMD,GACzBA,EAA8BF,EAAUC,IAE7C,SAASG,EAAeC,GACtB,OAAIhsM,IAAQgsM,GAERpwM,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsnD,YACpBurJ,EACD/vM,EAAAC,EAAAC,cAAA,WAAKF,EAAAC,EAAAC,cAACukD,EAAA,EAAD,CAAc58C,WAAYs8C,MAMnCnkD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsnD,YACrBxkD,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACE/F,UAAWtC,IAAOqnD,eAClB9+C,KAAM2qM,EACNtxM,MAAM,UACN4G,WAAY6vC,IAAM2O,GAClB1lD,QAAS0xM,GAERH,GAEH/vM,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOi7G,UACrBn4G,EAAAC,EAAAC,cAACukD,EAAA,EAAD,CAAc58C,WAAYs8C,MAsBlC,OACEnkD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAjBjC,WACE,OAAItzB,IAAQ2rM,GACHlpM,IAGJzC,IAAQ8/C,GAIR9/C,IAAQggD,GAIN+rJ,EAHEA,EAAe/rJ,GAJf+rJ,EAAeL,EAAc5rJ,MAe1C2rJ,EAAW5qM,aAAe,CACxBwG,KAAM,IAGRokM,EAAW1tM,UAAX,GAOe0tM,QCzEf,SAASQ,EAAT9xM,GAA8D,IAAlCm5B,EAAkCn5B,EAAlCm5B,QAASjsB,EAAyBlN,EAAzBkN,KAAMw4C,EAAmB1lD,EAAnB0lD,gBAAmBngD,EACtB2H,GAAQ,GAAtCukM,EADoDlsM,EACpDksM,WAAYM,EADwCxsM,EACxCwsM,cACZC,GAAiCtsJ,GAAmB,IAApDssJ,6BACFC,EAAkB,kBACtBD,GACEA,EAA6BP,IAmBjC,OACEhwM,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAjBjC,WACE,OAAIrpB,IAAQ2hM,GACHnpM,IAGLwH,IAAQiiM,GACHtwM,EAAAC,EAAAC,cAAA,WAAM8vM,GAIbhwM,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CAAM/F,UAAWtC,IAAO87G,SAAUl6G,MAAM,UAAU2G,KAAM6qM,EAAe9xM,QAASgyM,GAC7ER,KAUTK,EAAiBprM,aAAe,CAC9BwG,KAAM,IAGR4kM,EAAiBluM,UAAjB,GAMekuM,mDC1CF9pK,SAHAu5H,EAAeC,KAGK,ICDjC,SAAS0wC,EAATlyM,GAA6C,IAAjBm5B,EAAiBn5B,EAAjBm5B,QAClBwxK,EADmC3qM,EAARkN,KAC3By9L,WACF9sJ,EAAc/tC,IAAQ66L,GAE5B,OACElpM,EAAAC,EAAAC,cAAC0H,EAAA,EAAD,CACE8vB,QAASA,EACTykB,SAAU+sJ,EAAW9yH,OACrBh6B,YAAaA,IAKnBq0J,EAAiBxrM,aAAe,CAC9BwG,KAAM,IAGRglM,EAAiBtuM,UAAjB,GAKesuM,6PC+BAhuE,MArDf,SAAAlkI,GAOG,IANDmvB,EAMCnvB,EANDmvB,UACMuhH,EAKL1wI,EALD63E,KACA1rD,EAICnsB,EAJDmsB,SACAyE,EAGC5wB,EAHD4wB,WACA80B,EAEC1lD,EAFD0lD,gBACAj4C,EACCzN,EADDyN,QACC0kM,GAC2BzhE,GAAa,IAAjC34D,eADP,IAAAo6H,KAGKt6H,EAAOssD,YAAapsD,GACpBj3C,GAAsBhxB,IAAQqf,GAJnC1pB,EAKiEigD,GAAmB,GAA7E0sJ,EALP3sM,EAKO2sM,6BAA8BC,EALrC5sM,EAKqC4sM,wBAgCtC,OA7BA3gM,oBAAU,WACR,IAAK5B,IAAQ4gI,GAAY,KACTS,EAA2BT,EAAjC74D,KAAmBC,EAAc44D,EAAd54D,UAE3BD,GAAQA,EAAKu5D,YAAY,CAAEt5D,YAAWr/C,OAAQ04G,MAE/C,CAACT,IAuBJ9uI,EAAA,GACKi2E,EADL,CAEE/2C,qBACAyjG,aAxBF,SAA0B9rG,GAAQ,IAE1Bq/C,GAAY0sD,EADO3sD,EAAjB2sD,cACuB/rG,GACzBgsG,EAAcC,YAA2Bj3H,EAASgrB,GAExDtM,EAAS,CAAE0rD,KAAMp/C,EAAQq/C,cACzBu6H,GAA2BA,EAAwB5tE,EAAa3sD,IAmBhE6sD,aAhBF,SAA0B/3F,GAAM,IAAAg4F,EACJ/sD,EAAlBgtD,gBADsB,IAAAD,EACX,GADWA,EAEtBnsG,EAAsBosG,EAAtBpsG,OAAQq/C,EAAc+sD,EAAd/sD,UAEhB3rD,EAAS,CAAEygB,OAAMirC,KAAMp/C,EAAQq/C,cAC/Bs6H,GAAgCA,EAA6BxlK,IAY7Dtf,QATF,WACEsD,QCRWugB,EAvCM,CACnB,CACE7tC,MAAO,cACP61B,QAAS,aACTR,WAAY,qBACZ+K,aAAa,GAEf,CACEpgC,MAAO,YACP61B,QAAS,WACTR,WAAY,YACZ+K,aAAa,GAEf,CACEpgC,MAAO,QACP61B,QAAS,WACTR,WAAY,sBACZ+K,aAAa,GAEf,CACEpgC,MAAO,WACP61B,QAAS,eACTR,WAAY,eACZ+K,aAAa,GAEf,CACEpgC,MAAO,OACP61B,QAAS,WACTR,WAAY,kBACZ+K,aAAa,GAEf,CACEpgC,MAAO,SACP61B,QAAS,SACTR,WAAY,0BACZ+K,aAAa,uOChBjB,SAASwN,EAATlxC,GAaG,IAZD63E,EAYC73E,EAZD63E,KACAu/F,EAWCp3K,EAXDo3K,SACAl2K,EAUClB,EAVDkB,UACAmoB,EASCrpB,EATDqpB,SACA8F,EAQCnvB,EARDmvB,UACAhD,EAOCnsB,EAPDmsB,SACAu5B,EAMC1lD,EAND0lD,gBACAyrB,EAKCnxE,EALDmxE,kBACAr3B,EAIC95C,EAJD85C,iBACAlpB,EAGC5wB,EAHD4wB,WACA2gL,EAECvxM,EAFDuxM,cAGM9jM,EADLzN,EADDsyM,oBAEsCnhK,EADrC40F,EAQG7B,EAAS,CAAE/3G,WAAUu5B,kBAAiBmyB,OAAM1oD,YAAWyB,aAAYnjB,YALrEqzB,EAHDilG,EAGCjlG,mBACA+jG,EAJDkB,EAIClB,SACAN,EALDwB,EAKCxB,aACAI,EANDoB,EAMCpB,aACAr3G,EAPDy4G,EAOCz4G,QAGF,IAAKpsB,GAAa4O,IAAQsnK,GACxB,OACE31K,EAAAC,EAAAC,cAACiiI,EAAA,EAAD,CACEzyD,kBAAmBA,EACnBr3B,iBAAkBA,EAClBxsB,QAASA,IA0Df,IAAMilL,EAAyBpjL,GAC1BA,EAAU7d,QAAU,GACpB6d,EAAU7d,UAAY6d,EAAUL,MAC/Bw3G,EAAiBxkI,IACrBnD,IAAO47G,aACPg4F,GAA0B5zM,IAAO67G,aAGnC,OACE/4G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACE9M,UAAWA,EACXo6B,qBAAsB0M,EACtB3L,UAAU,KACV5uB,QAASA,EACTg3B,eAAgB6hG,EAChB1gI,KAAMwxK,EACNl/I,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBz/C,OAAQksG,EACRzqF,iBAAkBA,EAClBhZ,mBAAoBA,EACpBzX,SAAUA,EACVgO,SAAO,EACPwN,gBAAc,GAEbp3B,EAAQ5D,IA/Ef,SAAsB4uB,GAKpB,SAAS+5K,EAAcnvM,GACrB,OACE5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,OACrB/B,EAAAC,EAAAC,cAACukD,EAAA,EAAD,CAAc58C,WAAYjG,EAAOkG,cAAe,MAR1B,IAapB4vB,EAAYV,EAAZU,QACFs5K,EAAc,CAAEtpM,IAAKgwB,EAASA,WAgBpC,MAfyB,CACvBq4K,SACE/vM,EAAAC,EAAAC,cAAC+wM,EAADhhK,EAAA,CACEgU,gBAAiBA,EACjB6rJ,cAAeA,GACXkB,IAGR9H,WAAYlpM,EAAAC,EAAAC,cAACgxM,EAAqBF,GAClChB,WAAYhwM,EAAAC,EAAAC,cAACixM,EAADlhK,EAAA,CAAkBgU,gBAAiBA,GAAqB+sJ,IACpEjvM,MAAO/B,EAAAC,EAAAC,cAACqM,EAAA,EAAWykM,EAAcD,GACjCK,aAAcpxM,EAAAC,EAAAC,cAACqM,EAAA,EAAWykM,EAAcD,GACxCM,SAAUrxM,EAAAC,EAAAC,cAAC0H,EAAA,EAADqoC,EAAA,GAAc+gK,EAAd,CAA2BztM,GAAG,eAGlBm0B,IAAY13B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GA7BnE,SAAmB91B,GACjB,OAAO5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO27G,aAAcj3G,QA+BhD,WACE,IAAKy9B,EACH,OAAO,KAFiB,IAKlBxvB,EAAyC6d,EAAzC7d,QAASwd,EAAgCK,EAAhCL,MAAOG,EAAyBE,EAAzBF,WAAYG,EAAaD,EAAbC,SAEpC,OACE3tB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE6c,SAAUA,EACVnoB,UAAWA,EACXoQ,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVC,WAAYJ,EACZnb,SAAU6wH,IAkCXmC,IAKP51F,EAAUttC,UAAV,GAoBestC,+lBCtJf,SAASsnG,EAATx4I,GAgBG,IAfDwD,EAeCxD,EAfDwD,MACAE,EAcC1D,EAdD0D,YACAo2C,EAaC95C,EAbD85C,iBACA3tB,EAYCnsB,EAZDmsB,SACAmB,EAWCttB,EAXDstB,QACAuqD,EAUC73E,EAVD63E,KACAxuD,EASCrpB,EATDqpB,SACAnoB,EAQClB,EARDkB,UACAk2K,EAOCp3K,EAPDo3K,SACAjoJ,EAMCnvB,EANDmvB,UACA4jL,EAKC/yM,EALD+yM,oBACA5hI,EAICnxE,EAJDmxE,kBACAzrB,EAGC1lD,EAHD0lD,gBACA6rJ,EAECvxM,EAFDuxM,cACGlwM,EACFC,EAAAtB,EAAA,kMACD,OACEyB,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CAAU51C,MAAOA,EAAOE,YAAaA,GACnCjC,EAAAC,EAAAC,cAAA,WAAMoxM,GACNtxM,EAAAC,EAAAC,cAACi3C,EAADo6J,EAAA,GACM3xM,EADN,CAEEw2E,KAAMA,EACNu/F,SAAUA,EACVl2K,UAAWA,EACXmoB,SAAUA,EACV8F,UAAWA,EACXhD,SAAUA,EACVyE,WAAYtD,EACZo4B,gBAAiBA,EACjB6rJ,cAAeA,EACfz3J,iBAAkBA,EAClBq3B,kBAAmBA,sCAM3BqnE,EAAa9xI,aAAe,CAC1Bg/C,gBAAiB,IAGnB8yF,EAAa50I,UAAb,GAkBe40I,geC1DR,IAIMwpB,EAAapgK,EAAA,GACrBqgK,IADqB,CAExBC,SAAUC,IACVK,OAAQ,CACNC,MAAO,CACL,CACEwwC,gBAAiB,GACjBC,aAAc,GACdC,mBAAoB,EACpBzwC,MAAO,CAAE10H,SAAS,GAClB+0H,UAAW,CAAE/0H,SAAS,IAExBg1H,KAEFC,MAAO,CACL,CACEP,MAAK9gK,EAAA,GACA+gK,IADA,CAEHO,UAAW,EACX3+I,QAAS,EACTkoC,IAAK,EACLm2G,cAAe,EACfO,YAAa,IAEfJ,UAAWK,KAEbC,QAKO+vC,EAAkB,CAC7B99J,YAAagtH,IAAa+wC,wBAC1B1iK,gBAAiB2xH,IAAagxC,6BAGnBC,EAAoB,CAC/Bj+J,YAAagtH,IAAakxC,wBAC1B7iK,gBAAiB2xH,IAAamxC,6BAGnBC,EAAqB,CAChCp+J,YAAagtH,IAAaqxC,yBAC1BhjK,gBAAiB2xH,IAAasxC,8BAInBC,GAAU3gM,EAAA4gM,EAAA,GAnDc,aAoDVP,GADJrgM,EAAA4gM,EAlDY,WAoDVV,GAFFlgM,EAAA4gM,EAjDc,aAoDVV,GAHJU,sOC1DvB,SAASC,EAASpwJ,EAAYh7C,GAA8B,IAAvBqrM,EAAuB9iM,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAClDukD,EAAU9R,EAAV8R,MAEFw+I,EAAiBD,EAAgB,cAAgB,kBACjDE,EAAgBpkM,IAAQ2lD,GAA+B,GAAtBA,EAAMphD,cACvC8/L,EAAWN,EAAWK,GAE5B,OAAOC,EAAWA,EAASF,GAAkBP,EAAmBO,GAGlE,SAASG,EAAkBzwJ,GAAY,IAAA3jD,EACkC2jD,GAAc,GAA1D7rC,EADU9X,EAC7Bq0M,kBAA6B7gM,EADAxT,EACAwT,KAAmBggC,EADnBxzC,EACMs0M,YAErCJ,EAAgBpkM,IAAQ0jC,GAAkCA,EAA3C,IAAApqC,OAA2BoqC,EAA3B,KAGrB,MAAO,CAFc1jC,IAAQgI,GAAuBtE,EAAXsE,EAEpBo8L,GAAc/jM,KAAK,KAG1C,SAASokM,EAAe7vJ,GACtB,OAAI50C,IAAQ40C,GACH,GAGFA,EAGF,SAASuyI,IAAqC,IAAlBvyI,EAAkBxzC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC/C,MAAO,CACL8lL,UAAWud,EAAe7vJ,GAAa76C,IAAI,SAAA85C,GAAU,OAAIA,EAAWkjG,QACpEnxG,OAAQ6+J,EAAe7vJ,GAAa76C,IAAIuqM,GACxC9+J,YAAai/J,EAAe7vJ,GAAa76C,IAAI,SAAC85C,EAAYh7C,GAAb,OAAuBorM,EAASpwJ,EAAYh7C,GAAO,KAChGgoC,gBAAiB4jK,EAAe7vJ,GAAa76C,IAAIkqM,8PCxBrD,SAASS,EAATx0M,GAQG,IAPDkB,EAOClB,EAPDkB,UACAuzM,EAMCz0M,EANDy0M,cACAxnM,EAKCjN,EALDiN,OACAhM,EAICjB,EAJDiB,UACAyzM,EAGC10M,EAHD00M,yBACA16J,EAECh6C,EAFDg6C,WACA26J,EACC30M,EADD20M,eAEA,OAAOtH,kBAAQ,WACb,GAAInsM,EACF,OACEO,EAAAC,EAAAC,cAACiiI,EAAA,EAADgxE,EAAA,GACM3nM,EADN,CAEEhM,UAAWA,EACX+4C,WAAYA,KAKlB,IAXmB66J,GAWCH,GAA4Bzd,GACwBwd,GAAhEzd,EAZW6d,EAYX7d,UAAWthJ,EAZAm/J,EAYAn/J,OAAQJ,EAZRu/J,EAYQv/J,YAAa3E,EAZrBkkK,EAYqBlkK,gBAClCiJ,EAAkB9pC,IAAQ2kM,GAC1B7uM,EAAO,CACX8vC,SACAmiJ,SAAU,CACR,CACEjyL,KAAMoxL,EACN3hJ,YAAa,EACbC,cACA3E,qBAKN,OACElvC,EAAAC,EAAAC,cAACy3C,EAAA,EAADw7J,EAAA,GACM3nM,EADN,CAEE2sC,gBAAiBA,EACjB34C,UAAWA,EACX+4C,WAAYA,IAEZv4C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkrK,YACrBpoK,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOmrK,eAAgB6qC,IAChDlzM,EAAAC,EAAAC,cAAC46K,EAAA,EAAD,CAAKx3K,QDbRkB,EAAA,GACF+7J,EADL,CAEEE,SAASj8J,EAAA,GACJ+7J,EAAcE,SADX,CAENi0B,UAAW,CACT7yL,MAPkB,SAAAsC,GAAI,gBAAAwD,OAAcxD,EAAKvC,aCeJuC,KAAMA,QAK9C,CAAC1E,EAAWuzM,IAGjBD,EAAU5wM,UAAV,GAUe4wM,soBC9Df,SAASM,EAAT90M,GAaG,IAZDkB,EAYClB,EAZDkB,UACAm1L,EAWCr2L,EAXDq2L,cACAhtK,EAUCrpB,EAVDqpB,SACApc,EASCjN,EATDiN,OACAhM,EAQCjB,EARDiB,UACA0zM,EAOC30M,EAPD20M,eACA7sM,EAMC9H,EAND8H,eACAqyC,EAKCn6C,EALDm6C,qBACAJ,EAIC/5C,EAJD+5C,qBACAg7J,EAGC/0M,EAHD+0M,4BACAx0M,EAECP,EAFDO,MACGy0M,EACF1zM,EAAAtB,EAAA,qLAAAi1M,EACyD7e,YAAa8e,EAAA,CACrE7e,gBACAhtK,YACG2rL,IAHGpvM,EADPqvM,EACOrvM,KAAMqyL,EADbgd,EACahd,aAAcb,EAD3B6d,EAC2B7d,SAAUx9I,EADrCq7J,EACqCr7J,gBAMtC,OAAOyzJ,kBAAQ,WACb,OAAInsM,EAEAO,EAAAC,EAAAC,cAACiiI,EAAA,EAADsxE,EAAA,CACEj0M,UAAWA,EACX84C,qBAAsBg7J,GAClB9nM,IAMRxL,EAAAC,EAAAC,cAACy3C,EAAA,EAAD87J,EAAA,GACMjoM,EADN,CAEEhM,UAAWA,EACX24C,gBAAiBA,EACjB9xC,eAAgBA,EAChBqyC,qBAAsBA,EACtBJ,qBAAsBA,EACtBx5C,MAAOA,EACPyE,GAAG,oBAEHvD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkrK,YACrBpoK,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOmrK,eAAgB6qC,IAChDlzM,EAAAC,EAAAC,cAAC46K,EAAA,EAAD,CAAM16K,IAAKu1L,EAAUryL,QAASkzL,EAAcryL,KAAMA,QAKzD,CAAC1E,EAAW0E,EAAMqyL,IAGvB6c,EAAgBpuM,aAAe,CAC7B8vL,eAAgB30B,IAChBvsH,YAAaysH,IACb1sH,YAAa,EACbqhJ,iBAAkB,EAClBC,eAAgB,EAChBC,YAAa,EACbC,iBAAkB,EAClBX,oBAAoB,EACpBY,WAAY,KAGdge,EAAgBlxM,UAAhB,GA0BekxM,uQC3Ff,SAASK,EAATn1M,GAOG,IANDkB,EAMClB,EANDkB,UACA0E,EAKC5F,EALD4F,KACAqH,EAICjN,EAJDiN,OACA03G,EAGC3kH,EAHD2kH,UACAuD,EAECloH,EAFDkoH,kBACAjnH,EACCjB,EADDiB,UAEM24C,EAAkB9pC,IAAQlK,GAEhC,OAAOynM,kBAAQ,WACb,OAAInsM,EACKO,EAAAC,EAAAC,cAACiiI,EAAA,EAADwxE,EAAA,CAAoBn0M,UAAWA,GAAegM,IAIrDxL,EAAAC,EAAAC,cAACy3C,EAAA,EAADg8J,EAAA,GACMnoM,EADN,CAEEhM,UAAWa,IAAWnD,IAAO6H,UAAWvF,GACxC24C,gBAAiBA,IAEjBn4C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkrK,YACrBpoK,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOmrK,gBACrBroK,EAAAC,EAAAC,cAACwmH,EAAA,EAAD,CACEviH,KAAMA,EACN++G,UAAWA,EACX0wF,eAAgBntF,EAChB3E,iBAAiB,QAM1B,CAACriH,EAAW0E,IAGjBuvM,EAAevxM,UAAf,GASeuxM,QCxDf5yM,EAAAC,EAAAC,EAAA,sBAAA6yM,IAAA/yM,EAAAC,EAAAC,EAAA,sBAAA8yM,IAAAhzM,EAAAC,EAAAC,EAAA,sBAAA+yM,wFCMaC,EAAsB,WACjC,IAAMhyM,EACJhC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO6E,OAArB,sCACA/B,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOq5D,UAArB,wEAMJ,OAAOxyD,YAAM/B,EAAN+B,uBCdIkwM,EAAgB,SAAAh9L,GAAG,OAAI,WAClC,IAAMF,EAAOC,EAAE0oJ,IAAIzoJ,GAYnB,OAAOK,QAAQC,QAAQR,GACpBS,KAXe,SAAAjZ,GAAA,OAAAA,EAAG21M,aAUd,MARW,SAACnwM,GACjB,GAAIowM,YAAgBpwM,GAClB,MAAO,GAGT,MAAMA,w9BCaKqwM,MAlBf,SAA2Bn9L,GAAK,IAAA/H,EAAAC,EACIC,mBAAS,IADb,GACvBilM,EADuBnlM,EAAA,GACZolM,EADYplM,EAAA,GAAAqlM,EAEAC,YAAkB,CAAEC,YAAaR,EAAch9L,KAArEk1C,EAFsBooJ,EAEtBpoJ,OAAQ1sD,EAFc80M,EAEd90M,UAUhB,OARAwQ,oBAAU,WACRk8C,IAAS30C,KAAK,SAAAo7E,GAAQ,OAAI0hH,EAAa1hH,MACtC,IAMI,CACLnzF,YACAi1M,gBANsB,WACtBL,EAAY31K,OAAOm+E,KAAKw3F,EAAW,UAAYL,OCepCW,IAff,SAAAp2M,GAAqG,IAArE0Y,EAAqE1Y,EAArE0Y,IAAqEg0F,EAAA1sG,EAAhEwD,aAAgE,IAAAkpG,EAAxD,kBAAwDA,EAAApsG,EAAAN,EAArCO,aAAqC,IAAAD,EAA7B,QAA6BA,EAApBW,EAAoBjB,EAApBiB,UAAoBo1M,EAC5DR,EAAkBn9L,GAAjDxX,EAD2Fm1M,EAC3Fn1M,UAAWi1M,EADgFE,EAChFF,gBAEnB,OACE10M,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAOA,EACPN,QAASk2M,EACT91M,SAAUa,EACVD,UAAWA,GAEVuC,oIChBP,SAAS48H,EAATpgI,GAUG,IATDqiB,EASCriB,EATDqiB,MACAphB,EAQCjB,EARDiB,UACAi4K,EAOCl5K,EAPDk5K,UACA71K,EAMCrD,EANDqD,MACA6J,EAKClN,EALDkN,KACA+uB,EAICj8B,EAJDi8B,cACAF,EAGC/7B,EAHD+7B,UACA/6B,EAEChB,EAFDgB,SACAs1M,EACCt2M,EADDs2M,UAEMC,EAAsC,oBAAbv1M,EACzBw1M,EAAmB10M,IACvBb,EACAi4K,IAAc/gB,KAAoBx5J,IAAO83M,cAG3C,OACEh1M,EAAAC,EAAAC,cAAA,MACEV,UAAWu1M,EACXn0L,MAAOA,EACPxgB,IAAKy0M,GAEJC,EAAkBv1M,EAASqC,EAAO6J,EAAM,CAAE+uB,gBAAeF,cAAe14B,GAK/E+8H,EAAQ15H,aAAe,CACrBwyK,UAAW9gB,KAGbh4B,EAAQx8H,UAAR,GAmBew8H,02CCtDTs2E,wSAAYhuL,6QAChB7mB,aAkDA80M,OAAS,SAAC90M,GACRy9B,EAAKz9B,IAAMA,yDAjDb,SAAwB+zB,GACtB,IAAK4J,KAAK39B,IACR,OAAO,KAMT,KAHuB29B,KAAKv7B,MAApB45B,aAC8BjI,EAAUiI,YAG9C,OAAO,KATwB,IAAA+4K,EAYPp3K,KAAK39B,IAAIk+G,wBAEnC,MAAO,CAAEvuE,MAdwBolK,EAYzBplK,MAEQtM,OAdiB0xK,EAYlB1xK,0CAKjB,SAAmBtP,EAAWuO,EAAWxG,GAAU,IACzCE,EAAe2B,KAAKv7B,MAApB45B,WAER,GAAK2B,KAAK39B,IAAV,CAIA,GAAI87B,EAAU,CACZ,GAAI6B,KAAK39B,IAAIwgB,MAAMmvB,QAAU7T,EAAS6T,MACpC,OAKF,OAFAhS,KAAK39B,IAAIwgB,MAAMmvB,MAAf,GAAApoC,OAA0Bu0B,EAAS6T,MAAnC,WACAhS,KAAK39B,IAAIwgB,MAAM6iB,OAAf,GAAA97B,OAA2Bu0B,EAASuH,OAApC,OAIErH,GAKwB,MAAxB2B,KAAK39B,IAAIwgB,MAAMmvB,QAKnBhS,KAAK39B,IAAIwgB,MAAMw0L,eAAe,UAC9Br3K,KAAK39B,IAAIwgB,MAAMw0L,eAAe,iCAOhC,WAAS,IACC71M,EAAaw+B,KAAKv7B,MAAlBjD,SAER,OACES,EAAAC,EAAAC,cAACm1M,EAADl1M,EAAA,GAAa49B,KAAKv7B,MAAlB,CAAyBqyM,UAAW92K,KAAKm3K,SACtC31M,2FAMT01M,EAAIhwM,aAAe,CACjBm3B,YAAY,GAGd64K,EAAI9yM,UAAJ,GAKe06B,kBAAqBo4K,uXC3EpC,SAASlvD,EAATxnJ,GAA2D,IAAzC+8B,EAAyC/8B,EAAzC+8B,cAAe/7B,EAA0BhB,EAA1BgB,SAAaK,EAAaC,EAAAtB,EAAA,8BACnD+2M,EAAkBh6K,EAAgB25K,EAAMt2E,EAE9C,OACE3+H,EAAAC,EAAAC,cAACo1M,EAAoB11M,EAClBL,GAKPwmJ,EAAO5jJ,UAAP,GAKe06B,gBAAqBkpH,yECb7B,SAASlhF,IAAuB,IAAX9yD,EAAWtC,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAE3B8lM,EAAS,IAAIC,OADG,CAAC,KAAM,OAAQ,OAAQ,WACL9mM,KAAK,KAAM,KAOnD,OALiBqD,EACdggE,QAAQ,cAAe,IACvBA,QAAQwjI,EAAQ,IAChBxjI,QAAQ,UAAW,KAAKzjE,OAEXK,MAAM,KACnBvG,IAAI,SAAAgB,GAAC,OAAIA,EAAE,KACXjB,MAAM,EAAG,GACTuG,KAAK,IACLO,cAtBLnO,EAAAC,EAAAC,EAAA,sBAAA6jE,kGCAA,IAAA4wI,EAAA30M,EAAA,IAOQsrH,EAAkB0zC,IAAlB1zC,IAAK2zC,EAAaD,IAAbC,KAAM21C,EAAO51C,IAAP41C,GAsBJ10M,EAAA,GACb20M,WAVF,SAAoBt/H,GAClB,OAAQA,GACN,KAAK0pF,EACH,OAAO3zC,EACT,QACE,OAAO2zC,IAMX61C,sBAtBF,SAA+Bv/H,GAC7B,OAAQA,GACN,KAAK+1C,EACH,OAAO2zC,EACT,KAAKA,EACH,OAAO21C,EACT,QACE,OAAOtpF,kbCeEypF,IA5Bf,SAAAt3M,GAAsF,IAA9Dy2H,EAA8Dz2H,EAA9Dy2H,UAAW6oD,EAAmDt/K,EAAnDs/K,SAAUi4B,EAAyCv3M,EAAzCu3M,6BAA8B7pL,EAAW1tB,EAAX0tB,QACnE8pL,GAAiB1nM,IAAQwvK,KAAcA,EAASC,gBAChDk4B,EAAkBtnJ,kBAAO,GAE/B,SAASkmE,IAA6B,IAAb3iD,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAChC,OAAOulH,EAAS70H,EAAA,GACX8rB,EADW,GAEXgmD,IAFE,MAGE,SAACluE,GAER,MADA+xM,GAAgCA,IAC1B/xM,IAeV,OAXAkM,oBAAU,WACJ+lM,EAAgBnmM,QAClBmmM,EAAgBnmM,SAAU,EAIvBkmM,GACHnhF,KAED,CAACmhF,IAEG,CAAEnhF,6VCrBX,SAASqhF,EAAT13M,GAiBG,IAhBD6lI,EAgBC7lI,EAhBD6lI,GACAjgI,EAeC5F,EAfD4F,KACA+xM,EAcC33M,EAdD23M,UACA/a,EAaC58L,EAbD48L,gBACAnoD,EAYCz0I,EAZDy0I,aACAmjE,EAWC53M,EAXD43M,gBACAjkE,EAUC3zI,EAVD2zI,aACAxkH,EASCnvB,EATDmvB,UACAwuK,EAQC39L,EARD29L,aACAF,EAOCz9L,EAPDy9L,eACAp6I,EAMCrjD,EANDqjD,SACAo5I,EAKCz8L,EALDy8L,iBACA5kH,EAIC73E,EAJD63E,KACAggI,EAGC73M,EAHD63M,cACAC,EAEC93M,EAFD83M,oBAGMC,EAAapkE,IAAiBc,GAAgBmjE,GAE9C1jM,EAAc,CAClB2xH,KACAjgI,OACAupB,YACAk0B,YAGI20J,EAAkB,CACtBL,YACA/a,kBACAnoD,eACAmjE,kBACAjkE,eACA8oD,mBACAK,YAjBD98L,EADD88L,aAqBMmb,EAAiB,CACrBpyE,KACA83D,eACAF,kBAGF,OACEp8K,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAW,kBAAmBnD,IAAOghL,iBAClDm4B,GAAuBA,EAAoB,CAAElb,oBAE7Cib,GACCx2L,EAAA3f,EAAAC,cAACk2M,EAAD,CAAejb,gBAAiBA,IAGlCv7K,EAAA3f,EAAAC,cAACu2M,EAAA,EAADt2M,EAAA,GAAesS,EAAiB+jM,IAE/BF,GACC12L,EAAA3f,EAAAC,cAACu2M,EAAA,EAADt2M,EAAA,GAAgBsS,EAAhB,CAA6B2jE,KAAMA,GAAUmgI,KAMrDN,EAAchxM,aAAe,CAC3B+2L,gBAAgB,EAChBp6I,SAAU,IAGZq0J,EAAc9zM,UAAd,GAmBe8zM,4kCCtFA,SAASS,EAATn4M,GAeZ,IAdDo4M,EAcCp4M,EAdDo4M,aACA3hF,EAaCz2H,EAbDy2H,UACAprC,EAYCrrF,EAZDqrF,cACAktF,EAWCv4K,EAXDu4K,UACAo/B,EAUC33M,EAVD23M,UACAzd,EASCl6L,EATDk6L,uBACAme,EAQCr4M,EARDq4M,sBACAC,EAOCt4M,EAPDs4M,oBACAre,EAMCj6L,EANDi6L,gBACAE,EAKCn6L,EALDm6L,mBACAjuB,EAIClsK,EAJDksK,WAICqsC,EAAAv4M,EAHDw4M,0BAGC,IAAAD,EAHoBE,IAGpBF,EAFDG,EAEC14M,EAFD04M,uBACAzoC,EACCjwK,EADDiwK,gBAEM0oC,EAAqB,eAAApzM,EAAA2L,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAKvB,GALuB0nM,EAAArzM,EACzB+tE,cADyB,IAAAslI,EAChB,GADgBA,EAAAC,EAAAtzM,EAEzBqnC,YAFyB,IAAAisK,EAElB,EAFkBA,EAGzBhhI,EAHyBtyE,EAGzBsyE,KACAC,EAJyBvyE,EAIzBuyE,UAJyB,OAKhB2+C,EAAU,CACnB7pF,OACAirC,OACAC,YACA6/H,YACAlvE,WAAYqwE,IAAM5sC,EAAY,CAAE11I,YAAa88C,MAC5Cr6D,KAAK,kBAAMq/L,EAAoBhlI,KANvB,MAOF,SAAC9tE,GAGN,MAFA6lF,GAAiBA,EAAc28C,yBAEzBxiI,KAGJuzM,EAA4B,WAKvB,IAAAtzM,EAAAyL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAP,GAJFoiE,EAIS7tE,EAJT6tE,OACA1mC,EAGSnnC,EAHTmnC,KACAkrC,EAESryE,EAFTqyE,UACAD,EACSpyE,EADToyE,KAEMg4F,EAAe,CAAEv8F,SAAQ1mC,OAAMkrC,YAAWD,QAEhD,OAAIugI,EACKA,EAAavoC,GACjB52J,KAAK,SAACyU,GACLysK,GAAsBA,EAAmBzsK,KAIxCirL,EAAmB9oC,IA0BtBmpC,EAA6B,SAAAz2K,GAAA,IAC/Bu9C,EAD+Bv9C,EAC/Bu9C,SAAUlzC,EADqBrK,EACrBqK,KAAMirC,EADet1C,EACfs1C,KAAMC,EADSv1C,EACTu1C,UADS,OAE9B0gI,EAAmB14H,GACrB7mE,KA1B0B,SAAC2zB,EAAMirC,EAAMC,GAAb,OAA2B,SAACxE,GAAW,IAC3Dm1D,EAD2D73H,EAC7CspL,EAAuB,CAAC5mH,GAASqkI,GADY,MAAAsB,EAEzCxwE,EAAjB1jI,eAF0D,IAAAk0M,EAEhD,GAFgDA,EAAAC,EAG9Bn0M,EAA5ByxB,YAAakD,OAH6C,IAAAw/K,EAGrC,GAHqCA,EAKtDp5H,GAAaxM,GAAU,IAA3BtuE,GAKR,OAJAi1L,GAAmBA,EAAgBn6G,GAEnCu4H,EAAsB5vE,GAEfhS,EAAU,CACf7pF,OACA+qK,YACA9/H,OACAC,YACA2wD,WAAY,CACVjyG,YAAakD,EAEb30B,QAASA,EAAQA,SAAWA,MAQ1Bo0M,CAAqBvsK,EAAMirC,EAAMC,IADpC,MAEI,SAACtyE,GAIN,MAHAkzM,IACAK,IAEMvzM,KAaVkM,oBAAU,WACR,IAXuBm+J,EAAiBltI,EAChCm9C,EAAUxM,EAUZ8lI,EAAYC,IAAWppC,IAAoBA,IAIjD,OAdQnwF,GADgCn9C,GAAjBktI,EAaPupC,IAZ6B,IAArCt5H,SAAUxM,EADsB3wC,EACtB2wC,OAEdwM,EAAiBk5H,EAA2BnpC,GAE5Cv8F,EAAeqlI,EAAmB9oC,GAE/BkpC,EAA0BlpC,GAQ1B,WACLwpC,IAAW9gC,IAAcA,IACzB0hB,GAAmBA,MAEpB,kSCvEUqf,IAnCf,SAAAt5M,GAAwD,IAAzB6+K,EAAyB7+K,EAAzB6+K,sBACvBmB,GAAwBlwK,IAAQ+uK,GADgB10J,EAMlDpJ,cAHW+9J,EAHuC30J,EAGpD9T,YACakjM,EAJuCpvL,EAIpD7T,YACYkjM,EALwCrvL,EAKpDhJ,WAGF,SAASi/B,IAAqB,IACpBngD,GAAY4+K,GAAyB,IAArC5+K,QACRs5M,IAEAt5M,GAAWA,EAAO+f,WAAP,EAAA9O,WAgBb,MAAO,CACL2tK,sBAbKmB,EAILp+K,EAAA,GACKi9K,EADL,CAEEC,mBACA7+K,QAASmgD,EACT8+H,mBAAoBq6B,IAPb,GAaTr6B,mBAAoBq6B,EACpBE,kBAAmBD,4MCnCjBE,SAAe,CACnBp2M,MAAO,cACP61B,QAAS,OACTR,WAAY,cACZ+K,aAAa,IAaTi2K,EAAa,CACjBr2M,MAAO,OACP61B,QAAS,OACTR,WAAY,OACZ+K,aAAa,GAETk2K,EAAgB,CACpBt2M,MAAO,WACP61B,QAAS,UACTuK,aAAa,GAETm2K,EAAa,CACjBv2M,MAAO,OACP61B,QAAS,OACTuK,aAAa,GAETo2K,EAAgB,CACpBx2M,MAAO,UACP61B,QAAS,UACTuK,aAAa,GAYFq2K,EAAsB,CACjCL,EArCoB,CACpBp2M,MAAO,UACP61B,QAAS,UACTuK,aAAa,GAoCbi2K,EACAC,EACAC,EACAC,GAGa3oK,EAlBM,CACnBuoK,EAlCkB,CAClBp2M,MAAO,QACP61B,QAAS,QACTR,WAAY,YACZ+K,aAAa,GAgCbi2K,EACAC,EACAC,EACAC,GCrCaE,MAJf,SAAgCC,GAC9B,OAAOnqM,IAAQmqM,GAAmB9oK,EAAe4oK,GCUpCG,EAfM,CACnB9xE,cAAe,CACb5kI,MAAO,kBAET22M,UAAW,CACT32M,MAAO,cAETswD,WAAY,CACVtwD,MAAO,eAET6J,KAAM,CACJ7J,MAAO,4OCTJ,IAAM42M,EAAuB7xL,IAAMC,gBAY3B6xL,MAVf,SAA2B3xL,GACzB,OAAO,SAAgCzkB,GACrC,OACExC,EAAAC,EAAAC,cAACy4M,EAAqBzxL,SAAtB,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,kDCNhCyiE,EAAA,CACbkJ,0BAA2B/uF,YAAM,mkDC8KpB80M,MA1Kf,SAAAt6M,GAWG,IAVDgF,EAUChF,EAVDgF,GACA8jC,EASC9oC,EATD8oC,KACAyxK,EAQCv6M,EARDu6M,oBACAC,EAOCx6M,EAPDw6M,mBACAvxE,EAMCjpI,EANDipI,gBACAd,EAKCnoI,EALDmoI,mBACAglE,EAICntM,EAJDmtM,YACAsN,EAGCz6M,EAHDy6M,qBACAC,EAEC16M,EAFD06M,8BACAC,EACC36M,EADD26M,YAEMC,GAAsBL,EAAoB1wM,IAAI,SAAA1J,GAAI,OAAIA,EAAK6E,MAAO,IAAI6yE,OACtEgjI,EAAmB,CAAE5lL,UAAW,KAAMC,QAAS,MAFpDvkB,EAAAC,EAIuBC,mBAAS,IAJhC,GAIMxD,EAJNsD,EAAA,GAIYmjF,EAJZnjF,EAAA,GAAA+I,EAAA9I,EAKyCC,mBAAS,IALlD,GAKMu3H,EALN1uH,EAAA,GAKqB2uH,EALrB3uH,EAAA,GAAAgT,EAAA9b,EAM6CC,mBAAS,IANtD,GAMMopM,EANNvtL,EAAA,GAMuBouL,EANvBpuL,EAAA,GAAAE,EAAAhc,EAOiCC,mBAASgqM,GAP1C,GAOMV,EAPNvtL,EAAA,GAOiBmuL,EAPjBnuL,EAAA,GAAAmhD,EAAAn9D,EAQyCC,mBAAS+pM,GARlD,GAQMI,EARNjtI,EAAA,GAQqBktI,EARrBltI,EAAA,GAAAG,EAAAt9D,EASuCC,oBAAS,GAThD,GASMqqM,EATNhtI,EAAA,GASoBitI,EATpBjtI,EAAA,GAWKktI,GAAsBJ,GAAiB,IAAInjI,OAC3C1G,GAAqBtrE,IAAQuiI,KAC7BviI,IAAQo0M,KACRp0M,IAAQwH,KACR8lB,IAAQgnL,EAAWU,KACnB1nL,IAAQioL,EAAoBR,GAE5BS,EAAaC,EAAA,CACjBt2M,MACGmoM,EAFc,CAGjBrkK,OACAz7B,OACA+6H,gBACA+xE,YACAa,kBAGF,SAASpyE,IAAoC,IAAvB2yE,EAAuBrqM,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACvC,GAAIlM,EAAI,KACiBw2M,EAAwBD,EAAvCnzE,cAGR,OAFA0yE,EAAmB9jK,IAAMwkK,GAAuBpzE,EAAgBozE,GAEzDhB,EAAmBc,EAAA,GAAKD,EAAN,GAAwBE,GAAoBpzE,GAA9D,MACE,SAAC3iI,GAEN,MADA6lF,EAAckJ,4BACR/uF,IAIZ,OAAOuT,QAAQC,QAAQ,IAsCzB,SAASyiM,EAAkBC,GACzBT,EAAiBS,GArBnBhqM,oBAAU,WACRipM,GAPF,WACE/xE,EADgD13H,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,IAE5CiqM,GAAgB,GAKDQ,IACd,CAACtuM,EAAM2tM,EAAeb,EAAWQ,EAAa31M,IAEjD0M,oBAAU,WACR,IAAMkqM,EAAsBrB,EACzBtqM,OAAO,SAAA/C,GAAI,WAAI8tM,EAAc/kL,QAAS/oB,EAAKlI,MAC3C6E,IAAI,SAAAqD,GAAI,OAAIA,EAAK2uM,cAEpBpB,EAAqBxxE,EAAiB,cAAe2yE,IACpD,CAACZ,IAEJtpM,oBAAU,WAAM,IACNujB,EAAuBklL,EAAvBllL,UAAWC,EAAYilL,EAAZjlL,SAEfD,GAAaC,IACfwlL,EAA8BzxE,EAAiBh0G,EAAWC,IAE3D,CAACilL,IAyBJ,IAKM2B,EAAoB,WACxBzzE,EAAiB,IAEjB4xE,GAAmBrxE,EAAa,CAAER,cAAe,MA2BnD,MAAO,CACL/6H,OACA+6H,gBACA6xE,kBACAE,YACAa,gBACA7pI,oBACA4qI,YA7DF,SAAyBC,EAAQlqM,GAO/B2pM,EANoB3pM,EAAMvK,OAAlBuf,QAEa,GAAA1d,OAAA6W,EACb+6L,GADa,CACEgB,IACnBhB,EAAc/qM,OAAO,SAAA/C,GAAI,OAAIA,IAAS8uM,MAyD1CC,gBApDF,SAA6BnqM,GAM3B2pM,EALoB3pM,EAAMvK,OAAlBuf,QAEJyzL,EAAoB1wM,IAAI,SAAA1J,GAAI,OAAIA,EAAK6E,KACrC,KAiDJk2M,eACAgB,aAAcf,EACdE,gBACAc,kBAlCF,SAA+BrnL,GAC7BimL,EAAa,SAAAnlL,GAAS,OAAA0lL,EAAA,GACjB1lL,EADiB,CAEpBX,UAAWovC,YAAWvvC,QAgCxBsnL,gBA5BF,SAA6BtnL,GAC3BimL,EAAa,SAAAnlL,GAAS,OAAA0lL,EAAA,GACjB1lL,EADiB,CAEpBV,QAASmvC,YAAWvvC,QA0BtBi0G,sBAjDgC,SAACj3H,GAAU,IACnCzO,EAAUyO,EAAMvK,OAAhBlE,MACRglI,EAAiBhlI,IAgDjBg5M,aAvCuB,SAAAh4L,GAAM,OAAIyvE,EAAQzvE,IAwCzC8H,SAAUy8G,EACVtzH,SA9GF,WACEszH,IAAe3vH,KAAK,WACdmvH,GACFqyE,EAAqBxxE,EAAiB,UAAWb,MA4GrDx3G,WA1BF,WACEmqL,EAAaF,GACbI,EAAiBL,GACjBO,GAAgB,GAChBrnH,EAAQ,IACRgoH,KAsBA5xL,cAAe4xL,OC1Kc/wM,IAAU6tD,MAAM,qGCOjD,SAASo4I,GAAThxM,GAA0C,IAAjBm5B,EAAiBn5B,EAAjBm5B,QAAiB5zB,EAAAvF,EAARkN,MACC,GAAzBwL,EADgCnT,EAChCmT,IAAK0iE,EAD2B71E,EAC3B61E,QAEb,SAASkhI,IACP,IAAM75J,EAAY,CAAEH,OAAQ84B,GAE5B,OACE35E,EAAAC,EAAAC,cAAA,QACEV,UAAWtC,KAAOi6H,YAClBp2E,wBAAyBC,IA4B/B,OACEhhD,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAxBjC,WACE,GAAIrpB,IAAQsrE,GACV,OAAO9yE,IAGT,GAAIwH,IAAQ4I,GACV,OAAO4jM,IAGT,IAAMC,EAAqB,MAAX7jM,EAAI,GAEpB,OACEjX,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,UACN2G,KAAMwR,EACNvR,YAAao1M,EACbt7M,UAAWtC,KAAOg6H,WAEjB2jF,OAUTtL,GAActqM,aAAe,CAC3BwG,KAAM,IAGR8jM,GAAcptM,UAAd,GAKeotM,UCvDf,SAASwL,GAATx8M,GAAsD,IAA9Bm5B,EAA8Bn5B,EAA9Bm5B,QAASjsB,EAAqBlN,EAArBkN,KAAMuvM,EAAez8M,EAAfy8M,YAC7Bt8M,GAAS+M,GAAQ,IAAjB/M,KAQR,OACEsB,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAPjC,WACE,IAAMujL,EAAcD,EAAYvoL,KAAK,SAAAzuB,GAAA,OAAAA,EAAGT,KAAgB7E,KAAS,GAEjE,OAAOu8M,EAAYp5M,OAASo5M,EAAYb,aAAevzM,MAQ3Dk0M,GAAa91M,aAAe,CAC1BwG,KAAM,IAGRsvM,GAAa54M,UAAb,GAMe44M,oBC5BFG,GAAkB,CAAC,kBAAmB,qBCUnD,SAASC,GAAT58M,GAA6D,IAAtCm5B,EAAsCn5B,EAAtCm5B,QAASjsB,EAA6BlN,EAA7BkN,KAAM2vM,EAAuB78M,EAAvB68M,oBAAuBt3M,EAC9B2H,GAAQ,GAA7BwL,EADmDnT,EACnDmT,IAAKlV,EAD8C+B,EAC9C/B,MAAOrD,EADuCoF,EACvCpF,KA2BpB,OACEsB,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GA1BjC,WACE,GAAIrpB,IAAQtM,GACV,OAAO8E,IAGT,IAAMw0M,EAAgBD,GAAuBp7M,EAAAC,EAAAC,cAACukD,GAAA,EAAD,CAAc58C,WAAY9F,EAAO+F,cAAe,MAE7F,GAAIuG,IAAQ4I,GACV,OAAOokM,EAGT,IAAMP,GAAO,IAAGI,GAAgB1mL,QAAS91B,GAEzC,OACEsB,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,UACN2G,KAAMwR,EACNvR,YAAao1M,EACbt7M,UAAWtC,KAAOg6H,WAEjBmkF,KAUTF,GAAYl2M,aAAe,CACzBwG,KAAM,IAGR0vM,GAAYh5M,UAAZ,GAMeg5M,mQCKA14E,OAtDf,SAAAlkI,GAWG,IAVK0wI,EAUL1wI,EAVD63E,KACAklI,EASC/8M,EATD+8M,uBACA5tL,EAQCnvB,EARDmvB,UACAhD,EAOCnsB,EAPDmsB,SACA88G,EAMCjpI,EANDipI,gBACAiyE,EAKCl7M,EALDk7M,aACAgB,EAICl8M,EAJDk8M,aACA/qK,EAGCnxC,EAHDmxC,aACA6rK,EAECh9M,EAFDg9M,iBACAC,EACCj9M,EADDi9M,kBAEMplI,EAAOssD,aAAa,CAAEpsD,QAASmjI,GAAgB6B,GAE/Cj8K,GAAsBhxB,IAAQqf,GAgCpC,OA7BAzd,oBAAU,WACR,IAAK5B,IAAQ4gI,GAAY,KACTS,EAA2BT,EAAjC74D,KAAmBC,EAAc44D,EAAd54D,UAE3BD,GAAQA,EAAKu5D,YAAY,CAAEt5D,YAAWr/C,OAAQ04G,MAE/C,CAACT,IAuBGpM,GAAA,GACFzsD,EADL,CAEE/2C,qBACAyjG,aAxBF,SAA0B9rG,GACxByjL,GAAa,GADmB,IAI1BpkI,GAAY0sD,EADO3sD,EAAjB2sD,cACuB/rG,GACzBgsG,EAAcC,aAA2BvzF,EAAc1Y,GAE7DtM,EAAS,CAAE0rD,KAAMp/C,EAAQq/C,cACzBmlI,EAAkBh0E,EAAiBxE,EAAa3sD,IAiBhD6sD,aAdF,SAA0B/3F,GACxBsvK,GAAa,GADiB,IAAAt3E,EAGJ/sD,EAAlBgtD,gBAHsB,IAAAD,EAGX,GAHWA,EAItBnsG,EAAsBosG,EAAtBpsG,OAAQq/C,EAAc+sD,EAAd/sD,UAEhB3rD,EAAS,CAAEygB,OAAMirC,KAAMp/C,EAAQq/C,cAC/BklI,EAAiB/zE,EAAiBr8F,imBCxBtC,SAASsE,GAATlxC,GAyBG,IAxBDqpB,EAwBCrpB,EAxBDqpB,SACAnoB,EAuBClB,EAvBDkB,UACAg8M,EAsBCl9M,EAtBDk9M,QACA/tL,EAqBCnvB,EArBDmvB,UACAstL,EAoBCz8M,EApBDy8M,YACAxzE,EAmBCjpI,EAnBDipI,gBACAqpE,EAkBCtyM,EAlBDsyM,mBACAx4J,EAiBC95C,EAjBD85C,iBACAs3B,EAgBCpxE,EAhBDoxE,0BACAD,EAeCnxE,EAfDmxE,kBACA6pI,EAcCh7M,EAdDg7M,cACApqL,EAaC5wB,EAbD4wB,WACAusL,EAYCn9M,EAZDm9M,uBACAh1E,EAWCnoI,EAXDmoI,mBACAtwD,EAUC73E,EAVD63E,KACAs1H,EASCntM,EATDmtM,YACAhhL,EAQCnsB,EARDmsB,SACAmmH,EAOCtyI,EAPDsyI,kBACA3yD,EAMC3/E,EAND2/E,eACAD,EAKC1/E,EALD0/E,oBACAu6D,EAICj6I,EAJDi6I,uBACA5xD,EAGCroF,EAHDqoF,cACAG,EAECxoF,EAFDwoF,yBACGnnF,EACFC,GAAAtB,EAAA,kZACKo9M,EAAsB9K,GAAsBnhK,EADjD40F,EAQG7B,GAASxyF,GAAA,CACXP,aAAcisK,EACdjuL,YACAjuB,YACA+nI,kBACApxD,OACAs1H,cACAhhL,YACGmmH,EARO,GASPjxI,IAbHy/B,EAJDilG,EAICjlG,mBACA+jG,EALDkB,EAKClB,SACAN,EANDwB,EAMCxB,aACAI,EAPDoB,EAOCpB,aAaF,IAAKzjI,IAAc4O,IAAQotM,IAAYptM,IAAQkrM,IAC7C,OACEv5M,EAAAC,EAAAC,cAACiiI,EAAA,EAAD,CACEzyD,kBAAmBA,EACnBr3B,iBAAkBA,EAClBs3B,0BAA2BA,EAC3B9jD,QAASsD,IA4Ef,IAAM01G,EAAiBxkI,IACrBnD,KAAO47G,aACPprF,GACGA,EAAU7d,QAAU,GACpB6d,EAAU7d,UAAY6d,EAAUL,OAChCnwB,KAAO67G,aAGZ,OACE/4G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACE9M,UAAWA,EACXo6B,qBAAsB47B,IACtB76B,UAAU,KACV5uB,QAAS2vM,EACT34K,eAAgB6hG,EAChB1gI,KAAMs3M,EACNhlL,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBz/C,OAAQksG,EACRzjG,mBAAoBA,EACpBzX,SAAUA,EACVgO,SAAO,GAEN+lL,EAAoBvzM,IA/F3B,SAAsB4uB,GAAQ,IACpBU,EAAYV,EAAZU,QAMFs5K,EAAc,CAClBt5K,UACAhwB,IAAKgwB,GAuCP,OApCauY,GAAA,CACXvxC,KAAMsB,EAAAC,EAAAC,cAAC07M,GAAD3rK,GAAA,GAAkB+gK,EAAlB,CAA+BgK,YAAaA,KAClDj5M,MAAO/B,EAAAC,EAAAC,cAAC27M,GAAgB7K,GACxBrB,QACE3vM,EAAAC,EAAAC,cAACgxH,EAAA,EAAD,CACExpH,IAAKgwB,EACLA,QAASA,EACTgvG,mBAAoBA,EACpB3/C,yBAA0BA,IAG9Bn7E,KACE5L,EAAAC,EAAAC,cAAC8sK,EAAA,EAAD,CACEtlK,IAAKgwB,EACLA,QAASA,EACTj4B,UAAWmnF,IAGfthB,QACEtlE,EAAAC,EAAAC,cAACk4I,EAAA,EAAD,CACE1wI,IAAKgwB,EACLA,QAASA,EACTsjL,YAAaA,EACbt0E,mBAAoBA,EACpBxoD,eAAgBA,EAChBD,oBAAqBA,EACrBu6D,uBAAwBA,EACxB5wH,SAAUA,EACVywH,WAAW,UAGfhlH,KAAMrzB,EAAAC,EAAAC,cAAC0H,EAAA,EAAaopM,GACpBr3H,QAAS35E,EAAAC,EAAAC,cAAC47M,GAAkB9K,IACzB0K,GAGUhkL,IAAY13B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GA7C1D,SAAmB91B,GACjB,OAAO5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO27G,aAAcj3G,QA+ChD,WACE,GAAIy9B,EAAoB,KACdxvB,EAAyC6d,EAAzC7d,QAASwd,EAAgCK,EAAhCL,MAAOG,EAAyBE,EAAzBF,WAAYG,EAAaD,EAAbC,SAEpC,OACE3tB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE6c,SAAUA,EACVnoB,UAAWA,EACXoQ,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVC,WAAYJ,EACZnb,SAAU6wH,IAKhB,OAAO,KA8BJmC,IAKP51F,GAAUssK,aAAe,CACvBL,uBAAwB,IAG1BjsK,GAAUttC,UAAV,GAkCey2M,SAAkBnpK,qECpNjC,SAAS81F,GAAThnI,GAOG,IANDg7M,EAMCh7M,EANDg7M,cACAe,EAKC/7M,EALD+7M,YACAE,EAICj8M,EAJDi8M,gBACAl4M,EAGC/D,EAHD+D,QACAslB,EAECrpB,EAFDqpB,SAGMtkB,EADL/E,EADDu6M,oBAEoC1wM,IAAI,SAAAtE,GAAA,IAAGP,EAAHO,EAAGP,GAAI1B,EAAPiC,EAAOjC,MAAP,MAAiC,CACvE61B,QAASn0B,EACT1B,MAFsCiC,EAAcs2M,aAE9Bv4M,KAOxB,OACE7B,EAAAC,EAAAC,cAAC64B,GAAA,EAAD,KACE/4B,EAAAC,EAAAC,cAAC84B,GAAA,EAAD,CAAOj3B,MAAM,sBAAsBO,QAASA,IAC5CtC,EAAAC,EAAAC,cAACq5B,GAAA,EAAD,CACEj2B,QAASA,EACTk2B,WAAY,EACZE,YAAa4gL,EACbhpL,WAAYkpL,EACZppL,aAAcmoL,EACd3xL,SAAUA,EACV8I,oBAAqBxzB,KAAOm8G,cAC5B1/E,2BAfN,SAAoC1B,GAClC,+CAAAtwB,OAAgDswB,EAAhD,UAgBIrQ,GAAY5nB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgQ,UAK3Cq4H,GAAepjI,UAAf,GASey2M,SAAkBrzE,ICpBlBy2E,OA1Bf,WACE,IAAM99K,EAAapsB,sBACbmlK,EAAc,kBAAMv1I,WAAWxD,EAAWruB,QAAQ8xB,WAAY,IAGpE,OACE3hC,EAAAC,EAAAC,cAACgkC,GAAA,EAAD,CACEliC,QAJe,kBAAMhC,EAAAC,EAAAC,cAACmmI,GAAD,CAAgB/jI,QAAS20K,KAK9C9yI,SAAO,EACP3kC,UAAWtC,KAAO8sF,QAClBrpE,WAAYud,EACZywB,UAAU,SAEV3uD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,WACNU,UAAWtC,KAAOk8G,aAClBn6G,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAH3B,6FCZR,SAASy8M,GAAT19M,GAAoE,IAAnDu6M,EAAmDv6M,EAAnDu6M,oBAAqBS,EAA8Bh7M,EAA9Bg7M,cAAee,EAAe/7M,EAAf+7M,YACnD,GAAIl2M,IAAQ00M,GACV,OAAO94M,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,CAAiBvuB,UAAWtC,KAAO+U,cAG5C,SAAS1B,EAAagqM,GACpB,OAAO,SAAClqM,GACNiqM,EAAYC,EAAQlqM,IAIxB,OACErQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACpBonB,KAAI2sL,EAAqB,eAACp6M,EAAD+Q,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAQ,GAAR,OACxBzP,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACErd,IAAG,GAAAC,OAAKjJ,EAAK6E,GAAV,KAAAoE,OAAgBjJ,EAAK07M,aACxBv4M,MAAOnD,EAAK07M,YACZroM,KAAMrT,EAAK6E,GACX3B,MAAOlD,EAAK6E,GACZ/D,UAAWtC,KAAOyP,SAClBqY,WAAS,IAAEu0L,EAAc/kL,QAAS91B,EAAK6E,IACvC8O,SAAU9B,EAAa7R,EAAK6E,IAC5BzD,WAA0C,IAA9By2C,KAAKuiK,QAO3BmD,GAAM95M,UAAN,GAYey2M,SAAkBqD,8PCxCjC,SAASC,GAAT39M,GAKG,IAJDy8M,EAICz8M,EAJDy8M,YACAmB,EAGC59M,EAHD49M,iBACAC,EAEC79M,EAFD69M,oBACAC,EACC99M,EADD89M,yBAEA,OAAIhuM,IAAQ2sM,GACH,KAGLqB,EAEAr8M,EAAAC,EAAAC,cAAC40B,EAAA,EAADwnL,GAAA,GACMH,EADN,CAEE38M,UAAW48M,EACX/pL,gBAAiBryB,EAAAC,EAAAC,cAACq8M,GAAD,SAMrBv8M,EAAAC,EAAAC,cAAC40B,EAAA,EAADwnL,GAAA,GACMH,EADN,CAEE38M,UAAWa,IAAW+7M,EAAqBl/M,KAAOmnG,mBAClDhyE,gBAAiBryB,EAAAC,EAAAC,cAACs8M,GAAD,SAKvBN,GAAiB/5M,UAAjB,GAOe+5M,omBCbf,SAASllE,GAATz4I,GAiCG,IAhCDgF,EAgCChF,EAhCDgF,GACAqkB,EA+BCrpB,EA/BDqpB,SACAyf,EA8BC9oC,EA9BD8oC,KACA0xK,EA6BCx6M,EA7BDw6M,mBACAiC,EA4BCz8M,EA5BDy8M,YACA52E,EA2BC7lI,EA3BD6lI,GACA12G,EA0BCnvB,EA1BDmvB,UACA+tL,EAyBCl9M,EAzBDk9M,QACAgB,EAwBCl+M,EAxBDk+M,oBACAC,EAuBCn+M,EAvBDm+M,gBACAP,EAsBC59M,EAtBD49M,iBACAQ,EAqBCp+M,EArBDo+M,WACAn1E,EAoBCjpI,EApBDipI,gBACAqpE,EAmBCtyM,EAnBDsyM,mBACAnqE,EAkBCnoI,EAlBDmoI,mBACA3kI,EAiBCxD,EAjBDwD,MACAE,EAgBC1D,EAhBD0D,YACAkwB,EAeC5zB,EAfD4zB,aACAkmB,EAcC95C,EAdD85C,iBACAs3B,EAaCpxE,EAbDoxE,0BACA0sI,EAYC99M,EAZD89M,yBACAX,EAWCn9M,EAXDm9M,uBACAtlI,EAUC73E,EAVD63E,KACAs1H,EASCntM,EATDmtM,YACAkR,EAQCr+M,EARDq+M,0BACA/rE,EAOCtyI,EAPDsyI,kBACAgsE,EAMCt+M,EANDs+M,YACA3+H,EAKC3/E,EALD2/E,eACAD,EAIC1/E,EAJD0/E,oBACA6+H,EAGCv+M,EAHDu+M,YACA5D,EAEC36M,EAFD26M,YACGt5M,EACFiyI,GAAAtzI,EAAA,0fACKu6M,EAAuBzqM,IAAQuuM,GAEjC5B,EADA4B,EAFHG,EAyBGlE,EAAiBx4F,GAAA,GAChBwwB,EADe,GAEfjxI,EAFe,CAGlB2D,KACA8jC,OACAyxK,sBACAC,qBACAvxE,kBACAd,qBACAglE,cACAwN,iBA7BAttM,EANDmxM,EAMCnxM,KACA+6H,EAPDo2E,EAOCp2E,cACA6xE,EARDuE,EAQCvE,gBACAE,EATDqE,EASCrE,UACAa,EAVDwD,EAUCxD,cACAE,GAXDsD,EAWCtD,aACAgB,GAZDsC,EAYCtC,aACAb,GAbDmD,EAaCnD,cACAlqI,GAdDqtI,EAcCrtI,kBACAgrI,GAfDqC,EAeCrC,kBACAC,GAhBDoC,EAgBCpC,gBACAC,GAjBDmC,EAiBCnC,aACAtzE,GAlBDy1E,EAkBCz1E,sBACAgzE,GAnBDyC,EAmBCzC,YACAE,GApBDuC,EAoBCvC,gBACA9vL,GArBDqyL,EAqBCryL,SACA7W,GAtBDkpM,EAsBClpM,SACAsb,GAvBD4tL,EAuBC5tL,WACA1G,GAxBDs0L,EAwBCt0L,cAcIinB,GAAeotK,EAAcvE,EAAuBC,GAAmB3H,EAEvEuL,GAAsB/7M,IAC1BnD,KAAOgnG,WACPhnG,KAAOknG,UAGHwjC,GACJ5nI,EAAAC,EAAAC,cAACywF,EAAA,EAAD0vB,GAAA,CACEzvB,YAAU,EACVpxF,UAAWtC,KAAO8rB,YAClB7L,eAAe,6BACfvb,MAAO+kI,EACPt0H,SAAUi1H,GACVzzH,SAAUA,GACV4U,cAAeA,GACfvJ,aAAW,GACP29L,IAIFG,GACJh9M,EAAAC,EAAAC,cAACqzB,EAAA,EAAD,CACEthB,YAAag7B,IAAmBr6B,cAChCpT,UAAWtC,KAAOqnG,WAClB8G,mBAAoBnuG,KAAOm2B,KAC3Bi4E,iBAAkBpuG,KAAOm2B,KACzBG,UAAWJ,YAAeslL,EAAUllL,WACpCC,QAASL,YAAeslL,EAAUjlL,SAClCC,kBAAmBgnL,GACnB/mL,gBAAiBgnL,GACjB9nL,mBAAiB,EACjBC,kBAAgB,IAIdmqL,GACJj9M,EAAAC,EAAAC,cAACymD,EAAA,EAAD,CACE8sC,UAAQ,EACR1hF,KAAK,OACL80C,SAAS,MACTjlD,MAAOgK,EACP+oB,cAAe/oB,EACfyG,SAAUuoM,GACVpnH,eAAe,EACf5rE,SAAUA,EACV8M,qBAAmB,IAIjBqzG,GAAO1nB,GAAA,GACR+jB,EADQ,CAEXyM,oBACA4qE,UACA/tL,YACA9F,WACA6xL,gBACAgB,gBACAb,iBACApyE,kBACAuxE,qBACAiC,cACAzB,gBACAe,eACAE,mBACA1B,wBAGF,OACE94M,EAAAC,EAAAC,cAACy4M,EAAqBrjL,SAAtB,CAA+B1zB,MAAOmmI,IACpC/nI,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACE51C,MAAOA,EACPE,YAAaA,EACbkwB,aAAcA,GAEdnyB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOonG,aACrBtkG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO4rB,iBACrB9oB,EAAAC,EAAAC,cAAC40B,EAAA,EAADurF,GAAA,GACMo8F,EADN,CAEEj9M,UAAWa,IAAW+7M,GAAqBl/M,KAAOinG,SAClD9xE,gBAAiBu1G,MAElBl4D,IACC1vE,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,OACNN,QAAS2wB,GACT3vB,UAAWtC,KAAOyyB,UAHpB,sBASJ3vB,EAAAC,EAAAC,cAAC40B,EAAA,EAADurF,GAAA,GACMs8F,EADN,CAEEn9M,UAAWa,IAAWnD,KAAOgnG,WAAYhnG,KAAO0O,MAChDymB,gBAAiB4qL,MAEnBj9M,EAAAC,EAAAC,cAAC40B,EAAA,EAADurF,GAAA,GACMq8F,EADN,CAEEl9M,UAAW48M,GACX/pL,gBAAiB2qL,MAEnBh9M,EAAAC,EAAAC,cAACg9M,GAAD,CACElC,YAAaA,EACbmB,iBAAkBA,EAClBC,oBAAqBA,GACrBC,yBAA0BA,KAI9Br8M,EAAAC,EAAAC,cAACi3C,GAAD,CACE6jK,YAAaA,EACbvB,aAAcA,GACdG,cAAeA,GACfa,aAAcA,GACdv8H,eAAgBA,EAChBD,oBAAqBA,EACrB4yH,mBAAoBnhK,GACpBgsK,uBAAwBA,EACxBh1E,mBAAoBA,EACpBruF,iBAAkBA,EAClBs3B,0BAA2BA,EAC3BD,kBAAmBA,GACnBvgD,WAAYA,GACZinD,KAAMA,EACN1rD,SAAUA,GACVghL,YAAaA,OAQzB10D,GAAa70I,UAAb,GA0EA60I,GAAa/xI,aAAe,CAC1Bw3M,oBAAqBU,EAAYx2E,cACjC+1E,gBAAiBS,EAAYzE,UAC7ByD,iBAAkBgB,EAAY9qJ,WAC9BsqJ,WAAYQ,EAAYvxM,KACxB86H,mBAAoB,GACpBm2E,YAAa,GACb96M,MAAO,gBACPE,YAAa,GACbo2C,iBAAkB,GAClBs3B,0BAA2B,GAC3B0sI,0BAA0B,EAC1BS,aAAa,EACbpR,YAAa,GACbkR,0BAA2B,GAC3B/rE,kBAAmB,CACjBmoE,qBAAsBoE,mCACtBnE,8BAA+BoE,4CAC/B7B,kBAAmB8B,gCACnB/B,iBAAkBgC,+BAClBC,kBAAmBC,iCAErBvE,aAAa,GAGAliE,wtCCpTA0mE,MA5Bf,SAAAn/M,GAIG,IAHD2gF,EAGC3gF,EAHD2gF,0BACAlB,EAECz/E,EAFDy/E,iBACAppE,EACCrW,EADDqW,YAEM+oM,GAAwBhrM,IAAMusE,IAA6BA,EADhEhwE,EAAAC,EAEiCC,mBAAS4uE,GAF1C,GAEMhY,EAFN92D,EAAA,GAEiB0uM,EAFjB1uM,EAAA,GAAA+I,EAAA9I,EAGmDC,mBAASuuM,GAH5D,GAGMr3I,EAHNruD,EAAA,GAG0B4lM,EAH1B5lM,EAAA,GAcD,OALAhI,oBAAU,WACR2tM,EAAa5/H,GACb6/H,EAAsBF,IACrB,CAAC/oM,IAEG,CACLoxD,YACA83I,kBAAmBF,EACnBt3I,qBACAq3I,uBACAI,2BAA4BF,EAC5Bt+H,kBAfF,SAAAz7E,GAA6D,IAAAk6M,EAAAl6M,EAA5BgC,OAAUuf,GAAkB24L,OAAA,IAAAA,EAAN,GAAMA,GAAlB34L,QACzCw4L,EAAsBx4L,gTCN1B,IAAMwhD,EAAqB,SAACF,EAAcmY,GAAf,OACzBD,IAAuBC,EAAWnY,IA2CrBs3I,EAAA,CACbr3I,mBATyB,WAA6B,IAA5BovD,EAA4BvmH,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAlB,GAAIqvE,EAAcrvE,UAAAzI,OAAA,EAAAyI,UAAA,QAAAC,EAChDwuM,EAAoB/7D,YAAqBnsB,EAAQt2C,WAAYs2C,GAC7DmoF,EAAkBr/H,EAAY,CAACA,GAAa3yD,IAAI+xL,EAAmB,SAEzE,OAAO5mM,QAAQmoK,IAAItzJ,IAAIgyL,EAAiB,SAAA12K,GAAK,OAAIo3C,IAAuBp3C,EAAOuuF,MAC5Ex+G,KAAK,SAAAo7E,GAAQ,OAAIwzF,YAA4BxzF,EAAUsrH,MAK1Dr3I,qBACAC,oBA3C0B,SAACkvD,EAASl3C,GACpC,GAAIA,EACF,OAAOxnE,QAAQmoK,IACbtzJ,IAAI6pG,EAAS,SAAArvD,GAAY,OAAIE,EAAmBF,EAAcmY,MAHhB,IAAAvgF,EAOPy3H,GAAW,GAA9Ch5C,EAP0Cz+E,EAO1Cy+E,UAAWt+E,EAP+BH,EAO/BG,KAAMy+E,EAPyB5+E,EAOzB4+E,cAiBzB,OAAO7lE,QAAQmoK,IAhBoB2+B,IAAQphI,EAAW,SAAAl5E,GAA2C,IAAxC45E,EAAwC55E,EAAxC45E,KAAM/W,EAAkC7iE,EAAlC6iE,aAAcwyB,EAAoBr1F,EAApBq1F,cAC3E,QAAKtnE,IAASsrD,EAAeO,EAAKj2C,SAE7BrjC,IAAQ+0F,GAONtyB,EAAkB1mE,EAAA,GAAMwmE,EAAN,CAAoBjoE,SAAQg/E,EAAKj2C,OANjDtb,IACLgtE,EACA,SAAA1tF,GAAI,OAAIo7D,EAAkB1mE,EAAA,GAAMsL,EAAN,CAAY/M,SAAQg/E,EAAKj2C,aAWtDjwB,KALsB,kBAAMgmE,IAC7BR,EAAW,SAAAh5E,GAAA,IAAG05E,EAAH15E,EAAG05E,KAAH,OAAe7rD,IAASsrD,EAAeO,EAAKj2C,YAuBzDs/B,mBAhByB,SAAC5iE,EAAM26E,GAAP,OACzBD,IAAuBC,EAAW36E,wOC6PrBk7E,IAxQf,SAAA9gF,GAqBG,IApBDygF,EAoBCzgF,EApBDygF,sBACAnB,EAmBCt/E,EAnBDs/E,YACAiB,EAkBCvgF,EAlBDugF,UACAC,EAiBCxgF,EAjBDwgF,SACAT,EAgBC//E,EAhBD+/E,kBACAP,EAeCx/E,EAfDw/E,iBACA3rB,EAcC7zD,EAdD6zD,SACAC,EAaC9zD,EAbD8zD,WACA6mB,EAYC36E,EAZD26E,SACAn+B,EAWCx8C,EAXDw8C,UACAmjC,EAUC3/E,EAVD2/E,eAUCmgI,EAAA9/M,EATDy/E,wBASC,IAAAqgI,EATkBj9M,IASlBi9M,EARDn/H,EAQC3gF,EARD2gF,0BACAC,EAOC5gF,EAPD4gF,mBAOCm/H,EAAA//M,EAND+gF,wBAMC,IAAAg/H,KALDjgI,EAKC9/E,EALD8/E,SACAkgI,EAIChgN,EAJDggN,SAICC,EAAAjgN,EAHDsgF,WAGC,IAAA2/H,EAHKC,EAGLD,EAFDxhI,EAECz+E,EAFDy+E,UACAuB,EACChgF,EADDggF,6BACCuT,EACgDC,cAAzCtyF,EADPqyF,EACOryF,UAAWuyF,EADlBF,EACkBE,YAAaC,EAD/BH,EAC+BG,aAD/BvpE,EAEgDpJ,YAASggE,GAAlD1qE,EAFP8T,EAEO9T,YAAaC,EAFpB6T,EAEoB7T,YAAa6K,EAFjCgJ,EAEiChJ,WAC5BggE,EAAaygE,cAEbu+D,GAAersJ,IAAessJ,IAAeC,YAC7C/xG,GAAU6xG,GAAergI,EAAWjsB,EACpCysJ,GAAc,CAAEhyG,WAASnuG,KAAM2zD,GAC/BysJ,GAAiBJ,GAAeK,IAAqB7lI,EACrD8lI,GAAc3sJ,IAAe4sJ,IAC7BC,IAAet/H,YAASd,IAAcE,EAV3CmgI,GAmBGzB,EAAa,CACfx+H,4BACAlB,mBACAppE,gBATAoxD,GAbDm5I,GAaCn5I,UACA83I,GAdDqB,GAcCrB,kBACAx3I,GAfD64I,GAeC74I,mBACAq3I,GAhBDwB,GAgBCxB,qBACAI,GAjBDoB,GAiBCpB,2BACAx+H,GAlBD4/H,GAkBC5/H,kBAWF,SAAS6/H,KACPptH,IACAtyE,IAGF,SAAS2/L,GAATv7M,GAKG,IAJDw7M,EAICx7M,EAJDw7M,aAICC,EAAAz7M,EAHD07M,wBAGC,IAAAD,KAAAE,EAAA37M,EAFDi1I,oBAEC,IAAA0mE,EAFc,GAEdA,EADDC,EACC57M,EADD47M,cAEMz5I,EAAawsB,IAAYitH,IAAkBt7M,IAAQk7M,GAAgBI,EAEzE5B,GAAkBwB,GAAgBthI,GAClC+/H,GAA2ByB,GAE3BthI,GAAkBA,EAAeyhI,EAAA,GAC5B9hI,GAAe,CAAES,kBAAmB,IADT,GAE3BogI,KAAiBz4I,GAAc,CAAE4mC,YAFN,CAG9B5mC,aACAK,mBAAoBk5I,EACpBx5I,UAAWs5I,EACXltJ,WACA4qB,UAAW+7D,KA3Bf9oI,oBAAU,YACP2E,GAAe8qE,EAAWihE,SAC1B,CAAC/rI,IA6BJ,IAAMgrM,GAAsB,SAAAziI,GAAa,OAAI6K,IAAI7K,EAAe,WAC1D0iI,GAAuB,SAAA1iI,GAAa,OAAI6K,IAAI7K,EAAe,YAmDjE,SAAS1xD,KAAqC,IAA1B6zL,EAA0B7vM,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAXu2D,GACjCisB,IACA,IAAM9tF,EAAIw7M,EAAA,GACL5hI,EADK,GAEL8gI,GAFK,CAGRv4I,sBACA6Y,qBACAnZ,UAAWs5I,EACX5/H,eAGIvC,EAAgBuC,GAAcyiE,YAAqBziE,EAAYv7E,GAC/D27M,EAA+Bx5I,KAAuBq3I,GACtDoC,EAAmBH,GAAoBziI,GACvC6iI,EAAoBH,GAAqB1iI,GACzC8iI,EAAoB1pK,IAAK4mC,GACzB+iI,EAAmB3B,EAAW1/H,EAAI9X,mBAAqB8X,EAAIjY,mBAC3Du5I,EAAiBR,EAAA,GACjB7gI,GAAa,CAAE7nE,IAAKmpM,YAAmBthI,IADtB,CAErB5F,SAAU4lI,GACVuB,UAAWjuJ,EACXrX,cAGF,OAAOmlK,EAAiB/7M,EAAM26E,GAC3BtnE,KAAK,SAACo7E,GACLysH,GAAW,CACTC,eACAE,iBAAkBl5I,GAClByyE,aAAcnmD,IAGhB,IAAM0tH,EAAqB/pK,IAAKq8C,GAC1B2tH,EAAiBN,EAAoBK,EACvCL,EACAK,EACEE,EAAqBxB,GACvByB,IACAC,IACEC,EAAqB3B,GACvB4B,IACAF,IAEJnC,EACIiC,EAAmBb,EAAA,GAAKQ,EAAN,CAAyBI,oBAC3CI,EAAmBhB,EAAA,GAChBQ,EADe,IAEZjB,IAAee,GAAqB,GAAM,CAC9CllK,UAAWglK,EACX9oM,IAAKmpM,YAAmBJ,IAJR,CAMlBO,oBAGAT,GACFe,YAA4B,CAAE3nI,WAAU5S,0BA/BvC,MAkCE,SAACviE,GACN,IAAM+8M,EAA0B9B,GAC5B+B,IACAn3H,IAAckJ,0BACZkuH,EAA0BhC,GAC5BiC,IACAr3H,IAAckJ,0BAMlB,MAJAyrH,EACIuC,EAAwBX,GACxBa,EAAwBb,GAEtBp8M,IA9CH,QAgDIq7M,IA8Cb,MAAO,CACLxqM,cACAnV,YACAumE,aACA0Z,aACApZ,sBACAkZ,aA7CF,SAA0B8/H,GACxB7zL,GAAW6zL,IA6CX7/H,qBA1CF,SAAkCt7E,GAGhC,OAFA8tF,IAEO1T,EAA6Bp6E,GACjCqT,KAAK,WAAM,IACF0pM,EAAyC/8M,EAAzC+8M,kBAAmBC,EAAsBh9M,EAAtBg9M,kBACrBhkI,EAAgBuC,GAAcyiE,YAAqBziE,EAAYv7E,GAC/D47M,EAAmBH,GAAoBziI,GACvC6iI,EAAoBH,GAAqB1iI,GACzC8iI,EAAoB1pK,IAAK4mC,GACzBojI,EAAiBhqK,IAAK4mC,GACtBgjI,EAAiBR,EAAA,GACjB7gI,GAAa,CAAE7nE,IAAKmpM,YAAmBthI,IADtB,CAErByhI,iBACArnI,aAGF,OAASioI,GAAqBD,EAC1BE,YAAyBjB,GACzBO,YAAgBf,EAAA,GACbQ,EADY,IAETjB,IAAee,GAAqB,GAAM,CAC9CllK,UAAWglK,EACX9oM,IAAKmpM,YAAmBJ,QApB3B,QAwBIZ,KAgBXtyL,OAnDF,WACErB,MAmDApZ,SAAUyrM,GACVlyL,SAjLF,SAAsBuxD,GACpB8U,IAEA,IAcMsuH,EAAiBhqK,IAAK4mC,IAAkB5mC,IAAK+nC,IAAsB,EAEnE6hI,EAAoB,CACxBlpM,IAAKmpM,YAAmBthI,GAAa+gI,GAAqB1iI,IAC1DjE,SAAU4lI,GACV/jK,UAAWgkC,GAAY6gI,GAAoBziI,GAC3CojI,kBAGF,OAtBOn8M,IAAQ44E,GAQNa,EACHgB,EAAI/X,oBAAoByvE,IAAOj4D,EAAmB,CAAE+iI,WAAW,IAASviI,GACxED,EAAIhY,mBAAmBg4I,GAAa//H,GAT/BD,EAAI/X,oBAAJ64I,EAAA,CACL3iI,YACAG,cAAehxD,IAAIgxD,EAAe,WAC7BU,GAAe,CAAEn/E,KAAM2zD,MAmB/B76C,KAAK,SAAA8pM,GAAa,OAAIjC,GAAW,CAChCC,aAAct5I,GACdw5I,iBAAkBl5I,GAClByyE,aAAcuoE,EACd5B,eAAe,EACfttJ,eAED56C,KAAK,WACJwnM,GACIuC,YAA8CpB,GAC9CqB,YAAkBrB,KAXnB,MAaE,SAACp8M,GAKN,MAJAi7M,GACIyC,YAA8C9B,EAAA,GAAKQ,EAAN,CAAyBplK,eACtE6uC,IAAckJ,4BAEZ/uF,IAlBH,QAoBIq7M,KAoIXrvL,SAhBmB,WACnB2vD,EAAWihE,QACX9rI,KAeA0qE,qBACA1qE,yZC5RqBvL,IAAU6tD,MAAVh3D,EAAA,GACpB09L,IADoB,CAEvBt6L,GAAIm0D,IACJgqJ,iBAAkBp4M,IAAU8tD,KAAKxiC,WACjC+sL,YAAar4M,IAAU8tD,KAAKxiC,cAJvB,sBCGP,SAAS+mG,EAATp9H,GAAiD,IAA7BkN,EAA6BlN,EAA7BkN,KAAMowH,EAAuBt9H,EAAvBs9H,WAAYr9H,EAAWD,EAAXC,QAAWsF,EACzB2H,GAAQ,GAAtB1J,EADuC+B,EACvC/B,MAAOwB,EADgCO,EAChCP,GAETivB,GADmBqpG,GAAc,IAA/Bt4H,KACsBA,EAO9B,OACEvD,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,OACLQ,UAAWa,IAAWnD,IAAOyB,OAAQ6zB,GAAYt1B,IAAO0qG,cACxDppG,QAVJ,WAEEA,EADoBg0B,EAAW,GAAK/mB,KAWjC1J,GAKP45H,EAASx5H,UAAT,GAMew5H,6rCCtBf,SAASimF,EAATrjN,GAAoE,IAyDxDyD,EAzDYoqB,EAA4C7tB,EAA5C6tB,MAAO5sB,EAAqCjB,EAArCiB,UAAWgN,EAA0BjO,EAA1BiO,iBAAkBrI,EAAQ5F,EAAR4F,KAAQ+K,EAAAC,EACxBC,mBAAS,IADe,GAC3DyyM,EAD2D3yM,EAAA,GAC5C4yM,EAD4C5yM,EAAA,GAAAwZ,EAM9DpJ,cAHWyiM,EAHmDr5L,EAGhE9T,YACYotM,EAJoDt5L,EAIhEhJ,WACWuiM,EALqDv5L,EAKhEjJ,UALgE2kE,EAO7BjvD,cAA7BvN,EAP0Dw8D,EAO1Dx8D,SAAUwX,EAPgDglD,EAOhDhlD,eACZsoE,EAAiBznE,YAAgBrY,GAC/Bk4C,EAA0Bx7C,IAA1Bw7C,sBACFw8D,EAAsBj8H,IAC1BnD,IAAO6H,UACPvF,EACAuiN,GAAc7kN,IAAO8qG,WACrBN,GAAkBxqG,IAAOwqG,gBAGrBw6G,EAAoB7hN,IACxBnD,IAAOyqG,QACND,GAAkB5nC,GAA0B5iE,IAAO4qG,uBAClDlgF,GAAYk4C,GAA0B5iE,IAAO2qG,yBAG3Cs6G,EAAoB9hN,IACxBnD,IAAO8E,QACPwK,EACAk7F,GAAkBxqG,IAAOklN,sBACxBhjL,GAAkB0gC,GAA0B5iE,IAAO6qG,yBAGtD,GAAI3jG,IAAQgoB,GACV,OAAO,KAGT,SAASi2L,IACPP,EAAiB,IACjBE,IAGF,SAASrjK,EAAYlzC,GACnBq2M,EAAiBr2M,GACjBrH,IAAQqH,GAAQ42M,IAAcJ,IAyBhC,OACEjiN,EAAAC,EAAAC,cAAA,OAAKV,UAAW88H,GACdt8H,EAAAC,EAAAC,cAAA,MAAIV,UAAW0iN,GACZ91L,EAAMhkB,IAzBb,SAAoBqD,EAAMvE,GACxB,OACElH,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOsxB,SAAU9mB,IAAG,YAAAC,OAAcT,IAC/ClH,EAAAC,EAAAC,cAACs8H,EAAD,CACE/wH,KAAMA,EACNjN,QAASmgD,EACTk9E,WAAYgmF,QAsBhB7hN,EAAAC,EAAAC,cAAA,OAAKV,UAAW2iN,GACdniN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNE,KAAK,OACLR,QAAS6jN,EACT7iN,UAAWtC,IAAOsG,aAElBxD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAtBXwC,GAAY6/M,GAAiB,IAA7B7/M,QAEJsC,IAAStC,GACJ86B,uBAAa96B,EAADsgN,EAAA,GAAen+M,EAAf,CAAqBk+M,eAGnCrgN,KAwBX4/M,EAAaz/M,UAAb,GAgBey/M,sjCC5DAW,MAvDf,SAAAhkN,GAA8F,IAArDikN,EAAqDjkN,EAAlEw2B,YAA6C0tL,EAAqBlkN,EAAjCg8J,WAAiCrrJ,EAAAC,EACtDC,mBAASozM,GAAsB,IADuB,GACrFztL,EADqF7lB,EAAA,GACxEwzM,EADwExzM,EAAA,GAAA+I,EAAA9I,EAExDC,mBAASqzM,GAF+C,GAErFloD,EAFqFtiJ,EAAA,GAEzE0qM,EAFyE1qM,EAAA,GAAAgT,EAAA9b,EAGxCC,mBAASqzM,GAH+B,GAGrFG,EAHqF33L,EAAA,GAGjE43L,EAHiE53L,EAAA,GAAAE,EAAAhc,EAI9DC,oBAAS,GAJqD,GAIrFmb,EAJqFY,EAAA,GAI5E23L,EAJ4E33L,EAAA,GAAAmhD,EAAAn9D,EAKtDC,oBAAS,GAL6C,GAKrFob,EALqF8hD,EAAA,GAKxEy2I,EALwEz2I,EAAA,GAAAG,EAAAt9D,EAMlDC,oBAAS,GANyC,GAMrFub,EANqF8hD,EAAA,GAMtEu2I,EANsEv2I,EAAA,GAmC5F,OA3BAx8D,oBAAU,WACRyyM,EAAeF,IACd,CAACA,IAyBG,CACLztL,cACAwlI,aACAqoD,qBACAr4L,UACAI,gBACAH,cACAk4L,iBACAC,gBACAE,wBACAC,aACAC,iBACAC,mBACAC,uBApCF,WACED,GAAiB,GACjBF,GAAW,GACXC,GAAe,IAkCfG,oBA/BF,WACEF,GAAiB,GACjBF,GAAW,GACXC,GAAe,IA6BfI,sBA1BF,WACEL,GAAW,GACXC,GAAe,GACfC,GAAiB,IAwBjBI,cArBF,WACEN,GAAW,GACXE,GAAiB,qQC7Bd,IAAMK,EAA6C,SAACpvB,EAAeqvB,GACxE,OAAKA,EAIEtyL,OAAOC,KAAKgjK,GAAeh6D,OAAO,SAACspF,EAAc9/L,GACtD,WAAI6/L,EAAc9uL,QAAS/Q,GAClB8/L,EAGTpjN,EAAA,GAAYojN,KAAZ,KAA2B9/L,IAAYwwK,EAAcxwK,+GACpD,IATMwwK,yhECkQIrM,IA7Pf,SAAArpL,GAaG,IAAAilN,EAAAjlN,EAZDghB,oBAYC,IAAAikM,KAAAC,EAAAllN,EAXD23M,iBAWC,IAAAuN,EAXW,GAWXA,EAAAC,EAAAnlN,EAVDolN,mBAUC,IAAAD,EAVa,GAUbA,EAAAE,EAAArlN,EATD6sH,sBASC,IAAAw4F,EATgB,GAShBA,EAAA/1B,EAAAtvL,EARDqrF,qBAQC,IAAAikG,EARe,GAQfA,EAAAg2B,EAAAtlN,EAPDisK,sBAOC,IAAAq5C,EAPgB,GAOhBA,EANDC,EAMCvlN,EANDulN,kBACA9L,EAKCz5M,EALDy5M,kBAKC+L,EAAAxlN,EAJD0uK,uBAIC,IAAA82C,EAJiBC,IAIjBD,EAHD72C,EAGC3uK,EAHD2uK,aACAsrB,EAECj6L,EAFDi6L,gBACAyrB,EACC1lN,EADD0lN,UACCC,EAMGx2C,YAAWhvI,OAAO2vC,SAASwD,QAJnBsyI,EAFXD,EAEC7lI,SACW+lI,EAHZF,EAGC7tI,UACMguI,EAJPH,EAIC9tI,KACMkuI,EALPJ,EAKC/4K,KALDo5K,EAO+CN,EAAxCv2L,iBAPP,IAAA62L,EAOmB,GAPnBA,EAAAC,EAO+CP,EAAxB7tI,KAAMgtD,OAP7B,IAAAohF,EAOwC,GAPxCA,EAQgBl6J,EAAgB58B,EAAzB7d,QACW2mB,EAAoC4sG,EAA/C/sD,UAAgC5/C,EAAe2sG,EAArBhtD,KAC1BquI,EAA0Cd,EAA1Cc,WAAYh6C,EAA8Bk5C,EAA9Bl5C,WAAY64C,EAAkBK,EAAlBL,cACfoB,GAAiBj6C,GAAc,IAAxCnnK,QAENC,EAOE6nH,EAPF7nH,GACA6yE,EAMEg1C,EANFh1C,KACA1rD,GAKE0gG,EALF1gG,SACAL,GAIE+gG,EAJF/gG,WACAC,GAGE8gG,EAHF9gG,aACAouK,GAEEttE,EAFFstE,mBACA7wK,GACEujG,EADFvjG,kBAnBD88L,GA2BG13C,EAAgB,CAClBz2I,cAAeA,GAAiB4tL,EAChC3tL,WAAYA,GAAc4tL,EAC1B/5J,YAAaA,GAAeg6J,EAC5Bp3C,aAAcA,GAAgBi3C,IAR9B31C,GAvBDm2C,GAuBCn2C,gBACayoC,GAxBd0N,GAwBCh2C,YACsBi2C,GAzBvBD,GAyBCp2C,qBACAM,GA1BD81C,GA0BC91C,YAQIg2C,GAAgC,SAACxmI,GACrCumI,GAA2BvmI,GAC3Bm6G,GAAmBA,EAAgBn6G,IApCpCymI,GAoDGvC,EAAiBwC,EAAA,GAAKt6C,EAAN,GAAqBD,IAZvChgJ,GAxCDs6L,GAwCCt6L,YACAD,GAzCDu6L,GAyCCv6L,QACAI,GA1CDm6L,GA0CCn6L,cACAoK,GA3CD+vL,GA2CC/vL,YACAwlI,GA5CDuqD,GA4CCvqD,WACAwoD,GA7CD+B,GA6CC/B,eACAL,GA9CDoC,GA8CCpC,eACAG,GA/CDiC,GA+CCjC,sBACAI,GAhDD6B,GAgDC7B,uBACAE,GAjDD2B,GAiDC3B,sBACAD,GAlDD4B,GAkDC5B,oBACAE,GAnDD0B,GAmDC1B,cAnDDl0M,GAAA81M,EAsD+D51M,mBAAS,MAtDxE,GAsDM61M,GAtDN/1M,GAAA,GAsDgCg2M,GAtDhCh2M,GAAA,GAAA+I,GAAA+sM,EAuDuD51M,mBAASmQ,GAvDhE,GAuDM4+J,GAvDNlmK,GAAA,GAuD4BktM,GAvD5BltM,GAAA,GAAAgT,GAAA+5L,EAwDuC51M,oBAAS,GAxDhD,GAwDMyvK,GAxDN5zJ,GAAA,GAwDoBm6L,GAxDpBn6L,GAAA,GAyDK3nB,GAAUmhN,EAAW,CAAEvB,uBAAqBH,kBAAgBhuL,eAAay1I,iBAAgBm5C,gBACvFj4C,GAAqDpoK,GAArDooK,aAAc25C,GAAuC/hN,GAAvC+hN,YAAa/5L,GAA0BhoB,GAA1BgoB,YAAajZ,GAAa/O,GAAb+O,SAC1C20H,GAAa,CAAEjyG,eAAawlI,cAAYj3J,QAASooK,IAevD,SAASkT,KACPwmC,IAAiBvmC,IAGnB,SAASymC,KAAwB,IACvB/+E,GAA2B38C,GAAiB,IAA5C28C,uBACR51F,IAAW41F,IAA2BA,IAgBxC,SAAS8zE,KACPqI,GAAe,IACfQ,KAGF,SAASqC,KACPlL,KAEA/uL,KACA63L,KACAlM,KAYF,SAASuO,KApDPL,IAAwB,GA2F1B,SAASM,GAAqBC,GAAW,IAC/BC,GAAeD,GAAa,IAA5BC,WACFpa,EAAcn1H,GAAQ,GACtBjyE,EAAOyhN,IAAM,GAAI5+E,GAAY2+E,GAClBE,EAAsB1hN,EAA/Bb,QAEF0yH,EAAO+uF,EAAA,GACRxZ,EADQ,CAEXhoM,KACAonB,iBACAurL,YACAlvE,WAAY88E,EAAoBA,EAAkB3/M,GAAQA,IAG5DumB,GAASq6L,EAAA,GAAK/uF,EAAN,CAAemoD,wBAAsB2nC,eAAe,KACzDtuM,KAAK,kBAAMkhL,IAAsBA,GAAmB1iE,KADvD,MAES,SAACjyH,GAEN,MADAuhN,KACMvhN,IAGV8qK,GAAWrwJ,EAEPkT,IACE2xL,EAAoBwC,EAAmBvC,GACvCD,EAAoBqB,EAAcpB,IAChC,CAAC5rG,KAAmB,KAG5B8tG,KACApC,KAEK74L,IACHs6L,GAA8BI,IAqBlC,OAtJAh1M,oBAAU,WACR4yM,GAAsBtoD,KACrB,CAAC4jB,KAoJG,CACL5zJ,WACAs0J,gBACAV,wBACA3zJ,eACAw8G,cACAjyG,eACApK,iBACAo7L,eAAgBnnC,GAChBonC,uBAvJF,WACEhO,IACAmN,IAAyBhnC,KAsJzB11J,cAAe4xL,GACfrlL,oBAxEF,SAA4B3kB,GAAO,IACzBzO,EAAUyO,EAAMvK,OAAhBlE,MAER8gN,GAAe9gN,GACfshN,MAqEA51L,kBAnIF,SAA+B6d,IAT/B,SAAmB8mC,GACjB,IACEpqD,GAAkBoqD,GAClB,MAAOluE,GAEP,MADAuhN,KACMvhN,GAKRixH,CAAU,CAAE7pF,UAmIZ7nC,WACA+mB,WAvGF,WAAmC,IAAXlmB,EAAWsL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC7B4a,IAAcA,GAAWlmB,EAAM+xM,GAC5B1+L,KAAK+qE,IAAc2gE,yBADR,MAEL,SAACn/I,GAEN,MADAw+E,IAAc4gE,yBACRp/I,KAmGVumB,aA/FF,WAAqC,IAAXnmB,EAAWsL,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC/B6a,IAAgBA,GAAanmB,EAAKZ,GAAI2yM,GACnC1+L,KAAK+qE,IAAc8gE,+BADN,MAEP,SAACt/I,GAEN,MADAw+E,IAAc6gE,+BACRr/I,KA2FVomB,YAvFF,SAA2B1e,GAAM,IACnB4yE,EAAa5yE,EAAjBlI,GADuBq9B,EAEmBn1B,EAAKnI,SAAW,GAA7C8N,EAFUwvB,EAEvB7L,YAA4Bn1B,EAFLC,EAAA+gC,EAAA,iBAI/BykL,GAAYzlN,GACZ8iN,GAAetxM,GAAcq5J,EAAW11I,aACxCkuL,KACAiC,GAA4B7mI,IAiF5Bj0D,YAAam7L,GACbp2L,WAxHF,WACEo2L,KAGIU,YAAkBz7C,IACpB9/I,GAAS,CAAEnnB,KAAIg3J,cAAY5qI,UAAU,EAAMumL,YAAWlvE,WAAYyjC,KAoHpE//I,SAAU+6L,GACV11L,SAAUy1L,GACV3xM,SAtCF,WACEgrK,IAAgBD,KAChB6mC,MAqCA5O,oBAAqB6L,GACrB9iG,eA/BF,SAA4Bl4G,EAAK9F,GAC/ByQ,GAAS3K,EAAK9F,GACdshN,KAGAuC,GAAqB,CAAEE,WADJ,CAAEriN,QAAQ4iN,EAAA,GAAIx+M,EAAM9F,OA4BvC4sK,mBACAyoC,sLC7PJ,SAASv0G,EAATnkG,GAAmD,IAA1BsuC,EAA0BtuC,EAA1BsuC,QAAS81D,EAAiBpkG,EAAjBokG,cAChC,OACE3iG,EAAAC,EAAAC,cAACyvH,EAAA,EAAD,CACE9iF,QAASA,EACT81D,cAAeA,GAEf3iG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOq3J,cAAtB,YACAv0J,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOo9G,OAEtBt6G,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWa,IAAWnD,IAAOs3J,iBAAkBt3J,IAAO+U,eACvEjS,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAiBvuB,UAAWtC,IAAO+U,gBAM3CywF,EAAcvgG,UAAd,GAKeugG,QC5BFksB,EAAoB,CAC/B,CACErrH,GAAIi5F,IACJz6F,MAAO,QAIEokN,EAA6B,CACxC,CACE5iN,GAAI0rH,IACJltH,MAAO,2nBCSX,SAASqS,EAAT7V,GAYG,IAXDqW,EAWCrW,EAXDqW,YACAC,EAUCtW,EAVDsW,YACA80G,EASCprH,EATDorH,kBACAC,EAQCrrH,EARDqrH,SACAC,EAOCtrH,EAPDsrH,mBACA3tB,EAMC39F,EAND29F,qBACAE,EAKC79F,EALD69F,2BACA8C,EAIC3gG,EAJD2gG,SACA4qB,EAGCvrH,EAHDurH,qBACAC,EAECxrH,EAFDwrH,aACA9lE,EACC1lD,EADD0lD,gBACCsoE,EAEuCC,YAAqB,CAC3D7C,oBACA8C,eAAgB53G,EAChB+0G,WACAC,qBACA5lE,oBALM8oE,EAFPR,EAEOQ,kBAAmB1qB,EAF1BkqB,EAE0BlqB,SAa3B,IAyDMpwF,EACJjS,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOg5E,iBACrBl2E,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQ2U,QAAQ,iBAIpB,OACEpV,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CACEpjG,UAAWstH,EACXn4G,YAAaA,EACbC,YAAaA,EACbwtF,SAzEJ,WAEE,OADA0nB,GAAgBA,EAAYxrG,WAAZ,EAAA9O,WACT4yF,EAAQ9jF,WAAR,EAAA9O,YAwELysF,qBAAsBA,EACtBE,2BAA4BA,EAC5B0G,oBAAkB,GAEjB,SAAAh/F,GAAA,IAzEuBsrH,EAExB7xB,EACAE,EACAE,EACA2F,EACAz2D,EAII4iF,EAEAC,EA6DAnsB,EAAHz/F,EAAGy/F,cAAkB/gG,EAArB3C,EAAAiE,EAAA,0BACCy/F,EACItxF,GAzENsrF,GAFwB6xB,EA4EC5sH,GA1EzB+6F,mBACAE,EAIE2xB,EAJF3xB,sBACAE,EAGEyxB,EAHFzxB,iBACA2F,EAEE8rB,EAFF9rB,eACAz2D,EACEuiF,EADFviF,QAII4iF,GADkB,IADLhyB,IAAXj4E,OAC0BgP,QAASy6F,KACCpiF,OAAUn9B,EAEhDggH,EACJ1vH,EAAAC,EAAAC,cAACkmN,EAAD,CAAezjH,cAAemnB,EAAsBj9E,QAAS4iF,IAwB7DzvH,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACrBhwD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD1iG,EAAA,GACMw9F,IADN,CAEEa,eAAgBU,MAGpBl/F,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD1iG,EAAA,GACMo9F,IADN,CAEE+D,gBAAiBstB,OA/BpBtrB,EAKHtjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO8yD,UACrBhwD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD1iG,EAAA,GACMs9F,IADN,CAEEoE,yBAA0BskH,MAG9BnmN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAC2iG,EAAA,EAAD,CAAS6sB,iBAAkBA,MAZxB,SAgEft7G,EAAMjS,UAAN,GAiBeiS,0JCjJFkvI,EAAqB,kBAAMz/I,YAAQ,yCACnC0/I,EAAoB,kBAAMx/I,YAAM,4DCU7C,SAASsiN,EAAT9nN,GAWG,IAVD+nN,EAUC/nN,EAVD+nN,kBACAjxC,EASC92K,EATD82K,iBACAkxC,EAQChoN,EARDgoN,MACAC,EAOCjoN,EAPDioN,iBACA1oB,EAMCv/L,EANDu/L,OACAhhB,EAKCv+K,EALDu+K,UACAqsB,EAIC5qM,EAJD4qM,UACAziI,EAGCnoE,EAHDmoE,aACAonC,EAECvvG,EAFDuvG,aACA8pB,EACCr5H,EADDq5H,cAEM6uF,EAAiBriN,IAAQmiN,KAAWzoB,EAE1C,IAAKwoB,GAAqBG,EACxB,OAAOzmN,EAAAC,EAAAC,cAAC08K,EAAA,EAAD,CAAqBC,aAAW,EAACC,UAAWA,IAiCrD,SAAS4pC,EAAW78M,EAAM3C,GAAO,IACvBlF,GAAY6H,GAAQ,IAApB7H,QAER,OAAIoC,IAAQpC,GACH,KAIPhC,EAAAC,EAAAC,cAAA,OACEwH,IAAG,WAAAC,OAAaT,GAChB1H,UAAWtC,IAAO8E,QAClB++C,wBAAyB,CAAEF,OAAQ7+C,KAuBzC,OACEhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO26H,kBAnBrBimE,GAAUwoB,EAEVtmN,EAAAC,EAAAC,cAACgpK,EAAA,EAAD,CACE1rK,KAAMsgM,EACNj1B,WAAW,MACXM,QAAM,EACNL,YAAa5rK,IAAO66H,UACpBqxC,eAAgBlsK,IAAO46H,aACvBr4H,UAAW6mN,EACX79C,kBAAmBqU,IAKlBypC,EAAMn+M,IAAIs+M,GAOb1mN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO06H,eACpBA,EACD53H,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,OACNE,KAAK,OACLQ,UAAWtC,IAAO2xD,aAClBjwD,SAAUy2K,EACV72K,QA5DV,WACE,IAAM82K,EAAsB,CAC1BE,WAAYjzF,EACZgzF,UAAWhzF,GAGb,IAAKu7G,GAAU15L,IAAQ+kM,GACrB,OAAO5mH,IAGT,IAAMp+E,EAxBF25L,EACK,CACL7mL,IAAK6mL,GAIF,CACLz+B,cAAevxD,EACf64G,gBAAiB,CACfC,aAAcz6L,IAAIg9K,EAAW,QAiBjC,OAAOqd,EAAiB,CAAEriN,OAAMmxK,sBAAqB5uG,mBAkD5C2uG,EACGr1K,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQC,UAAQ,EAAC1B,KAAK,QAAQQ,UAAWtC,IAAOgX,SAChDlU,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAOsD,KAAM,yBAQtD6lN,EAAgBlkN,UAAhB,GAyBekkN,0BC9IfxtM,EAAAC,QAAA,CAAkB04B,UAAA,sDCAlB34B,EAAAC,QAAA,CAAkBgN,cAAA,yDCAlBjN,EAAAC,QAAA,CAAkB4N,eAAA,0DCAlB7N,EAAAC,QAAA,CAAkBy1C,UAAA,qDCAlB11C,EAAAC,QAAA,CAAkBtY,KAAA,gDCAlBqY,EAAAC,QAAA,CAAkBrP,qBAAA,kECAlBoP,EAAAC,QAAA,CAAkBiiC,UAAA,qDCAlBliC,EAAAC,QAAA,CAAkBhG,aAAA,wDCAlB+F,EAAAC,QAAA,CAAkBqlD,eAAA,6DCAlBtlD,EAAAC,QAAA,CAAkB2D,sBAAA,iECAlB5D,EAAAC,QAAA,CAAkB6K,UAAA,qDCAlB9K,EAAAC,QAAA,CAAkBk8L,aAAA,wDCAlBn8L,EAAAC,QAAA,CAAkB+mC,WAAA,sDCAlBhnC,EAAAC,QAAA,CAAkBwpC,YAAA,uDCAlBzpC,EAAAC,QAAA,CAAkBs8C,YAAA,uDCAlBv8C,EAAAC,QAAA,CAAkBvW,aAAA,0DCAlBsW,EAAAC,QAAA,CAAkBtH,MAAA,mDCAlBqH,EAAAC,QAAA,CAAkB5W,KAAA,qDCAlB2W,EAAAC,QAAA,CAAkBna,OAAA,kDCAlBka,EAAAC,QAAA,CAAkBq3F,cAAA,6CAAAE,oBAAA,mDAAAE,gBAAA,iECAlB13F,EAAAC,QAAA,CAAkBq3F,cAAA,6CAAAE,oBAAA,mDAAAE,gBAAA,oECAlB13F,EAAAC,QAAA,CAAkBkxE,QAAA,qDCAlBnxE,EAAAC,QAAA,CAAkBV,KAAA,gDCAlBS,EAAAC,QAAA,CAAkB5L,OAAA,qDCAlB2L,EAAAC,QAAA,CAAkBtY,KAAA,gDCAlBqY,EAAAC,QAAA,CAAkBogF,cAAA,0DCAlBrgF,EAAAC,QAAA,CAAkBw3C,UAAA,qDCAlBz3C,EAAAC,QAAA,CAAkB43C,cAAA,yDCAlB73C,EAAAC,QAAA,CAAkB/T,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkB/T,UAAA,sDCAlB8T,EAAAC,QAAA,CAAkB7G,YAAA,mECAlB4G,EAAAC,QAAA,CAAkB7G,YAAA,wDCAlB4G,EAAAC,QAAA,CAAkBu4D,KAAA,iDCAlBx4D,EAAAC,QAAA,CAAkBqqE,SAAA,oDCAlBtqE,EAAAC,QAAA,CAAkBirE,4BAAA,wCCDlBjjF,EAAA+lN,EAAA7lN,GAAAF,EAAAC,EAAAC,EAAA,4BAAA6gE,IAAA,IAAAliD,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAmnM,GAAAhmN,EAAA,GAAAA,EAAA,MAOe,SAAS+gE,EAATtjE,GAAmE,IAAtCq9G,EAAsCr9G,EAAtCq9G,aAAcl6C,EAAwBnjE,EAAxBmjE,UAAWliE,EAAajB,EAAbiB,UAMnE,OACEogB,EAAA3f,EAAAC,cAAC4mN,EAAA,eAAD,CACE/kN,MAAO65G,EACPt4G,QAASo+D,EAAUt5D,IARC,SAAAtE,GAAA,MAAsB,CAC5CjC,MADsBiC,EAAG/B,MAEzBkV,IAFsBnT,EAAU2B,QAS9BjG,UAAWA,IAKjBqiE,EAAkB58D,aAAe,CAC/B22G,aAAc,YAGhB/5C,EAAkB1/D,UAAlB,oBCzBA0W,EAAAC,QAAA,CAAkB/T,UAAA,iECAlB8T,EAAAC,QAAA,CAAkBquI,MAAA,iDCAlBtuI,EAAAC,QAAA,CAAkB5L,OAAA,kDCAlB2L,EAAAC,QAAA,CAAkBy8C,iBAAA,+DCAlB18C,EAAAC,QAAA,CAAkB/T,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkB/T,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkB/T,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkB03D,UAAA,0DCAlB33D,EAAAC,QAAA,CAAkB5E,OAAA,kDCAlB2E,EAAAC,QAAA,CAAkBse,eAAA,0DCAlBve,EAAAC,QAAA,CAAkBtb,KAAA,gDCAlBqb,EAAAC,QAAA,CAAkBtY,KAAA,iDCAlBqY,EAAAC,QAAA,CAAkBqsD,IAAA,+CCAlBtsD,EAAAC,QAAA,CAAkBtE,MAAA,iFCDlB,IAAAmL,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAA0+C,EAAAz9D,EAAA,KAAA09D,EAAA19D,EAAA,GAAAimN,EAAAjmN,EAAA,IAAAkmN,EAAAlmN,EAAA,IAAAm3C,EAAAn3C,EAAA,MAAAo3C,EAAAp3C,EAAAsI,EAAA6uC,GAWA,SAASgvK,EAAT1oN,GAMG,IALDwD,EAKCxD,EALDwD,MACAH,EAICrD,EAJDqD,MACA0B,EAGC/E,EAHD+E,QACA+O,EAEC9T,EAFD8T,SAEC60M,EAAA3oN,EADD4oN,qBACC,IAAAD,KA+BD,OACEtnM,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAC8mN,EAAA,EAAD,KAAQjlN,GA/BNolN,EAEAvnM,EAAA3f,EAAAC,cAAC6mN,EAAA,EAAD,CACEnlN,MAAOA,EACP0B,QAASA,EACT+O,SAAU,SAAAuQ,GAAM,OAAIvQ,EAASuQ,EAAOhhB,QACpCmb,YAAY,EACZJ,WAAW,EACXS,aAAW,IAMfwC,EAAA3f,EAAAC,cAACq+D,EAAA,EAAD,CAAaz/D,MAAM,QAAQU,UAAWtC,IAAOo1B,aAC1ChvB,EAAQ8E,IAAI,SAAAwa,GAAM,OACjBhD,EAAA3f,EAAAC,cAACs+D,EAAA,EAAD,CACE92D,IAAKkb,EAAOhhB,MACZ9C,MAAM,UACNN,QAAS,kBAAM6T,EAASuQ,EAAOhhB,QAC/BpC,UAAWa,IAAWnD,IAAOyB,OAAQikB,EAAOhhB,QAAUA,GAAS1E,IAAOs1B,WAErE5P,EAAO/gB,WAepBolN,EAAsB9kN,UAAtB,GAae8kN,mCCpEfpuM,EAAAC,QAAA,CAAkBpb,QAAA,oDCAlBmb,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA6d,qBAAA,gECAlBz2D,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA+d,iBAAA,4DCAlB32D,EAAAC,QAAA,CAAkB5L,OAAA,kDCAlB2L,EAAAC,QAAA,CAAkBu/C,OAAA,qDCAlBx/C,EAAAC,QAAA,CAAkBw5I,YAAA,4uBCOlB,SAAS80D,EAAT7oN,GAKG,IAJD20M,EAIC30M,EAJD20M,eACAte,EAGCr2L,EAHDq2L,cACAyyB,EAEC9oN,EAFD8oN,gBACG9T,EACF1zM,EAAAtB,EAAA,sDAAAi1M,EACwC7e,YAAYx0L,EAAA,CACnDy0L,gBACAhtK,UAAU,GACP2rL,IAHGpvM,EADPqvM,EACOrvM,KAAMqyL,EADbgd,EACahd,aAAcb,EAD3B6d,EAC2B7d,SAW5B,IAAM2xB,EAAkBnnN,EAAA,GACnBq2L,EADmB,CAEtB+wB,UAAW,CACTC,WARJ,WACE,IAAM3xB,EAAgBF,EAAS9lL,SAAW8lL,EAAS9lL,QAAQgmL,cAC3DA,GAAiBwxB,GAAmBA,EAAgBxxB,EAAc4xB,qBAUpE,OACE7nM,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOorK,YAAa4qC,IAC7CtzL,EAAA3f,EAAAC,cAACwnN,EAAA,EAAD,CAAMtnN,IAAKu1L,EAAUryL,QAASgkN,EAAoBnjN,KAAMA,KAK9DijN,EAAiBjlN,UAAjB,GAMeilN,wBC5CfvuM,EAAAC,QAAA,CAAkB8+J,cAAA,yDCAlB/+J,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA1sD,UAAA,mCAAA4iN,OAAA,kDCAlB9uM,EAAAC,QAAA,CAAkB0qH,cAAA,yDCAlB3qH,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAxQ,UAAA,qDCAlBpoC,EAAAC,QAAA,CAAkBszH,WAAA,sDCAlBvzH,EAAAC,QAAA,CAAkBuiD,aAAA,wDCAlBxiD,EAAAC,QAAA,CAAkB24C,cAAA,uCAAAxQ,UAAA,qDCAlBpoC,EAAAC,QAAA,CAAkBk7H,YAAA,iECAlBn7H,EAAAC,QAAA,CAAkB8uM,wBAAA,iDAAAC,UAAA,mCAAA3pC,eAAA,wCAAA2d,YAAA,qCAAAh5G,WAAA,oCAAAriF,KAAA,8BAAA0T,OAAA,kDCAlB2E,EAAAC,QAAA,CAAkB/T,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAgqG,KAAA,8BAAAsgH,WAAA,sDCAlBjvM,EAAAC,QAAA,CAAkBtb,KAAA,8BAAAiP,MAAA,+BAAA+6F,KAAA,kDCAlB3uF,EAAAC,QAAA,CAAkB/T,UAAA,qDCAlB8T,EAAAC,QAAA,CAAkBna,OAAA,kDCAlBka,EAAAC,QAAA,CAAkB24C,cAAA,uCAAA9tB,eAAA,0DCAlB9qB,EAAAC,QAAA,CAAkBiyL,iBAAA,oMCGX,SAASgd,EAAiBxgL,GAC/B,OAAOl5B,IAAQk5B,IAAcl5B,IAAQk5B,EAAU3lC,OAG1C,SAASomN,EAAWC,GACzB,WAAO,CAACjiL,IAAoBC,IAAiBK,KAAmB9R,QAASyzL,GCT3E,IAYeC,EAZO,CACpBC,UAAW,yCACX5gL,UAAW,6BACX6gL,iBAAkB,6BAClBvgL,aAAc,0BACdvkC,QAAS,CACP0nD,IAAK,2EACLtjB,SAAU,wBACV2gL,OAAQ,8BCDZC,YAAcA,QAAW,SAAUC,KAEnC,IAqBeC,EArBUF,WAAanxJ,MAAM,CAC1CgxJ,UAAWG,WAAa5gL,SAASwgL,EAAcC,WAC/C5gL,UAAW+gL,WAAanxJ,MAAM,CAC5Bv1D,MAAO0mN,WAAa5gL,SAASwgL,EAAc3gL,aAE7CM,aAAcygL,UAAY5gL,SAASwgL,EAAcrgL,cACjDugL,iBAAkBE,WAAa5gL,SAASwgL,EAAcE,kBACtD9kN,QAASglN,UACNG,KACC,YAAa,CACXC,GAAK,SAAAnhL,GAAS,OAAIygL,EAAWzgL,EAAU3lC,QACvC4V,KAAM8wM,UACHt9J,IAAI,EAAGk9J,EAAc5kN,QAAQ0nD,KAC7B29J,GAAGL,WAAanxJ,MAAM,CACrBv1D,MAAO0mN,WAAa5gL,SAASwgL,EAAc5kN,QAAQokC,aAEpD2gL,OAAOH,EAAc5kN,QAAQ+kN,OAAQ,ySCvBzC,IAAMO,EAAsB9hM,IAAMC,gBAW1B8hM,MATf,SAAyB5hM,GACvB,OAAO,SAA4BzkB,GACjC,OACExC,EAAAC,EAAAC,cAAC0oN,EAAoB1hM,SAArB,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,kJCHxB7d,IAAU6tD,MAAM,CACrC2xJ,sBAAuBx/M,IAAU48D,KAAKtxC,WACtCm0L,4BAA6Bz/M,IAAU48D,KAAKtxC,WAC5Co0L,oBAAqB1/M,IAAU48D,KAAKtxC,WACpCq0L,sBAAuB3/M,IAAU48D,KAAKtxC,WACtCs0L,WAAY5/M,IAAU48D,KAAKtxC,WAC3Bu0L,UAAW7/M,IAAU48D,KAAKtxC,WAC1Bw0L,oBAAqB9/M,IAAU48D,KAAKtxC,WACpCyiG,YAAa/tH,IAAUC,MAAM,CAACk9B,IAAcU,IAAKV,IAAcW,mBAAmBxS,aAR7E,IAWMy0L,EAAe//M,IAAU6tD,MAAM,CAC1CxvB,QAASr+B,IAAU48D,KACnBz+B,MAAOn+B,IAAU8E,OACjBk7M,SAAUhgN,IAAU48D,OAGTqjJ,EAAoBjgN,IAAU6tD,MAAM,CAC/Cv1D,MAAO0H,IAAUiuD,QAAQjuD,IAAU8E,QACnCq5B,MAAOn+B,IAAU8E,SAYNo7M,GAT2BlgN,IAAU6tD,MAAM,CACtD5vB,UAAWj+B,IAAU8E,OACrBk5B,UAAWh+B,IAAU8E,OACrBw5B,WAAYt+B,IAAU48D,KACtBZ,QAAS+jJ,EACTxhL,aAAc0hL,EACd7hL,SAAUp+B,IAAU48D,KAAKtxC,aAGAtrB,IAAU6tD,MAAM,CACzCv1D,MAAO0H,IAAU8E,UAGNq7M,EAAmBngN,IAAUiuD,QAAQyP,KAcrC0iJ,GAZmBpgN,IAAU6tD,MAAM,CAC9C5vB,UAAWj+B,IAAU6tD,MAAM,CACzBv1D,MAAO0H,IAAU8E,SAEnBg6M,iBAAkB9+M,IAAU8E,OAC5Bw5B,WAAYt+B,IAAU48D,KACtB1+B,SAAUl+B,IAAU8E,OACpB9K,QAASgG,IAAUiuD,QAAQiyJ,GAC3B9hL,SAAUp+B,IAAU48D,KACpBr+B,aAAc4hL,IAGcngN,IAAU6tD,MAAM,CAC5Ct1D,MAAOyH,IAAU8E,OACjBxM,MAAO0H,IAAU8E,UAcbu7M,GAXqBrgN,IAAU6tD,MAAM,CACzCgxJ,UAAW7+M,IAAU8E,OACrBm5B,UAAWmiL,EACX7hL,aAAc4hL,EACdrB,iBAAkB9+M,IAAU8E,OAC5Bo5B,SAAUl+B,IAAU8E,OACpB9K,QAASgG,IAAUiuD,QAAQiyJ,GAC3BI,qBAAsBtgN,IAAUguD,OAChC5vB,SAAUp+B,IAAU48D,OAGH58D,IAAU6tD,MAAV1lD,EAAA,GAChBnI,IAAU8E,OAAS9E,IAAU8E,UAU1By7M,GAPqBvgN,IAAU6tD,MAAV1lD,EAAA,GACxBnI,IAAU8E,OAAS9E,IAAU4oE,UAAU,CACtC5oE,IAAU8E,OACV9E,IAAUiuD,QAAQoyJ,OAIGrgN,IAAU6tD,MAAV1lD,EAAA,GACtBnI,IAAU8E,OAAS9E,IAAU48D,WAGJ58D,IAAU6tD,MAAV1lD,EAAA,GACzBnI,IAAU8E,OAAS9E,IAAU4oE,UAAU,CACtC5oE,IAAU48D,KACV58D,IAAUiuD,QAAQsyJ,svCC2EPpnF,MA3Jf,SAAAlkI,GAQG,IAPD4qN,EAOC5qN,EAPD4qN,UACAz7L,EAMCnvB,EANDmvB,UACA87K,EAKCjrM,EALDirM,kBACAsgB,EAICvrN,EAJDurN,sBACAC,EAGCxrN,EAHDwrN,wBACAp1F,EAECp2H,EAFDo2H,eACA0C,EACC94H,EADD84H,YACCnoH,EAAAC,EACqCC,oBAAS,GAD9C,GACM46M,EADN96M,EAAA,GACmB+6M,EADnB/6M,EAAA,GAAA+I,EAAA9I,EAEyCC,mBAAS,IAFlD,GAEMqvB,EAFNxmB,EAAA,GAEqB83H,EAFrB93H,EAAA,GAAAiyM,EAGiDxnF,cAA1CU,EAHP8mF,EAGO9mF,SAAU+mF,EAHjBD,EAGiBC,cAAepnF,EAHhCmnF,EAGgCnnF,aACzB1sD,EAAsB+sD,EAAtB/sD,UAAWr/C,EAAWosG,EAAXpsG,OACbqI,GAAsBhxB,IAAQqf,IAAcA,EAAUF,WAAa+Y,IAEzE,SAAS6jL,EAAiBziL,EAAS0iL,GACjC,MAAO,CACLzhB,YAAa,CACXjhK,UACA4hK,cAAe,CAAC8gB,GAAWhzF,IAE7B70D,SAAUj8B,IACV8vC,YACAD,KAAMp/C,GAIV,SAASszL,EAAwB3iL,EAAS0iL,GACxCF,IACA3gB,EAAkB4gB,EAAiBziL,EAAS0iL,IAA5C,MACS9nI,IAAcG,mBAezB,SAAS6nI,IACPN,GAAgBD,GAGlB,SAASQ,EAAkBC,EAAQ9iL,GACjC,MAAO,CACLid,cAAe,CACb6lK,OAAQA,EAAOriN,IAAI,SAAAq/B,GAAK,OAAIA,EAAMA,OAASA,IAC3CE,WAEF0vF,eAUJ,SAASqzF,IACP36E,EAAiB,IAgEnB,OAFA9/H,oBAAU,kBAAMq6M,EAAwBnB,IAAY,IAE7C,CACLa,cACAvrL,gBACA4vK,kBA1EF,SAA2BjiL,GACzB,IAAMq+L,EAASr+L,EAAMhkB,IAAI,SAAApE,GAAA,MAAgB,CAAEyjC,MAAlBzjC,EAAGyjC,SAE5BsoG,EAAiB06E,IAwEjBE,mBAjEF,WACEZ,EACES,EAAkB/rL,GAAe,GACjCisL,GAEClzM,KAAK+qE,IAAcE,oBAJtB,MAKSF,IAAcG,oBA4DvBkoI,kBAzDF,WACEb,EACES,EAAkB/rL,GAAe,GACjCisL,GAEClzM,KAAK+qE,IAAcE,oBAJtB,MAKSF,IAAcG,oBAoDvBgoI,2BACAG,iBA1BF,SAA0B1/K,GACxB,IACM8mC,EAAM4wD,EAAA,CACV13F,QAFmBi/K,EAAiBjB,IAMtC3f,EAAkBv3H,GAAlB,MACSsQ,IAAcG,oBAmBvBooI,mBAnDyB,SAAArjL,GAAK,OAAI,WAClCqiL,EAAsBriL,GACnBjwB,KAAK+yM,GADR,MAEShoI,IAAcG,qBAiDvBqoI,kBA9CwB,SAAAnqL,GAAA,IAAG6G,EAAH7G,EAAG6G,MAAOE,EAAV/G,EAAU+G,QAAV,OAAwB,WAChDoiL,EAAwBS,EAAkB,CAAC/iL,IAASE,IACjDnwB,KAAK+qE,IAAcE,oBADtB,MAESF,IAAcG,qBA4CvB6nI,kBACAS,mBA1CyB,SAACC,GAC1B,IACMh5I,EAAM4wD,EAAA,GADSunF,EAAiBjB,GAC1B,CAEV/yI,KAAM60I,EACN50I,UAAW0sD,EAAakoF,KAG1BzhB,EAAkBv3H,GAAlB,MACSsQ,IAAcG,oBAkCvBrjD,qBACA+2C,KAAM,CACJgtD,WACA+mF,gBACApnF,gBAEFk/D,mBA3GF,SAAAn+L,GAPEwmN,IAO8CxmN,EAAlBlC,QA4G5By1H,cACA6zF,qBA5BF,SAA8B76M,GAC5BskH,EAAekO,EAAA,GAAKxyH,EAAN,CAAa84M,YAAW9xF,kBA4BtC8zF,wBAzB8B,SAAAd,GAAO,OAAI,kBAAMC,EAAwBnB,EAAWkB,8DC5HtF,SAAS9vK,GAATh8C,GAAkC,IAAlBwD,EAAkBxD,EAAlBwD,MAAOC,EAAWzD,EAAXyD,QACrB,GAAIqM,IAAQrM,IAA+B,kBAAZA,EAC7B,OAAO,KAGT,IAAIyC,EAAiBzC,EAUrB,MARuB,mBAAZA,IACTyC,EAAiBzC,EAAU,MAAQ,MAGjCD,IAAU8kC,IAAmBS,YAC/B7iC,EAAiB6uB,IAAOtxB,GAASgpC,OAAOiC,OAIxCjtC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0qD,OACrB5nD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6E,OAAQA,GAC/B/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8E,SAAUyC,IAKvC81C,GAAKp4C,UAAL,GAUeo4C,UChCf,SAAS6wK,GAAT7sN,GAAoD,IAA1B4F,EAA0B5F,EAA1B4F,KAAMknN,EAAoB9sN,EAApB8sN,iBAAoBjnI,EACnBjvD,cAAvBvN,EAD0Cw8D,EAC1Cx8D,SAAUwoJ,EADgChsF,EAChCgsF,SAGlB,KAFyBxoJ,GAAYwoJ,GAGnC,OAAO,KA+BT,IAAMk7C,EAAetrN,EAAAC,EAAAC,cAAA,iEAErB,OACEF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgF,MACpBmM,IAAQlK,GAAQmnN,EAAennN,EAAKiE,IAxBzC,SAAoBqD,EAAMvE,GACxB,OACElH,EAAAC,EAAAC,cAAA,OACEwH,IAAG,cAAAC,OAAgBT,GACnB1H,UAAWtC,KAAOw7G,UAEjB1nF,OAAOC,KAAKxlB,GAAMrD,IAAI,SAAAV,GAAG,OACxB1H,EAAAC,EAAAC,cAACuyK,GAAD,CACE/qK,IAAG,GAAAC,OAAKD,EAAL,KAAAC,OAAYT,GACfnF,MAAO8kC,IAAmBn/B,GAC1B1F,SAlBU44G,EAkBUlzG,EAlBA6sB,EAkBK9oB,EAAK/D,GAjBrB,cAAbkzG,EACKh0E,YAAwBrS,GAG1BA,KALT,IAAoBqmF,EAAUrmF,IAsBvB82L,EAAiB5/M,EAAK65D,SACvBtlE,EAAAC,EAAAC,cAAA,eAcRkrN,GAAejpN,UAAf,GAKeipN,oBC7BAr9L,OA1Bf,WAeE,OACE/tB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgF,MACpBiI,MAAM,GAAGC,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OACpBlH,EAAAC,EAAAC,cAAA,OAAKwH,IAAG,cAAAC,OAAgBT,GAAS1H,UAAWtC,KAAOw7G,UAfrD14G,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOy7G,iBACpBxuG,MAAM,GAAGC,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OACpBlH,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,oBAAAC,OAAsBT,IACjClH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOg6G,kBAAkBl3G,EAAAC,EAAAC,cAAC0J,GAAA,EAAD,OACzC5J,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO07G,oBAAoB54G,EAAAC,EAAAC,cAAC0J,GAAA,EAAD,UAG/C5J,EAAAC,EAAAC,cAAA,8UCHR,SAAS0d,GAATrf,GAeG,IAdD6lI,EAcC7lI,EAdD6lI,GACAl9H,EAaC3I,EAbD2I,MAaCqkN,EAAAhtN,EAZDqkB,OACEhhB,GAWD2pN,OAAA,IAAAA,EATG,GASHA,GAXC3pN,MACA4pN,EAUDD,EAVCC,aAEFC,EAQCltN,EARDktN,UACA7jL,EAOCrpC,EAPDqpC,WACA8jL,EAMCntN,EANDmtN,SACA9/L,EAKCrtB,EALDqtB,SACAg+L,EAICrrN,EAJDqrN,qBACAv3M,EAGC9T,EAHD8T,SACAyK,EAECve,EAFDue,OACA6uM,EACCptN,EADDotN,aAMA,SAASC,IACP,OAAQhkL,GAAc1gC,EAAQ0iN,EAShC,IAAMnqN,EAAY2kI,EAAG4kF,qBAAuB5kF,EAAG6kF,sBACzC4C,EAAsBD,KAAwBnsN,EAC9CqsN,EAAmBJ,EAAYC,EAAe,GAAKh5M,KAAM64M,GAAiBG,EAAe,EACzFl5M,EAAc,CAClBJ,WACAyK,UAGF,OACE9c,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0lB,QACrB5iB,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOC,QAAO,WAAA5Y,OAAaT,GAASpI,MAAM,SAA1C,SAAyDoI,EAAQ,GAEjElH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+iI,YACrBjgI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOgjI,WACrBlgI,EAAAC,EAAAC,cAACkT,GAAA,EAAD24M,GAAA,CACExoN,GAAE,WAAAoE,OAAaT,GACf6K,KAAI,WAAApK,OAAaT,EAAb,UACJtF,MAAOA,EACPqQ,YAAa80B,IACbnoC,SAAUitN,EACV/4M,aAzBD84M,IACH5kL,IACAglL,aAAQ,WAAArkN,OAAYT,EAAZ,WAA4BukN,IAwB5Bh5M,KAIPq5M,GACC9rN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,SACLM,KAAK,OACLF,MAAM,QACNN,QA5CV,WACEotB,EAAS1kB,IA4CD5H,cAAY,EACZV,SAAUitN,MAQtBjuM,GAAOzb,UAAP,GAce0mN,SAAgBjrM,yOCpF/B,SAASquM,GAAT1tN,GAMG,IALD6lI,EAKC7lI,EALD6lI,GACA78F,EAIChpC,EAJDgpC,UACAjkC,EAGC/E,EAHD+E,QACAiN,EAEChS,EAFDgS,aACAk6F,EACClsG,EADDksG,WAEA,GAAIs9G,EAAiBxgL,GACnB,OAAO,KAGT,IAAM9nC,EAAY2kI,EAAG4kF,qBAAuB5kF,EAAG6kF,sBACzCxqF,EAAe,CAAE78H,MAAO,IACxB6Q,EAAc,CAClBJ,SAAU9B,EACVuM,OAAQ2tF,GAGV,OACEzqG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8iI,mBACpBgoF,EAAWzgL,EAAU3lC,QACpB5B,EAAAC,EAAAC,cAACgsN,EAAA,EAAD,CACEn6M,KAAK,UACLpN,OAAQ,SAAAb,GAAA,IAAGgvE,EAAHhvE,EAAGgvE,OAAQx0D,EAAXxa,EAAWwa,KAAX,OACNte,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAOguH,UAAWhuH,KAAOoG,UACjDA,EAAQ8E,IAAI,SAACwa,EAAQ1b,GAAT,OACXlH,EAAAC,EAAAC,cAACisN,GAADC,GAAA,GACM35M,EADN,CAIE/K,IAAG,iBAAAC,OAAmBT,GACtBA,MAAOA,EACP0b,OAAQA,EACRgJ,SAAUknD,EACV64I,aAAcroN,EAAQ0D,aAK5BhH,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,SACLM,KAAK,OACLF,MAAM,QACNN,QAAS,kBAAM8f,EAAKmgH,IACpBr/H,WAAS,EACTR,SAAUa,GANZ,mBAmBhBwsN,GAAc9pN,UAAd,GAQe0mN,SAAgBoD,mCCtE/B,SAASI,GAAT9tN,GAAsE,IAA1CiwG,EAA0CjwG,EAA1CiwG,cAAe3mE,EAA2BtpC,EAA3BspC,aAAc4jL,EAAaltN,EAAbktN,UAKvD,OACEzrN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOm6H,aACrBr3H,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOxhB,MAAM,SAAb,2BACAkB,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEU,aAAW,EACXR,OAAK,EACL7K,KAAK,eACLnQ,MAAOimC,EACPvkC,QAASojC,IACTr0B,SAbN,SAAkCqR,GAChC8qF,EAAc,eAAgB9qF,IAa1B5Q,aAAck5M,aAAS,eAAgBP,GACvC9uM,WAAW,EACXnd,UAAU,iCAMlB6sN,GAAiBlqN,UAAjB,GASekqN,oBCpCf,SAASC,GAAT/tN,GAAkD,IAAtBmpC,EAAsBnpC,EAAtBmpC,SAAUr1B,EAAY9T,EAAZ8T,SACpC,OACErS,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOxhB,MAAM,SAAb,mBACC6nC,IAAuBv+B,IAAI,SAAAtE,GAAA,IAAGjC,EAAHiC,EAAGjC,MAAOD,EAAVkC,EAAUlC,MAAV,OAC1B5B,EAAAC,EAAAC,cAACq8B,GAAA,EAAD,CACE70B,IAAG,kBAAAC,OAAoB/F,GACvBC,MAAOA,EACPD,MAAOA,EACP9C,MAAM,UACNuT,SAAUA,EACVgT,QAASqiB,IAAa9lC,OAOhC0qN,GAAiBnqN,UAAjB,GAKemqN,+OCNf,SAASC,GAAThuN,GAUG,IATDktN,EASCltN,EATDktN,UACAtD,EAQC5pN,EARD4pN,UACA5gL,EAOChpC,EAPDgpC,UACAM,EAMCtpC,EANDspC,aACAugL,EAKC7pN,EALD6pN,iBACA55G,EAICjwG,EAJDiwG,cACAj+F,EAGChS,EAHDgS,aACAk6F,EAEClsG,EAFDksG,WACA/iE,EACCnpC,EADDmpC,SAEMj1B,EAAc,CAClBjT,UAAWtC,KAAOsU,MAClBa,SAAU9B,EACVuM,OAAQ2tF,GAoBV,OACEzqG,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOk6H,iBACrBp3H,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOC,QAAQ,YAAYzhB,MAAM,SAAjC,SACAkB,EAAAC,EAAAC,cAACkT,GAAA,EAADo5M,GAAA,GACM/5M,EADN,CAEElP,GAAG,YACHwO,KAAK,YACLnQ,MAAOumN,EACPr1M,aAAck5M,aAAS,YAAaP,OAIxCzrN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOxhB,MAAM,SAAb,qBACAkB,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACE9a,MAAO2lC,EAAU3lC,MACjB2B,GAAG,YACHwO,KAAK,YACL0R,UAAU,QACVngB,QAASkjC,IACTn0B,SA/BV,SAA+BqR,IAR/B,SAA0BA,GAExB,GAAIskM,EAAWtkM,GAAkBA,EAAe9hB,OAAQ,CACtD,IAAMi3E,EAAa,CAAEj3E,MAAO,IAC5B4sG,EAAc,UAAW,CAACg+G,GAAA,GAAK3zI,GAAN2zI,GAAA,GAAyB3zI,MAKpD4zI,CAAiB/oM,GACjB8qF,EAAc,YAAa9qF,IA8BnBzR,YAAag1B,IACbznC,UAAWtC,KAAOsU,MAClBsB,aAAck5M,aAAS,kBAAmBP,GAC1CruM,aAAW,EACXT,WAAW,EACXI,YAAY,KAIhB/c,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACwsN,GAAD,CAAkBhlL,SAAUA,EAAUr1B,SArC9C,SAAAvO,GAA+C,IAAVgC,EAAUhC,EAAVgC,OACnC0oG,EAAc,WAA6B,SAAjB1oG,EAAOlE,YAwC/B5B,EAAAC,EAAAC,cAACysN,GAAD,CACEn+G,cAAeA,EACf3mE,aAAcA,EACd4jL,UAAWA,IAGbzrN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOC,QAAQ,mBAAmBzhB,MAAM,SAAxC,eACAkB,EAAAC,EAAAC,cAACqY,GAAA,EAADi0M,GAAA,GACM/5M,EADN,CAEElP,GAAG,mBACHwO,KAAK,mBACLnQ,MAAOwmN,EACPn2M,YAAai1B,IACbp0B,aAAck5M,aAAS,mBAAoBP,QAOrDc,GAAWpqN,UAAX,GAee0mN,SAAgB0D,yBCpHxB,SAASK,GAATruN,GAQJ,IAPDktN,EAOCltN,EAPDktN,UACAl7M,EAMChS,EANDgS,aACAwB,EAKCxT,EALDwT,KACAq2M,EAIC7pN,EAJD6pN,iBACA1gL,EAGCnpC,EAHDmpC,SACA8mE,EAECjwG,EAFDiwG,cACA3mE,EACCtpC,EADDspC,aAMA,OACE7nC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8xC,KACrBhvC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOC,QAAQ,OAAOzhB,MAAM,SAA5B,SACAkB,EAAAC,EAAAC,cAACkT,GAAA,EAAD,CACErB,KAAK,OACLvS,UAAWtC,KAAOsU,MAClB5P,MAAOmQ,EACPM,SAAU9B,EACVuC,aAAck5M,aAAS,OAAQP,MAGnCzrN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACwsN,GAAD,CAAkBhlL,SAAUA,EAAUr1B,SAlB9C,SAAAvO,GAAkD,IAAVgC,EAAUhC,EAAVgC,OACtC0oG,EAAc,WAA6B,SAAjB1oG,EAAOlE,YAqB/B5B,EAAAC,EAAAC,cAACysN,GAAD,CACEn+G,cAAeA,EACf3mE,aAAcA,EACd4jL,UAAWA,IAGbzrN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOC,QAAQ,mBAAmBzhB,MAAM,SAAxC,eACAkB,EAAAC,EAAAC,cAACqY,GAAA,EAAD,CACEtG,YAAai1B,IACbn1B,KAAK,mBACLvS,UAAWtC,KAAOsU,MAClB5P,MAAOwmN,EACP/1M,SAAU9B,EACVuC,aAAck5M,aAAS,mBAAoBP,OAOrDmB,GAAUzqN,UAAV,GAae0mN,SAAgB+D,yOC/D/B,SAASC,GAATtuN,GAUG,IATD6lI,EASC7lI,EATD6lI,GACAvvH,EAQCtW,EARDsW,YACAi4M,EAOCvuN,EAPDuuN,OACAC,EAMCxuN,EANDwuN,QACAvnM,EAKCjnB,EALDinB,OACAjV,EAIChS,EAJDgS,aACAk6F,EAGClsG,EAHDksG,WACA+D,EAECjwG,EAFDiwG,cACAw+G,EACCzuN,EADDyuN,aAEMC,EAAeC,GAAA,GAChB1nM,EADgB,CAEnB4+G,KACA7zH,eACAk6F,aACA+D,gBACAi9G,UAAW,CAAEqB,SAAQC,aAGjB74M,EAASlU,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQU,UAAWtC,KAAOyzE,aAC9Dw8I,EAAsB/oF,EAAG6kF,sBAAwB/0M,EAAS,OAEhE,OACElU,EAAAC,EAAAC,cAAA,QAAM2T,SAAUm5M,EAAcxtN,UAAWtC,KAAOsX,OAC9CxU,EAAAC,EAAAC,cAAC0oN,EAAoBtzL,SAArB,CAA8B1zB,MAAOqrN,GACnCjtN,EAAAC,EAAAC,cAACktN,GAAD,MACAptN,EAAAC,EAAAC,cAACmtN,GAAD,OAGFrtN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6zE,cACrB/wE,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLI,MAAM,QACNE,KAAK,QACLR,QAASqW,GAJX,UAQA7U,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,SACLM,KAAK,SAEJmuN,KAOXN,GAAK1qN,UAAL,GAYe0qN,UCzEfvE,YAAcA,QAAW,SAAUC,KAEnC,IAkBeC,GAlBUF,WAAanxJ,MAAM,CAC1CplD,KAAMu2M,WAAa5gL,SAASwgL,EAAcC,WAC1CC,iBAAkBE,WAAa5gL,SAASwgL,EAAcE,kBACtDvgL,aAAcygL,UAAY5gL,SAASwgL,EAAcrgL,cACjDvkC,QAASglN,UACNG,KACC,YAAa,CACXC,GAAK,SAAAnhL,GAAS,OAAIygL,EAAWzgL,EAAU3lC,QACvC4V,KAAM8wM,UACHt9J,IAAI,EAAGk9J,EAAc5kN,QAAQ0nD,KAC7B29J,GAAGL,WAAanxJ,MAAM,CACrBv1D,MAAO0mN,WAAa5gL,SAASwgL,EAAc5kN,QAAQokC,aAEpD2gL,OAAOH,EAAc5kN,QAAQ+kN,OAAQ,umBCehD,IAkBeiF,GAlBEC,YAAW,CAC1B/E,oBACAgF,iBAAkB,SAAA1pN,GAAqB,IAAAE,EAAAF,EAAlB2pN,aACoC,GAA/CnqN,EAD6BU,EAC7BV,QAER,OAAOoqN,GAAA,GAH8B7tN,GAAAmE,EAAA,aAGrC,CAEE4lN,qBAAsBrzK,KAAKjzC,GAC3BA,QAAS6oB,IAAI7oB,EAAS,SAAAs9B,GAAA,IAAGh/B,EAAHg/B,EAAGh/B,MAAH,MAAgB,CACpC4pN,aAAc5pN,EACdA,cAIN+rN,oBAAoB,EACpBX,aA3CF,SAAsBxnM,EAAQ8/C,GAAS,IAAAsoJ,EACMtoJ,EAAQ9iE,MAA3CqS,EAD6B+4M,EAC7B/4M,YAAag5M,EADgBD,EAChBC,kBAEnBpmL,EAOEjiB,EAPFiiB,MACA11B,EAMEyT,EANFzT,KACAzO,EAKEkiB,EALFliB,QACAqkC,EAIEniB,EAJFmiB,QACkB1lC,EAGhBujB,EAHF4iM,iBACAvgL,EAEEriB,EAFFqiB,aACAH,EACEliB,EADFkiB,SAcFmmL,EAAkBpmL,EAXE,CAClB11B,OACA9P,cACAsnM,cAAep9K,IAAI0b,EAAc,SACjCvkC,QAAS6oB,IAAI7oB,EAAS,SAAA/E,GAAA,MAA8B,CAClDuvN,UADoBvvN,EAAGitN,aAEvBuC,UAFoBxvN,EAAiBqD,SAIvC8lC,YAGoC7yB,EAAa8yB,GAChDnwB,KAAK+qE,IAAcE,oBADtB,MAESF,IAAcG,qBAGR6qI,CAgBdV,mCC3CH,SAASmB,GAATzvN,GAMG,IALD4qN,EAKC5qN,EALD4qN,UACA8E,EAIC1vN,EAJD0vN,YACAC,EAGC3vN,EAHD2vN,aACAC,EAEC5vN,EAFD4vN,aACA/oM,EACC7mB,EADD6mB,cAEA,OACEplB,EAAAC,EAAAC,cAACgK,GAAA,EAAD,CAAapL,MAAM,QAAQU,UAAWtC,KAAO8sB,UAC3ChqB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNE,KAAK,QACLQ,UAAWa,IAAW8oN,GAAajsN,KAAO6qB,WAC1CvpB,QAASyvN,GAERE,GAEHnuN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,UACNE,KAAK,QACLQ,UAAWa,KAAY8oN,GAAajsN,KAAO6qB,WAC3CvpB,QAAS0vN,GAER9oM,IAMT4oM,GAAgB/oN,aAAe,CAC7BkpN,aAAc,UACd/oM,cAAe,YAGjB4oM,GAAgB7rN,UAAhB,GAQe6rN,yPC3Cf,SAASn+L,GAATtxB,GAMG,IALD6lI,EAKC7lI,EALD6lI,GACA3lG,EAIClgC,EAJDkgC,cACA5S,EAGCttB,EAHDstB,QACAuiM,EAEC7vN,EAFD6vN,UACAC,EACC9vN,EADD8vN,SAEM5uN,EAAY2kI,EAAG6kF,uBAAyB7kF,EAAG4kF,oBAC3Ct5C,EAAyBjxI,EAAcz3B,OAAS,EAChD+lB,EAAc,CAClBjuB,MAAO,QACPE,KAAM,SACNQ,UAAWtC,KAAOuzE,QAGpB,OAAOi/F,GACL1vK,EAAAC,EAAAC,cAAC8jF,GAAA,EAAD,CACEjiF,MAAM,SACN08B,cAAeA,EACf7I,SAAS,EACTp2B,UAAWtC,KAAOszE,WAElBxwE,EAAAC,EAAAC,cAAC5B,EAAA,EAADgwN,GAAA,GACMvhM,EADN,CAEEvuB,QAASqtB,IAFX,SAOA7rB,EAAAC,EAAAC,cAAC5B,EAAA,EAADgwN,GAAA,GACMvhM,EADN,CAEEvuB,QAAS4vN,EACTxvN,SAAUa,IAHZ,WAOAO,EAAAC,EAAAC,cAAC5B,EAAA,EAADgwN,GAAA,GACMvhM,EADN,CAEEvuB,QAAS6vN,EACTzvN,SAAUa,IAHZ,WAWNowB,GAAc1tB,UAAd,GAQe0tB,kDC7DT0+L,GAAgBjlN,IAAU6tD,MAAM,CACpCkf,UAAW/sE,IAAU8E,OACrB4oB,OAAQ1tB,IAAU8E,SCgCLshC,ID7BUpmC,IAAU6tD,MAAM,CACvCisE,SAAUmrF,GAAc35L,WACxBu1L,cAAe7gN,IAAU8tD,KAAKxiC,WAC9BmuG,aAAcz5H,IAAU8tD,KAAKxiC,aCVV,CACnB,CACE/yB,MAAO,gBACP61B,QAAS,gBAEX,CACE71B,MAAO,QACP61B,QAAS,OACTR,WAAY,QAEd,CACEr1B,MAAO,cACP61B,QAAS,cACTR,WAAY,eAEd,CACEr1B,MAAO,OACP61B,QAAS,YACTR,WAAY,cAEd,CACEr1B,MAAO,WACP61B,QAAS,WACTR,WAAY,YAEd,CACEr1B,MAAO,UACP61B,QAAS,YACTR,WAAY,cAEd,CACEr1B,MAAO,SACP61B,QAAS,aCdP82L,GAAwB,GAE9B,SAASC,GAATlwN,GAUG,IATD63E,EASC73E,EATD63E,KACAguD,EAQC7lI,EARD6lI,GACA0kF,EAOCvqN,EAPDuqN,sBACA4F,EAMCnwN,EANDmwN,gBACAjwL,EAKClgC,EALDkgC,cACA4sL,EAIC9sN,EAJD8sN,iBACA7qL,EAGCjiC,EAHDiiC,cACAwqL,EAECzsN,EAFDysN,mBACA2D,EACCpwN,EADDowN,iBAEQvrF,EAA4BhtD,EAA5BgtD,SAAU+mF,EAAkB/zI,EAAlB+zI,cAMlB,GAJAl6M,oBAAU,WACRk6M,KACC,CAAC/lF,EAAG8kF,aAEHJ,EACF,OAAO9oN,EAAAC,EAAAC,cAACqM,GAAA,EAAD,CAAkBP,QAAS,IAepC,OACEhM,EAAAC,EAAAC,cAAC0uN,GAAA,EAAD,CACEh0L,UAAU,QACV5uB,QAAS0jC,GACTvrC,KAAMuqN,EACNjwL,cAAeA,EACf+B,cAAeA,EACf/J,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBz/C,OAAQo0L,EACRhoL,eAAgB9lC,KAAOuP,MACvB4uB,mBAAoB+oG,EAAGglF,oBACvB9lL,UApBc,SAAAx/B,GAAqC,IAAlC+iJ,EAAkC/iJ,EAAlC+iJ,YAAaxuF,EAAqBv0D,EAArBu0D,OAAQyuF,EAAahjJ,EAAbgjJ,OACnCD,GAAeA,EAAY3/I,QAAUmxD,EAAOnxD,OAAS4/I,IAAWC,KAAgBC,QAIrF2nE,EAAiB,CAAE9nE,cAAaxuF,YAgB9Bh1B,YAAY,0BACZ3N,mBAAiB,EACjB8I,oBAAkB,EAClBlD,eAAa,GAEbt7B,EAAAC,EAAAC,cAAC0H,GAAA,EAAD,CAAe8vB,QAAQ,iBACvB13B,EAAAC,EAAAC,cAAC0uN,GAAA,EAAD,CAAQl3L,QAAQ,SAChB13B,EAAAC,EAAAC,cAAC0uN,GAAA,EAAD,CAAQl3L,QAAQ,eACb,SAAAz1B,GAAW,OACVjC,EAAAC,EAAAC,cAAC0H,GAAA,EAAD,CAAcC,WAAY5F,EAAa6F,cAAe0mN,OAG1DxuN,EAAAC,EAAAC,cAAC0uN,GAAA,EAAD,CAAQl3L,QAAQ,aAAa,SAAA6P,GAAS,OAAIX,YAAwBW,KAClEvnC,EAAAC,EAAAC,cAAC0uN,GAAA,EAAD,CAAQl3L,QAAQ,YAtCpB,SAAgC91B,GAC9B,OAAiB,IAAVA,EAAiB,MAAQ,OAsC9B5B,EAAAC,EAAAC,cAAC0H,GAAA,EAAD,CAAU8vB,QAAQ,YAAYn0B,GAAG,cACjCvD,EAAAC,EAAAC,cAAC0uN,GAAA,EAAD,CAAQl3L,QAAQ,WAAW2zL,IAKjCoD,GAAYtsN,UAAZ,GAYessN,mBCzFA,SAASI,GAATtwN,GAAsD,IAAhCC,EAAgCD,EAAhCC,QAAS2qN,EAAuB5qN,EAAvB4qN,UAAW5pN,EAAYhB,EAAZgB,SACjDuvN,EACJ9uN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNE,KAAK,QACLN,KAAK,SACLF,QAASA,EACTgB,UAAWtC,KAAO0zE,UAClBhyE,UAAWuqN,GAEV5pN,GAGCwvN,EACJ/uN,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,KAAO+zE,aAArB,8DAKF,OAAIk4I,EACK2F,EAIP9uN,EAAAC,EAAAC,cAACgI,GAAA,EAAD,CACE1I,UAAWa,IAAWnD,KAAOsgD,eAAgBtgD,KAAOugD,kBACpDz7C,QAAS+sN,EACT1mN,UAAU,SACVC,aAAW,EACXo1C,SAAUC,SAASvlC,MAEnBpY,EAAAC,EAAAC,cAAA,QAAMiS,SAAS,KACZ28M,IAMTD,GAAW1sN,UAAX,GC/CO,IAAM6sN,GAAkB,CAC7B,CAAEntN,MAAO,UAAWD,OAAO,GAC3B,CAAEC,MAAO,WAAYD,OAAO,8lBC6B9B,SAAS6tC,GAATlxC,GAQG,IAPD6lI,EAOC7lI,EAPD6lI,GACAqpF,EAMClvN,EANDkvN,YACAiB,EAKCnwN,EALDmwN,gBACAb,EAICtvN,EAJDsvN,kBACAngM,EAGCnvB,EAHDmvB,UACAinG,EAECp2H,EAFDo2H,eACG/0H,EACF6wI,GAAAlyI,EAAA,yFACOuqN,EAAkD1kF,EAAlD0kF,sBAAuBK,EAA2B/kF,EAA3B+kF,UAAW9xF,EAAgB+M,EAAhB/M,YADzCiN,EAmBG7B,EAASxyF,GAAA,CACXk5K,YACAL,wBACAp7L,YACAinG,iBACA0C,eACGz3H,IAtBHoqN,EAHD1lF,EAGC0lF,YACAvrL,EAJD6lG,EAIC7lG,cACAqsL,EALDxmF,EAKCwmF,mBACAC,EANDzmF,EAMCymF,kBACA1c,EAPD/pE,EAOC+pE,kBACAsc,EARDrmF,EAQCqmF,mBACAC,EATDtmF,EASCsmF,kBACAF,EAVDpmF,EAUComF,yBACAH,EAXDjmF,EAWCimF,gBACAn0I,EAZDkuD,EAYCluD,KACA40I,EAbD1mF,EAaC0mF,mBACAH,EAdDvmF,EAcCumF,iBACAxrL,EAfDilG,EAeCjlG,mBACA4iK,EAhBD39D,EAgBC29D,mBACAipB,EAjBD5mF,EAiBC4mF,qBACAC,EAlBD7mF,EAkBC6mF,wBASM7/M,EAAc6pB,cAAd7pB,UAER,SAAS+/M,EAAiBz1M,GAAQ,IACxB6xB,EAA6B7xB,EAA7B6xB,MAAOE,EAAsB/xB,EAAtB+xB,QAAS2hL,EAAa1zM,EAAb0zM,SACxB,OACEtpN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOooE,SACrBtlE,EAAAC,EAAAC,cAAC2uN,GAAD,CACErwN,QAASssN,EAAmBrjL,GAC5B0hL,UAAWG,GAFb,QAMAtpN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,WACNE,KAAK,QACLR,QAASusN,EAAkBn1M,GAC3BpW,UAAWtC,KAAO0zE,WAEjBjpC,EAAU,UAAY,WAM/B,SAASsnL,EAA0B9jL,GACjC0/K,EAAiB1/K,GAgBnB,SAAS+jL,EAAgBtnM,GACvB,IAAKyX,EACH,OAAO,KAFwB,IAKzBxvB,EAAyC6d,EAAzC7d,QAASwd,EAAgCK,EAAhCL,MAAOG,EAAyBE,EAAzBF,WAAYG,EAAaD,EAAbC,SACpC,OACE3tB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE8E,QAASA,EACTwd,MAAOA,EACPM,SAAUA,EACVluB,UAAWqpN,EACXlhM,SAAUA,EACVgG,WAAYJ,EACZnb,SAAU48M,IAKhB,IAIMhjN,EACJjM,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEU,aAAW,EACXxb,MAAOyyC,IAAK26K,GAAiB,CAAEptN,MAAOunN,IACtC7lN,QAAS0rN,GACTryM,WAAW,EACXI,YAAY,EACZ1K,SAAU4vL,EACVziM,UAAWa,IAAWnD,KAAOqzE,cAAe,0BAC5CzwE,WAAYgpN,EACZqG,kBAfoB,SAAArrN,EAAAE,GAAA,IAAGnC,EAAHiC,EAAGjC,MAAH,MACZ,UADYmC,EAAc+jI,QAChB/nI,EAAAC,EAAAC,cAAA,YAAMF,EAAAC,EAAAC,cAAA,qBAAN,IAAuB2B,GAAgBA,KAgB3D7B,EAAAC,EAAAC,cAACkvN,GAAD,CACEjG,UAAW9xF,IAAgB5wF,IAAcU,IACzC+mL,aAAc/C,EAAwB1kL,IAAcW,kBACpD6mL,YAAa9C,EAAwB1kL,IAAcU,KACnDgnL,aAAa,WACb/oM,cAAe9Z,EAAY,yBAA2B,iBAK5D,OACEtL,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAOynD,cACzB3kD,EAAAC,EAAAC,cAAA,kCACAF,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CACE5M,UAAWtC,KAAOozE,UAClBrkE,YAAaA,EACbo5B,2BAA4BnoC,KAAO+O,aAEnCjM,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOuP,OACrBzM,EAAAC,EAAAC,cAACmvN,GAAD,CACEj5I,KAAMA,EACNguD,GAAIA,EACJolE,kBAAmB5pM,EAAU4pM,kBAC7Bsf,sBAAuBA,EACvB4F,gBAAiBA,EACjBjwL,cAAeA,EACf4sL,iBAAkBA,EAClB7qL,cAAe6tK,EACf2c,mBAAoBA,EACpB2D,iBAAkBzD,IAEpBlrN,EAAAC,EAAAC,cAACowB,GAAD,CACE8zG,GAAIA,EACJ3lG,cAAeA,EACf5S,QAAS6+L,EACT0D,UAAWzD,EACX0D,SAAUzD,IAEXsE,GAAgB,IAGnBlvN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwzE,YAzFvBo4I,EACK9oN,EAAAC,EAAAC,cAAC2/E,GAAD,MAIP7/E,EAAAC,EAAAC,cAACovN,GAAD,CACEnrN,KAAMuqN,EACNrD,iBAAkBA,IAoFf6D,GAAgB,KAIrBlvN,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAOqC,IAAQqpN,GAAe,oBAAvB,SAAA9lN,OAAsD8lN,EAAY17M,MACzEyB,OAAQw2M,EACR31M,WAAYk2M,EACZzrN,MAAM,cAENkB,EAAAC,EAAAC,cAACqvN,GAAD,CACEnrF,GAAIA,EACJqpF,YAAaA,EACb54M,YAAa01M,EACbsD,kBAAmBA,MAO7Bp+K,GAAUttC,UAAV,GASe0mN,SAAgBp5K,yiCCpMhB+/K,OAdf,WAA4B,IAAAtgN,EAAAugN,GACcrgN,wBAASM,GADvB,GACnBqjK,EADmB7jK,EAAA,GACL8jK,EADK9jK,EAAA,GAI1B,OACElP,EAAAC,EAAAC,cAACkuF,GAAA,EAAD,CACEhtD,SAAU2xI,EACV1gK,SALiB,SAAAghB,GAAI,OAAI2/I,EAAgB3/I,IAMzCq5D,aAAa,QACbltF,UAAWtC,KAAOk+E,uICWxB,SAASs0I,GAATnxN,GAAyC,IAAAoxN,EAAjBtoL,EAAiB9oC,EAAjB8oC,KAAM/jC,EAAW/E,EAAX+E,QAyC5B,OAzCuCssN,GAAAD,EAAA,GAMpCzpL,IAAkBlmC,EAAAC,EAAAC,cAACkT,GAAA,EAAD,CAAO1U,KAAK,UANMkxN,GAAAD,EAOpCvpL,IAAoBpmC,EAAAC,EAAAC,cAACkT,GAAA,EAAD,CAAO1U,KAAK,YAPIkxN,GAAAD,EAQpCxpL,IAAqBnmC,EAAAC,EAAAC,cAACqY,GAAA,EAAD,OAReq3M,GAAAD,EASpCtpL,IAAiBrmC,EAAAC,EAAAC,cAAC2vN,GAAD,OATmBD,GAAAD,EAUpC3pL,IACChmC,EAAAC,EAAAC,cAACsxB,GAAA,EAAD,CAAYpkB,mBAAoBlQ,KAAOoG,SACpCA,EAAQ8E,IAAI,SAAApE,EAAYkD,GAAZ,IAAGtF,EAAHoC,EAAGpC,MAAH,OACX5B,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CAGErd,IAAG,mBAAAC,OAAqBT,GACxBrF,MAAOD,GAASmlC,IAChBjoC,MAAM,QACNU,UAAWa,IAAWnD,KAAOg+E,eAAgBt5E,GAAS1E,KAAO+9E,yBAnBhC20I,GAAAD,EAwBpC1pL,IACCjmC,EAAAC,EAAAC,cAACsxB,GAAA,EAAD,CAAYpkB,mBAAoBlQ,KAAOoG,SACpCA,EAAQ8E,IAAI,SAAAw4B,EAAY15B,GAAZ,IAAGtF,EAAHg/B,EAAGh/B,MAAH,OACX5B,EAAAC,EAAAC,cAACq8B,GAAA,EAAD,CAEE70B,IAAG,gBAAAC,OAAkBT,GACrB6K,KAAK,QACLjT,MAAM,QACN+C,MAAOD,GAASmlC,IAChBvnC,UAAWa,IAAWnD,KAAOg+E,eAAgBt5E,GAAS1E,KAAO+9E,yBAjChC20I,GAAAD,EAsCpCrpL,IAAoBtmC,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CAAQW,YAAai2D,eAAYhwE,QArChBA,EAAQ8E,IAC9C,SAAAtE,EAAYoD,GAAZ,MAAuB,CAAEtF,MAAOsF,EAAOrF,MAAvCiC,EAAGlC,OAAoDmlC,UAFlB4oL,GAK9BtoL,GAuCXqoL,GAAavtN,UAAY,CACvBklC,KAAM/9B,IAAU8E,OAAOwmB,WACvBtxB,QAASgG,IAAUiuD,QAAQiyJ,IAGdkG,UC9Df,SAASI,GAATvxN,GAAuF,IAA7D4pN,EAA6D5pN,EAA7D4pN,UAAWC,EAAkD7pN,EAAlD6pN,iBAAkB7gL,EAAgChpC,EAAhCgpC,UAAWjkC,EAAqB/E,EAArB+E,QAASokC,EAAYnpC,EAAZmpC,SACzE,OACE1nC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,KACEV,UAAWa,KACR8nN,GAAajrN,KAAO+U,YACrBk2M,GAAajrN,KAAO2E,QAGrBsmN,GAAarhL,IANhB,IAMkC9mC,EAAAC,EAAAC,cAACsnD,GAAA,EAAD,CAAUC,KAAM/f,KAElD1nC,EAAAC,EAAAC,cAAA,OACEV,UAAWa,KACR+nN,GAAoBlrN,KAAO+U,YAC5Bm2M,GAAoBlrN,KAAO2E,QAG7B7B,EAAAC,EAAAC,cAACqxB,GAAA,EAAD,CAAsB/xB,UAAWtC,KAAO+U,aAAcm2M,IAGxDpoN,EAAAC,EAAAC,cAAC6vN,GAAD,CACE1oL,KAAME,EAAU3lC,MAChB0B,QAASA,KAMjBwsN,GAAe3tN,UAAf,GAQe0mN,SAAgBiH,ICtC/B,SAASE,GAATzxN,GAAsC,IAAbgpC,EAAahpC,EAAbgpC,UACjBvO,EAAQh5B,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAOxhB,MAAM,SAAb,wBAEd,OAAIipN,EAAiBxgL,GAEjBvnC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO89E,SACpBhiD,EACDh5B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8E,SACrBhC,EAAAC,EAAAC,cAAA,iCAONF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO89E,SACpBhiD,EAEDh5B,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CAAM5M,UAAWtC,KAAOgF,MACtBlC,EAAAC,EAAAC,cAAC+vN,GAAD,QAMRD,GAAc7tN,UAAd,GAIe0mN,SAAgBmH,qtCCd/B,SAASnD,GAATtuN,GAmBG,IAlBD6lI,EAkBC7lI,EAlBD6lI,GACAsqF,EAiBCnwN,EAjBDmwN,gBACAjB,EAgBClvN,EAhBDkvN,YACAjkB,EAeCjrM,EAfDirM,kBACAsgB,EAcCvrN,EAdDurN,sBACAoG,EAaC3xN,EAbD2xN,kBACArC,EAYCtvN,EAZDsvN,kBACA9D,EAWCxrN,EAXDwrN,wBACAvkM,EAUCjnB,EAVDinB,OACAunM,EASCxuN,EATDwuN,QACAD,EAQCvuN,EARDuuN,OACAt+G,EAOCjwG,EAPDiwG,cACAmgE,EAMCpwK,EANDowK,YACAp+J,EAKChS,EALDgS,aACAy8M,EAICzuN,EAJDyuN,aACAviH,EAGClsG,EAHDksG,WACA/8E,EAECnvB,EAFDmvB,UACAinG,EACCp2H,EADDo2H,eACCzlH,EAAAihN,GAC2C/gN,oBAAS,GADpD,GACMghN,EADNlhN,EAAA,GACsBmhN,EADtBnhN,EAAA,GAEO85M,EAAwB5kF,EAAxB4kF,oBAER,SAASsH,IACPD,GAAmBD,GAGrB,IAAMl8M,EAASlU,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,QAAQU,UAAWtC,KAAOyzE,aAC9DrL,EACJtlE,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLI,MAAM,QACNE,KAAK,QACLR,QAASmwK,EACTnvK,UAAWtC,KAAO0zE,UAClBhyE,SAAUoqN,GANZ,UAUAhpN,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,SACLM,KAAK,QACLQ,UAAWtC,KAAO0zE,UAClBhyE,SAAUoqN,GAETA,EAAsB90M,EAAS,WAKhCy6I,GAAeo5D,EAAiBviM,EAAO+hB,YAC3CvnC,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,SACLM,KAAK,QACLF,MAAM,YACNU,UAAWtC,KAAOyxJ,WAClBnwJ,QAAS8xN,GALX,WAWIC,EAAaC,GAAA,CACjBpsF,KACAsqF,kBACAjB,cACAjkB,oBACAsgB,wBACAoG,oBACArC,oBACA9D,0BACAv7G,gBACAj+F,eACAk6F,aACAkkE,cACA88C,UAAW,CAAEqB,SAAQC,WACrBr/L,YACAinG,kBACGnvG,GAGL,OACExlB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,QAAM2T,SAAUm5M,GACdhtN,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CACErK,MAAM,oBACNkK,YAAa0iJ,EACb9oH,YAAay/B,GAEbtlE,EAAAC,EAAAC,cAAC0oN,EAAoBtzL,SAArB,CAA8B1zB,MAAO2uN,GACnCvwN,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwxJ,QACrB1uJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOmuH,MACrBrrH,EAAAC,EAAAC,cAACuwN,GAAD,OACE1I,EAAiBviM,EAAO+hB,YAAcvnC,EAAAC,EAAAC,cAAA,WACxCF,EAAAC,EAAAC,cAACmtN,GAAD,OAGFrtN,EAAAC,EAAAC,cAACwwN,GAAD,OAGF1wN,EAAAC,EAAAC,cAACkU,EAAA,EAAD,CACErS,MAAM,UACNyR,OAAQ48M,EACR/7M,WAAYi8M,GAEZtwN,EAAAC,EAAAC,cAAC+vN,GAAD,UAMRjwN,EAAAC,EAAAC,cAAC0oN,EAAoBtzL,SAArB,CAA8B1zB,MAAO2uN,GACnCvwN,EAAAC,EAAAC,cAACi3C,GAAD,QAMR01K,GAAK1qN,UAAL,GAqBe0qN,UC9JT3lK,GAAgB,CACpBihK,UAAW,GACX5gL,UAAW,CACT3lC,MAAO,IAETimC,aAAc,GACdugL,iBAAkB,GAClB5gL,SAAU,GACVlkC,QAAS,GACTsmN,qBAAsB,EACtBliL,UAAU,GAiCZ,IAQe9J,GARG2vL,YAAW,CAC3B/E,mBACAgF,iBAAkB,kBAAMtmK,IACxBymK,oBAAoB,EACpBh/C,YAlCF,SAAqBnpJ,EAAQ8/C,GAC3BA,EAAQqrJ,UAAUzpK,KAkClB8lK,aA/BF,SAAsBxnM,EAAQ8/C,GAAS,IAAAsoJ,EACatoJ,EAAQ9iE,MAAlD0tN,EAD6BtC,EAC7BsC,kBAAmBU,EADUhD,EACVgD,mBAiB3BV,EAfgB,CACdW,aAAc,CACZ9+M,KAAMyT,EAAO2iM,UACb5e,cAAenhM,IAAIod,EAAOqiB,aAAc,SACxCipL,WAAYtrM,EAAO+hB,UAAU3lC,MAC7BK,YAAaujB,EAAO4iM,iBACpB5gL,SAAUhiB,EAAOgiB,SACjBlkC,QAAS8E,IAAIod,EAAOliB,QAAS,SAAA/E,GAAA,MAAgB,CAC3CuvN,UAAW,KACXC,UAF2BxvN,EAAGqD,SAIhC8lC,SAAUliB,EAAOkiB,WAIM49B,EAAQqrJ,WAChCn5M,KAAK+qE,IAAcC,kBADtB,MAES,WACLD,IAAcG,oBACdkuI,QAIYrD,CAMfV,0QCxCH,IAAMkE,GAAqBC,YAR3B,SAAyBnuM,GACvB,OAAOouM,GAAA,GAAKpuM,EAAM8hC,eAGpB,SAA4BusK,GAC1B,OAAOC,6BAAmB7rJ,EAAS4rJ,IAGVF,CAA6CpzL,IAEzD,SAASwzL,GAAa5uN,GACnC,OACExC,EAAAC,EAAAC,cAACmxN,EAAA,EAAD,CAAUryE,MAAOA,KACfh/I,EAAAC,EAAAC,cAAC6wN,GAAuBvuN,02BCpBvB,IAAM8uN,EAAqB,SAAAC,GAAQ,MAAK,CAC7CC,WAAY,SAAAC,GAAS,OACnBF,EAAS/iN,OAAO,SAAAi2F,GAAO,OAAIA,EAAQlhG,KAAOkuN,KAE5C9rH,cAAe,SAAC+rH,GAOd,OAAOH,EAASnpN,IANO,SAAAq8F,GAAO,OAC5BA,EAAQlhG,KAAOmuN,EAAenuN,GAC1BmuN,EACAjtH,KAKRktH,gBAAiB,SAAAljE,GAAU,SAAA9mJ,OAAA6W,EACtBiwI,GADsBjwI,EAEtB+yM,KAELK,eAAgB,SAAAC,GAAW,SAAAlqN,OAAA6W,EACtB+yM,GADsB/yM,EAEtBqzM,KAELC,mBAAoB,kBAClB1tN,IAAQmtN,QAAY7hN,EAAY6hN,EAASA,EAASvqN,OAAS,GAAGsgC,+9BCblE,IA6FeyqL,EA7FK,SAAAxzN,GASd,IARJ2mG,EAQI3mG,EARJ2mG,SACAC,EAOI5mG,EAPJ4mG,WACA6sH,EAMIzzN,EANJyzN,qBACAC,EAKI1zN,EALJ0zN,eACAC,EAII3zN,EAJJ2zN,cACAC,EAGI5zN,EAHJ4zN,gBACAC,EAEI7zN,EAFJ6zN,gBACA/sH,EACI9mG,EADJ8mG,sBACIn2F,EAAAC,EAC4BC,mBAAS,IADrC,GACGmiN,EADHriN,EAAA,GACamjN,EADbnjN,EAAA,GAAA+I,EAAA9I,EAEsCC,oBAAS,GAF/C,GAEG04I,EAFH7vI,EAAA,GAEkBg0I,EAFlBh0I,EAAA,GAAAgT,EAAA9b,EAG4BC,oBAAS,GAHrC,GAGGmmF,EAHHtqE,EAAA,GAGaihI,EAHbjhI,EAAA,GAAAE,EAAAhc,EAI8BC,oBAAS,GAJvC,GAIG3P,EAJH0rB,EAAA,GAIc6oG,EAJd7oG,EAAA,GAMEmnM,EAAqB,WACzBt+F,GAAa,GACbg+F,GAAwBA,IAGxB,IAAMvlE,EAAkB6kE,EAAmBC,GAAUO,qBAErD7sH,YAAc,CACZC,WACAC,aACAC,gBAAiBqnD,EACjBpnD,0BAEC7tF,KAAK,SAACo7E,GAAa,IACJi/H,EAAqCj/H,EAA3CzuF,KAA8BumD,EAAakoC,EAAxB+5D,UACrB4lE,EAAmBV,EAAYzpN,IAAIo8F,KAEzCynD,IAAmBvhG,GACnB2nK,EAAYf,EAAmBC,GAAUK,eAAeW,IAExDN,GAAkBA,EAAer/H,KAbrC,QAeW,WACPohC,GAAa,MAInB/jH,oBAAU,WACRoiN,EAAY,IACZC,KACC,CAACptH,IAoCJ,MAAO,CACLqsH,WACAzpE,gBACAvyD,WACA91F,YACA6yN,qBACAE,kBAxCwB,SAAC/tH,GAGzB,OAFAynD,GAAY,GAELzmD,YAAYhB,GAChBjtF,KAAK,SAACo7E,GACL,IAAM6/H,EAAkBjuH,YAAsB5R,GAE9Cy/H,EAAYf,EAAmBC,GAAUI,gBAAgB,CAACc,KAE1DP,GAAiBA,EAAct/H,EAAU6R,EAAQ33F,YAN9C,QAQI,WACPo/I,GAAY,MA6BhBwmE,oBAzB0B,SAAAjuH,GAAO,OACjCkB,YAAclB,GACXjtF,KAAK,SAACo7E,GACL,IAAM6/H,EAAkBjuH,YAAsB5R,GAE9Cy/H,EAAYf,EAAmBC,GAAU5rH,cAAc8sH,IAEvDN,GAAmBA,EAAgBv/H,EAAU6R,EAAQ33F,aAmBzD6lN,oBAhB0B,SAAAlB,GAAS,OACnC7rH,YAAc6rH,GACXj6M,KAAK,SAACo7E,GACLy/H,EAAYf,EAAmBC,GAAUC,WAAWC,IAEpDW,GAAmBA,EAAgBx/H,+CC9E3C,SAASggI,EAATr0N,GAiBG,IAhBDiB,EAgBCjB,EAhBDiB,UACA0lG,EAeC3mG,EAfD2mG,SACAC,EAcC5mG,EAdD4mG,WACA6kD,EAaCzrJ,EAbDyrJ,qBACA6oE,EAYCt0N,EAZDs0N,oBACAxtH,EAWC9mG,EAXD8mG,sBACA2sH,EAUCzzN,EAVDyzN,qBACAC,EASC1zN,EATD0zN,eACAC,EAQC3zN,EARD2zN,cACAC,EAOC5zN,EAPD4zN,gBACAC,EAMC7zN,EAND6zN,gBACA/mE,EAKC9sJ,EALD8sJ,oBACAC,EAIC/sJ,EAJD+sJ,cACAC,EAGChtJ,EAHDgtJ,YACAC,EAECjtJ,EAFDitJ,cACAC,EACCltJ,EADDktJ,cACCqnE,EAUGf,EAAY,CACd7sH,WACAC,aACA6sH,uBACAC,iBACAC,gBACAC,kBACAC,kBACA/sH,0BAhBAksH,EAFDuB,EAECvB,SACAzpE,EAHDgrE,EAGChrE,cACAvyD,EAJDu9H,EAICv9H,SACA91F,EALDqzN,EAKCrzN,UACA6yN,EANDQ,EAMCR,mBACAE,EAPDM,EAOCN,kBACAE,EARDI,EAQCJ,oBACAC,EATDG,EASCH,oBAgBF,OACE3yN,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GACdQ,EAAAC,EAAAC,cAAC4tJ,EAAA,EAAD,CACE5oD,SAAUA,EACVC,WAAYA,EACZgpD,UAAW54D,EACXy4D,OAAQwkE,IAETjB,EAASnpN,IAAI,SAAAq8F,GAAO,OACnBzkG,EAAAC,EAAAC,cAACqtJ,EAAA,EAAD,CACE9oD,QAASA,EACT/8F,IAAK+8F,EAAQlhG,GACb8mJ,OAAQqoE,EACRrqE,SAAUsqE,EACV3oE,qBAAsBA,EACtB3kD,uBAnBkBosH,EAmBuBhtH,EAAQlhG,GAlBvD8hG,GAAyB2nC,OAAO6lF,GAAuB7oE,KAA0BynE,GAmB3EpmE,oBAAqBA,EACrBC,cAAeA,EACfC,YAAaA,EACbC,cAAeA,EACfC,cAAeA,IAxBG,IAAAgmE,IA2BrB3pE,GACC9nJ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,YACNU,UAAWtC,IAAOqjI,SAClB/hI,QAAS8zN,EACT1zN,SAAUa,GAJZ,qBAOGA,GAAaO,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQ0B,UAAQ,EAAClB,UAAWtC,IAAOgX,WAOxE0+M,EAAS3tN,aAAe,CACtBogG,uBAAuB,GAGzButH,EAASzwN,UAAT,GAmBeywN,sJCxGFG,EAAoB,SAACxiN,EAAcyiN,EAAaC,GAA5B,OAA4C,WAC3E,IAAMzhN,EAAQmsC,SAASz9C,cAAc,SACrCsR,EAAM9S,KAAO,OACb8S,EAAMqL,UAAW,EACjBrL,EAAMoP,MAAM2rB,QAAU,OACtBoR,SAASvlC,KAAK86M,YAAY1hN,GAC1BA,EAAM2hN,SAAW,SAAA9iN,GAAK,OAAIE,EAAaF,EAAMvK,OAAOstN,MAAOJ,EAAaC,IACxEzhN,EAAM+2K,49BCLR,SAAS8qC,EAAT90N,GAWG,IAVD+0N,EAUC/0N,EAVD+0N,kBACAC,EASCh1N,EATDg1N,cACAC,EAQCj1N,EARDi1N,WACAC,EAOCl1N,EAPDk1N,SACAC,EAMCn1N,EANDm1N,WACAjpD,EAKClsK,EALDksK,WACAp4J,EAIC9T,EAJD8T,SACA7S,EAGCjB,EAHDiB,UACAm0N,EAECp1N,EAFDo1N,aACAC,EACCr1N,EADDq1N,cACC1kN,EAAAC,EAC+BC,mBAAS,IADxC,GACMghF,EADNlhF,EAAA,GACgB8jN,EADhB9jN,EAAA,GAAA+I,EAAA9I,EAE+BC,mBAAS,IAFxC,GAEMykN,EAFN57M,EAAA,GAEgBg7M,EAFhBh7M,EAAA,GAIDhI,oBAAU,WACRoC,EAASkhN,IACR,CAACA,IAEJtjN,oBAAU,WAER,OADAqjN,GAAqBA,EAAkBtsN,QAAUwsN,EAAWF,GACrD,WACL7oD,MAED,IAGH,IAkC4BqpD,EAdtBxlE,EAActuJ,EAAAC,EAAAC,cAAA,KAAGV,UAAU,qBAE3Bu0N,EAAoB,SAAA7sN,GAAK,OAAI,kBAAMwsN,EAAWxsN,KAG9C8sN,EAAgB3zN,IACpBnD,IAAOmxJ,UACPslE,GAEIM,EAAiB5zN,IACrBnD,IAAOqxJ,aACPqlE,GAgCF,OACE5zN,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CQ,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEE,QAASu0N,EAAkBU,EAAUT,EAAaC,GAClDh0N,WAAYqvJ,EACZxvJ,MAAM,OACNU,UAAWw0N,EACX90N,cAAehC,IAAOoxJ,YALxB,mBA/BwBwlE,EAwCJP,EAvClBllN,IAAQylN,GACH,KAIP9zN,EAAAC,EAAAC,cAAA,OAAKV,UAAWy0N,GACbH,EAAU1rN,IAAI,SAACq8J,EAAMv9J,GAAP,OACblH,EAAAC,EAAAC,cAAA,OAAKwH,IAAKwoF,YAAau0E,IACrBzkK,EAAAC,EAAAC,cAAA,OACEV,UAAWtC,IAAOooC,YAClB1kB,MAAO,CAAEmvB,MAAK,GAAApoC,OAAKwoF,YAAYC,EAAUq0E,GAA3B,QAEhBzkK,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO0sH,UAxBrBliH,EAwB8CwoF,YAAau0E,GAxBpDovD,EAASnsN,IAAQxK,IAAOsxJ,aAvB/B,SAAA1qJ,GAA0C,IAAtBmT,EAAsBnT,EAAvC+gK,gBAAsB9yJ,EAAiBjO,EAAjBiO,KAAM/S,EAAW8E,EAAX9E,KACpD,IAAKqP,IAAQ4I,GACX,OACEjX,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,KACEuF,KAAMwR,EACNnR,OAAO,SACPC,IAAI,uBAEHgM,IAKT,IAAMmiN,EAAgBL,EAAS3jI,YAAa,CAAEn+E,OAAM/S,UAAW,mBAAqB,GACpF,OAAOgB,EAAAC,EAAAC,cAAA,WAAMg0N,EAAeniN,GAiCjBoiN,CAAe1vD,IA7BFzlK,EA8BEylK,EA9BFzlK,KAAYgB,EAAAC,EAAAC,cAAA,mBAAasvF,YAAYxwF,GAAzB,OAgC5BgB,EAAAC,EAAAC,cAAA,OACEwuB,KAAK,SACLlwB,QAASu1N,EAAkB7sN,IAE3BlH,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBApCF,IAAGR,EAIH0I,IAmCds7D,aAqBXqwJ,EAAWlxN,UAAX,GAaekxN,QC9HT/wF,EAAeC,YAAa,aAAcj9D,GAEjCg9D,MAAa1kG,gtBCC5B,IAAMw2L,EAAkBzzM,qBAAW,SAAApiB,EAAgD6B,GAAQ,IAArDN,EAAqDvB,EAArDuB,WAAYu0N,EAAyC91N,EAAzC81N,gBAAoBz0N,EAAqBC,EAAAtB,EAAA,kCACnFwlH,EAAa1jH,IAAW,eAAgBnD,IAAOsD,MAErD,OACER,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,KAAGV,UAAWukH,IACd/jH,EAAAC,EAAAC,cAACkT,EAAA,EAADjT,EAAA,CACEC,IAAKA,GACDR,EAFN,CAGEhB,SAAUkB,EACVN,UAAWa,IAAWnD,IAAOsU,MAAO6iN,SAM5CD,EAAgBjyN,UAAhB,GAMeiyN,QC9BFE,EAAc,mnBCS3B,SAASC,EAATh2N,GAQG,IAPD0T,EAOC1T,EAPD0T,YACArQ,EAMCrD,EANDqD,MACAyQ,EAKC9T,EALD8T,SACA7S,EAICjB,EAJDiB,UACAwiH,EAGCzjH,EAHDyjH,SACAliH,EAECvB,EAFDuB,WACGF,EACF40N,EAAAj2N,EAAA,wEACD,OACEyB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO8sF,SACtBhqF,EAAAC,EAAAC,cAAC0uF,EAAA3uF,EAADw0N,EAAA,GACM70N,EADN,CAEE80N,gBAAc,EACdC,oBAAkB,EAClBC,cAAe5yG,EACfpvF,WAAY0hM,EACZxlI,YAAa9uF,EAAAC,EAAAC,cAAC20N,EAAD,CAAiBR,gBAAiB70N,EAAWM,WAAYA,IACtEkvF,gBAAiB/8E,EACjBmvB,SAAUx/B,EACVyQ,SAAUA,MAMlBkiN,EAAWpyN,UAAX,GASAoyN,EAAWtvN,aAAe,CACxBrD,MAAO,KACPogH,SAAU,GACVliH,YAAY,EACZmS,YAAaqiN,EAAYrlN,eAGZslN,yJC7CUjrN,IAAU6tD,MAAM,CACvC5zD,GAAIm0D,IAAiB9iC,WACrB3d,IAAK3N,IAAU8E,OACfs4D,aAAcp9D,IAAU8E,OACxBrM,MAAOuH,IAAU8E,OACjB8qE,SAAU5vE,IAAU8E,OACpBxC,KAAMtC,IAAUiuD,QAAQmjI,KACxB19G,UAAW1zE,IAAUiuD,QAAQojI,KAC7BvuF,UAAW9iG,IAAU48D,KAAKtxC,kQCD5B,SAASwjH,EAAT75I,GASG,IARDkN,EAQClN,EARDkN,KACA2zC,EAOC7gD,EAPD6gD,SACA1nB,EAMCn5B,EANDm5B,QACA85D,EAKCjzF,EALDizF,WACAtT,EAIC3/E,EAJD2/E,eACAD,EAGC1/E,EAHD0/E,oBACAs6D,EAECh6I,EAFDg6I,uBACA5rC,EACCpuG,EADDouG,WACC7oG,EASG2H,GAAQ,GAPVlI,EAFDO,EAECP,GACA0T,EAHDnT,EAGCmT,IACAyvD,EAJD5iE,EAIC4iE,aACA3kE,EALD+B,EAKC/B,MACAm3E,EANDp1E,EAMCo1E,SANDy/D,EAAA70I,EAOC8H,YAPD,IAAA+sI,EAOQ,GAPRA,EAQC37D,EARDl5E,EAQCk5E,UAEI83I,EAAqB,CACzBvxN,KACA21E,WACAtxD,UAAU,EACVwkF,WAAW,EACXnuB,sBACAG,kBAAmBm6D,EACnB/rC,kBAAmBtvG,IAAOk3J,kBAC1B97G,qBAAsBp7C,IAAOi3J,oBAC7B/mJ,mBAAoBlQ,IAAOm3J,uBAC3B3tF,aAAcquJ,IAA6BruJ,GAC3C+lC,kBAAmBvuB,EACnByuB,aACA3vB,aAGI15E,EAAU,CACd,CACEC,GAAI,MACJ6kD,UACEpoD,EAAAC,EAAAC,cAACmzF,EAAA,EAAD,CACEI,UAAQ,EACR30F,MAAM,QACN8M,KAAMA,EACNwmD,SAAU7uD,EACV8uD,WAAYqU,EACZwS,SAAUA,EACVzjE,gBAAiBvY,IAAOg3J,WACxB1iE,WAAYA,EACZtT,eAAgBA,KAItB,CACE36E,GAAI,QACJ6kD,UACEpoD,EAAAC,EAAAC,cAACu6G,EAAA,EAAD,CACE0C,WAAS,EACTr+G,MAAM,QACNszD,SAAU7uD,EACV8uD,WAAYqU,EACZwS,SAAUA,EACVkkC,QAASnmG,EACT2jG,SAAU74G,EACVvC,UAAWtC,IAAOg3J,eAMpBjb,EAAgB,WACpB,OAAK11I,EAKHvD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAACisG,EAAA,EAADhsG,EAAA,GACM20N,EADN,CAEEroH,kBAAmBvuB,EACnBmuB,cAAY,KAGdrsG,EAAAC,EAAAC,cAACiiG,EAAA,EAAD,CACErjG,MAAM,YACNwE,QAASA,KAbN,MAmBX,OAAK87C,EAKHp/C,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAAUuhH,GAJlCA,IAQXb,EAAYnzI,aAAe,CACzBm6C,UAAU,EACV1nB,QAAS,UACT6gH,wBAAwB,GAG1BH,EAAYj2I,UAAZ,GAceovH,mBAAK6mB,4CCpIpB,IAAAlvI,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAAAG,EAAAvI,EAAA,MAI8BwI,IAAUC,MAAM,CAC5CmtJ,IACAC,yDCJK,UAAoBrtJ,IAAU6tD,SAAV,KACxB7tD,IAAU8E,SAAS9E,IAAU48D,qICHhC,IAAAh9D,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAEoCI,IAAU6tD,MAAM,CAClDp1D,MAAOuH,IAAU8E,OACjB5O,UAAW8J,IAAU8E,OACrBpM,QAASsH,IAAUgwC,KACnBxkC,YAAaxL,IAAU48D,KACvBnxD,WAAYzL,IAAU8E,6zCCLjB,SAAS4mN,IAAkC,IAAb/iJ,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACpCwlN,EAA8ChjJ,EAA9CgjJ,qBAER,OAAA90N,EAAA,GAFsD8xE,EAAxBijJ,cAE9B,CAEExuK,YAJoDurB,EAATxmE,KAK3C0pN,aAAcF,EAAqBE,eAIhC,SAASC,IAAmC,IAAbnjJ,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAG7C,OAAAtP,EAAA,GAFgC8xE,EAAxBijJ,cAER,CAA2BC,aAFKljJ,EAATxmE,OAKlB,SAAS4pN,IAAgC,IAAbpjJ,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAClCylN,EAA0BjjJ,EAA1BijJ,cAAe1mN,EAAWyjE,EAAXzjE,OADuBjQ,EAER22N,GAAiB,GAA/CxuK,EAFsCnoD,EAEtCmoD,YAAayuK,EAFyB52N,EAEzB42N,aAErB,OAAAh1N,EAAA,GACKm1N,IAAU9mN,GADf,CAEEg7C,SAAU9C,EACV9kD,MAAOuzN,IAIJ,SAASI,EAAwB/3N,GACtC,OAAQu6G,IAAQv6G,GAAe,KAAPA,EAGnB,SAASg4N,IAA6D,IAArCC,EAAqChmN,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAA/B,GAAIwlN,EAA2BxlN,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC/Di3C,EAAqDuuK,EAArDvuK,YAAayuK,EAAwCF,EAAxCE,aAAsBO,EAAkBT,EAA1B/sH,OAC3B5kG,EAA6BmyN,EAA7BnyN,QAASkmD,EAAoBisK,EAApBjsK,SAAU5nD,EAAU6zN,EAAV7zN,MAFgDkC,EAGxBR,GAAW,GAAtDqyN,EAHmE7xN,EAGnE6xN,OAAQC,EAH2D9xN,EAG3D8xN,QAAiBC,EAH0C/xN,EAGlDokG,OAEzB,OAAI5kG,GAAW0tB,OAAO8kM,QAAQxyN,GAAS0D,OAAS,EACvC,CACL0/C,YAAaivK,EACbR,aAAcS,EACd1tH,OAAQ2tH,GAIRrsK,GAAY5nD,EACP,CACL8kD,YAAa8C,EACb2rK,aAAcvzN,EACdsmG,OAAQ2tH,GAIL,CACLnvK,cACAyuK,eACAjtH,OAAQwtH,GAIL,SAASK,EAAT/xN,GAIJ,IAAAgyN,EAAAhyN,EAHDixN,4BAGC,IAAAe,EAHsB,CAAEtvK,YAAa,GAAIyuK,aAAc,IAGvDa,EAFDC,EAECjyN,EAFDiyN,UACAznN,EACCxK,EADDwK,OAOA,MAAO,CACL0nN,qBAN2BV,EAAwBhnN,EAAQymN,GAO3DkB,qBAN2B,SAAAlkJ,GAAM,OAAI+iJ,EAAoB70N,EAAA,GAAM8xE,EAAN,CAAcgjJ,2BAOvEmB,sBAL4B,kBAAMb,EAAwBU,IAM1DI,oBAP0B,SAAApkJ,GAAM,OAAIojJ,EAAkBl1N,EAAA,GAAM8xE,EAAN,CAAczjE,sWClEjE,IAAM8nN,EAAgBxvM,IAAMC,gBAYpBwvM,MAVf,SAAoBtvM,GAClB,OAAO,SAA6BzkB,GAClC,OACExC,EAAAC,EAAAC,cAACo2N,EAAcpvM,SAAf,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,+vBCI/C,SAAS0I,EAATtxB,GAUG,IATD6lI,EASC7lI,EATD6lI,GACAoyF,EAQCj4N,EARDi4N,WACA50K,EAOCrjD,EAPDqjD,SACA0jB,EAMC/mE,EAND+mE,QACA0vD,EAKCz2H,EALDy2H,UACAnpG,EAICttB,EAJDstB,QACA4qM,EAGCl4N,EAHDk4N,iBACAC,EAECn4N,EAFDm4N,uBACG92N,EACFC,EAAAtB,EAAA,4GACO82K,EAAqBjxC,EAArBixC,iBACA52I,EAAkB7+B,EAAlB6+B,cACAk4L,EAAoDH,EAApDG,QAASnsD,EAA2CgsD,EAA3ChsD,eAHhBosD,EAG2DJ,EAA3Bx6B,sBAHhC,IAAA46B,KAIO5jF,EAAiB1tE,EAAjB0tE,aACA6jF,EAA6Cj1K,EAA7Ci1K,qBAAsBC,EAAuBl1K,EAAvBk1K,mBAExBC,EAAczI,EAAA,GACf1uN,EADe,CAElBJ,UAAWtC,IAAOszE,YAGdw/F,EAAW,CACflxK,MAAO,QACPE,KAAM,UAsBR,OACEgB,EAAAC,EAAAC,cAAC8jF,EAAA,EAAc+yI,EACb/2N,EAAAC,EAAAC,cAAC5B,EAAA,EAADgwN,EAAA,GAAYt+C,EAAZ,CAAsBxxK,QAASqtB,IAA/B,SAEC6qM,GAA0BA,EAAuB,CAAE1mD,WAAUvxI,gBAAeu2F,cAE5EyhG,GACCz2N,EAAAC,EAAAC,cAACu2N,EAAD,CACEzmD,SAAUA,EACVvxI,cAAeA,EACfu2F,UAAWA,IAIdge,GACChzI,EAAAC,EAAAC,cAAC5B,EAAA,EAADgwN,EAAA,GACMt+C,EADN,CAEExwK,UAAWtC,IAAO0zE,UAClBpyE,QAhCR,SAAyB6R,GACvBA,EAAMU,iBACNiiI,EAAa,CACX5mH,MAAOqS,EACPuoG,WAAYwjC,EACZ8K,oBAAqB,CACnBE,WAAYjzF,IAAc+gE,mBAC1BiyB,UAAWhzF,IAAcghE,qBAE1B/rI,KAAK,WACNq/M,GAAwBA,OAuBpBj4N,SAAUy2K,IAETA,GAAoBr1K,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQzB,KAAK,QAAQF,MAAM,OAAO4B,UAAQ,IANjE,WAWAs7L,GACAh8L,EAAAC,EAAAC,cAAC5B,EAAA,EAADgwN,EAAA,GACMt+C,EADN,CAEExwK,UAAWtC,IAAO0zE,UAClBpyE,QAjDR,SAAwB6R,GACtBA,EAAMU,iBACNyrL,YAAc,CAAEr4L,KAAMwyN,EAASl4L,gBAAeq4L,0BA4C1C,UAYRjnM,EAAc5qB,aAAe,CAC3B28C,SAAU,IAGZ/xB,EAAc1tB,UAAd,GAYeo0N,QAAW1mM,sOC/F1B,SAAS4f,EAATlxC,GAWG,IAVD23M,EAUC33M,EAVD23M,UACAsgB,EASCj4N,EATDi4N,WACAvS,EAQC1lN,EARD0lN,UACA+S,EAOCz4N,EAPDy4N,cACA5rG,EAMC7sH,EAND6sH,eACA9lD,EAKC/mE,EALD+mE,QACAskB,EAICrrF,EAJDqrF,cACAi0F,EAGCt/K,EAHDs/K,SACAj8H,EAECrjD,EAFDqjD,SACAq1K,EACC14N,EADD04N,cAGE1zN,EAmBE0gN,EAnBF1gN,GAFD2zN,EAqBGjT,EAlBFrpL,iBAHD,IAAAs8L,EAGa,KAHbA,EAICn1N,EAiBEkiN,EAjBFliN,MACAiK,EAgBEi4M,EAhBFj4M,QACAoqE,EAeE6tI,EAfF7tI,KACA1oD,EAcEu2L,EAdFv2L,UACAypM,EAaElT,EAbFkT,kBACAl8L,EAYEgpL,EAZFhpL,kBACAF,EAWEkpL,EAXFlpL,mBACAq8L,EAUEnT,EAVFmT,qBACAC,EASEpT,EATFoT,oBACAC,EAQErT,EARFqT,sBACAC,EAOEtT,EAPFsT,uBACAC,EAMEvT,EANFuT,yBACAroF,EAKE80E,EALF90E,qBAhBDsoF,EAqBGxT,EAJFyT,0BAjBD,IAAAD,KAkBCv0L,EAGE+gL,EAHF/gL,sBACAE,EAEE6gL,EAFF7gL,eACAjI,EACE8oL,EADF9oL,kBAEM65F,EAA4B1vD,EAA5B0vD,UAAWge,EAAiB1tE,EAAjB0tE,aACX5O,EAAsFoyF,EAAtFpyF,GAAIx8G,EAAkF4uM,EAAlF5uM,SAAUwX,EAAwEo3L,EAAxEp3L,eAAgB8yG,EAAwDskF,EAAxDtkF,aAAcykF,EAA0CH,EAA1CG,QAASgB,EAAiCnB,EAAjCmB,aAAcntD,GAAmBgsD,EAAnBhsD,eACrEurC,IAAiB1nM,IAAQwvK,KAAcA,EAASC,gBAC9C7vC,GAA0D7J,EAA1D6J,cAAeM,GAA2CnK,EAA3CmK,qBAAsBj4G,GAAqB8tG,EAArB9tG,iBACrCshM,GAA+BZ,EAA/BY,WAAYC,GAAmBb,EAAnBa,eACZj4G,IAAmBq3G,GAAiB,IAApCr3G,eA3BP0kB,GAsCG7B,YAAS,CACXt+H,KAAMwyN,EACNvgJ,OACA32E,UAAWwuI,GACXkB,uBACAZ,0BAbA9vG,GA9BD6lG,GA8BC7lG,cACAwxG,GA/BD3L,GA+BC2L,uBACA7M,GAhCDkB,GAgCClB,SACAL,GAjCDuB,GAiCCvB,aACAsrE,GAlCD/pE,GAkCC+pE,kBACAn+D,GAnCD5L,GAmCC4L,iBACAjvG,GApCDqjG,GAoCCrjG,cACAmtK,GArCD9pE,GAqCC8pE,iBASM7gJ,GAAwD7/B,EAAxD6/B,YAAa19C,GAA2C6d,EAA3C7d,QAASwd,GAAkCK,EAAlCL,MAAOG,GAA2BE,EAA3BF,WAAYI,GAAeF,EAAfE,WAC3CyR,IAAsBhxB,IAAQsoN,KAAatoN,IAAQqf,IAAcL,IAAS,EAEhFg3D,aAAgB,GAEhB,IAAMssD,GAAU1gG,EAAA,GACXiiG,EADW,CAEdc,eACAmvB,iBAAgB,UAAAx6J,OAAY5F,GAC5B+1N,mBAAoBxgH,MAOhBrrF,GAAOgkB,EAAA,GAJQm7E,GAAkBA,EAAejnH,KAClD,CAAEA,KAAMinH,EAAejnH,MACvB,GAES,CAEXqmK,kBACA0rC,cAG8BJ,IAAiClsH,GAAiB,IAA1E28C,uBAEA3R,GAAoBihF,YAAa,CACvC7gF,YACA6oD,WACAi4B,gCACA7pL,aAJM2oG,gBAgBR,SAASi2F,GAAiB1/K,GAAM,IACtBnU,EAAsBosG,GAAtBpsG,OAAQq/C,EAAc+sD,GAAd/sD,UAEhBu+C,GAAgB,CACdzpF,OACAkrC,YACAD,KAAMp/C,IAIV,IAAMlkB,GAAe6kN,GAAgB,CACnC58L,mBAAoBA,GAAsB/6B,EAAAC,EAAAC,cAACohL,EAAA,EAAD,CAAOiW,OAAQ3iE,MAO3D,IAAM5yF,GAAiB01L,EAJvB,SAA4BpnF,EAAetT,GACzCoxE,GAAiB99D,EAAetT,IAG+B,KAkDjE,OACEh9H,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOymC,eAAgB,CAAE/L,OAAQm+K,MAC1D/1M,EAAAC,EAAAC,cAACqM,EAAA,EAAD0jC,EAAA,GACMn9B,GACA8kN,GAFN,CAGE50L,eAAc,GAAAr7B,OAAKpE,EAAL,kBACdq3B,UAAWA,EACXn7B,UAAWwuI,GACXjiI,QAASA,EACT7H,KAAMwyN,EACNl4L,cAAeA,GACf+B,cAAe6tK,GACf53K,WAAY2sG,GAASpsG,OACrBR,cAAe4sG,GAAS/sD,UACxBz/C,OA3FN,SAA4BI,GAC1B49F,GAAgB,CACdzpF,KAAM,EACNirC,KAAMp/C,EACNq/C,UAAW0sD,GAAa/rG,GACxB+gM,cAAc,KAuFZ50L,wBAAyB9iC,IAAWnD,IAAO6mC,aAAcb,GACzDjI,kBAAmBA,EACnBrT,SAAUA,EACVwX,eAAgBA,EAChBC,mBAAoBA,GACpB2C,eAAgBA,GAChBf,cAAeA,GACfwB,gBAAc,EACd/M,mBAAiB,EACjB0N,eAAgBA,EAChB5E,oBAAkB,EAClBsyG,gBAAc,EACdl7G,SAAO,EACPuF,kBAAmBA,IAElBnvB,EAAQ5D,IAAI,SAAA5F,GAAK,OAAI20N,EAAkBlnL,EAAA,GACnCztC,EADkC,GAElCg1N,EAFkC,CAGrC53G,kBACAo4G,WAAYrB,EAAQ3vN,OACpBguH,UAAWJ,GACX+hG,UACA9qM,QAASqkH,SA/DX55G,GAAyBt2B,EAAAC,EAAAC,cAAC6tB,EAAA,EAAD,CAAsBvuB,UAAU,0BACxD6/B,GAKHr/B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGgqI,IA7BP,WACE,GAAImnF,EAAsB,OAAO,KAEjC,IAAM3kN,EAAc,CAClBmvC,WACA+uF,cACAlyG,iBACAt6B,KAAMwyN,EACNjpM,YACA02G,KACAxuG,SAAS,EACT/J,QAASqkH,GACTlb,UAAWJ,GACXp1H,UAAWtC,IAAOszE,WAGpB,OAAO6mJ,EACHA,EAAoBpnL,EAAA,GAAKx9B,EAAN,GAAsB8kN,IACzCv3N,EAAAC,EAAAC,cAACowB,EAAkB7d,GAWQwlN,GAE1BX,GAAyBA,EAAsBE,GAEhDx3N,EAAAC,EAAAC,cAAC6K,EAAA,EAADklC,EAAA,GACM4nL,GADN,CAEEhoN,QAASA,GACTwd,MAAOA,GACPhb,SAAUw4M,GACVj9L,WAAYJ,IAAcI,GAC1BhG,SAAUA,EACV2lC,YAAaA,GACb9tD,UAAWwuI,GACXzuI,UAAWa,IAAWnD,IAAOwwB,UAAWuiH,IAA0B/yI,IAAOulB,YAlBtE60M,EAAwBA,EAAsBE,GAA4B,MAsEvF/nL,EAAUxqC,aAAe,CACvB+xN,cAAe,CACbY,WAAY,GACZC,eAAgB,KAIpBpoL,EAAUttC,UAAV,GAeeo0N,QAAW9mL,kjCC9NXyoL,MAzBf,SAAA35N,GAIG,IAHD6J,EAGC7J,EAHD6J,IACAuc,EAECpmB,EAFDomB,QACAwzM,EACC55N,EADD45N,QACCjpN,EAAAC,EACyCC,mBAAS,MADlD,GACMgpN,EADNlpN,EAAA,GACqBmpN,EADrBnpN,EAAA,GAgBD,OAbAe,oBAAU,WACJ7H,GACFiwN,EAAiB1wJ,YAAahjD,KAE/B,CAACvc,EAAKuc,IAET1U,oBAAU,WACJ7H,GAAOgwN,GAAiBD,IAC1B/vN,EAAIkwN,SACJlwN,EAAI4hE,UAAUouJ,EAAe,CAAEv1N,SAAU,EAAGigB,QAAS,QAEtD,CAACs1M,EAAeD,IAEZ,CACLC,yGClBG,SAASG,GAAQC,EAAa52N,GACnC,OAAIyM,IAAQzM,GACH,KAIP5B,EAAAC,EAAAC,cAACqF,GAAA,EAAD,CACEE,KAAI,GAAAkC,OAAK6wN,GAAL7wN,OAAmB/F,GACvBpC,UAAWtC,KAAOM,KAClB0B,cAAehC,KAAOosF,SACtBxjF,OAAO,SACPC,IAAI,sBACJjH,MAAM,QACN4G,YAAU,GAET9D,GAKA,SAAS62N,GAAoB52N,EAAOD,GACzC,OAAIyM,IAAQzM,GACH,KAIP5B,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,YAAO2B,EAAP,KAAsBD,0BCrB5B,SAAS8E,GAATnI,GAA0E,IAAtDm6N,EAAsDn6N,EAAtDm6N,SAAUv0N,EAA4C5F,EAA5C4F,KAAMmsI,EAAsC/xI,EAAtC+xI,cAAeqoF,EAAuBp6N,EAAvBo6N,QAASvgC,EAAc75L,EAAd65L,WACpDwgC,EAAepxJ,YAAWrjE,GAAMgE,MAAM,EAAG2b,MACzC+0M,EAAqBD,EAAa5xN,OAAS8c,KAC3Cg1M,EAAoBF,EAAa5xN,OAAS8c,KAE1Ci1M,EAD4BF,EAAqB90M,KACR,GAAApc,OAAMoc,KAAN,KAAiC80M,EAEhF,SAASr6N,EAAQiN,GACf,OAAOutN,aAAoB,CACzBz1N,GAAIkI,EAAKlI,GACTwO,KAAMtG,EAAKsG,KACXu+H,gBACAqoF,UACA76C,iBAAiB,IAIrB,IAAMm7C,EACJj5N,EAAAC,EAAAC,cAACqF,GAAA,EAAD,CACEE,KAAI,GAAAkC,OAAKywL,GAALzwL,OAAkB+wN,GACtB55N,MAAM,QACNE,KAAK,SACLQ,UAAWa,IAAW,cAAenD,KAAOM,MAC5CsI,OAAO,SACPC,IAAI,uBAEHgzN,EARH,QASE/4N,EAAAC,EAAAC,cAAA,KAAGV,UAAU,0BAmBjB,OACEQ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KAfOyqM,EAAaxwN,IAAI,SAACqD,EAAMvE,GAAP,MAAiB,CACvClH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEoJ,IAAG,GAAAC,OAAKT,EAAL,KAAAS,OAAc8D,EAAKlI,IACtBzE,MAAM,QACNE,KAAK,QACLR,QAASA,EAAQiN,GACjBjM,UAAWtC,KAAOM,MAEjBiO,EAAKsG,MAEP7K,EAAQ0xN,EAAa5xN,OAAS,GAAM,QAOpC8xN,GAAqBG,GAK5BvyN,GAASvE,UAAT,GAQeolE,oBAAQ7gE,yOChEvB,SAAS+zB,GAATl8B,GAAmD,IAAnComH,EAAmCpmH,EAAnComH,WAAYg0G,EAAuBp6N,EAAvBo6N,QAASvgC,EAAc75L,EAAd65L,WAEjC70L,EAQEohH,EARFphH,GACAmxE,EAOEiwC,EAPFjwC,SACA30B,EAME4kE,EANF5kE,MACA1B,EAKEsmE,EALFtmE,MACAma,EAIEmsD,EAJFnsD,aACAz2D,EAGE4iH,EAHF5iH,MACA+sI,EAEEnqB,EAFFmqB,MACAljI,EACE+4G,EADF/4G,KAGIstN,EAAkB,CACtBP,UACAvgC,aACAsgC,SAAUn1N,GAGZ,OACEvD,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAO8E,SACzBhC,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAOoxB,MACnBmqM,GAAoB,eAAgBjgK,GACpCigK,GAAoB,QAAS12N,GAC7B02N,GAAoB,WAAY/jJ,GAChC+jJ,GAAoB,QAASF,GAAQ,OAAQx4K,IAC7C04K,GAAoB,QAASF,GAAQ,UAAWl6K,KAC/ChwC,IAAQm5D,YAAWsnE,KAAW2pF,GAAoB,QAClDz4N,EAAAC,EAAAC,cAAC6I,GAADozB,GAAA,GACM+8L,EADN,CAEE/0N,KAAM2qI,EACNwB,cAAc,aAGhBjiI,IAAQm5D,YAAW57D,KAAU6sN,GAAoB,OACjDz4N,EAAAC,EAAAC,cAAC6I,GAADozB,GAAA,GACM+8L,EADN,CAEE/0N,KAAMyH,EACN0kI,cAAc,aAQ1B71G,GAAKt4B,UAAL,GAMeolE,oBAAQ9sC,ICrDvB,SAAS87E,GAATh4G,GAA4C,IAA1BomH,EAA0BpmH,EAA1BomH,WAAYyzE,EAAc75L,EAAd65L,WACpB70L,EAAOohH,EAAPphH,GAER,OACEvD,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOgQ,QACxBlN,EAAAC,EAAAC,cAACqF,GAAA,EAAD,CACEE,KAAI,GAAAkC,OAAKywL,GAALzwL,OAAkBpE,GACtBzE,MAAM,QACNE,KAAK,SACLQ,UAAWa,IAAW,cAAenD,KAAOM,MAC5CsI,OAAO,SACPC,IAAI,uBANN,eASE/F,EAAAC,EAAAC,cAAA,KAAGV,UAAU,2BAMrB+2G,GAAOp0G,UAAP,GAKeolE,oBAAQgvC,IC1BvB,SAASlgF,GAAT93B,GAAgC,IACtBwT,EADsBxT,EAAdomH,WACR5yG,KAER,OACE/R,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAOwN,QACxB1K,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,MAAO,kBAAmBnD,KAAOsD,QAC1DR,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAO6E,OAAQgQ,IAKpCskB,GAAOl0B,UAAP,GAIeolE,oBAAQlxC,8lBCbvB,SAAS8iM,GAAT56N,GAA6C,IAA5BomH,EAA4BpmH,EAA5BomH,WAAe/kH,EAAaw5N,GAAA76N,EAAA,gBAC3C,OAAOomH,EAAWv8G,IAAI,SAAAixN,GAAQ,OAC5Br5N,EAAAC,EAAAC,cAACqnE,GAAA,EAAWjyC,SAAZ,CAAqB1zB,MAAK03N,GAAA,CAAI30G,WAAY00G,GAAaz5N,GAAa8H,IAAK2xN,EAAS91N,IAChFvD,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAOqsF,OACzBvpF,EAAAC,EAAAC,cAACkvF,GAAD,MACApvF,EAAAC,EAAAC,cAAC22G,GAAD,MACA72G,EAAAC,EAAAC,cAAC42G,GAAD,UAMRqiH,GAAMh3N,UAAN,GAMeg3N,UCYR,SAASI,GAATh7N,GAA0E,IACzE85J,EApBC,CACL9rE,OAZmB,CACnB3tD,IAAK,CAAC,EAAG46L,IACTC,WAAY,CAAC,EAAGD,IAChBE,YAAa,CAAC,EAAGF,IACjBhuL,OAAQ,CAAC,GAAG,IACZmuL,cAAe,CAAC,GAAG,IACnBC,eAAgB,CAAC,GAAG,IACpBn0L,KAAM,CAVa,IAUE,GACrBE,MAAO,EAXY,IAWI,IAKvBniC,aAAa,EACb2oC,SAAU,QACV3sC,UAAW,aAkBPq6N,EAdR,SAAsBC,GACpB,IAAMD,EAAYl8K,SAASz9C,cAAc,OACzC25N,EAAUnnJ,UAAUC,IAAI,uBAExB,IAAMonJ,EAAiBD,EAAWC,gBAAkBZ,GAIpD,OAFAa,KAASr1N,OAAO3E,EAAAC,EAAAC,cAAC65N,EAAmBD,GAAgBD,GAE7CA,EAMWI,CADC,CAAEt1G,WAF0DpmH,EAAnDomH,WAEKg0G,QAF8Cp6N,EAAvCo6N,QAEEvgC,WAFqC75L,EAA9B65L,WAEK2hC,eAFyBx7N,EAAlBw7N,iBAK7D,OAAO,IAAIlyJ,SAASsxJ,MAAM9gE,GACvB6hE,cAAcL,wOC8CnB,SAASM,GAAer0N,EAAQsC,GAC9BA,EAAI47I,GAAG,aAAcl+I,EAAQ,WAC3BsC,EAAIgyN,YAAYx5M,MAAMuyD,OAAS,YAGjC/qE,EAAI47I,GAAG,aAAcl+I,EAAQ,WAC3BsC,EAAIgyN,YAAYx5M,MAAMuyD,OAAS,KAInC,SAASknJ,GAAkB7vJ,EAAYsvJ,EAAY1xN,GACjD+xN,GAAe,oBAAqB/xN,GACpC+xN,GAAe,WAAY/xN,GAjD7B,SAAwBoiE,EAAYpiE,GAClCA,EAAI47I,GAAG,QAAS,WAAY,SAAC/2D,GAC3B,IAAMqtI,EAAWlyN,EAAImyN,sBAAsBttI,EAAE2zE,MAAO,CAAEx8I,OAAQ,CAAC,cACzD+sI,EAAYmpE,EAAS,GAAG31G,WAAW61G,WACnC90L,EAAS40L,EAAS,GAAGvyJ,SAASE,YAEpC7/D,EAAIqyN,UAAUjwJ,GAAYkwJ,wBAAwBvpE,EAAW,SAACptJ,EAAO2zJ,GACnE,GAAI3zJ,EAAO,MAAMA,EAEjBqE,EAAIuyN,OAAO,CAAEj1L,SAAQgyH,aA0CzBkjE,CAAepwJ,EAAYpiE,GArC7B,SAAiC0xN,EAAY1xN,GAC3CA,EAAI47I,GAAG,QAAS,oBAAqB,SAAC/2D,GAAM,IAClC4tI,GAAmBf,GAAc,IAAjCe,eACAP,GAAartI,GAAK,IAAlBqtI,SACF31G,EAAa,GAEnB3mG,IAAQs8M,IAAaA,EAASl8M,QAAQ,SAAA08M,GAAO,OAAIn2G,EAAWrmG,KAAKw8M,EAAQn2G,cAKzE,IAHA,IAAM18C,EAAcglB,EAAEqtI,SAAS,GAAGvyJ,SAASE,YAAY9/D,QACjD4yN,EAAYC,GAAA,CAAKr2G,cAAem1G,GAE/BlqI,KAAKuqC,IAAIltC,EAAEguI,OAAOlxJ,IAAM9B,EAAY,IAAM,KAC/CA,EAAY,IAAMglB,EAAEguI,OAAOlxJ,IAAM9B,EAAY,GAAK,KAAO,IAG3D,IAAMshB,EAAQgwI,GAAYwB,GACvBG,UAAUjzJ,GACVkzJ,MAAM/yN,GAETyyN,GAAkBA,EAAetxI,KAmBnC6xI,CAAwBtB,EAAY1xN,GAG/B,SAASizN,GAAsB7wJ,EAAYpiE,EAAKjE,EAAM21N,EAAY5vJ,EAAaoxJ,GACpFlzN,EAAI47I,GAAG,OAAQ,WACbz5E,YAAaC,EAAYrmE,EAAMiE,GAAK,GAEpC6hE,YAAe7hE,EAAK8hE,EAAa,YA5GrC,SAA0BM,EAAYpiE,EAAKkzN,GACzC,IAAMjzJ,EAAaizJ,EAAmB,OAAS,UAE/ClzN,EAAIygE,SAAS,CACXtlE,GAAI,WACJ7E,KAAM,SACN25D,OAAQmS,EACRh8D,OAAQ,CAAC,MAAO,eAChBs6D,MAAO,CACLyyJ,sBAAuB,EACvBC,sBAAuBz/I,4BACvB0/I,eAAgB3/I,yBAChB4/I,gBAAiB,CAAC,OAAQ,CAAC,MAAO,eAAgB,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,KAE3EhtE,OAAQ,CACNrmF,gBAIJjgE,EAAIygE,SAAS,CACXtlE,GAAI,gBACJ7E,KAAM,SACN25D,OAAQmS,EACRh8D,OAAQ,CAAC,MAAO,eAChBkgJ,OAAQ,CACNitE,aAAc,4BACdC,YAAa,CAAC,sBAAuB,yBACrCC,YAAa,GACbxzJ,cAEFS,MAAO,CACLgzJ,aAAc7oJ,gBAIlB7qE,EAAIygE,SAAS,CACXtlE,GAAI,oBACJ7E,KAAM,SACN25D,OAAQmS,EACRh8D,OAAQ,CAAC,IAAK,CAAC,MAAO,gBACtBkgJ,OAAQ,CACNqtE,aAAc,aACdC,YAAa,GACbC,sBAAsB,EACtB5zJ,gBAiEA6zJ,CAAiB1xJ,EAAYpiE,EAAKkzN,KAGpCjB,GAAkB7vJ,EAAYsvJ,EAAY1xN,KCrDvC,SAAS+zN,GAAW3xJ,EAAYrmE,EAAMiE,EAAKkzN,GAChDlzN,EAAI47I,GAAG,OAAQ,WACbz5E,YAAaC,EAAYrmE,EAAMiE,GAAK,GAxDxC,SAAyBoiE,EAAYpiE,EAAKkzN,GACxClzN,EAAIygE,SAAS,CACXtlE,GAAI,UACJ7E,KAAM,UACN25D,OAAQmS,EACRkkF,OAAQ,CACNrmF,WAAYizJ,EAAmB,UAAY,QAE7CxyJ,MAAO,CACLszJ,iBAAkB,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,EAAG,GAAI,GAClEC,oBAAqB,GACrBC,iBAAkB,CAChB,cACA,CAAC,UACD,CAAC,QACD,EACA,GACA,IACA,GACA,KACA,GACA,MACA,IACA,MACA,IACA,GACA,IAEFC,kBAAmB,IACnBC,gBAAiB,CACf,cACA,CAAC,UACD,CAAC,mBACD,EACA,qBACA,GACAngJ,WACA,GACAD,OACA,GACAD,aACA,GACAp+E,UACA,GACAm+E,cACA,IACAD,QACA,EACAD,gBASJygJ,CAAgBjyJ,EAAYpiE,EAAKkzN,29BCmCtBoB,OA9Ff,SAAAn+N,GAiBG,IAhBD6iI,EAgBC7iI,EAhBD6iI,OACAj9H,EAeC5F,EAfD4F,KACAw0N,EAcCp6N,EAdDo6N,QACAvgC,EAaC75L,EAbD65L,WACA/2D,EAYC9iI,EAZD8iI,eACAlhB,EAWC5hH,EAXD4hH,YACA2G,EAUCvoH,EAVDuoH,eACAgxE,EASCv5L,EATDu5L,YACA34E,EAQC5gH,EARD4gH,YACA+4E,EAOC35L,EAPD25L,YACAr5E,EAMCtgH,EANDsgH,aACAn5E,EAKCnnC,EALDmnC,OACAo4I,EAICv/K,EAJDu/K,gBACAqa,EAGC55L,EAHD45L,eACA4hC,EAECx7N,EAFDw7N,eACA7vJ,EACC3rE,EADD2rE,YAEMo3D,EAAW,CACfF,SACAj9H,OACAk9H,iBACAva,iBACA3G,cACAtB,eACAn5E,UARD67F,EAgBGC,YAAOF,GAJTl5H,EAZDm5H,EAYCn5H,IACAg3G,EAbDmiB,EAaCniB,cACAQ,EAdD2hB,EAcC3hB,eACA6hB,EAfDF,EAeCE,WAEMn4D,EAAyB81C,EAAzB91C,QAASyuH,EAAgB34E,EAAhB24E,YACX4kC,GAAoB7+C,EAlBzB5uK,EAAAyoJ,GAmBqCvoJ,mBAAS,MAnB9C,GAmBMwtN,EAnBN1tN,EAAA,GAmBmB2rN,EAnBnB3rN,EAAA,GAqBDgpN,EAAa,CAAE9vN,MAAKuc,QAASxgB,GAAQA,EAAKm2N,SAAUnC,QAASwE,IAE7D1sN,oBAAU,WACJ0sN,GAAoBv0N,GACtBg5H,EAAOvxH,SAAWzH,EAAIkwN,UAEvB,CAACqE,EAAkBv0N,IAEtB,IAAMy0N,EAAa,kBAAMz0N,GAAOA,EAAI0qE,UAyCpC,OAhBA7iE,oBAAU,WACJ7H,GAAO+3G,GAAe72C,IACxBm4D,EAAWn4D,GACX6uH,GAAkBA,EAAe,CAAE7uH,UAAS81C,oBAE7C,CAAC91C,IAEJr5D,oBAAU,WACJ7H,GAAO+2G,GAAe44E,GDhBvB,SAAyB3vL,GAC9B8/D,YAAY9/D,EAAK,YACjB8/D,YAAY9/D,EAAK,iBACjB8/D,YAAY9/D,EAAK,qBACjB8/D,YAAY9/D,EAAK,WCab00N,CAAgB10N,GAElBw0N,GAAeA,EAAY9pJ,UAC1B,CAACilH,IAEJ9nL,oBArCA,WACE,GAAI7H,IAAQiG,IAAQlK,GAAO,CACzBiE,EAAIy5H,KAAK,YAAa,WACpBT,EAAOvxH,SAAW4xH,EAAWJ,EAAe/3D,WAG9C,IAAMgyJ,EAAmBn8G,GAAe44E,IAAgB9zK,KAAiBW,QAEzEy2M,GACEvjC,EACA1vL,EACAjE,EACA,CAAEw0N,UAASvgC,aAAY2hC,iBAAgBc,kBACvC3wJ,EACAoxJ,GAGFn8G,GAAeg9G,GAAWjkC,EAAa/zL,EAAMiE,EAAKkzN,GAGpD,OAAOuB,GAiBgB,CAACz0N,EAAKjE,IAExB,CACLiE,MACAg3G,gBACAQ,8BCnEWm9G,OA5Bf,SAAAx+N,GAAuD,IAO7Cy+N,EACAC,EARYzG,EAAiCj4N,EAAjCi4N,WAAY34C,EAAqBt/K,EAArBs/K,SACxB7oD,EAD6Cz2H,EAAX+mE,QAClC0vD,UACA8oD,EAAoBD,EAApBC,gBACA15C,EAAiCoyF,EAAjCpyF,GAAIx8G,EAA6B4uM,EAA7B5uM,SAAU4iJ,EAAmBgsD,EAAnBhsD,eACI3rD,EAAiBulB,EAAnC8J,iBAeR,OANAj+H,oBAAU,WACH6tK,GACH9oD,EAAU,CAAEw1C,iBAAgBsT,qBAE7B,CAACA,IAEG,CACLr6I,QAbMu5L,EAAY,gBAAAr1N,OAAmB42L,gBAAnB,KACZ0+B,EAAa,gBAAAt1N,OAAmB62L,iBAAnB,KAEZ52K,EAAWo1M,EAAeC,GAWjCr1M,WACAi3F,eACAi/D,kBACA66C,QAAS3jG,yOCjBb,IAAMoM,GAAStvH,sBAEf,SAASorN,GAAT3+N,GAA0F,IAAvEi4N,EAAuEj4N,EAAvEi4N,WAAYlxJ,EAA2D/mE,EAA3D+mE,QAASmkH,EAAkDlrL,EAAlDkrL,QAAS5L,EAAyCt/K,EAAzCs/K,SAAUk8C,EAA+Bx7N,EAA/Bw7N,eAAgB7vJ,EAAe3rE,EAAf2rE,YAAeizJ,EAOpFJ,GAAW,CAAEvG,aAAYlxJ,UAASu4G,aALpCp6I,EAFsF05L,EAEtF15L,OACAk1L,EAHsFwE,EAGtFxE,QACA/wM,EAJsFu1M,EAItFv1M,SACAi3F,EALsFs+G,EAKtFt+G,aACAi/D,EANsFq/C,EAMtFr/C,gBAIA35K,EAWEslL,EAXFtlL,KACAi0L,EAUE3O,EAVF2O,WACAJ,EASEvO,EATFuO,sBACAC,EAQExO,EARFwO,WACA52D,EAOEooD,EAPFpoD,eACAlhB,EAMEspE,EANFtpE,YACA2G,EAKE2iE,EALF3iE,eACA3H,EAIEsqE,EAJFtqE,YACA+4E,EAGEzO,EAHFyO,YACAJ,EAEErO,EAFFqO,YACAK,EACE1O,EADF0O,eAGI72D,EAAW,CACf15G,WACAw5G,UACAj9H,OACAw0N,UACAvgC,aACA/2D,iBACAxiB,eACAsB,cACA2G,iBACA3H,cACA+4E,cACAJ,cACAha,kBACAp4I,OAAQ,CAAC03L,IAAe1zJ,UAAW0zJ,IAAe3zJ,UAClD0uH,iBACA4hC,iBACA7vJ,eAGImzJ,EAAiBX,GAAaY,GAAA,CAAEl8F,WAAWE,IAE3C3a,EAAU22G,GAAA,CACdz+G,eACAp7E,SACA9iB,WAAYygH,GACZn1G,QAASgsK,EAAWrwK,IACjB05G,EALW,GAMX+7F,EANW,CAOd79N,UAAWa,IAAW,CAAEu3B,OAAQkmJ,IAChC99D,eAAgBg4E,IAGlB,OAAOh4L,EAAAC,EAAAC,cAACwmH,EAAA,EAAiBC,GAG3Bu2G,GAAQj4N,aAAe,CACrBk7G,aAAa,EACb2G,gBAAgB,EAChB3H,aAAa,EACb0+D,SAAU,IAGZq/C,GAAQ/6N,UAAR,GASeo0N,SAAW2G,yRClE1B,SAASt/L,GAATr/B,GAmBG,IAlBDs/K,EAkBCt/K,EAlBDs/K,SACAq4B,EAiBC33M,EAjBD23M,UACAsgB,EAgBCj4N,EAhBDi4N,WACA7S,EAeCplN,EAfDolN,YACAM,EAcC1lN,EAdD0lN,UACA3+I,EAaC/mE,EAbD+mE,QACAmkH,EAYClrL,EAZDkrL,QACAr+D,EAWC7sH,EAXD6sH,eACAxhC,EAUCrrF,EAVDqrF,cACA2zI,EASCh/N,EATDg/N,oBACAC,EAQCj/N,EARDi/N,iBACA57K,EAOCrjD,EAPDqjD,SACAw0J,EAMC73M,EAND63M,cACAC,EAKC93M,EALD83M,oBACuBonB,EAItBl/N,EAJD6+K,sBACA70J,EAGChqB,EAHDgqB,qBACAC,EAECjqB,EAFDiqB,gBACA41J,EACC7/K,EADD6/K,sBAGE5hG,EAQE4uC,EARF5uC,UACA/xD,EAOE2gG,EAPF3gG,kBACA8tK,EAMEntE,EANFmtE,2BACArrB,EAKE9hD,EALF8hD,aACAsrB,EAIEptE,EAJFotE,gBACAC,EAGErtE,EAHFqtE,uBACAC,EAEEttE,EAFFstE,mBACAG,EACEztE,EADFytE,eAGM7jE,EAAuC1vD,EAAvC0vD,UAAW8hD,EAA4BxxG,EAA5BwxG,UAAW6/B,EAAiBrxI,EAAjBqxI,aACtBvyE,EAA+DoyF,EAA/DpyF,GAAIuyF,EAA2DH,EAA3DG,QAASnsD,EAAkDgsD,EAAlDhsD,eAAgB5iJ,EAAkC4uM,EAAlC5uM,SAAU81M,EAAwBlH,EAAxBkH,oBACvCC,EAAiCha,EAAjCga,iBAAkBlzD,EAAek5C,EAAfl5C,WAClBx8B,EAAkB7J,EAAlB6J,cACFivC,EAAuB2b,EAAiBA,EAAeruB,EAAelnK,SAAWinK,YAAwBC,EAAgBC,GAhB9HmzD,EAoBG/lB,aAAoB,CAAEz6B,sBAAuBqgD,IAF/CrgD,EAlBDwgD,EAkBCxgD,sBACA46B,EAnBD4lB,EAmBC5lB,kBAGI6lB,EAAuBj2C,aAAkB,CAC7CsuB,YACAyN,cACAv4F,iBACAxhC,gBACA4gF,iBACAwtC,oBACA9qC,eACAsrB,kBACAyrB,cAIAlvL,GAkBE8oM,EAlBF9oM,YACA8hL,GAiBEgnB,EAjBFhnB,oBACAvzM,GAgBEu6N,EAhBFv6N,QACA0xB,GAeE6oM,EAfF7oM,oBACAnhB,GAcEgqN,EAdFhqN,SACAmzH,GAaE62F,EAbF72F,WACA73G,GAYE0uM,EAZF1uM,WACA0vJ,GAWEg/C,EAXFh/C,aACAV,GAUE0/C,EAVF1/C,qBACA6nC,GASE6X,EATF7X,uBACAD,GAQE8X,EARF9X,eACAz7L,GAOEuzM,EAPFvzM,aACAI,GAMEmzM,EANFnzM,SACAL,GAKEwzM,EALFxzM,WACAF,GAIE0zM,EAJF1zM,YACAy1F,GAGEi+G,EAHFj+G,eACAq3F,GAEE4mB,EAFF5mB,uBACAzoC,GACEqvD,EADFrvD,gBAGFkoC,YAAc,CACZle,kBACAme,eACA3hF,YACAprC,gBACAktF,YACAo/B,YACAzrC,aACAguB,yBACA1jK,eACA6hL,sBAAuBzsL,GACvB0sL,uBACAne,qBACAue,0BACAzoC,qBArED,IAyECsvD,GAKEl8K,EALFk8K,2BACAC,GAIEn8K,EAJFm8K,2BACAC,GAGEp8K,EAHFo8K,qBCjHW,SAAAz/N,GAIZ,IAHDs/K,EAGCt/K,EAHDs/K,SAGCogD,EAAA1/N,EAFD2/N,6BAEC,IAAAD,EAFuB,aAEvBA,EAAAE,EAAA5/N,EADD6/N,2BACC,IAAAD,EADqB,aACrBA,EACOrgD,EAAoBD,EAApBC,gBACFugD,GAAehwN,IAAQwvK,GAU7B5tK,oBAR6B,WAC3B,OAAKouN,GAAevgD,EACXogD,IAGFE,KAGuB,CAACtgD,IDsGjCwgD,CAAoB,CAClBzgD,WACAugD,oBAJEx8K,EAFFw8K,oBAOAF,sBALEt8K,EADFs8K,wBAsCF,IAAMK,GAAiBl+G,GAAA,GAClB4jG,EADkB,GAElB3+I,EAFkB,GAGlBkxJ,EAHkB,CAIrBryN,KAAMwyN,EACNzgB,YACA/a,gBAAiBn0D,GACjB5C,KACAxiF,WACAw0J,gBACAC,wBAGImoB,GAAiBn+G,GAAA,GAClB/6C,EADkB,GAElBkxJ,EAFkB,GAGlBgH,EAHkB,CAIrB57K,WACAz9C,KAAMwyN,EACNzgB,YACA/a,gBAAiBn0D,GACjB5C,OAGIq6F,GAAqB,CACzB7+G,mBAGIi/E,GAAgB7+L,EAAAC,EAAAC,cAAC+1M,EAAA,EAAkBsoB,IAGnCrgD,GAAc79D,GAAA,GACdk9G,GAAuB,CAAEr/C,eAHT,kBAAMq/C,EAAoBiB,MAE5B,IAEbjB,GAAuB,CAAEvwN,aAAc6xL,KAGxC7gB,GACJh+K,EAAAC,EAAAC,cAACywF,EAAA,EAAD,CACEJ,UAAQ,EACRK,YAAU,EACVhvF,MAAOmzB,GACP1iB,SAAU2iB,GACVnhB,SAAUu4F,YAAUv4F,GAAUmqN,IAC9Bz1M,qBAAsBA,EACtBC,gBAAiBA,IAIrB,OACExoB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,UAAQV,UAAWtC,KAAO6H,WACxB/E,EAAAC,EAAAC,cAACi/K,EAAA,EAAD9+D,GAAA,GAhFN,WACE,IAAK7jC,EAAW,MAAO,GAEvB,IAAMyhG,EACJj+K,EAAAC,EAAAC,cAAA,OACEqD,GAAG,0BACH/D,UAAW+4L,GAEXv4L,EAAAC,EAAAC,cAAC40B,EAAA,EAADurF,GAAA,GACM+K,EACAyyG,EAFN,CAGEnzM,SAAU0hF,YAAU1hF,GAAUszM,IAC9B3zM,WAAY+hF,YAAU/hF,GAAYyzM,IAClCxzM,aAAc8hF,YAAU9hF,GAAcyzM,IACtCv0M,YAAam0M,EAAiBt9G,GAAA,CAAEl8G,KAAMb,GAASskB,YAAasuL,IAC5DzrL,kBAAmBA,EACnBlC,qBAAsBA,EACtBC,gBAAiBA,MAKvB,MAAQ,CACN21J,wBACAF,wBACAhB,2BAA4B+oC,IAwDpB0Y,GACAxgD,GAFN,CAGEd,sBAAuBA,EACvByB,aAAcA,GACdb,cAAeA,GACfd,qBAAsBA,EACtB0B,mBAAoBmnC,GACpB2X,oBAAqBA,EACrBvuM,WAAYA,GACZ0uJ,SAAUA,EACVp+K,UAAWwuI,EACXmwC,sBAAuBA,MAI3Bp+K,EAAAC,EAAAC,cAAA,OAAKwuB,KAAK,QACR1uB,EAAAC,EAAAC,cAACi3C,EAAD,CAAW8/K,cAAewH,MACxBpwN,IAAQo7K,IAAYzpL,EAAAC,EAAAC,cAACy+N,GAAD,QAM9B/gM,GAAU34B,aAAe,CACvB28C,SAAU,GACVw7H,sBAAuB,IAOzBx/I,GAAUz7B,UAAV,GAuGeo0N,SAAW34L,yOE/T1B,SAASghM,GAATrgO,GAyBG,IAxBDsgO,EAwBCtgO,EAxBDsgO,WACA3oB,EAuBC33M,EAvBD23M,UACAsgB,EAsBCj4N,EAtBDi4N,WACA7S,EAqBCplN,EArBDolN,YACAM,EAoBC1lN,EApBD0lN,UACAx6B,EAmBClrL,EAnBDkrL,QACA5L,EAkBCt/K,EAlBDs/K,SACAk8C,EAiBCx7N,EAjBDw7N,eACA7vJ,EAgBC3rE,EAhBD2rE,YACAqzJ,EAeCh/N,EAfDg/N,oBACAvG,EAcCz4N,EAdDy4N,cACA5rG,EAaC7sH,EAbD6sH,eACA9lD,EAYC/mE,EAZD+mE,QACAskB,EAWCrrF,EAXDqrF,cACAk1I,EAUCvgO,EAVDugO,cACArI,EASCl4N,EATDk4N,iBACAC,EAQCn4N,EARDm4N,uBACAtgB,EAOC73M,EAPD63M,cACAC,EAMC93M,EAND83M,oBACAmnB,EAKCj/N,EALDi/N,iBACApgD,EAIC7+K,EAJD6+K,sBACA70J,EAGChqB,EAHDgqB,qBACAC,EAECjqB,EAFDiqB,gBACA41J,EACC7/K,EADD6/K,sBACCh6F,EACoCjvD,cAA7BvN,EADPw8D,EACOx8D,SAAUwX,EADjBglD,EACiBhlD,eACV41F,EAAc1vD,EAAd0vD,UACI+pG,EAA+BvI,EAAnCpyF,GACI46F,GAD+BxI,EAAjBtkF,cACqB,IAAvC9N,GAJPpgI,EAWGonH,GAAkB,GAJhB6zG,EAPLj7N,EAOCogI,GACA86F,EARDl7N,EAQCk7N,eACA7mC,EATDr0L,EASCq0L,sBACAC,EAVDt0L,EAUCs0L,qBAGIlmD,EAAQ+sF,GAAA,GACTJ,EADS,GAETC,EAFS,GAGTC,GAkCL,IAAMl3F,EAAU,CACdmuE,YACAsgB,WAAW2I,GAAA,GACN3I,EADK,CAERpyF,GAAIgO,EACJxqH,WACAwX,mBAEFukL,cACAM,YACApmC,WACA4L,UACAswC,iBACA7vJ,cACAqzJ,sBACAC,mBACAxG,gBACA1xJ,UACA83G,wBACAhyD,eAAe+zG,GAAA,GACV/zG,EADS,CAEZ1gG,SAAUsqG,EACV5nG,kBAAmBg+F,EAAegZ,GAAGu0D,wBAA0BvtE,EAAegZ,GAAGw0D,wBACjF9wK,mBAtDJ,WAAyC,IAAbmqD,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GACnC4oL,GAAyBA,EAAsBpmH,EAAQikI,IAsDrDruL,kBAnDJ,WAAwC,IAAboqD,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAClC6oL,GAAwBA,EAAqBrmH,EAAQikI,IAmDnD/oL,eAAgB+xM,EAChB5xM,kBAjDJ,SAAgC6d,GAC9BmtJ,GAAwBA,EAAqB,CAAEntJ,QAAQ+qK,MAkDvDtsH,gBACAhoC,SA/CKjR,IAAWmuL,GAIT,CACLhB,2BAA4B,kBCjF3B,SAAoCgB,GACzCA,EAAc,gBDgFwBhB,CAA2BgB,IAC7Df,2BAA4B,kBCtF3B,SAAoCe,GACzCA,EAAc,uBDqFwBf,CAA2Be,IAC7DM,mBAAoB,kBC/EnB,SAA4BN,GACjCA,EAAc,YD8EgBM,CAAmBN,IAC7C3iC,uBAAwB,kBC5EvB,SAAgC2iC,GACrCA,EAAc,uBD2EoB3iC,CAAuB2iC,IACrDhI,mBAAoB,kBCzEnB,SAA4BgI,GACjCA,EAAc,kBDwEgBhI,CAAmBgI,IAC7CvjC,wBAAyB,kBCtExB,SAAiCujC,GACtCA,EAAc,wBDqEqBvjC,CAAwBujC,IACvDjI,qBAAsB,kBCnErB,SAA8BiI,GACnCA,EAAc,oBDkEkBjI,CAAqBiI,IACjDd,oBAAqB,kBChEpB,SAA6Bc,GAClCA,EAAc,YD+DiBd,CAAoBc,IAC/CZ,sBAAuB,kBC7DtB,SAA+BY,GACpCA,EAAc,sBD4DmBZ,CAAsBY,IACnDV,oBAAqB,kBC3DpB,SAA6BU,GAClCA,EAAc,oBD0DiBV,CAAoBU,KAbxC,GA+CTpI,yBACAD,mBACApgB,sBACAD,gBACA7tL,uBACAC,kBACA41J,yBAGF,OACEp+K,EAAAC,EAAAC,cAACo2N,EAAchhM,SAAf,CAAwB1zB,MAAOmmI,IAC3B3jI,IAAQy6N,IACR7+N,EAAAC,EAAAC,cAACoK,EAAA,QAAD60N,GAAA,GAAgBN,EAAhB,CAA4Br0N,aAAW,KAGzCxK,EAAAC,EAAAC,cAAA,eACEF,EAAAC,EAAAC,cAACm/N,GAAD,QAMRT,GAAW35N,aAAe,CACxB44K,SAAU,GACVt1J,sBAAsB,EACtBC,gBAAiBktC,KAGnBkpK,GAAWz8N,UAAX,GA+Fey8N,gGEnOA1hO,EAlBA+tC,aAAWC,OAAO,CAC/Bo0L,kBAAmB,CACjBC,qBAAsB,EACtBC,oBAAqB,EACrBtwL,gBAAiBj1B,uBACjBsyB,QAAS,OACT1qB,eAAgB,gBAChB6pB,WAAY,MACZD,cAAe,MACfsE,MAAO,OACPjtB,QAAS,WACT8wB,YAAa,EACbpD,YAAa,QACbqD,YAAa16B,qBACbsqB,OAAQ,MCfZ,SAASg8L,EAATlhO,GAAkC,IAAZgB,EAAYhB,EAAZgB,SACpB,OACES,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOoiO,mBACjB//N,GAKPkgO,EAAWt9N,UAAX,GAIes9N,QCEAviO,EAhBA+tC,aAAWC,OAAO,CAC/Bw0L,kBAAmB,CACjBnzL,QAAS,OACT1qB,eAAgB,gBAChB4pB,cAAe,MACfC,WAAY,SACZi0L,wBAAyB,EACzBC,uBAAwB,EACxBhsL,YAAa,EACbpD,YAAa,QACbqD,YAAa16B,qBACb2J,QAAS,WACTitB,MAAO,UCVX,SAASulH,EAAT/2J,GAAkC,IAAZgB,EAAYhB,EAAZgB,SACpB,OACES,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOwiO,mBACjBngO,GAKP+1J,EAAWnzJ,UAAX,GAIemzJ,QCQAp4J,EAvBA+tC,aAAWC,OAAO,CAC/B20L,SAAU,CACR1sL,aAAc,GAEhB2sL,gBAAiB,CACfh9M,QAAS,kBACTi9M,iBAAkB,EAClB75D,gBAAiB,EACjB11H,YAAa,QACbqD,YAAa16B,sBAEf6mN,cAAe,CACblrL,eAAgB,EAChByqL,qBAAsB,EACtBC,oBAAqB,GAEvBS,cAAe,CACb1wL,kBAAmB,EACnBowL,wBAAyB,EACzBC,uBAAwB,wOCb5B,SAASM,EAAT3hO,GAKG,IAJDg3J,EAICh3J,EAJDg3J,KACA19H,EAGCt5B,EAHDs5B,cACAsoM,EAEC5hO,EAFD4hO,cACA5gO,EACChB,EADDgB,SAEQ2kD,GAAWqxG,GAAQ,IAAnBrxG,OACFk8K,EAAUjgO,EAAA,GACXjD,EAAO4iO,gBADI,IAETjoM,GAAiB36B,EAAO8iO,cAFf,IAGTG,GAAiBjjO,EAAO+iO,eAG/B,OAAI5xN,IAAQ61C,GACH,KAIPlkD,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMjrC,UAAU,YAAYohB,MAAO1jB,EAAO2iO,UACxC7/N,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMm8H,OAAA,GACH/uI,GAAiB73B,EAAAC,EAAAC,cAACm2B,EAAD,KAASwB,IAG7B73B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOw/M,GACV7gO,GAGF4gO,GAAiBngO,EAAAC,EAAAC,cAACq2G,EAAD,KAAS4pH,IAKjCD,EAAS/9N,UAAT,GAOe+9N,8DCxBAhjO,EApBA+tC,aAAWC,OAAO,CAC/Bm1L,eAAgB,CACdtwL,MAAO,OAETqf,oBAAqB,CACnBxjB,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,sBACPk8B,WAAY,GAEdmrL,eAAgB,CACd10L,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,sBACPy4B,cAAe,aACf6uL,aAAc,aACdC,UAAW,eCbf,SAASC,EAAclsM,EAAWmhB,GAChC,OACE11C,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEz0I,MAAO1jB,EAAOmjO,eACdjyL,UAAWlxC,EAAOojO,eAClBvyL,WAAY7wC,EAAOkyD,oBACnBxtD,MAAO2yB,EACP1yB,MAAO6zC,EACPpK,MAAM,IAKZ,SAASm0L,EAATlhO,GAMG,IALDg3J,EAKCh3J,EALDg3J,KACAmrE,EAICniO,EAJDmiO,wBACAC,EAGCpiO,EAHDoiO,yBACAC,EAECriO,EAFDqiO,yBACAC,EACCtiO,EADDsiO,mBACC/8N,EAMGyxJ,GAAQ,GAJV9gJ,EAFD3Q,EAEC2Q,OACAoO,EAHD/e,EAGC+e,MACAi+M,EAJDh9N,EAICg9N,eACAC,EALDj9N,EAKCi9N,QAGF,OACE/gO,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACGuyM,GAA2BD,EAAc59M,EAAO,SAChD+9M,GAA4BH,EAAcK,EAAgB,cAC1DH,GAA4BF,EAAchsN,EAAQ,UAClDosN,GAAsBJ,EAAcM,EAAS,cAKpDtB,EAAWt9N,UAAX,GAQes9N,+lBCvCf,SAASuB,EAATziO,GAWG,IAVDg3J,EAUCh3J,EAVDg3J,KACA0rE,EASC1iO,EATD0iO,wBACAC,EAQC3iO,EARD2iO,sBACAC,EAOC5iO,EAPD4iO,6BACAC,EAMC7iO,EAND6iO,yBACAC,EAKC9iO,EALD8iO,0BACAC,EAIC/iO,EAJD+iO,sBACAC,EAGChjO,EAHDgjO,uBACAC,EAECjjO,EAFDijO,yBACGC,EACF5hO,EAAAtB,EAAA,8NAAAuF,EAeGyxJ,GAAQ,GAbVrxG,EAFDpgD,EAECogD,OACAC,EAHDrgD,EAGCqgD,UACAqrJ,EAJD1rM,EAIC0rM,WACAE,EALD5rM,EAKC4rM,eACAZ,EANDhrM,EAMCgrM,SACAK,EAPDrrM,EAOCqrM,WACAuyB,EARD59N,EAQC49N,gBACA3yB,EATDjrM,EASCirM,gBACAK,EAVDtrM,EAUCsrM,kBACAv5C,EAXD/xJ,EAWC+xJ,eACA8rE,EAZD79N,EAYC69N,YACAC,EAbD99N,EAaC89N,uBACAjoJ,EAdD71E,EAcC61E,QAdD31E,EAwBGy9N,GAAoB,GAPtBf,EAjBD18N,EAiBC08N,wBACAC,EAlBD38N,EAkBC28N,yBACAC,EAnBD58N,EAmBC48N,yBACAC,EApBD78N,EAoBC68N,mBACArrE,EArBDxxJ,EAqBCwxJ,uBACAC,EAtBDzxJ,EAsBCyxJ,6BACAC,EAvBD1xJ,EAuBC0xJ,mBAMImsE,EAAgBrsE,GAA0BC,GAAgCC,EAE1E79H,EALgB6oM,GAA2BE,GAC5CD,GAA4BE,EAIK7gO,EAAAC,EAAAC,cAACkvF,EAAD0yI,EAAA,CAAYvsE,KAAMA,GAAUksE,IAAuB,KACnFtB,EAAgB0B,EAAgB7hO,EAAAC,EAAAC,cAAC6hO,EAAA,EAADD,EAAA,CAAYvsE,KAAMA,GAAUksE,EAA5B,CAA8C9rE,cAAc,kBAAoB,KAEhHqsE,EAAyBhjO,IAAK8vM,GAAYC,EAC1CkzB,EAA2BjjO,IAAKmwM,GAAcC,EAG9Ch8J,EAAewuL,EAAsB,GAAAj6N,OADhB,eACgB,oBAAAA,OACCi6N,GAFjB,eAK3B,OACE5hO,EAAAC,EAAAC,cAACgiO,EAADJ,EAAA,GACML,EADN,CAEE5pM,cAAeA,EACfsoM,cAAeA,EACf5qE,KAAMA,IAENv1J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBt2B,EAAQ,cAAe2xG,IAG5CorE,GACCjhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBr2B,EAAW,aAAc0xG,EAAgB,MAGhEqrE,GACClhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjB+qB,YAAcX,IAInB35E,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjB4xK,GACCnhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOuyD,2BACjB+qB,YAAmBk1H,EAAgB,qBAIvC0xB,GACCphO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOwyD,uBACjB8qB,YAAmBg1H,EAAY,cAAe35C,EAAgB,OAKpEwrE,GACCrhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBknJ,EAAiB,mBAAoB7rE,IAI5DyrE,GACCthO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBmnJ,EAAavuL,EAAcyiH,EAAgB,OAIlE0rE,GACCvhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBAClBvvD,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEpkH,UAAW/zC,IAAOkyD,oBAClBrhB,WAAY7wC,IAAOoyD,cACnBztD,MAAM,WACNqvC,WAAS,GAER49J,EAAS1mM,IAAI2yE,KACbinJ,EACChiO,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEzzJ,MAAK,YAAA+F,OAAconM,EAAd,iBACLtpM,KAAMowJ,EACNhoH,UAAW3wC,IAAOmyD,sBAElB,OAKTmyK,GACCxhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBAClBvvD,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEpkH,UAAW/zC,IAAOkyD,oBAClBrhB,WAAY7wC,IAAOoyD,cACnBztD,MAAM,aACNqvC,WAAS,GAERi+J,EAAW/mM,IAAI2yE,KACfknJ,EACCjiO,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEzzJ,MAAK,YAAA+F,OAAcynM,EAAd,iBACL3pM,KAAMowJ,EACNhoH,UAAW3wC,IAAOmyD,sBAElB,QAQhB2xK,EAAK7+N,UAAL,GAmBe6+N,+lBC1Kf,SAASmB,EAAT5jO,GAA2D,IAArCsxJ,EAAqCtxJ,EAArCsxJ,MAAOjvI,EAA8BriB,EAA9BqiB,MAAU6gN,EAAoBW,EAAA7jO,EAAA,mBACzD,OACEyB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACVivI,EAAMznJ,IAAI,SAACmtJ,EAAMruJ,GAAP,OACTlH,EAAAC,EAAAC,cAACmiO,EAADC,EAAA,CAAM56N,IAAG,QAAAC,OAAU4tJ,EAAKhyJ,GAAf,KAAAoE,OAAqBT,GAASquJ,KAAMA,GAAUksE,OAM/DU,EAAWl9N,aAAe,CACxB4qJ,MAAO,IAGTsyE,EAAWhgO,UAAX,GAKeggO,QCDAjlO,EApBA+tC,aAAWC,OAAO,CAC/Bm1L,eAAgB,CACdtwL,MAAO,OAETqf,oBAAqB,CACnBxjB,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,sBACPk8B,WAAY,GAEdmrL,eAAgB,CACd10L,SAAU,EACVd,WAAY,IACZ5nB,MAAOjK,sBACPy4B,cAAe,aACf6uL,aAAc,aACdC,UAAW,eCbf,SAASC,EAAclsM,EAAWmhB,GAChC,OACE11C,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEz0I,MAAO1jB,EAAOmjO,eACdjyL,UAAWlxC,EAAOojO,eAClBvyL,WAAY7wC,EAAOkyD,oBACnBxtD,MAAO2yB,EACP1yB,MAAO6zC,EACPpK,MAAM,IAKZ,SAASm0L,EAATlhO,GAMG,IALDg3J,EAKCh3J,EALDg3J,KACAgtE,EAIChkO,EAJDgkO,uBACA5B,EAGCpiO,EAHDoiO,yBACAC,EAECriO,EAFDqiO,yBACAC,EACCtiO,EADDsiO,mBACC/8N,EAMGyxJ,GAAQ,GAJV9gJ,EAFD3Q,EAEC2Q,OACA+tN,EAHD1+N,EAGC0+N,SACA/yB,EAJD3rM,EAIC2rM,aACAsxB,EALDj9N,EAKCi9N,QAGF,OACE/gO,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACGo0M,GAA0B9B,EAAc+B,EAAU,YAClD5B,GAA4BH,EAAchxB,EAAc,cACxDkxB,GAA4BF,EAAchsN,EAAQ,UAClDosN,GAAsBJ,EAAcM,EAAS,cAKpDtB,EAAWt9N,UAAX,GAQes9N,+lBCvCf,SAASuB,EAATziO,GAWG,IAVDg3J,EAUCh3J,EAVDg3J,KACA0rE,EASC1iO,EATD0iO,wBACAC,EAQC3iO,EARD2iO,sBACAC,EAOC5iO,EAPD4iO,6BACAC,EAMC7iO,EAND6iO,yBACAC,EAKC9iO,EALD8iO,0BACAC,EAIC/iO,EAJD+iO,sBACAC,EAGChjO,EAHDgjO,uBACAC,EAECjjO,EAFDijO,yBACGC,EACFgB,EAAAlkO,EAAA,8NAAAuF,EAcGyxJ,GAAQ,GAZVrxG,EAFDpgD,EAECogD,OACAC,EAHDrgD,EAGCqgD,UACAqrJ,EAJD1rM,EAIC0rM,WACAE,EALD5rM,EAKC4rM,eACAZ,EANDhrM,EAMCgrM,SACAK,EAPDrrM,EAOCqrM,WACAuyB,EARD59N,EAQC49N,gBACAtyB,EATDtrM,EASCsrM,kBACAv5C,EAVD/xJ,EAUC+xJ,eACA8rE,EAXD79N,EAWC69N,YACAC,EAZD99N,EAYC89N,uBACAjoJ,EAbD71E,EAaC61E,QAbD31E,EAuBGy9N,GAAoB,GAPtBc,EAhBDv+N,EAgBCu+N,uBACA5B,EAjBD38N,EAiBC28N,yBACAC,EAlBD58N,EAkBC48N,yBACAC,EAnBD78N,EAmBC68N,mBACArrE,EApBDxxJ,EAoBCwxJ,uBACAC,EArBDzxJ,EAqBCyxJ,6BACAC,EAtBD1xJ,EAsBC0xJ,mBAMImsE,EAAgBrsE,GAA0BC,GAAgCC,EAE1E79H,EALgB0qM,GAA0B3B,GAC3CD,GAA4BE,EAIK7gO,EAAAC,EAAAC,cAACwiO,EAADC,EAAA,CAAYptE,KAAMA,GAAUksE,IAAuB,KACnFtB,EAAgB0B,EAAgB7hO,EAAAC,EAAAC,cAAC6hO,EAAA,EAADY,EAAA,CAAYptE,KAAMA,GAAUksE,IAAuB,KAEnFQ,EAA2BjjO,IAAKmwM,GAAcC,EAG9Ch8J,EAAewuL,EAAsB,GAAAj6N,OADhB,eACgB,oBAAAA,OACCi6N,GAFjB,eAK3B,OACE5hO,EAAAC,EAAAC,cAACgiO,EAADS,EAAA,GACMlB,EADN,CAEE5pM,cAAeA,EACfsoM,cAAeA,EACf5qE,KAAMA,IAENv1J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBt2B,EAAQ,cAAe2xG,IAG5CorE,GACCjhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBr2B,EAAW,YAAa0xG,EAAgB,MAI/DqrE,GACClhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjB+qB,YAAcX,IAIlB0nJ,GACCrhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBknJ,EAAiB,cAAe7rE,IAIvDyrE,GACCthO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjBirB,YAAmBmnJ,EAAavuL,EAAcyiH,EAAgB,OAInE71J,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBACjB4xK,GACCnhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOuyD,2BACjB+qB,YAAmBk1H,EAAgB,qBAIvC0xB,GACCphO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOwyD,uBACjB8qB,YAAmBg1H,EAAY,cAAe35C,EAAgB,OAKpE0rE,GACCvhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBAClBvvD,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEpkH,UAAW/zC,IAAOkyD,oBAClBrhB,WAAY7wC,IAAOoyD,cACnBztD,MAAM,UACNqvC,WAAS,GAER49J,EAAS1mM,IAAI2yE,OAKnBymJ,GACCxhO,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,IAAOqyD,gBAClBvvD,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEpkH,UAAW/zC,IAAOkyD,oBAClBrhB,WAAY7wC,IAAOoyD,cACnBztD,MAAM,aACNqvC,WAAS,GAERi+J,EAAW/mM,IAAI2yE,KACfknJ,EACCjiO,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CACEzzJ,MAAK,YAAA+F,OAAcynM,EAAd,iBACL3pM,KAAMowJ,EACNhoH,UAAW3wC,IAAOmyD,sBAElB,QAQhB2xK,EAAK7+N,UAAL,GAmBe6+N,+lBClKf,SAAS4B,EAATrkO,GAA6D,IAArCsxJ,EAAqCtxJ,EAArCsxJ,MAAOjvI,EAA8BriB,EAA9BqiB,MAAU6gN,EAAoBoB,EAAAtkO,EAAA,mBAC3D,OACEyB,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAOA,GACVivI,EAAMznJ,IAAI,SAACmtJ,EAAMruJ,GAAP,OACTlH,EAAAC,EAAAC,cAAC4iO,EAADC,EAAA,CAAMr7N,IAAG,QAAAC,OAAU4tJ,EAAKhyJ,GAAf,KAAAoE,OAAqBT,GAASquJ,KAAMA,GAAUksE,OAM/DmB,EAAa39N,aAAe,CAC1B4qJ,MAAO,IAGT+yE,EAAazgO,UAAb,GAKeygO,QCzBf9hO,EAAAC,EAAAC,EAAA,sBAAAgiO,IAAAliO,EAAAC,EAAAC,EAAA,sBAAAiiO,u1CCgCeC,MA1Bf,SAAA3kO,GAAyE,IAA7C4kO,EAA6C5kO,EAA7C4kO,iBAAkB51M,EAA2BhvB,EAA3BgvB,QAAS61M,EAAkB7kO,EAAlB6kO,eAAkBl0N,EAAAC,EAC/BC,mBAAS8uJ,KADsB,GAChEmlE,EADgEn0N,EAAA,GAClDo0N,EADkDp0N,EAAA,GAEjEq0N,EAAgCF,IAAiBllE,IAEjDnpC,EAAY,SAAA/oG,GAAO,OAAIm3M,EAAen3M,EAASs3M,GAAxB,MACpBhhJ,IAAcgkD,yBAcvB,OAZAt2H,oBAAU,WACR+kH,EAAS70H,EAAA,GACJgjO,EAAiBE,GADb,CAEP91M,cAED,CAAC81M,IAOG,CACLA,eACAG,qBAPF,WAAuD,IAC7C5hO,GAD6C6N,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,IACzC7N,MACR0hO,EAAgB1hO,IAMhBozH,8RCnBJ,SAAS63F,EAATtuN,GAA2E,IAA3DklO,EAA2DllO,EAA3DklO,oBAAqBJ,EAAsC9kO,EAAtC8kO,aAAcG,EAAwBjlO,EAAxBilO,qBAC3CE,EACJ1jO,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACErK,SAAUmxN,EACVlgO,QAASmgO,EACTjkO,UAAWtC,IAAOuhM,mBAClB78L,MAAOyhO,EACP1mN,WAAW,EACXsC,cAAc,EACd7B,aAAW,IAIf,OACEpd,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAC40B,EAAA,EAADo4L,EAAA,GACM1hN,IAAOy4K,kBADb,CAEE5xJ,gBAAiBqxM,MAMzB7W,EAAK1qN,UAAL,GAMe0qN,kBCYAn9K,EAlDM,CACnB,CACE7tC,MAAO,mBACP61B,QAAS,OACTuK,aAAa,GAEf,CACEpgC,MAAO,SACP61B,QAAS,SACTR,WAAY,sBACZ+K,aAAa,GAEf,CACEpgC,MAAO,iBACP61B,QAAS,YACTuK,aAAa,GAEf,CACEpgC,MAAO,eACP61B,QAAS,oBACTR,WAAY,oBACZ+K,aAAa,GAEf,CACEpgC,MAAO,cACP61B,QAAS,mBACTuK,aAAa,GAEf,CACEpgC,MAAO,gBACP61B,QAAS,qBACTuK,aAAa,GAEf,CACEpgC,MAAO,kBACP61B,QAAS,iBACTuK,aAAa,GAEf,CACEpgC,MAAO,UACP61B,QAAS,cACTuK,aAAa,GAEf,CACEpgC,MAAO,SACP61B,QAAS,WACTuK,aAAa,uBCrCjB,SAAS11B,EAAThO,GAoBG,IAnBD46E,EAmBC56E,EAnBD46E,QACAirD,EAkBC7lI,EAlBD6lI,GACAhuD,EAiBC73E,EAjBD63E,KACA1oD,EAgBCnvB,EAhBDmvB,UACAk0J,EAeCrjL,EAfDqjL,QACAC,EAcCtjL,EAdDsjL,aACAC,EAaCvjL,EAbDujL,cACA5X,EAYC3rK,EAZD2rK,SACAy5D,EAWCplO,EAXDolO,cACAP,EAUC7kO,EAVD6kO,eACApwF,EASCz0I,EATDy0I,aACAprH,EAQCrpB,EARDqpB,SACAi9G,EAOCtmI,EAPDsmI,eACA++F,EAMCrlO,EANDqlO,kBACAr2M,EAKChvB,EALDgvB,QACA6gJ,EAIC7vK,EAJD6vK,aACA+0D,EAGC5kO,EAHD4kO,iBACAU,EAECtlO,EAFDslO,qBACA9oM,EACCx8B,EADDw8B,mBAEQyvI,GAAmBq5D,GAAwB,IAA3Cr5D,eAENl0I,EAKE8tG,EALF9tG,iBACA23G,EAIE7J,EAJF6J,cACAmzC,EAGEh9C,EAHFg9C,iBACA0iD,EAEE1/F,EAFF0/F,gBACAv1F,EACEnK,EADFmK,qBAGIoC,EAAa,CACjBixC,UACAC,eACAC,gBACAV,mBACAjf,iBAAkB,iBAClB2hE,kBACA9wF,gBAGF,OACEhzI,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACuvC,EAAA,EAAD,CACE7U,UAAU,KACVz2B,KAAM+lK,EACNrlC,eAAgBA,EAChB++F,kBAAmBA,EACnB71B,QAAS33H,EACT1oD,UAAWA,EACXgiB,aAAcA,EACdpZ,iBAAkBA,EAClBytM,6BAA6B,EAC7BtkO,UAAWwuI,EACXM,qBAAsBA,EACtB69B,YAAag3D,EACbY,qBAAsBzhJ,IAAcgkD,uBACpCikC,eAAgBA,EAChB4D,aAAcA,EACdz9B,WAAYA,EACZ5sI,MAAO4/N,EACP/7M,SAAUA,EACV2F,QAASA,EACTmI,mBAAmB,EACnB+M,gBAAgB,EAChBwhM,uBAAwBd,EACxBpoM,mBAAoBA,EACpBo+C,QAASA,KAMjB5sE,EAAMtH,aAAe,CACnB2+N,kBAAmB,GACnB7oM,mBAAoB,IAGtBxuB,EAAMpK,UAAN,GAsBeoK,kQC3FPilI,EAA6BltH,IAA7BktH,yBAER,SAAS5zG,EAATr/B,GAiBG,IAhBDkzF,EAgBClzF,EAhBDkzF,IACA7pE,EAeCrpB,EAfDqpB,SACAs8M,EAcC3lO,EAdD2lO,OACA/qJ,EAaC56E,EAbD46E,QACA2oG,EAYCvjL,EAZDujL,cACAshD,EAWC7kO,EAXD6kO,eACApwF,EAUCz0I,EAVDy0I,aACAywF,EASCllO,EATDklO,oBACAU,EAQC5lO,EARD4lO,aACAt/F,EAOCtmI,EAPDsmI,eACA++F,EAMCrlO,EANDqlO,kBACAr2M,EAKChvB,EALDgvB,QACA41M,EAIC5kO,EAJD4kO,iBACAU,EAGCtlO,EAHDslO,qBACAznL,EAEC79C,EAFD69C,YACArhB,EACCx8B,EADDw8B,mBAEMqzI,EAAeg2D,YAAYjrJ,EAAQ9K,SAASwD,OAAQ,CAAEoxG,YAAa,SADxEohD,EAEyDnB,EAAiB,CACzEzxI,MACA0xI,mBACA51M,UACA61M,mBAJMC,EAFPgB,EAEOhB,aAAcG,EAFrBa,EAEqBb,qBAAsBxuG,EAF3CqvG,EAE2CrvG,UAOtCsvG,EACJtkO,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CACE9pB,KAAK,yBACL9P,YAAY,2BAyDhB,OACEjC,EAAAC,EAAAC,cAACy3C,EAAA,EAAD0oE,EAAA,GAAc8jH,EAAd,CAA4BhsL,gBAAiBiE,IAC3Cp8C,EAAAC,EAAAC,cAACqkO,EAAD,CACEd,oBAAqBA,EACrBJ,aAAcA,EACdG,qBAAsBA,IArCWH,IAAiBllE,KAEjB3sB,EAYnCxxI,EAAAC,EAAAC,cAACozI,EAADjzB,EAAA,GACM6jH,EADN,CAEE/qJ,QAASA,EACT5rD,QAASA,EACTs3G,eAAgBA,EAChBi9C,cAAeA,EACfshD,eAAgBpuG,EAChBge,aAAcA,EACdprH,SAAUA,EACVg8M,kBAAmBA,EACnBT,iBAAkBA,EAAiBE,GACnCQ,qBAAsBA,EACtB9oM,mBAAoBA,EACpBqzI,aAAcA,KAvBdpuK,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CACEw5B,SAAUr1D,EAAAC,EAAAC,cAAA,OAAKk4B,IAAI,kCAAkCC,IAAI,2BACzDt2B,MAAM,yBACNE,YAAaqiO,EACb9kO,UAAWtC,IAAOqrK,yBAoC5B3qI,EAAU34B,aAAe,CACvBk/N,aAAc34N,IAAOs4K,cACrB2/C,oBAAqBrlE,IACrBrjI,mBAAoB,IAGtB6C,EAAUz7B,UAAV,GAmBey7B,2OC7Hf,IAAMmzL,EAAqBC,YAR3B,SAAyBnuM,GACvB,OAAO2hN,EAAA,GAAK3hN,EAAMk/H,UAAU0iF,gBAG9B,SAA4BvT,GAC1B,OAAOC,6BAAmBhvH,EAAS+uH,IAGVF,CAA6CpzL,GAEzD,SAAS8mM,EAAaliO,GACnC,OACExC,EAAAC,EAAAC,cAACmxN,EAAA,EAAD,CAAUryE,MAAOA,KACfh/I,EAAAC,EAAAC,cAAC6wN,EAAuBvuN,4BCtB9B1B,EAAAC,EAAAC,EAAA,sBAAA0jO,IAAA5jO,EAAAC,EAAAC,EAAA,sBAAA2gL,EAAA,IAAA7gL,EAAAC,EAAAC,EAAA,sBAAAg7K,EAAA,42CCqDeyoC,IAhDf,SAAAlmN,GAAsF,IAAhEwkN,EAAgExkN,EAAhEwkN,eAAgBG,EAAgD3kN,EAAhD2kN,oBAAqBnuL,EAA2Bx2B,EAA3Bw2B,YAAa01I,EAAclsK,EAAdksK,WAAcv7J,EAAAC,EAC5CC,mBAASq7J,EAAWnnK,SADwB,GAC7EooK,EAD6Ex8J,EAAA,GAC/Dy1N,EAD+Dz1N,EAAA,GAiBpF,SAAS01N,EAAkBhjO,EAAOy3N,GAA2B,IAAjBwL,EAAiBp1N,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,GAC3Dk1N,EAAgB,SAAAxwM,GAAS,OAAAh0B,EAAA,GACpBg0B,EADoB1iB,EAAA,GAEtB4nN,EAFsBl5N,EAAA,GAGlBg0B,EAAUklM,GAHQ5nN,EAAA,GAIpBozN,EAAU,QAAU,MAAQjjO,QAIjCshN,IAWF,OAjCAjzM,oBAAU,WACR8yM,EAAet3C,YAAiBC,EAAcjB,EAAY11I,KACzD,CAAC22I,EAAc32I,IA+BX,CACL22I,eACApgJ,YA/BF,WACEq5M,EAAgBl6D,EAAWnnK,UA+B3BqhO,kBACAtyN,SA7BF,SAAsBN,EAAMnQ,GAC1B+iO,EAAgB,SAAAxwM,GAAS,OAAAh0B,EAAA,GAAUg0B,EAAV1iB,EAAA,GAAsBM,EAAOnQ,MACtDshN,KA4BA4hB,kBAAmBF,EACnB3xM,cAdF,SAA2BF,EAAOsmM,GAChCuL,EAAkBG,YAAYhyM,GAAQsmM,GAAU,IAchDnmM,YAXF,SAAyBF,EAAKqmM,GAC5BuL,EAAkBI,YAAUhyM,GAAMqmM,2GC/BtC,SAAS4L,EAAT1mO,GAA8C,IAAxBgF,EAAwBhF,EAAxBgF,GAAIiiB,EAAoBjnB,EAApBinB,OAAQnT,EAAY9T,EAAZ8T,SACxBmhB,EAAuBhO,EAAvBgO,UAAWC,EAAYjO,EAAZiO,QAEbljB,EAAe,SAAA8V,GAAQ,OAAIhU,EAAS9O,EAAI8iB,IAM9C,OACErmB,EAAAC,EAAAC,cAACqzB,EAAA,EAAD,CACEg4E,iBAAiB,EACjBH,aAAc,IAAIjpB,KAClB3uD,UAAW61D,YAAQ71D,GACnBC,QAAS41D,YAAQ51D,GACjBC,kBAVsB,SAAAwxM,GAAO,OAAI30N,EAAa,CAAEijB,UAAWuxM,YAAYG,GAAUzxM,aAWjFE,gBAToB,SAAAuxM,GAAO,OAAI30N,EAAa,CAAEijB,YAAWC,QAASuxM,YAAUE,MAU5E1lO,UAAWtC,IAAOuO,KAClBonB,mBAAiB,EACjBC,kBAAgB,IAKtBmyM,EAAW9iO,UAAX,GASe8iO,0BCjCf,SAASE,EAAT5mO,GAAmD,IAA/BgF,EAA+BhF,EAA/BgF,GAAI6oB,EAA2B7tB,EAA3B6tB,MAAO5G,EAAoBjnB,EAApBinB,OAAQnT,EAAY9T,EAAZ8T,SAC/B9B,EAAe,SAAAzM,GAAA,IAAoBshO,EAApBthO,EAAGgC,OAAUlE,MAAb,OAAyCyQ,EAAS9O,EAAI6hO,IAiB3E,OACEplO,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CAAYpkB,mBAAoBlQ,IAAOuO,MACpC2gB,EAAMhkB,IAjBY,SAACqD,GAAS,IAAAzH,EACayH,GAAQ,GAAxC45N,EADmBrhO,EACvBT,GAAgB1B,EADOmC,EACPnC,MAAOjD,EADAoF,EACApF,SAE/B,OACEoB,EAAAC,EAAAC,cAACq8B,EAAA,EAAD,CACE70B,IAAK29N,EACLxjO,MAAOA,EACPD,MAAOyjO,EACPzmO,SAAUA,EACVymB,QAASG,IAAW6/M,EACpBhzN,SAAU9B,OAYlB40N,EAAShjO,UAAT,GAOegjO,+BC/Bf,SAASx+K,EAATpoD,GAAgF,IAA5DgF,EAA4DhF,EAA5DgF,GAAIsjD,EAAwDtoD,EAAxDsoD,SAAUrhC,EAA8CjnB,EAA9CinB,OAAQnT,EAAsC9T,EAAtC8T,SAAUwK,EAA4Bte,EAA5Bse,SAAU0iF,EAAkBhhG,EAAlBghG,eAG5D,OACEv/F,EAAAC,EAAAC,cAACymD,EAAA,EAAD,CACEjyB,qBAAmB,EACnBmyB,SAAUA,EACVlyB,cAAenP,EACfwhC,eAAgB9pD,IAAOuO,KACvB4G,SARiB,SAAAgU,GAAQ,OAAIhU,EAAS9O,EAAI8iB,IAS1CxJ,SAAUA,EACV0iF,eAAgBA,IAKtB54C,EAASxkD,UAAT,GAYewkD,+GC/Bf,SAASpM,EAATh8C,GAAoC,IAApBsD,EAAoBtD,EAApBsD,MACRyjO,EAD4B/mO,EAAbymB,UACiB3kB,IAAW,cAAenD,IAAOiiK,OAAS,cAEhF,OACEn/J,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsD,MACrBR,EAAAC,EAAAC,cAAA,KAAGV,UAAW8lO,KAEhBtlO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2E,OACpBA,IAMT04C,EAAKp4C,UAAL,GAKeo4C,QCxBUjxC,IAAU6tD,MAAM,CACvC5zD,GAAI+F,IAAU8E,OAAOwmB,WACrB/yB,MAAOyH,IAAU4oE,UAAU,CACzB5oE,IAAU8E,OACV9E,IAAUgwC,OACT1kB,WACHh2B,SAAU0K,IAAU48D,OAGK58D,IAAU4oE,UAAU,CAC7C5oE,IAAUiuD,QAAQjuD,IAAU8E,QAC5B9E,IAAU8E,wwBCDZ,SAAS2W,EAATxmB,GASG,IARDgnO,EAQChnO,EARDgnO,eACAC,EAOCjnO,EAPDinO,UACA70M,EAMCpyB,EANDoyB,cACAptB,EAKChF,EALDgF,GACA6oB,EAIC7tB,EAJD6tB,MACA5G,EAGCjnB,EAHDinB,OACAnT,EAEC9T,EAFD8T,SACAozN,EACClnO,EADDknO,kBAEMl1N,EAAe,SAAA9E,GAAI,OAAI,SAAA3H,GAA6B,IAAhBuhB,EAAgBvhB,EAA1BgC,OAAUuf,QAEpChT,EAAS9O,EADbkiO,EACiBpgN,EAAU5Z,EAAKlI,GAAK,GAE7B8hB,EAAO,GAAA1d,OAAA6W,EAAOgH,GAAP,CAAe/Z,EAAKlI,KAAMi6E,IAAOh4D,EAAQ,SAAAqrC,GAAS,OAAIA,IAAcplD,EAAKlI,QAIpFmiO,EAAc,SAACC,GAAe,IAC1B9jO,GAAU8jO,GAAc,IAAxB9jO,MAER,OAAI2jO,EACKxlO,EAAAC,EAAAC,cAACuyK,EAASkzD,GAGZ9jO,GAmBT,OACE7B,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CACEpkB,mBAAoBlQ,IAAOuO,KAC3BjM,UAAW+lO,GAAkBroO,IAAOywG,wBAEnCh9E,GACC3wB,EAAAC,EAAAC,cAACk2J,EAAA,EAAD,CACE7yJ,GAAIA,EACJiiB,OAAQA,EACR4G,MAAOA,EACP67E,SAAS,KACT51F,SAAUA,IAGb8Z,IAAIC,EA9Bc,SAAC3gB,GAAS,IAAAm1B,EACan1B,GAAQ,GAAxCm6N,EADmBhlM,EACvBr9B,GAAgB1B,EADO++B,EACP/+B,MAAOjD,EADAgiC,EACAhiC,SACzBomB,EAAYygN,EAAoBjgN,IAAWogN,EAAa/zM,IAASrM,EAAQogN,GAE/E,OACE5lO,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACErd,IAAKk+N,EACL9lO,WAAYlB,EACZomB,UAAWA,EACXnjB,MAAO6jO,EAAY,CAAE7jO,QAAOmjB,cAC5BxlB,UAAWgmO,GAAatoO,IAAOwwG,kBAC/Br7F,SAAU9B,EAAa9E,QAwB/BsZ,EAAS9f,aAAe,CACtBwgO,mBAAmB,GAGrB1gN,EAAS5iB,UAAT,GAWe4iB,iTChCA8gN,MAxCf,SAAAtnO,GAO+B,IAN7BgF,EAM6BhF,EAN7BgF,GACAiiB,EAK6BjnB,EAL7BinB,OACA4G,EAI6B7tB,EAJ7B6tB,MACA67E,EAG6B1pG,EAH7B0pG,SACA51F,EAE6B9T,EAF7B8T,SACA7S,EAC6BjB,EAD7BiB,UAEM62J,EAAe9f,IAAOnqH,EAAO,YAC7BpH,EAAYuxB,IAAK/wB,KAAY+wB,IAAK8/G,GAqBxC,OACEr2J,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEC,UAAWA,EACXnjB,MAAM,sBACNwQ,SAvBoB,SAAAvO,GAAyC,IAA5BuhB,EAA4BvhB,EAAtCgC,OAAUuf,QAc7BzjB,EAAQyjB,EAAU8G,IAAIkqI,EAAcpuD,GAAY,GAEtD51F,EAAS9O,EAAI3B,EAAO,CAAEkkO,eAdpBnwL,IAAO0gH,EAAc,SAAC0vE,EAAWp9H,GAC/B,OAAKA,EAAMhsD,SAIXx8C,EAAA,GACK4lO,wHADLt0N,CAAA,GAEGk3F,EAAMhsD,SAASp5C,GAAK8hB,EAAU8G,IAAIw8E,EAAMhsD,SAASr5C,QAAS,SAAW,KAL/DyiO,GAOR,OAaHvmO,UAAWA,wBC5BF+6C,MAff,SAAAh8C,GAA0D,IAA1CsD,EAA0CtD,EAA1CsD,MACRyjO,EADkD/mO,EAAnCymB,UACiB3kB,IAAW,cAAenD,IAAOiiK,OAAS,cAEhF,OACEn/J,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOsD,MACrBR,EAAAC,EAAAC,cAAA,KAAGV,UAAW8lO,KAEhBtlO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2E,OACpBA,2xBCJT,SAASmkO,GAATznO,GAUyC,IATvCgnO,EASuChnO,EATvCgnO,eACAC,EAQuCjnO,EARvCinO,UACA70M,EAOuCpyB,EAPvCoyB,cACAptB,EAMuChF,EANvCgF,GACA6oB,EAKuC7tB,EALvC6tB,MACA5G,EAIuCjnB,EAJvCinB,OACAnT,EAGuC9T,EAHvC8T,SACAozN,EAEuClnO,EAFvCknO,kBACApmF,EACuC9gJ,EADvC8gJ,UAEM4mF,EAAoB,SAAC5gN,EAAkB5Z,GAC3C,UAAMktJ,EAActzI,EAAO,GAAA1d,OAAAu+N,EAAO1gN,GAAP,CAAe/Z,EAAKlI,KAAMi6E,IAAOh4D,EAAQ,SAAAnH,GAAG,OAAIA,IAAQ5S,EAAKlI,KAClF4iO,EAAan+I,IAAIv8E,EAAM,eAU7B4G,EAAS9O,EAAIo1J,EAAa,CAAEmtE,eAPrBK,KAEE,KACJA,IAAa9gN,EAAU8G,IAAI1gB,EAAKkxC,SAASr5C,QAAS,SAAW,mGAHxC,QAUtBiN,EAAe,SAAC9E,GAAD,OACnB,SAAAzH,GAAyC,IAA5BqhB,EAA4BrhB,EAAtC8B,OAAUuf,QACPogN,EACFpzN,EAAS9O,EAAI8hB,EAAU5Z,EAAKlI,GAAK,IAEjC0iO,EAAkB5gN,EAAS5Z,KAK3Bi6N,EAAc,SAACC,GAAyD,IACpE9jO,GAAU8jO,GAAc,IAAxB9jO,MAER,OAAI2jO,EACKxlO,EAAAC,EAAAC,cAACkmO,EAAST,GAGZ9jO,GAqET,OACE7B,EAAAC,EAAAC,cAACsxB,EAAA,EAAD,CACEpkB,mBAAoBi5N,IAAa56N,KACjCjM,UAAW+lO,GAAkBc,IAAa14H,wBAEzCh9E,GAAiBxmB,MAAM6T,QAAQwH,IAC9BxlB,EAAAC,EAAAC,cAAComO,EAAD,CACE/iO,GAAIA,EACJiiB,OAAQA,EACR4G,MAAOA,EACP67E,SAAS,KACT51F,SAAUA,IAGb8Z,IAAIC,EAnCc,SAAC3gB,GAAuB,IAAAy1B,EACSz1B,GAAQ,GAAlDm6N,EADiC1kM,EACrC39B,GAAgB1B,EADqBq/B,EACrBr/B,MAAOjD,EADcsiC,EACdtiC,SAAU+9C,EADIzb,EACJyb,SACnC33B,EAAYygN,EACdjgN,IAAWogN,EACX/zM,IAASrM,EAAQogN,GACfW,EAAevhN,GAAa23B,EAElC,OACE38C,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAKk+N,GACb5lO,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACEjlB,WAAYlB,EACZomB,UAAWA,EACXnjB,MAAO6jO,EAAY,CAAE7jO,QAAOmjB,cAC5BxlB,UAAWgmO,GAAaa,IAAa34H,kBACrCr7F,SAAU9B,EAAa9E,KAExB86N,GAnDgB,SAAC5pL,GACtB,IAAM6pL,EAAgBnnF,GAAaA,EAAU1iG,EAASp5C,IAgBtD,OACEvD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOy/C,UACrB38C,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQ46C,EAAS56C,OACtC46C,EAAShsB,eAAiBxmB,MAAM6T,QAAQwoN,IACvCxmO,EAAAC,EAAAC,cAACk2J,EAAA,EAAD,CACE7yJ,GAAIo5C,EAASp5C,GACbiiB,OAAQghN,EACRp6M,MAAOuwB,EAASr5C,QAChB2kG,SAAS,QACT51F,SAAUA,EACV7S,UAAWtC,IAAOuO,OAGrBkxC,EAASr5C,QAAQ8E,IA3BA,SAAC00C,GACrB,IAdyB2pL,EAAe7kO,EAclCojB,EAAY6M,IAAS20M,EAAe1pL,EAAQl7C,OAElD,OACE5B,EAAAC,EAAAC,cAAC6kB,EAAA,EAAD,CACErd,IAAKo1C,EAAQl7C,MACbojB,UAAWA,EACXnjB,MAAOi7C,EAAQj7C,MACfwQ,UArBqBo0N,EAqBS9pL,EAASp5C,GArBH3B,EAqBOk7C,EAAQl7C,MArBG,SAAAk/B,GAA4B,IAAzBh7B,EAAyBg7B,EAAzBh7B,OACzD4gO,EAAYrnF,GAAaA,EAAUonF,IAAU,GAMnDp0N,EAASo0N,EAAmB3gO,EAAOuf,QAH1B,GAAA1d,OAAAu+N,EAAOQ,GAAP,CAAkB9kO,IAAS47E,IAAOkpJ,EAAW,SAAAC,GAAQ,OAAIA,IAAa/kO,OAkBzEpC,UAAWtC,IAAOuO,UAuCHwzF,CAAetiD,OAwBxCqpL,GAAqB/gO,aAAe,CAClCwgO,mBAAmB,GAGNO,UCtJfllO,EAAAC,EAAAC,EAAA,sBAAA4lO,IAAA9lO,EAAAC,EAAAC,EAAA,sBAAA6lO,IAAA/lO,EAAAC,EAAAC,EAAA,sBAAA8lO,IAAAhmO,EAAAC,EAAAC,EAAA,sBAAA+lO,IAAAjmO,EAAAC,EAAAC,EAAA,sBAAAgmO,ihCC4CeC,IAzCf,SAAA1oO,GAKG,IAJD+M,EAIC/M,EAJD+M,UACA47N,EAGC3oO,EAHD2oO,aACAC,EAEC5oO,EAFD4oO,oBACAnyM,EACCz2B,EADDy2B,oBACC9lB,EAAAC,EACmCC,oBAAS,GAD5C,GACMkgB,EADNpgB,EAAA,GACkBk4N,EADlBl4N,EAAA,GAAA+I,EAAA9I,EAEqCC,oBAAS,GAF9C,GAEMmlK,EAFNt8J,EAAA,GAEmBovN,EAFnBpvN,EAAA,GAGoBqvN,GAAuBJ,GAAgB,IAApDnyM,YAHP9J,EAAA9b,EAImDC,mBAASk4N,GAJ5D,GAIMC,EAJNt8M,EAAA,GAI0Bu8M,EAJ1Bv8M,EAAA,GAyBD,OAJAhb,oBAAU,WACPq3N,IAAuBC,GAAuBC,EAAsBF,IACpE,CAACA,IAEG,CACLh4M,aACAilJ,cACAkzD,iBApBuB,kBAAML,GAAe93M,IAqB5Co4M,kBAvBwB,kBAAML,GAAgB9yD,IAwB9CozD,mBAlByB,WACzB3yM,EAAoBuyM,IACnBj8N,GAAa87N,GAAe93M,GAEzB63M,IACF94N,IAAQk5N,GAAsBJ,IAAwBA,EAAoBI,KAc5E11J,OAAQ01J,EACR34D,mBAtByB,SAAA5qK,GAAA,IAAA24G,EAAA34G,EAAG8B,OAAUlE,GAAb+6G,OAAA,IAAAA,EAAuB,GAAvBA,GAAa/6G,MAAb,OAAgC4lO,EAAsB5lO,oCClBnFd,EAAAC,EAAAC,EAAA,sBAAA4mO,IAAA,IAAAjoN,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAkoN,GAAA/mO,EAAA,GAAAA,EAAA,IAAA84E,EAAA94E,EAAAsI,EAAAy+N,GAAAC,EAAAhnO,EAAA,KAAAinO,GAAAjnO,EAAA,KAAAA,EAAA,KAAAknO,GAAAlnO,EAAA,KAAAA,EAAA,OAAA89D,EAAA99D,EAAA,MAAA+9D,EAAA/9D,EAAAsI,EAAAw1D,GAYe,SAASgpK,EAATrpO,GAAwC,IAAlBqN,EAAkBrN,EAAlBqN,KAAMs7E,EAAY3oF,EAAZ2oF,SAqBzC,OAAOtnE,EAAA3f,EAAAC,cAAC8nO,EAAA,EAAD,CAASnmO,MAAM,WAAWgrK,YApBP,WACxB,OAAIx+J,IAAQzC,KAAUs7E,EAElBtnE,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyhM,UACpB93L,KAML+Y,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyhM,UACrB/+K,EAAA3f,EAAAC,cAAC4nO,EAAA,EAAD,CACE1oL,UAAU,EACV3zC,KAAM,CAAEG,OAAMs7E,YACdiqC,UAAQ,QASlBy2G,EAAWzlO,UAAX,iCCpCArB,EAAAC,EAAAC,EAAA,sBAAAinO,IAAA,IAAAtoN,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAuoN,GAAApnO,EAAA,GAAAA,EAAA,KAAAA,EAAA,KAAAqnO,EAAArnO,EAAA,KAAAsnO,EAAAtnO,EAAA,KAAAunO,EAAAvnO,EAAA,MAAAm3C,EAAAn3C,EAAA,MAAAo3C,EAAAp3C,EAAAsI,EAAA6uC,GAWe,SAASgwL,EAAT1pO,GASZ,IARD2xJ,EAQC3xJ,EARD2xJ,WACAvtD,EAOCpkG,EAPDokG,cACAj8B,EAMCnoE,EANDmoE,aACA4hK,EAKC/pO,EALD+pO,kBACAC,EAIChqO,EAJDgqO,YACA38N,EAGCrN,EAHDqN,KACA81M,EAECnjN,EAFDmjN,iBACAC,EACCpjN,EADDojN,YAGM6mB,EAAiB,kBAAM9mB,EAAiB,CAAC5kI,iBA+B/C,OAAOl9D,EAAA3f,EAAAC,cAACmoO,EAAA,EAAD,CAASxmO,MAAM,UAAUgrK,YA7BV,kBACpBjtJ,EAAA3f,EAAAC,cAAA,WACE0f,EAAA3f,EAAAC,cAACkoO,EAAA,EAAD,CACEppO,KAAK,QACLF,MAAM,YACN+7G,iBAAiB,aACjBzoD,SAAU89F,EACV79F,WAAYqU,EACZwS,SAAUovJ,EACV1tH,SAAUjY,EACVya,QAASmrH,EACT/oO,UAAWtC,IAAO0hM,YAClBzoL,UAAWqyN,IAGb5oN,EAAA3f,EAAAC,cAACioO,EAAA,EAAD,CACE10I,UAAQ,EACRz0F,KAAK,QACLF,MAAM,YACN8M,KAAMA,EACNwmD,SAAU89F,EACV79F,WAAYqU,EACZwS,SAAUovJ,EACV7yN,gBAAiBvY,IAAOo7F,UACxBpa,eAAgByjI,QAQxBsmB,EAAW9lO,UAAX,sVC9CA,SAASsmO,EAATlqO,GAWG,IAVDyoF,EAUCzoF,EAVDyoF,QACAo9C,EASC7lI,EATD6lI,GACAskG,EAQCnqO,EARDmqO,aACAliB,EAOCjoN,EAPDioN,iBACAmiB,EAMCpqO,EANDoqO,aACAl3H,EAKClzG,EALDkzG,MACA/qC,EAICnoE,EAJDmoE,aACAkxD,EAGCr5H,EAHDq5H,cACA8pF,EAECnjN,EAFDmjN,iBACAC,EACCpjN,EADDojN,YACC79M,EACyCkjF,GAAW,GAA7C82G,EADPh6L,EACOg6L,OAAoBhhB,EAD3Bh5K,EACei6L,WADf/5L,EAEkCogI,GAAM,GAAjC3kI,EAFPuE,EAEOvE,UAAWmpO,EAFlB5kO,EAEkB4kO,YAEXrlO,IADWkuG,GAAS,IAApBx/B,QACiB,IAAjB1uE,GAMR,GAJA0M,oBAAU,WACRy4N,EAAahiK,EAAcnjE,IAC1B,KAEE9D,GAAa4O,IAAQ24E,GACxB,OAAOpnE,EAAA3f,EAAAC,cAAC2oO,EAAA,EAAD,CAAahsD,aAAW,IAGjC,IAAMisD,EAAgB3oO,EAAA,GACjB6mF,EADiB,CAEpBzjF,KACAm+M,mBACAC,gBAGF,OACE/hM,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAC6oO,EAAA,EAAD,CAAc38M,MAAOu8M,EAAcxkO,KAAM2kO,IACzClpN,EAAA3f,EAAAC,cAAC8oO,EAAA,EAAD,CACE1iB,kBAAmB7mN,EACnBq+L,OAAQA,EACRhhB,UAAWA,EACXp2G,aAAcA,EACd2uG,iBAAkBuzD,EAClBpiB,iBAAkBA,EAClB5uF,cAAeA,KAMvB6wG,EAAkBtmO,UAAlB,GAoCesmO,4UCrFf,SAASQ,EAAT1qO,GAAqF,IAAtDw8G,EAAsDx8G,EAAtDw8G,QAASt7G,EAA6ClB,EAA7CkB,UAAWypO,EAAkC3qO,EAAlC2qO,UAAW1pO,EAAuBjB,EAAvBiB,UAAWwwK,EAAYzxK,EAAZyxK,SAAYtnJ,EAC9CpJ,cAA7B1K,EAD2E8T,EAC3E9T,YAAaC,EAD8D6T,EAC9D7T,YACfs0N,EAAgB,wCAAAxhO,OAA2CuhO,EAA3C,WAAAvhO,OAClB48E,YAAU,OAAQ,QAAS2kJ,GADT,kBAGtB,OACEtpN,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAACkpO,EAAA,EAADjpO,EAAA,GACM6vK,EADN,CAEExwK,UAAWA,EACXhB,QAASqW,EACTpV,UAAWA,IAJb,SASAmgB,EAAA3f,EAAAC,cAACmpO,EAAA,EAAD,CACE71N,OAAQoB,EACRiB,OAAQhB,EACRe,OAAQmlG,EACRh5G,MAAM,cACNqT,QAAS+zN,EACTxzN,gBAAgB,aAMxBszN,EAAoB9mO,UAApB,GAQe8mO,s3CChCf,IAAMK,EAAuB,mBAE7B,SAASC,EAAThrO,GAiCG,IAhCDirO,EAgCCjrO,EAhCDirO,IACArlO,EA+BC5F,EA/BD4F,KACA+jG,EA8BC3pG,EA9BD2pG,OACA9yF,EA6BC7W,EA7BD6W,QACAq0N,EA4BClrO,EA5BDkrO,WACAC,EA2BCnrO,EA3BDmrO,sBACAC,EA0BCprO,EA1BDorO,aACAC,EAyBCrrO,EAzBDqrO,eACAC,EAwBCtrO,EAxBDsrO,oBACA5U,EAuBC12N,EAvBD02N,qBACA6U,EAsBCvrO,EAtBDurO,oBACAC,EAqBCxrO,EArBDwrO,mBACAC,EAoBCzrO,EApBDyrO,uBACAC,EAmBC1rO,EAnBD0rO,qBACAC,EAkBC3rO,EAlBD2rO,wBACAC,EAiBC5rO,EAjBD4rO,oBACAC,EAgBC7rO,EAhBD6rO,qBACAC,EAeC9rO,EAfD8rO,sBACAC,EAcC/rO,EAdD+rO,sBACAC,EAaChsO,EAbDgsO,yBACAC,EAYCjsO,EAZDisO,yBACAC,EAWClsO,EAXDksO,sBACAC,EAUCnsO,EAVDmsO,2BACAC,EASCpsO,EATDosO,0BACAC,EAQCrsO,EARDqsO,wBACAC,EAOCtsO,EAPDssO,cACAxrB,EAMC9gN,EAND8gN,WACAjtM,EAKC7T,EALD6T,QACA85C,EAIC3tD,EAJD2tD,WACA4+K,EAGCvsO,EAHDusO,sBACAC,EAECxsO,EAFDwsO,uBACAC,EACCzsO,EADDysO,sBAEMC,EAAoB77N,mBAAS6lN,GADlCjxN,EAAAmL,EAEyC06N,GAAuBoB,EAFhE,GAEM/V,EAFNlxN,EAAA,GAEqBknO,EAFrBlnO,EAAA,GAGKiyN,EAAYoU,GAAyBA,EAAsB,CAAEnV,kBAHlEt0L,EAIqCs0L,GAAiB,GAA/CxuK,EAJP9lB,EAIO8lB,YAAayuK,GAJpBv0L,EAIoBu0L,aACNgW,IAAqBzkL,GAAe,IAA3C9kD,MACAlD,IAASkrO,GAAkB,IAA3BlrO,KAEF0sO,GAAmB,CAAEC,sBAAkB37N,EAAW47N,uBAAmB57N,GAR1ER,GAAAC,EAS2BC,mBAASg8N,IATpC,GASMte,GATN59M,GAAA,GAScq8N,GATdr8N,GAAA,GAAA4uF,GAU+CgvH,IAAU,GAAlDue,GAVPvtI,GAUOutI,iBAAkBC,GAVzBxtI,GAUyBwtI,kBAE1Br7N,oBAAU,WACR86N,GAA0BA,EAAuB,CAAErkL,cAAayuK,mBAC/D,CAACgW,GAAkBhW,KAEtBqW,YAAY,aAAcC,sBAAY,WACpC,IAAMC,EAAetnO,IAAQ+mO,IACvBQ,GAAiBD,GAAqC,QAArBP,IAA8B/mO,IAAQ+wN,IACvEyW,EAAezrO,EAAA,GAChB6qO,GAAyBA,EAAsB,CAAEtkL,cAAayuK,kBAD9C,GAEhBuW,GAAgB,CAAEL,kBAAkB,GAFpB,GAGhBM,GAAiB,CAAEL,mBAAmB,IAGtClnO,IAAQwnO,KACXL,GAAUK,GACVpC,EAAIqC,KAAK,UAAU,KAEpB,CAACV,GAAkBhW,MAEtB,IAAM2W,GAA6B,cAATptO,KAAyBi/E,IAAKosJ,EAAoB,CAAC,QAAS,QAAW,CAC/FxiL,iBAAkB0uK,GAAayU,EAC/B5jL,WAAYmvK,EACZpwK,eAAe,GAGjB51C,oBAAU,WACR,IAAKi3H,IAAMguF,EAAe,SAAAmE,GAAQ,OAAIj1N,IAAQi1N,KAAY,CACxD,IAAM0S,EAAiBlB,EAAc,CAAE3V,kBAEvC7V,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUwyN,GACfzyN,KAAKC,UAAU20N,SAKtB,CAAC7W,IAEJ,IAAM8W,GAAiB,SAAAvgO,GAAI,MAAK,CAAEypN,gBAAezpN,SAO3CwgO,GAAqB,SAAAxgO,GAAI,OAAIy/N,EAAiBT,EAAsBuB,GAAevgO,MAEnFygO,IAA4BpC,GAChC9pO,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAO+qG,UACzBjoG,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACE9a,MAAOupO,GACP7nO,QAASymO,EACT93N,YAAa+3N,EACb33N,SAboB,SAAC5G,GACzB2G,EAAQ,oBAAqBm5N,GAA7Bn5N,GACA84N,EAAiBjB,EAAqB+B,GAAevgO,MAYjD2G,QAASA,EAAQ,mBAAoBm5N,IACrC/rO,UAAWa,IAAWgrO,IAAoBnuO,IAAOyU,SACjDoL,YAAY,EACZJ,WAAW,EACXS,aAAW,KAoEX+uN,GA/DyB,WAC7B,GAAI/nO,IAAQ+mO,KAA0C,QAArBA,GAA4B,OAAO,KAEpE,IAAM14N,EAAc,CAClB7Q,MAAOuzN,GACP9iN,SAAU45N,GACV75N,QAASA,EAAQ,oBAAqBm5N,IACtC/rO,UAAWa,IAAWirO,IAAqBpuO,IAAOyU,UAE9Cy6N,EAAiB,CACrBr6N,KAAM,QACN+hF,qBAAsB,QACtBu4I,IAAKpW,EACLthM,cAAewgM,GACfmX,sBAAuB7C,GAAcC,EACrC6C,aAAc9C,GAAcE,EAC5B9iL,SAAUujL,EACVoC,eAAgBlD,EAChBx1M,aAAcy2M,EACdrqC,aAAcsqC,EACdiC,UAAWnC,EACXp+K,aACAwgL,yBAAyB,EACzBh4M,qBAAqB,EACrBy2M,qBAEIwB,EAAa7B,GAAyBA,EAAqB3qO,EAAA,GAC5DsS,EAD4D,GAE5D25N,IAGL,OAAIO,GAGF3sO,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAO0E,OACxBuoO,GACCnqO,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACwc,EAAA,EAADvc,EAAA,GACMsS,EACAm4N,EAFN,CAGEtnO,QAAS6mO,EACT9sN,YAAave,cACbie,YAAY,EACZH,MAAOstN,KAERS,IAIHR,GACAnqO,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACymD,EAAA,EAADxmD,EAAA,GACM2rO,GACAr5N,EACA25N,EACAxB,IAELD,IAMuBiC,GAElC,OACE5sO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4jB,MACrB9gB,EAAAC,EAAAC,cAAA,QAAMqD,GAAG,eAAe6R,GAD1B,IAC2C82N,GAD3C,IACsEC,IAGrEjkI,GACCloG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgrG,QACpBA,IAOXqhI,EAAmBtkO,aAAe,CAChCqlO,sBAAuB,OACvBI,4BAA4B,EAC5BZ,qBAAqB,EACrBI,yBAAyB,GAG3BX,EAAmBpnO,UAAnB,GA4Ce8iF,kBAAgBskJ,gsCCpP/B,SAASsD,EAATtuO,GAiBG,IAhBDirO,EAgBCjrO,EAhBDirO,IACArlO,EAeC5F,EAfD4F,KACAiR,EAcC7W,EAdD6W,QACAw0N,EAaCrrO,EAbDqrO,eACAC,EAYCtrO,EAZDsrO,oBACA5U,EAWC12N,EAXD02N,qBACA6U,EAUCvrO,EAVDurO,oBACAC,EASCxrO,EATDwrO,mBACAC,EAQCzrO,EARDyrO,uBACAC,EAOC1rO,EAPD0rO,qBACAQ,EAMClsO,EANDksO,sBACAI,EAKCtsO,EALDssO,cACAxrB,EAIC9gN,EAJD8gN,WACAjtM,EAGC7T,EAHD6T,QACAuR,EAECplB,EAFDolB,UACAmnN,EACCvsO,EADDusO,sBAEMG,EAAoB77N,mBAAS6lN,GADlCjxN,EAAA8oO,EAEyCjD,GAAuBoB,EAFhE,GAEM/V,EAFNlxN,EAAA,GAEqBknO,EAFrBlnO,EAAA,GAAA48B,EAGqCs0L,GAAiB,GAA/CxuK,EAHP9lB,EAGO8lB,YAAayuK,EAHpBv0L,EAGoBu0L,aACNgW,GAAqBzkL,GAAe,IAA3C9kD,MAEFwpO,EAAmB,CAAEC,sBAAkB37N,EAAW47N,uBAAmB57N,GAN1ER,EAAA49N,EAO2B19N,mBAASg8N,GAPpC,GAOMte,EAPN59M,EAAA,GAOcq8N,EAPdr8N,EAAA,GAAAgyB,EAQ+C4rL,GAAU,GAAlDue,EARPnqM,EAQOmqM,iBAAkBC,EARzBpqM,EAQyBoqM,kBAE1BE,YAAY,aAAcC,sBAAY,WACpC,IAAMC,EAAetnO,IAAQ+mO,GAEvB4B,EAASC,EAAA,GACVtB,GAAgB,CAAEL,kBAAkB,GAD1B,IADQK,GAAqC,QAArBP,GAA8B/mO,IAAQ+wN,IAGvD,CAAEmW,mBAAmB,IAGtClnO,IAAQ2oO,KACXxB,EAAUwB,GACVvD,EAAIqC,KAAK,UAAU,KAEpB,CAACV,EAAkBhW,KAEtBllN,oBAAU,WACR,IAAKi3H,IAAMguF,EAAe,SAAAmE,GAAQ,OAAIj1N,IAAQi1N,KAAY,CACxD,IAAM0S,EAAiBlB,EAAc,CAAE3V,kBAEvC7V,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUwyN,GACfzyN,KAAKC,UAAU20N,SAKtB,CAAC7W,IAGJ,IAAM8W,EAAiB,SAAAvgO,GAAI,MAAK,CAAEypN,gBAAezpN,SAC3CwgO,EAAqB,SAAAnuI,GAAA,IAAal8F,EAAbk8F,EAAGh4F,OAAUlE,MAAb,OAA2BspO,EAAiBT,EAAsBuB,EAAepqO,MA6BtGsqO,GAA4BpC,GAChC9pO,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAO+qG,UACzBjoG,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACE9a,MAAOupO,EACP7nO,QAASymO,EACT93N,YAAa+3N,EACb33N,SAXoB,SAAC5G,GACzB2G,EAAQ,oBAAqBm5N,EAA7Bn5N,GACA84N,EAAiBjB,EAAqB+B,EAAevgO,MAUjD2G,QAASA,EAAQ,mBAAoBm5N,GACrC/rO,UAAWa,IAAWgrO,GAAoBnuO,IAAOyU,SACjDoL,YAAY,EACZJ,WAAW,EACXS,aAAW,KAKX+uN,EA5CyB,WAC7B,GAAI/nO,IAAQ+mO,IAA0C,QAArBA,EAA4B,OAAO,KAEpE,IAAM3oO,EAAQ,CACZZ,MAAOuzN,EACP9iN,SAAU45N,EACV75N,QAASA,EAAQ,oBAAqBm5N,GACtC/rO,UAAWa,IAAWirO,GAAqBpuO,IAAOyU,SAClDjT,KAAMilB,GAEF9d,EAAWmnO,EAAA,GAAQxqO,EAAR,CAAe2oO,qBAIhC,OAFmBL,GAAyBA,EAAsBjlO,IAI9D7F,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,IAAO0E,OACzB5B,EAAAC,EAAAC,cAACkT,EAAA,EAAU5Q,IA2BeoqO,GAElC,OACE5sO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4jB,MACrB9gB,EAAAC,EAAAC,cAAA,QAAMqD,GAAG,eAAe6R,GAD1B,IAC2C82N,EAD3C,IACuEC,IAM7EU,EAAwB5nO,aAAe,CACrCqlO,sBAAuB,OACvBI,4BAA4B,EAC5BZ,qBAAqB,EACrBI,yBAAyB,EACzBvmN,UAAW,QAGbkpN,EAAwB1qO,UAAxB,GAmBe8iF,kBAAgB4nJ,GC/HxB,SAASI,EAAwB1pO,EAAI2pO,GAkB1C,OAjBsBA,EAAejzG,OAAO,SAACs/D,EAAa0N,GAAgB,IAChEh7K,EAAwBg7K,EAAxBh7K,QAASg8B,EAAeg/I,EAAfh/I,WAEXklL,EA5BV,SAA0B5pO,EAAI0oB,GAc5B,OAbmBA,EAAQguG,OAAO,SAACs/D,EAAa6zC,GAAkB,IAG1DC,EAFcD,EAAZ9pO,QAEuBmvB,KAAK,SAAAl0B,GAAA,OAAAA,EAAGgF,KAAgCA,IAOvE,OALK8K,IAAQg/N,KAEX9zC,EADiB8zC,EAATt7N,MAIHwnL,GACN,IAgBsB+zC,CAAiB/pO,EAAI0oB,GACtCshN,EAZV,SAA6BhqO,EAAI0kD,GAI/B,OAH0BA,EAAWx1B,KAAK,SAAA3uB,GAAA,OAAAA,EAAGP,KAAsCA,KAC7C,IAA9BwO,KAUoBy7N,CAAoBjqO,EAAI0kD,GAUlD,OARK55C,IAAQ8+N,KACX5zC,EAAc4zC,GAGX9+N,IAAQk/N,KACXh0C,EAAcg0C,EAAkB36N,eAG3B2mL,GACN,m5CCxCL,IAAMk0C,EAAU,SAACn/M,EAAMo/M,EAAYC,GACjC,IAAMx/H,EAAShkG,MAAM0/K,KAAKv7J,GACnBs/M,EAFuCC,EAE5B1/H,EAAO2/H,OAAOJ,EAAY,GAFE,MAK9C,OAFAv/H,EAAO2/H,OAAOH,EAAU,EAAGC,GAEpBz/H,GAGT,SAAS4/H,EAASC,EAAQ3vJ,GACxB,IAAIuU,EAqCJ,OAHIzoF,MAAM6T,QAAQgwN,GAASp7I,EAhC3B,SAAuBq7I,GACrB,IAAIC,EADsBlyE,GAAA,EAAAC,GAAA,EAAAC,OAAAxsJ,EAAA,IAG1B,QAAAysJ,EAAAC,EAAsB6xE,EAAtB5xE,OAAAC,cAAAN,GAAAG,EAAAC,EAAAG,QAAAC,MAAAR,GAAA,EAA2B,KACnBmyE,EAAkBJ,EADC5xE,EAAAv6J,MACiBy8E,GAC1C,GAAI8vJ,EAAiB,CACnBD,EAAwBC,EACxB,QAPsB,MAAApxE,GAAAd,GAAA,EAAAC,EAAAa,EAAA,YAAAf,GAAA,MAAAI,EAAA,QAAAA,EAAA,oBAAAH,EAAA,MAAAC,GAW1B,OAAOgyE,EAqB6BE,CAAcJ,GACzB,kBAAXA,IAAqBp7I,EAnBrC,SAAwB6iI,GACtB,IAAI4Y,EADuB9vO,EAEAk3N,GAAO,GAA1BlyN,EAFmBhF,EAEnBgF,GAAO+qO,EAFYzuO,EAAAtB,EAAA,QAK3B,GADIgF,IAAO86E,IAAUgwJ,EAAyB5Y,IACzC4Y,GAA0BC,EAC7B,QAAAC,EAAA,EAAAC,EAAkBx9M,OAAOC,KAAKq9M,GAA9BC,EAAAC,EAAAxnO,OAAAunO,IAAwC,CAAnC,IACGE,EAAwBV,EAASO,EAD3BE,EAAAD,IACyClwJ,GACrD,GAAIowJ,EAAuB,CACzBJ,EAAyBI,EACzB,OAKN,OAAOJ,EAIuCK,CAAeV,IAExDW,IAAU/7I,GAGnB,SAASg8I,EAAeZ,EAAQ3vJ,GAC9B,IAAIuU,EA+CJ,OAHIzoF,MAAM6T,QAAQgwN,GAASp7I,EA1C3B,SAAuBq7I,GACrB,IAAIC,EADsBzxE,GAAA,EAAAC,GAAA,EAAAC,OAAAjtJ,EAAA,IAG1B,QAAAktJ,EAAAC,EAAsBoxE,EAAtB5xE,OAAAC,cAAAG,GAAAG,EAAAC,EAAAN,QAAAC,MAAAC,GAAA,EAA2B,KACnB0xE,EAAkBS,EADChyE,EAAAh7J,MACuBy8E,GAChD,GAAI8vJ,EAAiB,CACnBD,EAAwBC,EACxB,QAPsB,MAAApxE,GAAAL,GAAA,EAAAC,EAAAI,EAAA,YAAAN,GAAA,MAAAI,EAAA,QAAAA,EAAA,oBAAAH,EAAA,MAAAC,GAW1B,OAAOuxE,EA+B6BE,CAAcJ,GACzB,kBAAXA,IAAqBp7I,EA7BrC,SAAwB6iI,GACtB,IAAI4Y,EAEJ,GAAI5Y,EACF,QAAAoZ,EAAA,EAAAC,EAAkB99M,OAAOC,KAAKwkM,GAA9BoZ,EAAAC,EAAA9nO,OAAA6nO,IAAoC,CAA/B,IAAMnnO,EAAGonO,EAAAD,GACZ,GAAIlxJ,IAAK83I,EAAK,CAAC,KAAMp3I,IAAY,CAC/BgwJ,EAAyB5Y,EACzB,MAGF,GAAItrN,MAAM6T,QAAQy3M,EAAI/tN,KAAS+tN,EAAI/tN,GAAKi5B,KAAK,SAAAl1B,GAAI,OAAIA,EAAKlI,KAAO86E,IAAW,CAC1EgwJ,EAAyB5Y,EACzB,MAGF,IAAK4Y,EAAwB,CAC3B,IAAMI,EAAwBG,EAAenZ,EAAI/tN,GAAM22E,GACvD,GAAIowJ,EAAuB,CACzBJ,EAAyBI,EACzB,QAMR,OAAOJ,EAIuCK,CAAeV,IAExDW,IAAU/7I,w1FC5FJ,SAASm8I,GAATxwO,GAA6C,IAAnBqX,EAAmBrX,EAAnBqX,OAAWw4F,EAAQ4gI,GAAAzwO,EAAA,YAsB1D,MArBgB,CACd0wO,oBADc,WAEZ,OCNS,SAAA1wO,GAAyE,IAAtC2mG,EAAsC3mG,EAAtC2mG,SAAUiJ,EAA4B5vG,EAA5B4vG,OAAQhqG,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WAClE6vB,EAAgB,CACpB3rO,GAAE,UAAAoE,QAAY,IAAIw6E,MAAOgtJ,WACzBzwO,KAAM,SACN0wO,UAAWjhI,EAAOpyE,aAGdszM,EAAiBtB,EAAS5pO,EAAM+gG,GAChCoqI,EAAiBC,IAAUF,GACjCC,EAAerjN,QAAQ6hN,OAAOwB,EAAerjN,QAAQjlB,OAAQ,EAAGkoO,GAEhE7vB,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUi4N,GACfl4N,KAAKC,UAAUk4N,ODTVE,CAAwBphI,IAEjCqhI,qBAJc,WAKZ,OETS,SAASC,EAATnxO,GAA0E,IAAtC2mG,EAAsC3mG,EAAtC2mG,SAAUiJ,EAA4B5vG,EAA5B4vG,OAAQhqG,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WACnEswB,EAAyB,CAC7BpsO,GAAE,eAAAoE,QAAiB,IAAIw6E,MAAOgtJ,WAC9BzwO,KAAM,gBACN8qD,SAAU,CACR3nD,MAAO,MACPD,MAAO,OAETqqB,QAAS,CAAC,CACR1oB,GAAE,UAAAoE,QAAY,IAAIw6E,MAAOgtJ,WACzBzwO,KAAM,SACN0wO,UAAWjhI,EAAOpyE,eAIhBud,EAAOy0L,EAAS5pO,EAAM+gG,GAf2DphG,EAgB9Dw1C,GAAQ,GAAzB56C,EAhB+EoF,EAgB/EpF,KAAM8P,EAhByE1K,EAgBzE0K,OAEd,GAAa,cAAT9P,EAAsB,CAExB,IAAM4wO,EAAiBC,IAAUj2L,GACjCg2L,EAAerjN,QAAQ6hN,OAAOwB,EAAerjN,QAAQjlB,OAAQ,EAAG2oO,GAEhEtwB,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUkiC,GACfniC,KAAKC,UAAUk4N,WAIhB,KAEG/rO,GAAOiL,GAAU,IAAjBjL,GAER,GAAKA,EAsBHmsO,EAAyB,CAAEvhI,SAAQhqG,OAAMk7M,aAAYn6G,SAAU3hG,QAtBxD,CACP,IAAM+rO,EAAiBC,IAAUj2L,GACjCg2L,EAAe9gO,OAAS,CACtBjL,GAAE,eAAAoE,QAAiB,IAAIw6E,MAAOgtJ,UAA5B,KACFzwO,KAAM,gBACN8qD,SAAU,CACR3nD,MAAO,MACPD,MAAO,OAETqqB,QAAS,CAAC0jN,IAGZtwB,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUkiC,GACfniC,KAAKC,UAAUk4N,SF1CdI,CAAyBthI,IAElCwhI,uBAPc,WAQZ,OGZS,SAAArxO,GAA4E,IAAtC2mG,EAAsC3mG,EAAtC2mG,SAAUiJ,EAA4B5vG,EAA5B4vG,OAAQhqG,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WACrEwwB,EAAc,CAClBtsO,GAAE,aAAAoE,QAAe,IAAIw6E,MAAOgtJ,WAC5BzwO,KAAM,YACNqT,KAAMo8F,EAAOpyE,YACbz4B,QAAS,IAGLwsO,EAAoB/B,EAAS5pO,EAAM+gG,GACnC6qI,EAAoBR,IAAUO,GACpCC,EAAkB9nL,WAAW6lL,OAAOiC,EAAkB9nL,WAAWjhD,OAAQ,EAAG6oO,GAE5ExwB,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAU04N,GACf34N,KAAKC,UAAU24N,OHJVC,CAA2B5hI,IAEpC6hI,wBAVc,WAWZ,OInBS,SAAA1xO,GAAmE,IAA5B4vG,EAA4B5vG,EAA5B4vG,OAAQhqG,EAAoB5F,EAApB4F,MAC5Dk7M,EADgF9gN,EAAd8gN,YACvD,CACTrpF,QAAQk6G,EAAA,GACH/rO,EADE,CAELgkD,UAAU+nL,EAAA,GACL/rO,EAAKgkD,UADD,CAEPF,WAAU,GAAAtgD,OAAAwoO,EACLhsO,EAAKgkD,UAAUF,YADV,CAER,CACE1kD,GAAE,kBAAAoE,QAAoB,IAAIw6E,MAAOgtJ,WACjCzwO,KAAM,mBACN8qD,SAAU,CACR3nD,MAAO,MACPD,MAAO,OAETqmD,WAAY,CACV,CACE1kD,GAAE,aAAAoE,QAAe,IAAIw6E,MAAOgtJ,WAC5BzwO,KAAM,YACNqT,KAAMo8F,EAAOpyE,YACbz4B,QAAS,cJDZ8sO,CAA4BhiI,IAErCiiI,0BAbc,WAcZ,OKlBS,SAAA9xO,GAA+E,IAAtC2mG,EAAsC3mG,EAAtC2mG,SAAUiJ,EAA4B5vG,EAA5B4vG,OAAQhqG,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WACxEywB,EAAoB/B,EAAS5pO,EAAM+gG,GACnC6qI,EAAoBR,IAAUO,GAEpCC,EAAkB9nL,WAAlBzpC,EACKivN,EACDsC,EAAkB9nL,WAClBkmD,EAAO91C,OAAOnxD,MACdinG,EAAO04C,YAAY3/I,QAIvBm4M,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAU04N,GACf34N,KAAKC,UAAU24N,OLEVO,CAA8BliI,IAEvCmiI,uBAhBc,WAiBZ,OMrBS,SAAAhyO,GAA4E,IAAtC2mG,EAAsC3mG,EAAtC2mG,SAAUiJ,EAA4B5vG,EAA5B4vG,OAAQhqG,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WACrEmxB,EAAkBzC,EAAS5pO,EAAM+gG,GACjCurI,EAAkBlB,IAAUiB,GAElCC,EAAgBxkN,QAAhBykN,EACKjD,EACDgD,EAAgBxkN,QAChBkiF,EAAO91C,OAAOnxD,MACdinG,EAAO04C,YAAY3/I,QAIvBm4M,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUo5N,GACfr5N,KAAKC,UAAUq5N,ONKVE,CAA2BviI,KAIvBx4F,IAAY,+iDO8Idg7N,OApKf,SAAAryO,GAcG,IAbDirO,EAaCjrO,EAbDirO,IACArwJ,EAYC56E,EAZD46E,QACA03J,EAWCtyO,EAXDsyO,OACA1sO,EAUC5F,EAVD4F,KACApC,EASCxD,EATDwD,MACAE,EAQC1D,EARD0D,YACA6uO,EAOCvyO,EAPDuyO,WACAzxB,EAMC9gN,EAND8gN,WACA0xB,EAKCxyO,EALDwyO,WACA7D,EAIC3uO,EAJD2uO,eACA8D,EAGCzyO,EAHDyyO,mBACA76N,EAEC5X,EAFD4X,UACA8tC,EACC1lD,EADD0lD,gBACC/0C,EAAA+hO,GAC2B7hO,mBAAS,IADpC,GACM09M,EADN59M,EAAA,GACcq8N,EADdr8N,EAAA,GAAA+I,EAAAg5N,GAEmC7hO,oBAAS,GAF5C,GAEM8hO,EAFNj5N,EAAA,GAEkBk5N,EAFlBl5N,EAAA,GAAAgT,EAAAgmN,GAG+C7hO,oBAAS,GAHxD,GAGMgiO,EAHNnmN,EAAA,GAGwBomN,EAHxBpmN,EAAA,GAAAE,EAAA8lN,GAIqD7hO,oBAAS,GAJ9D,GAIMkiO,EAJNnmN,EAAA,GAI2BomN,EAJ3BpmN,EAAA,GAKKqmN,EAA6B,kBAAMH,GAAoB,IACvDI,EAAgC,kBAAMF,GAAuB,IAkInE,OAhIA/F,YAAY,aAAc,kBAAM2F,GAAc,KAC9C3F,YAAY,SAAU,SAAAznO,GAAK,OAAIwnO,EAAU,SAAA7oM,GAAS,SAAA/6B,OAAA+pO,GAAQhvM,GAAR,CAAmB3+B,QAErEkM,oBAAU,WACJihO,GACFxvM,WAAW,WACT,IAAMrwB,EAA4C,IAAlCy7M,EAAOt+M,OAAO8X,SAAStf,OAEvCmqO,GAAc,GACd5F,EAAU,IAENl6N,GACF0/N,EAAW,CACTxtO,GAAIstO,EACJ76G,QAAS,CAAEj0H,QAAOE,cAAakC,OAAM2sO,cACrC36N,UAAW,SAAC6/G,GACN7/G,EACFA,EAAU6/G,GAEV78C,EAAQ76D,KAAK0yN,OAKpB,MAEJ,CAACE,IAEJjhO,oBAAU,WAIR,OAHA0tC,SAAS/a,iBAAiB,UAAW4uM,GACrC7zL,SAAS/a,iBAAiB,UAAW6uM,GAE9B,WACL9zL,SAAS9a,oBAAoB,UAAW2uM,GACxC7zL,SAAS9a,oBAAoB,UAAW4uM,KAEzC,IA4FI,CACLP,aACAE,mBACAE,sBACAD,sBACAE,yBACAI,gBAhGF,SAAA7tO,GAA0C,IAAfi4B,EAAej4B,EAAfi4B,YAEnB61M,EAAelzM,OAAO07F,YAFYy3G,EAGDl0L,SAASm0L,gBAAxCv4L,EAHgCs4L,EAGhCt4L,aAAc1Z,EAHkBgyM,EAGlBhyM,aACdnhC,GAASqvO,EAASb,EAAgBnxM,IAAgB,IAAlDr9B,KAER66C,IAAiB1Z,EAAe+xM,GAAgBlzM,OAAOC,SAAS,CAAEC,IAAKgzM,EAAe,IACtFlzO,GAAiB,cAATA,GAAwB6yO,GAAuB,GACvD7yO,GAAiB,WAATA,GAAqB2yO,GAAoB,IAyFjD/tM,UAtFF,WAAgC,IAAb6qE,EAAa1+F,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC1B,GAAK0+F,EAAO04C,YAAZ,CAD8B,IAGtB9qH,EAA8CoyE,EAA9CpyE,YAA4BsH,EAAkB8qE,EAAjC04C,YAAexjH,YAM9B4rM,EALoB,yCAKoB8C,KAAK1uM,GAC7CosM,EALqB,0CAKqBsC,KAAK1uM,GAC/CktM,EALuB,yCAKuBwB,KAAK1uM,GACnDusM,EALuB,4CAKuBmC,KAAK1uM,GACnDgtM,EAL0B,4CAK0B0B,KAAK1uM,GACzD4sM,EAA0B5sM,EAAYouE,MAAM,+BAE5C77F,GAASq5N,EAAuB,sBACjCQ,GAAwB,yBACxBc,GAA0B,0BAC1BX,GAA0B,0BAC1BK,GAA2B,2BAC3BI,GAA6B,4BAE5BnrI,EAAW0qI,GAA0BA,EAAuB,IAC7DS,GAA6BA,EAA0B,IACvDpB,GAAuBA,EAAoB,IAC3CQ,GAAwBA,EAAqB,IAC7Cc,GAA0BA,EAAuB,IAGtDyB,EADoC/tL,EAA5B+tL,yBACgBj2M,GAExBgzM,GAAe,CACbn5N,SACAu4F,SACAhqG,OACAk7M,aACAn6G,YALF6pI,KAuDA1mF,SA9CF,SAAkB9kJ,GAChB,IAAI0uO,EACAC,EAEEC,EAAmB,cADRpE,EAAS5pO,EAAMZ,GAAxB7E,KAC+B,aAAe,UAMtD,GAJAuzO,EAAUrD,EAAezqO,EAAMZ,IAC/B2uO,EAAU3C,IAAU0C,IACZE,GAAWD,EAAQC,GAAS3jO,OAAO,SAAA/C,GAAI,OAAIA,EAAKlI,KAAOA,IAE/B,IAA5B2uO,EAAQC,GAASnrO,OAAc,KACrBorO,EAAcH,EAAlB1uO,GACR0uO,EAAUrD,EAAezqO,EAAMiuO,IAC/BF,EAAU3C,IAAU0C,IACZE,GAAWD,EAAQC,GAAS3jO,OAAO,SAAA/C,GAAI,OAAIA,EAAKlI,KAAO6uO,IAG/C,YAAZD,GAAqD,IAA5BD,EAAQC,GAASnrO,SAC5CkrO,EAAU,MAId7yB,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAU66N,GACf96N,KAAKC,UAAU86N,QAqBrBG,SAfF,WACE7I,EAAIqC,KAAK,cAAc,IAevBz5N,QAZc,SAACL,EAAMugO,GAAP,OAAc,kBAAMA,EAAG,SAAA5vM,GAAS,OAAA6vM,GAAA,GAAU7vM,UAAmBhzB,KAAPqC,OAAtB,8YC3JnC,IAAAygO,GAAA,SAACp2M,EAAYq2M,GAAb,OAAA1xN,GAAA,CACbC,OAAQob,GAAc,oBACtB7a,aAAc6a,GAAc,MAC5B0oF,QAAS1oF,GAAc,QACpBq2M,yBCuBU1kN,OApBf,WACE,OACE/tB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAO0qD,OAElBz9C,MAAM,GAAGC,KAAK,GAAGhC,IAAI,SAACiC,EAAGnD,GAAJ,OACnBlH,EAAAC,EAAAC,cAAA,MACEV,UAAWtC,KAAOo2G,UAClB1yF,MAAO8xN,IAAa,GACpBhrO,IAAKR,GAELlH,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBALf,IAKuCQ,EAAAC,EAAAC,cAAC6tB,GAAA,EAAD,mkCCVnD,SAAS4kN,GAATp0O,GAA4D,IAAlCiV,EAAkCjV,EAAlCiV,OAAQzR,EAA0BxD,EAA1BwD,MAAOioF,EAAmBzrF,EAAnByrF,QAASn0E,EAAUtX,EAAVsX,OAChD,OACE7V,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8E,QAASxD,QAASqX,GACvC7V,EAAAC,EAAAC,cAAA,UACG6B,EAAOioF,GAAWhqF,EAAAC,EAAAC,cAACgkC,GAAA,EAAD,CAASliC,QAAShC,EAAAC,EAAAC,cAAA,WAAM8pF,MAE7ChqF,EAAAC,EAAAC,cAAC86C,GAAA,EAAD,CAAOxnC,OAAQA,KAGjBxT,EAAAC,EAAAC,cAAA,YAKNyyO,GAAexwO,UAAf,GAOewwO,+OCtBf,SAASC,GAATr0O,GAMG,IALDgF,EAKChF,EALDgF,GACAwO,EAICxT,EAJDwT,KACA7K,EAGC3I,EAHD2I,MACAtI,EAECL,EAFDK,SAGMi0O,EAAoBtvO,IADzBhF,EADDu0O,kBAEmDhuF,qBAE7CiuF,EACJ/yO,EAAAC,EAAAC,cAAA,MAAIV,UAAWa,IAAWnD,KAAOo2G,UAAWp2G,KAAOs2G,gBACjDxzG,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBADf,IACuCuS,GAInCuhG,EACJtzG,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAW50B,MAAOA,EAAO60B,YAAax4B,EAAIy4B,eAAgBp9B,GACvD,SAACq9B,EAAUC,GACV,IAAM82M,EAAkBC,GAAA,GACnBh3M,EAASI,eADU,GAEnBJ,EAASW,gBAFU,CAGtBx8B,IAAK67B,EAASt8B,SACdH,UAAWa,IAAWnD,KAAOo2G,UAAW10G,GAAY1B,KAAOq2G,mBAC3D3yF,MAAO8xN,GAAax2M,EAASE,WAAYH,EAASI,eAAezb,SAGnE,OACE5gB,EAAAC,EAAAC,cAAA,KAAQ8yO,EACNhzO,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBADf,IACuCuS,KAO/C,OAAI8gO,EACKE,EAGFz/H,EAGTs/H,GAAgBzwO,UAAhB,GAQeywO,+OCpDf,SAAStpN,GAAT/qB,GAAsE,IAAnD20O,EAAmD30O,EAAnD20O,oBAAqB5vO,EAA8B/E,EAA9B+E,QAASwvO,EAAqBv0O,EAArBu0O,kBAC/C,OACE9yO,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,KAAO0qD,OACnBtkD,EAAQ8E,IAAI,SAACwa,EAAQuwN,GAAT,OACXnzO,EAAAC,EAAAC,cAACkzO,GAADC,GAAA,GACMzwN,EADN,CAEElb,IAAG,SAAAC,OAAWib,EAAOrf,GAAlB,KAAAoE,OAAwBwrO,GAC3BjsO,MAAOisO,EACPL,kBAAmBA,OAGtBI,GAKP5pN,GAAQnnB,UAAR,GAMemnB,+OCpBf,SAASgqN,GAAT/0O,GAAiD,IAAxB2I,EAAwB3I,EAAxB2I,MAAOxI,EAAiBH,EAAjBG,KAAM4E,EAAW/E,EAAX+E,QAmBpC,OACEtD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWuH,YAAW,YAAA17B,OAAcT,GAASqsO,gBAAc,EAAC70O,KAAMA,EAAM80O,YApBtD,SAACv3M,EAAUC,EAAUu3M,GAAW,IAC5C1hO,EAASzO,EAAQmwO,EAAOp7K,OAAOnxD,OAA/B6K,KAEFihO,EAAkBU,GAAA,GACnBz3M,EAASI,eADU,GAEnBJ,EAASW,gBAFU,CAGtBx8B,IAAK67B,EAASt8B,SACdH,UAAWtC,KAAOu2G,SAClB7yF,MAAO8xN,GAAax2M,EAASE,WAAYH,EAASI,eAAezb,SAGnE,OACE5gB,EAAAC,EAAAC,cAAA,OAAU8yO,EACRhzO,EAAAC,EAAAC,cAAA,KAAGV,UAAU,sBADf,IACuCuS,KAQpC,SAACkqB,EAAUC,GAAX,OACCl8B,EAAAC,EAAAC,cAAA,MAAAwzO,GAAA,CAAKtzO,IAAK67B,EAASt8B,UAAcs8B,EAASoqH,gBACxCrmJ,EAAAC,EAAAC,cAAC2pB,GAAD,CACEvmB,QAASA,EACT4vO,oBAAqBj3M,EAAShqB,YAC9B6gO,kBAAmB52M,QASjCo3M,GAAcnxO,UAAd,GASemxO,ynBCtCf,SAASK,GAATp1O,GAA4D,IAA5BupD,EAA4BvpD,EAA5BupD,WAA4B8rL,ECP7C,SAAAr1O,GAMZ,IALDqpB,EAKCrpB,EALDqpB,SACA0pN,EAIC/yO,EAJD+yO,oBACAF,EAGC7yO,EAHD6yO,iBACAlE,EAEC3uO,EAFD2uO,eACAplL,EACCvpD,EADDupD,WAEMo8H,EAAUx1H,mBADfx/C,EAAA2kO,GAEqCzkO,mBAAS,GAF9C,GAEM0kO,EAFN5kO,EAAA,GAEmB6kO,EAFnB7kO,EAAA,GAGKw4F,EAAiBznE,aAAgBrY,GACjCiY,EAAeikD,SAAS0F,wBAAsB,IAC9CgyC,EAAe9zB,EAAiB+zB,KAAqB,EACrDr/F,EAAak1M,GAAuBF,EANzCttO,EAO+B2uB,KAAKy6M,EAAgB,SAAAlpO,GAAA,OAAAA,EAAGT,KAAgBukD,KAAe,GAA/EG,EAPPnkD,EAOOmkD,WAAYh8B,EAPnBnoB,EAOmBmoB,QAEd+nN,EADWt4G,aAAc,CAAEt7H,IAAK8jL,EAASrkJ,aAAcA,EAAe27F,MAChCp/F,EAEtC63M,GAAcD,GAA0B,CAC5CpzN,MAAO,CAAEszN,UAAS,cAAAvsO,OAAgBmsO,EAAhB,SAGpB,SAASK,IACP,IAQM1xN,GAR0Bic,OAAO07F,cACrCz8E,SAASm0L,iBACNn0L,SAASvlC,KAAKg8N,YACdz2L,SAASvlC,MACZi8N,WAIoC,IAEtCN,EAAetxN,GAAU,EAAIA,EAAS,GAWxC,OARAxS,oBAAU,WAGR,OAFA0tC,SAAS/a,iBAAiB,SAAUuxM,GAE7B,WACLx2L,SAAS9a,oBAAoB,SAAUsxM,MAIpC,CACLH,yBACAtsI,iBACAz/C,aACAgsL,aACAhoN,UACAi4J,WDlCEowD,CAAwBC,GAAA,GAR8BC,GAAAj2O,EAAA,gBAQ/B,CAAiBupD,gBAN1CksL,EAFwDJ,EAExDI,uBACAtsI,EAHwDksI,EAGxDlsI,eACAz/C,EAJwD2rL,EAIxD3rL,WACAgsL,EALwDL,EAKxDK,WACAhoN,EANwD2nN,EAMxD3nN,QACAi4J,EAPwD0vD,EAOxD1vD,QAGIuwD,EAAmBp0O,IACvBq0O,KAAa7zI,QACbmzI,GAA0BU,KAAahhI,SACvChM,GAAkBgtI,KAAahtI,gBAGjC,OACE1nG,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6E,OACrB/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOsD,MACtBR,EAAAC,EAAAC,cAAA,KAAGV,UAAU,oBAEfQ,EAAAC,EAAAC,cAAA,qCAGFF,EAAAC,EAAAC,cAAA,OAAKE,IAAK8jL,EAAS1kL,UAAWk1O,KAAa3vO,WACzC/E,EAAAC,EAAAC,cAAA,MAAAq0O,GAAA,GAASN,EAAT,CAAqBz0O,UAAWi1O,KAC5B3sL,GACA9nD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+U,aACrBjS,EAAAC,EAAAC,cAAA,OAAKk4B,IAAI,oBAAoBC,IAAI,kBACjCr4B,EAAAC,EAAAC,cAAA,uGAMH4nD,GACC9nD,EAAAC,EAAAC,cAAA,OAAKqD,GAAG,8BAA8B/D,UAAWtC,KAAO8E,SACtDhC,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOsR,QACrBxO,EAAAC,EAAAC,cAAA,wBACAF,EAAAC,EAAAC,cAACy0O,GAAD,CACEj2O,KAAK,sBACLwI,MAAM,aACN5D,QAAS2kD,KAIbjoD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOsR,QACrBxO,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAAC+6C,GAAA,EAAD,CAAWT,YAAam4L,GAAgBnzO,UAAWtC,KAAOgkI,UAAWtkH,OAAK,GACvExU,KAAI6jB,EAAS,SAAAnoB,EAA4CoD,GAA5C,IAAG3D,EAAHO,EAAGP,GAAIwO,EAAPjO,EAAOiO,KAAMi4E,EAAblmF,EAAakmF,QAAS1mF,EAAtBQ,EAAsBR,QAAS7D,EAA/BqE,EAA+BrE,UAA/B,OACZO,EAAAC,EAAAC,cAAC+6C,GAAA,EAAD,CAAevzC,IAAKnE,EAAIm0B,QAASxwB,EAAOnF,MAAOgQ,EAAMi4E,QAASA,EAASx2E,QAAM,GAC1E/T,EACGO,EAAAC,EAAAC,cAAC2/E,GAAD,MAEA7/E,EAAAC,EAAAC,cAACy0O,GAAD,CACEj2O,KAAK,mBACL4E,QAASA,EACT4D,MAAOA,aAenCysO,GAAqBxxO,UAArB,GAIe8iF,mBAAgB0uJ,8oBEtF/B,SAASiB,GAATr2O,GAAuD,IAAjCs2O,EAAiCt2O,EAAjCs2O,gBAAoBj1O,EAAak1O,GAAAv2O,EAAA,qBACrD,OAAKs2O,EAOH70O,EAAAC,EAAAC,cAAC4gG,GAAA,EAADi0I,GAAA,GACMn1O,EADN,CAEEmhG,SAAU,CACR77F,MAAO2vO,MART70O,EAAAC,EAAAC,cAACkT,EAAA,EAAUxT,GAcjBg1O,GAAWzyO,UAAX,GAIeyyO,8mBCrBf,SAASI,GAATz2O,GAAgE,IAAjCs2O,EAAiCt2O,EAAjCs2O,gBAAoBj1O,EAAaq1O,GAAA12O,EAAA,qBAC9D,OAAKs2O,EAOH70O,EAAAC,EAAAC,cAAC4gG,GAAA,EAADo0I,GAAA,GACMt1O,EADN,CAEEmhG,SAAU,CACR77F,MAAO2vO,MART70O,EAAAC,EAAAC,cAACqY,GAAA,EAAa3Y,GAcpBo1O,GAAoB7yO,UAApB,GAIe6yO,UCZA/gM,GAfA,CACblyC,MAAO,CACLgQ,KAAM,QACN+c,KAAM,uFAER7sB,YAAa,CACX8P,KAAM,cACN+c,KAAM,uGAERgiN,WAAY,CACV/+N,KAAM,WACN+c,KAAM,0xCCLV,IAAMqmN,GAAgB,SAACtrO,EAAMgrO,GAAP,OAA6BA,EAE9CzwO,IAAQyF,IAAS0sC,KAAK1sC,GAAQgrO,EAD/BzwO,IAAQyF,IAGNq+M,GACG,sBADHA,GAES,4BA2CAktB,GAxCO,SAAA72O,GAQhB,IAPJ0D,EAOI1D,EAPJ0D,YACAozO,EAMI92O,EANJ82O,2BACAC,EAKI/2O,EALJ+2O,sBACAvzO,EAIIxD,EAJJwD,MACAy+F,EAGIjiG,EAHJiiG,qBACAgpI,EAEIjrO,EAFJirO,IACA+L,EACIh3O,EADJg3O,uBACIrmO,EAAAsmO,GACwBpmO,mBAAS,IADjC,GACG09M,EADH59M,EAAA,GACWq8N,EADXr8N,EAAA,GAAApL,EAEyDgpN,GAAU,GAAxD2oB,EAFX3xO,EAEI/B,MAAgC2zO,EAFpC5xO,EAEuB7B,YAuB3B,OAFAupO,YAAY,aAfK,WACf,IAAMuB,EAAS4I,GAAA,GACTR,GAAcpzO,EAAOy+F,IAAyB,CAAEz+F,MAAOmmN,IAD9C,KALkBotB,GAC9BH,GAAclzO,EAAaozO,IAC1BF,GAAclzO,EAAaozO,IAA+BjxO,IAAQnC,KAKtC,CAAEA,YAAaimN,KAG/C,IAAI9jN,IAAQ2oO,GAAZ,CAEAxB,EAAUwB,GACVvD,EAAIqC,KAAK,UAAU,GAEnB,IAAM+J,EAAaC,KAAQ9I,EAAW,SAAAhpO,GAAK,QAAMA,IACjDwxO,GAA0BO,aAA0BF,MAK/C,CACLH,aACAC,mBACAnK,oCCnCJ,SAASwK,GAATx3O,GAiBG,IAhBDirO,EAgBCjrO,EAhBDirO,IACAznO,EAeCxD,EAfDwD,MACAE,EAcC1D,EAdD0D,YACA6uO,EAaCvyO,EAbDuyO,WACAkF,EAYCz3O,EAZDy3O,YACAC,EAWC13O,EAXD03O,kBACAC,EAUC33O,EAVD23O,iBACA9jO,EASC7T,EATD6T,QACA6hC,EAQC11C,EARD01C,OACAkiM,EAOC53O,EAPD43O,kBACA31I,EAMCjiG,EANDiiG,qBACA60I,EAKC92O,EALD82O,2BACArsJ,EAICzqF,EAJDyqF,cACAssJ,EAGC/2O,EAHD+2O,sBACAc,EAEC73O,EAFD63O,gBACAb,EACCh3O,EADDg3O,uBAEQc,EAAoB/xN,IAAIyuD,YAAxBsjK,gBAEOC,EAA8FC,GAArGx0O,MAAuCy0O,EAA8DD,GAA3Et0O,YAAkDw0O,EAAyBF,GAArCzF,WAHvE4F,EAQGziM,EAHFlyC,MAAO40O,OALR,IAAAD,EAKqBJ,EALrBI,EAAAE,EAQG3iM,EAFFhyC,YAAa40O,OANd,IAAAD,EAMiCJ,EANjCI,EAAAE,EAQG7iM,EADF68L,WAAYiG,OAPb,IAAAD,EAO6BL,EAP7BK,EAAAE,EAcG5B,GAAc,CAChBnzO,cACAozO,6BACAC,wBACAvzO,QACAy+F,uBACAgpI,MACA+L,2BAVAE,EAXDuB,EAWCvB,WACAC,EAZDsB,EAYCtB,iBACAnK,EAbDyL,EAaCzL,UAeF,SAAS7F,EAAY7jO,EAAO+yB,GAAY,IAAA9wB,EACfjC,GAAS,GAAxBkQ,EAD8BjO,EAC9BiO,KAAM+c,EADwBhrB,EACxBgrB,KAEd,OAAIk6D,EAEAhpF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOmlK,cACpBtwJ,EACD/R,EAAAC,EAAAC,cAACgkC,GAAA,EAAD,CAASliC,QAAS8sB,KAMtB9uB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG8L,EACD/R,EAAAC,EAAAC,cAACsnD,GAAA,EAAD,CAAUC,KAAM7yB,IAChB50B,EAAAC,EAAAC,cAAA,SAAI4uB,IAKV,OACE9uB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAO/c,GAAG,aAAagd,QAAQ,QAAQzhB,MAAM,SAC1C4mO,EAAYiR,EAAYP,IAE3Bp2O,EAAAC,EAAAC,cAAC+2O,GAAD,CACE1zO,GAAG,QACHwO,KAAK,QACLnQ,MAAOG,EACPqQ,QAASA,EAAQ,QAASm5N,GAC1Bl5N,SApCY,SAAAhC,GAAK,OAAI2lO,EAAY,CAAEhgH,QAAS3lH,EAAMvK,OAAOlE,SAqCzDyR,UAAWoiO,EACXZ,gBAAiBr0I,IAEnBxgG,EAAAC,EAAAC,cAACmf,GAAA,EAAD,CAAcjK,QAASqgO,KAGzBz1O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAO/c,GAAG,mBAAmBgd,QAAQ,cAAczhB,MAAM,SACtD4mO,EAAYmR,EAAkBvB,IAEjCt1O,EAAAC,EAAAC,cAACg3O,GAAD,CACE3zO,GAAG,cACHwO,KAAK,cACLnQ,MAAOK,EACPmQ,QAASA,EAAQ,cAAem5N,GAChCl5N,SAlDkB,SAAAhC,GAAK,OAAI4lO,EAAkB,CAAEjgH,QAAS3lH,EAAMvK,OAAOlE,SAmDrEyR,UAAWqiO,EACXb,gBAAiBQ,IAEnBr1O,EAAAC,EAAAC,cAACmf,GAAA,EAAD,CAAcjK,QAASsgO,KAGxBW,IAAoBF,GACnBn2O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOguH,WACrBlrH,EAAAC,EAAAC,cAACogB,GAAA,EAAD,CAAO/c,GAAG,gBAAgBgd,QAAQ,WAAWzhB,MAAM,SAChDi4O,EAAchlO,MAEjB/R,EAAAC,EAAAC,cAAC6kB,GAAA,EAAD,CACExhB,GAAG,WACH1B,MAAOk1O,EAAcjoN,KACrB9J,UAAW8rN,EACXz+N,SAAU6jO,MAQtBH,GAAe9wO,aAAe,CAC5BgvC,OAAQsiM,GACRjB,uBAAuB,EACvBc,iBAAiB,EACjBb,wBAAwB,GAG1BQ,GAAe5zO,UAAf,GAmBe8iF,mBAAgB8wJ,kCCxJ/B,SAASoB,GAAkBl2L,GACzB,OAAO,SAACrL,EAAMC,EAAM3uC,GAAb,MAAuB,CAC5B0uC,EACA51C,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAG,GAAAC,OAAKs5C,EAAL,KAAAt5C,OAAkBT,IAA/B,IAA0C+5C,EAA1C,KACApL,IAIJ,SAASuhM,GAAmBC,EAAenwO,GACzC,OAAOlH,EAAAC,EAAAC,cAAA,KAAGwH,IAAG,GAAAC,OAAK0vO,EAAL,KAAA1vO,OAAsBT,IAA5B,IAAuCmwO,EAAczkO,cAArD,KAGT,SAAS0kO,GAAT/4O,GAOG,IANDupD,EAMCvpD,EANDupD,WACAyvL,EAKCh5O,EALDg5O,iBACAC,EAICj5O,EAJDi5O,eACAC,EAGCl5O,EAHDk5O,oBACAvK,EAEC3uO,EAFD2uO,eACAwK,EACCn5O,EADDm5O,YACCC,GACqC7vL,GAAc,IAA9CjmD,MAAO+1O,OADZ,IAAAD,EAC8B,GAD9BA,EA6CD,SAASE,EAAuB1vL,EAAW2vL,GAAY,IAGjDC,EACAC,EAHIz0O,EAAqB4kD,EAArB5kD,GAAIiL,EAAiB25C,EAAjB35C,OAAQuD,EAASo2C,EAATp2C,KAKf1D,IAAQG,KACXwpO,EAhDJ,SAASC,EAAyBC,EAAcJ,GAAY,IAClDv0O,EAA0B20O,EAA1B30O,GAAIimD,EAAsB0uL,EAAtB1uL,SAAUv9B,EAAYisN,EAAZjsN,QACPorN,GAAkB7tL,GAAY,IAArC3nD,MAEFs2O,EAAclsN,EAAQjlB,OAEtBgxO,EAAoB/rN,EAAQguG,OAAO,SAACs/D,EAAa/qL,EAAQtH,GAAU,IAEnEkxO,EADI15O,EAAgB8P,EAAhB9P,KAAMkD,EAAU4M,EAAV5M,MAmBd,MAhBa,WAATlD,EACG2P,IAAQzM,KACXw2O,EAAmBX,EAAoB,CAAEjpO,SAAQtH,QAAOgmO,oBAG1DkL,EAAmBH,EAAyBzpO,EAAQ2pO,GAGjD9pO,IAAQ+pO,KACN/pO,IAAQkrL,IACXA,EAAYj7K,KAAK84N,GAAmBC,EAAenwO,IAGrDqyL,EAAYj7K,KAAK85N,IAGZ7+C,GACN,IAEH,GAAIlrL,IAAQ2pO,GACV,OAAO,KAGT,IAAMK,EAAaP,EAAa,EAChC,OACE93O,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAKnE,GACZ80O,GAAc,IAAKL,EAAmBK,GAAc,KAYnCJ,CAAyBzpO,IAG1CH,IAAQ2pO,KACXD,EAAiB/3O,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,eAAkB6pN,IAGrC,IAAMM,EAAgBrL,EAAwBl7N,EAAMm7N,GAE9CmL,EAAaP,EAAa,EAChC,OACE93O,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAKnE,GACZ80O,GAAc,IAAKT,EADtB,IACwCU,EAAeP,EAAgBM,GAAc,KAiDzF,OA/GAT,EAAkBA,EAAgBhlO,cAgHhC5S,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOusD,sBACrBzpD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwsD,2BAAvB,cApBJ,WACE,GAAIr7C,IAAQupO,GACV,OAAO53O,EAAAC,EAAAC,cAAA,kBAGT,IAAIq4O,EAAwB,KAE5B,IAAKlqO,IAAQkpO,GAAmB,KACfF,EAAkBG,EAAzB31O,MACF22O,EAAiBjB,EAAiBvwO,OAExCuxO,EAAwBhB,EAAiBnvO,IAAI,SAAA+/C,GAAS,OArC1D,SAAqCD,EAAgB4vL,GAAY,IAM3DW,EALIl1O,EAA6B2kD,EAA7B3kD,GAAIimD,EAAyBtB,EAAzBsB,SAAUvB,EAAeC,EAAfD,WACPovL,GAAkB7tL,GAAY,IAArC3nD,MAEF22O,EAAiBvwL,EAAWjhD,OAI7BqH,IAAQ45C,KACXwwL,EAAuBxwL,EAAW7/C,IAAI,SAAA+/C,GAAS,OAAI0vL,EAAuB1vL,EAAWqwL,KAClFv+G,OAAOk9G,GAAkBC,GAAmBC,MAGjD,IAAMgB,EAAaP,EAAa,EAChC,OACE93O,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAKnE,GACZ80O,GAAc,IAAKI,EAAsBJ,GAAc,KAqBAK,CAA4BvwL,EAAWqwL,KAC9Fv+G,OAAOk9G,GAAkBC,GAAmBC,KAGjD,OAAOr3O,EAAAC,EAAAC,cAAA,wBAAeF,EAAAC,EAAAC,cAAA,SAAI03O,GAAnB,OAnBHvpO,IAAQqpO,GAAuB,WAC5BA,EAkBA,OAAkEa,EAAlE,KAQJI,IAKPrB,GAAqBryO,aAAe,CAClC6iD,WAAY,GACZyvL,iBAAkB,GAClBC,eAAgB,GAChBE,YAAa,IAGfJ,GAAqBn1O,UAArB,GASem1O,+OClKR,IAAMsB,GAAeC,GAAA,UACvBC,EADuB,CAE1B92N,kBAAmB,SAAAlB,GAAI,OAAA+3N,GAAA,GAClB/3N,EADkB,CAErBmB,WAAY,EACZC,cAAe,EACfqqB,QAAS,OACTb,WAAY,SACZ7pB,eAAgB,WAChB7e,SAAU,WACVygC,OAAQ,OACRsM,MAAO,OACPtK,KAAM,EACN7G,IAAK,OAIIm6M,GAAuB,SAACzH,EAAqBhrF,EAAgBr+F,GACxE,IAAM+wL,EAAqB/wL,GAAoC,IAAtBA,EAAWjhD,OAEpD,OAAO6xO,GAAA,GACDvH,GAAuB,CAAEtwN,OAAQ,sBADvC,CAEEgC,WAAYsuN,IAAwBhrF,EAAiB,UAAY,WACjE/5G,QAASysM,GAAsB1H,EAAsB,QAAU,OAC/DjwN,UAAW23N,EAAqB,QAAU,UAIjCC,GAAoB,SAAC7H,EAAkB9qF,EAAgBr6H,GAAnC,OAAA4sN,GAAA,GAC3BzH,GAAoB,CAAEpwN,OAAQ,sBADH,CAE/BgC,WAAYouN,IAAqB9qF,EAAiB,UAAY,WAC9D/5G,QAAStgB,GAA8B,IAAnBA,EAAQjlB,QAAgBoqO,EAAmB,QAAU,OACzE/vN,UAAW,UAGA63N,GAAqB,SAAA5yF,GAAc,OAAAuyF,GAAA,GAC1CvyF,GAAkB,CAAEtjI,WAAY,aAGzBm2N,GAAoB,SAAC/8M,EAAYq2M,GAAb,OAAAoG,GAAA,GAC5BpG,IAGQ2G,GAA2B,SAAA9yF,GAAc,OAAAuyF,GAAA,GAChDvyF,GAAkB,CAAEtjI,WAAY,aAGzBq2N,GAA0B,SAACj9M,EAAYq2M,GAAb,OAAAoG,GAAA,GAClCpG,EADkC,GAEjCr2M,GAAc,CAAE0oF,QAAS,4PC1C/B,SAASw0H,GAAT/6O,GAOG,IANDg7O,EAMCh7O,EANDg7O,qBACAC,EAKCj7O,EALDi7O,sBACAlI,EAIC/yO,EAJD+yO,oBACAmI,EAGCl7O,EAHDk7O,kBACAC,EAECn7O,EAFDm7O,gBACAzxL,EACC1pD,EADD0pD,WAEM0xL,EAAgB1xL,EAAWjhD,OAAS,EACpC4yO,EAAkBtI,GAAuBqI,EACzCE,GAAoBL,GAAyBG,EAC7CG,IAAuBP,GAAwBI,GAE/CI,EAAe,GAAApyO,OAAO2pO,EAAuB,OAAW,OAAzC,qBAEf0I,EAAuB,CAAEt7O,KAAM,uBAE/Bu7O,EAA4BC,GAAA,GAC7BF,EAD6B,CAEhC32M,YAAW,8BAAA17B,OAAgC8xO,KAGvCU,EAA6BD,GAAA,GAC9BF,EAD8B,CAEjC32M,YAAa,gCAGf,OACErjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG4zO,GACC75O,EAAAC,EAAAC,cAAC47B,EAAA,EAAcm+M,EACZ,SAACG,EAAmBtH,GAApB,OACC9yO,EAAAC,EAAAC,cAAA,OACEE,IAAKg6O,EAAkBz6O,SACvBH,UAAWtC,KAAOksD,uBAClBxoC,MACEm4N,GACEzH,EACAwB,EAAkBxsF,eAClBr+F,IAIJjoD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+U,aACrBjS,EAAAC,EAAAC,cAAA,YAhCW,mDAkCZk6O,EAAkBnoO,eAM1B6nO,GACC95O,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG2zO,GACC55O,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAOosD,4BACzBtpD,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEzK,YAAY,MACZmL,aAAW,EACXtd,YAAU,KAKhBE,EAAAC,EAAAC,cAAC47B,EAAA,EAAcq+M,EACZ,SAACC,EAAmBtH,GAApB,OACC9yO,EAAAC,EAAAC,cAAA,OACEE,IAAKg6O,EAAkBz6O,SACvBH,UAAWa,IACTnD,KAAOmsD,aACPqwL,GAAmBx8O,KAAOyU,SAE5BiP,MACEm4N,GACEzH,EACAwB,EAAkBxsF,eAClBr+F,IAIJjoD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+U,aACrBjS,EAAAC,EAAAC,cAAA,YAAO65O,IAERK,EAAkBnoO,iBAUnCqnO,GAAcr0O,aAAe,CAC3Bs0O,sBAAsB,EACtBC,uBAAuB,GAGzBF,GAAcn3O,UAAd,GAQem3O,UCpHR,IAAMe,GAAiB,CAC5B,CACEx4O,MAAO,MACPD,MAAO,OAET,CACEC,MAAO,KACPD,MAAO,OCIL04O,GAAuB,CAC3B1yL,MCRa,SAAArpD,GAA8D,IAA/BgF,EAA+BhF,EAA/BgF,GAAI3B,EAA2BrD,EAA3BqD,MAAOuC,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WACvDgwB,EAAiBtB,EAAS5pO,EAAMZ,GAChC+rO,EAAiBC,IAAUF,GACjCC,EAAe9lL,SAAW5nD,EAE1By9M,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUi4N,GACfl4N,KAAKC,UAAUk4N,QDArB7jO,KETa,SAAAlN,GAA6D,IAA/BgF,EAA+BhF,EAA/BgF,GAAI3B,EAA2BrD,EAA3BqD,MAAOuC,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WACtDgwB,EAAiBtB,EAAS5pO,EAAMZ,GAChC+rO,EAAiBC,IAAUF,GACjCC,EAAe9lL,SAAW5nD,EAE1By9M,EAAW,CACTrpF,QAAS7+G,KAAKuwD,MACZvwD,KAAKC,UAAUjT,GAAM4tE,QACnB56D,KAAKC,UAAUi4N,GACfl4N,KAAKC,UAAUk4N,SFGvB,SAASiL,GAATh8O,GAAiE,IAAxCG,EAAwCH,EAAxCG,KAAM6E,EAAkChF,EAAlCgF,GAAIimD,EAA8BjrD,EAA9BirD,SAAUrlD,EAAoB5F,EAApB4F,KAAMk7M,EAAc9gN,EAAd8gN,WAClCm7B,GAAkBhxL,GAAY,IAArC5nD,MASR,OACE5B,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAOssD,UACzBxpD,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACE9a,MAAO44O,EACPl3O,QAAS+2O,GACThoO,SAZuB,SAAA5G,GAAI,OAAI6uO,GAAqB57O,GAAM,CAC9D6E,KACAY,OACAvC,MAAO6J,EACP4zM,gBASIptM,YAAY,WACZ8K,YAAY,EACZJ,WAAW,EACXS,aAAW,KAMnBm9N,GAAcp4O,UAAd,GAQe8iF,mBAAgBs1J,yOGxC/B,SAASE,GAATl8O,GAOG,IANDi7O,EAMCj7O,EANDi7O,sBACAD,EAKCh7O,EALDg7O,qBACAnI,EAIC7yO,EAJD6yO,iBACA98L,EAGC/1C,EAHD+1C,UACA4wD,EAEC3mG,EAFD2mG,SACAj5E,EACC1tB,EADD0tB,QAEMyuN,EAAazuN,GAAWA,EAAQjlB,OAAS,EACzC4yO,EAAkBxI,GAAoBsJ,EACtCb,GAAoBL,GAAyBkB,EAC7CZ,IAAuBP,GAAwBmB,GAG/CX,EAAkBW,EACpB,wCACA,qBAEEV,EAAuB,CAAEt7O,KAAM,oBAE/Bi8O,EAAyBC,GAAA,GAC1BZ,EAD0B,CAE7B32M,YAAW,2BAAA17B,OAA6B2sC,KAGpCumM,EAA0BD,GAAA,GAC3BZ,EAD2B,CAE9B32M,YAAW,4BAAA17B,OAA8Bu9F,KAG3C,OACEllG,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACG0rN,GACC75O,EAAAC,EAAAC,cAAC47B,EAAA,EAAc6+M,EACZ,SAACG,EAA0BC,GAA3B,OACC/6O,EAAAC,EAAAC,cAAA,OACEE,IAAK06O,EAAyBn7O,SAC9BH,UAAWtC,KAAOmsD,aAClBzoC,MACEq4N,GACE7H,EACA2J,EAAyBz0F,eACzBr6H,IAIJjsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+U,aACrBjS,EAAAC,EAAAC,cAAA,YAlCW,2CAoCZ46O,EAAyB7oO,eAMjC6nO,GACC95O,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACGyrN,GACC55O,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAOqsD,yBACzBvpD,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEzK,YAAY,MACZmL,aAAW,EACXtd,YAAU,KAKhBE,EAAAC,EAAAC,cAAC47B,EAAA,EAAc++M,EACZ,SAACG,EAA+BC,GAAhC,OACCj7O,EAAAC,EAAAC,cAAA,OACEE,IAAK46O,EAA8Br7O,SACnCH,UAAWtC,KAAOmsD,aAClBzoC,MACEq4N,GACE7H,EACA6J,EAA8B30F,eAC9Br6H,IAIJjsB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+U,aACrBjS,EAAAC,EAAAC,cAAA,YAAO65O,IAERiB,EAA8B/oO,iBAU/CwoO,GAAoBx1O,aAAe,CACjCs0O,sBAAsB,EACtBC,uBAAuB,GAGzBiB,GAAoBt4O,UAApB,GASes4O,+OCzGf,SAASS,GAAT38O,GASG,IARD48O,EAQC58O,EARD48O,eACA70F,EAOC/nJ,EAPD+nJ,eACA80F,EAMC78O,EAND68O,eACA5D,EAKCj5O,EALDi5O,eACAtyI,EAIC3mG,EAJD2mG,SACA12F,EAGCjQ,EAHDiQ,OACA6sO,EAEC98O,EAFD88O,aACAnO,EACC3uO,EADD2uO,eAEQ3pO,EAAkBiL,EAAlBjL,GACFssO,EAAc9B,EAASb,EADH1+N,EAAd4gO,WAEOkM,GAAoBzL,GAAe,IAA9CznL,UACFmzL,GAA4BH,IAAmB90F,EAE/Ck1F,EAA8B,kBAAMH,EAAa93O,IAEvD,OACEvD,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWC,YAAax4B,EAAI2D,MAAOi0O,GAChC,SAACM,EAAmBC,GAApB,OACC17O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO2rD,0BACrB7oD,EAAAC,EAAAC,cAAA,MAAAy7O,GAAA,GACMF,EAAkBp/M,eADxB,CAEEj8B,IAAKq7O,EAAkB97O,SACvBH,UAAWtC,KAAO4rD,gBAClBloC,MAAOy4N,GACLqC,EAAkBt/M,WAClBq/M,EAAkBp/M,eAAezb,SAGnC5gB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6rD,qBACrB/oD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAO8rD,qBACrBsyL,GACCt7O,EAAAC,EAAAC,cAACo7O,EAAD,CAAiB9sO,OAAQA,EAAQqhO,YAAaA,KAGlD7vO,EAAAC,EAAAC,cAAA,OAAAy7O,GAAA,GAAUF,EAAkB7+M,gBAA5B,CAA6Cp9B,UAAWtC,KAAO+rD,sBAC7DjpD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,uBAEfQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOgsD,sBAAuB1qD,QAASg9O,GACtDx7O,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAIhB+7O,GACCv7O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOisD,yBACrBnpD,EAAAC,EAAAC,cAAC07O,GAAD,CAAel9O,KAAK,OAAO6E,GAAI2hG,EAAU17C,SAAUguL,MAIxDiE,EAAkBxpO,eAO7BipO,GAAgB/4O,UAAhB,GAWe8iF,mBAAgBi2J,ICrE/B,SAASW,GAATt9O,GAUG,IATDu9O,EASCv9O,EATDu9O,UACAV,EAQC78O,EARD68O,eACA90F,EAOC/nJ,EAPD+nJ,eACA8qF,EAMC7yO,EAND6yO,iBACA+J,EAKC58O,EALD48O,eACA3D,EAICj5O,EAJDi5O,eACAtyI,EAGC3mG,EAHD2mG,SACA12F,EAECjQ,EAFDiQ,OACA6sO,EACC98O,EADD88O,aAEQ93O,EAAgCiL,EAAhCjL,GAAI7E,EAA4B8P,EAA5B9P,KAAM8qD,EAAsBh7C,EAAtBg7C,SAAUv9B,EAAYzd,EAAZyd,QAE5B,GAAa,kBAATvtB,EAA0B,CAC5B,IAAM68O,GAA4BH,IAAmB90F,EAErD,OACEtmJ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWuH,YAAW,2BAAA17B,OAA6BpE,GAAM7E,KAAM6E,GAC5D,SAAC62O,EAAmBtH,GAApB,OACC9yO,EAAAC,EAAAC,cAAA,OACEE,IAAKg6O,EAAkBz6O,SACvBihB,MAAOw4N,GAAyBtG,EAAkBxsF,iBAElDtmJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwrD,uBACpBz8B,EAAQ7jB,IAAI,SAAC2zO,EAAY70O,GAAb,OACXlH,EAAAC,EAAAC,cAAC27O,GAAD,CACEn0O,IAAG,GAAAC,OAAKm0O,EAAL,KAAAn0O,OAAkBT,GACrB40O,UAAS,GAAAn0O,OAAKm0O,EAAL,KAAAn0O,OAAkBT,GAC3Bk0O,eAAgBnvN,EAAQjlB,OAAS,IAAME,EACvCo/I,eAAgBwsF,EAAkBxsF,eAClC8qF,iBAAkBA,EAClB+J,eAAgBj0O,EAChBswO,eAAgBhuL,EAChB07C,SAAU3hG,EACViL,OAAQutO,EACRV,aAAcA,MAIlBr7O,EAAAC,EAAAC,cAAC87O,GAAD,CACEzC,sBAAoB,EACpBnI,iBAAkBA,EAClB98L,UAAW/wC,EACX2hG,SAAUA,EACVj5E,QAASA,IAGVmuN,EAAkBnoO,gBAM1BspO,GACCv7O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOyrD,+BACrB3oD,EAAAC,EAAAC,cAAC07O,GAAD,CAAel9O,KAAK,QAAQ6E,GAAI2hG,EAAU17C,SAAUguL,MAO9D,OACEx3O,EAAAC,EAAAC,cAAC+7O,GAAD,CACEv0O,IAAG,GAAAC,OAAKm0O,EAAL,KAAAn0O,OAAkBpE,GACrB+iJ,eAAgBA,EAChB80F,eAAgBA,EAChBD,eAAgBA,EAChB3D,eAAgBA,EAChBtyI,SAAUA,EACV12F,OAAQA,EACR6sO,aAAcA,IAKpBQ,GAAuB15O,UAAvB,GAee05O,UC/Ff,SAASK,GAAT39O,GAMG,IALD6yO,EAKC7yO,EALD6yO,iBACAoG,EAICj5O,EAJDi5O,eACAtyI,EAGC3mG,EAHD2mG,SACAj5E,EAEC1tB,EAFD0tB,QACAovN,EACC98O,EADD88O,aAEA,OACEr7O,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWuH,YAAW,2BAAA17B,OAA6Bu9F,GAAYxmG,KAAMwmG,GAClE,SAACk1I,EAAmBtH,GAApB,OACC9yO,EAAAC,EAAAC,cAAA,OACEE,IAAKg6O,EAAkBz6O,SACvBihB,MAAOw4N,GAAyBtG,EAAkBxsF,iBAEjDr6H,EAAQ7jB,IAAI,SAACoG,EAAQtH,GAAT,OACXlH,EAAAC,EAAAC,cAACi8O,GAAD,CACEz0O,IAAKR,EACL40O,UAAW50O,EACXk0O,eAAgBnvN,EAAQjlB,OAAS,IAAME,EACvCo/I,eAAgBwsF,EAAkBxsF,eAClC8qF,iBAAkBA,EAClBoG,eAAgBA,EAChB2D,eAAgBj0O,EAChBg+F,SAAUA,EACV12F,OAAQA,EACR6sO,aAAcA,MAIjBjB,EAAkBnoO,eAO7BiqO,GAAiB/5O,UAAjB,GAQe+5O,+OCrCf,SAASE,GAAT79O,GAYG,IAXD+nJ,EAWC/nJ,EAXD+nJ,eACA80F,EAUC78O,EAVD68O,eACA9J,EASC/yO,EATD+yO,oBACAF,EAQC7yO,EARD6yO,iBACA+J,EAOC58O,EAPD48O,eACA3D,EAMCj5O,EANDi5O,eACAtyI,EAKC3mG,EALD2mG,SACA/8C,EAIC5pD,EAJD4pD,UACAk0L,EAGC99O,EAHD89O,gBACAhB,EAEC98O,EAFD88O,aACAnO,EACC3uO,EADD2uO,eACCppO,EACmCqkD,GAAa,GAAzC5kD,EADPO,EACOP,GAAU+0O,EADjBx0O,EACWiO,KADX6uB,GAEkBunB,GAAa,IAAxB35C,QAC8D,GAA9Dyd,EAHP2U,EAGO3U,QAAaqwN,EAHpB17M,EAGgBr9B,GAAwBg5O,EAHxC37M,EAG8B4oB,SACzBgzL,EAAsBvwN,GAAWA,EAAQjlB,OAAS,EAClDy1O,EAAiBD,GAAuBpL,EACxCvB,EAAc9B,EAASb,EAAgBoL,GAC1BoE,GAAuB7M,GAAe,IAAjDznL,UACFmzL,GAA4BH,IAAmB90F,EAE/Cq2F,EAAwB,kBAAMN,EAAgB94O,IAE9Cq5O,EAAcH,GAClBz8O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO0rD,kBACrB5oD,EAAAC,EAAAC,cAAA,kBAECs8O,GACCx8O,EAAAC,EAAAC,cAAC28O,GAAD,CACEzL,iBAAkBA,EAClBoG,eAAgB+E,EAChBr3I,SAAUo3I,EACVrwN,QAASA,EACTovN,aAAcA,IAIlBr7O,EAAAC,EAAAC,cAAC87O,GAAD,CACExC,uBAAqB,EACrBpI,iBAAkBA,EAClB98L,UAAW/wC,EACX2hG,SAAU3hG,EACV0oB,QAASA,KAKf,OACEjsB,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWC,YAAax4B,EAAI2D,MAAOi0O,GAChC,SAACM,EAAmBC,GAApB,OACC17O,EAAAC,EAAAC,cAAA,MAAA48O,GAAA,GACMrB,EAAkBp/M,eADxB,CAEEj8B,IAAKq7O,EAAkB97O,SACvBH,UAAWa,IACTnD,KAAOirD,UACPmpL,GAAuBp0O,KAAOk/B,YAEhCxb,MAAOu4N,GACLuC,EAAkBt/M,WAClBq/M,EAAkBp/M,eAAezb,SAGnC5gB,EAAAC,EAAAC,cAAA,OACEV,UAAWa,IACTnD,KAAOkrD,UACPq0L,GAAkBv/O,KAAOorD,qBACzBgpL,GAAuBp0O,KAAOmrD,6BAGhCroD,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOqrD,kBACrBm0L,GACC18O,EAAAC,EAAAC,cAACw8O,EAAD,CAAoBv0L,UAAWA,EAAW0nL,YAAaA,KAG3D7vO,EAAAC,EAAAC,cAAA,OAAA48O,GAAA,GAAUrB,EAAkB7+M,gBAA5B,CAA6Cp9B,UAAWtC,KAAOsrD,gBAC7DxoD,EAAAC,EAAAC,cAAA,KAAGV,UAAU,uBAEfQ,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,KAAOurD,gBAAiBjqD,QAASm+O,GAChD38O,EAAAC,EAAAC,cAAA,KAAGV,UAAU,kBAGd+7O,GACCv7O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOisD,yBACrBnpD,EAAAC,EAAAC,cAAC07O,GAAD,CAAel9O,KAAK,OAAO6E,GAAI2hG,EAAU17C,SAAUguL,MAKxDoF,EAEAnB,EAAkBxpO,eAO7BmqO,GAAUj6O,UAAV,GAce8iF,mBAAgBm3J,ICpH/B,SAASW,GAATx+O,GAYG,IAXDu9O,EAWCv9O,EAXDu9O,UACAV,EAUC78O,EAVD68O,eACA90F,EASC/nJ,EATD+nJ,eACAgrF,EAQC/yO,EARD+yO,oBACAF,EAOC7yO,EAPD6yO,iBACA+J,EAMC58O,EAND48O,eACA3D,EAKCj5O,EALDi5O,eACAtyI,EAIC3mG,EAJD2mG,SACA/8C,EAGC5pD,EAHD4pD,UACAk0L,EAEC99O,EAFD89O,gBACAhB,EACC98O,EADD88O,aAEQ93O,EAAmC4kD,EAAnC5kD,GAAI7E,EAA+BypD,EAA/BzpD,KAAM8qD,EAAyBrB,EAAzBqB,SAAUvB,EAAeE,EAAfF,WAE5B,GAAa,qBAATvpD,EAA6B,CAC/B,IAAM68O,GAA4BH,IAAmB90F,EAErD,OACEtmJ,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWuH,YAAW,8BAAA17B,OAAgCpE,GAAM7E,KAAM6E,GAC/D,SAAC62O,EAAmBtH,GAApB,OACC9yO,EAAAC,EAAAC,cAAA,OACEE,IAAKg6O,EAAkBz6O,SACvBihB,MAAOs4N,GAAmBpG,EAAkBxsF,gBAC5C9mJ,UAAWtC,KAAOgrD,gBAElBloD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO+qD,YACpBA,EAAW7/C,IAAI,SAAC40O,EAAe91O,GAAhB,OACdlH,EAAAC,EAAAC,cAAC68O,GAAD,CACEr1O,IAAG,GAAAC,OAAKm0O,EAAL,KAAAn0O,OAAkBT,GACrB40O,UAAS,GAAAn0O,OAAKm0O,EAAL,KAAAn0O,OAAkBT,GAC3Bk0O,eAAgBnzL,EAAWjhD,OAAS,IAAME,EAC1Co/I,eAAgBwsF,EAAkBxsF,eAClCgrF,oBAAqBA,EACrBF,iBAAkBA,EAClB+J,eAAgBj0O,EAChBswO,eAAgBhuL,EAChB07C,SAAU3hG,EACV4kD,UAAW60L,EACXX,gBAAiBA,EACjBhB,aAAcA,MAIlBr7O,EAAAC,EAAAC,cAAC+8O,GAAD,CACE1D,sBAAoB,EACpBjI,oBAAqBA,EACrBmI,kBAAmBl2O,EACnB0kD,WAAYA,IAGbmyL,EAAkBnoO,gBAM1BspO,GACCv7O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOyrD,+BACrB3oD,EAAAC,EAAAC,cAAC07O,GAAD,CAAel9O,KAAK,QAAQ6E,GAAI2hG,EAAU17C,SAAUguL,MAO9D,OACEx3O,EAAAC,EAAAC,cAACg9O,GAAD,CACEx1O,IAAG,GAAAC,OAAKm0O,EAAL,KAAAn0O,OAAkBpE,GACrB+iJ,eAAgBA,EAChB80F,eAAgBA,EAChB9J,oBAAqBA,EACrBF,iBAAkBA,EAClB+J,eAAgBA,EAChB3D,eAAgBA,EAChBtyI,SAAUA,EACV/8C,UAAWA,EACXk0L,gBAAiBA,EACjBhB,aAAcA,IAKpB0B,GAAiB56O,UAAjB,GAiBe46O,UCvGf,SAASI,GAAT5+O,GAQG,IAPD+yO,EAOC/yO,EAPD+yO,oBACAF,EAMC7yO,EAND6yO,iBACAoG,EAKCj5O,EALDi5O,eACAtyI,EAIC3mG,EAJD2mG,SACAj9C,EAGC1pD,EAHD0pD,WACAo0L,EAEC99O,EAFD89O,gBACAhB,EACC98O,EADD88O,aAEA,OACEr7O,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAWuH,YAAW,8BAAA17B,OAAgCu9F,GAAYxmG,KAAMwmG,GACrE,SAACk1I,EAAmBtH,GAApB,OACC9yO,EAAAC,EAAAC,cAAA,OACEE,IAAKg6O,EAAkBz6O,SACvBihB,MAAOs4N,GAAmBpG,EAAkBxsF,gBAC5C9mJ,UAAWtC,KAAO+qD,YAEjBA,EAAW7/C,IAAI,SAAC+/C,EAAWjhD,GAAZ,OACdlH,EAAAC,EAAAC,cAACk9O,GAAD,CACE11O,IAAKR,EACL40O,UAAW50O,EACXk0O,eAAgBnzL,EAAWjhD,OAAS,IAAME,EAC1Co/I,eAAgBwsF,EAAkBxsF,eAClCgrF,oBAAqBA,EACrBF,iBAAkBA,EAClBoG,eAAgBA,EAChB2D,eAAgBj0O,EAChBg+F,SAAUA,EACV/8C,UAAWA,EACXk0L,gBAAiBA,EACjBhB,aAAcA,MAIjBjB,EAAkBnoO,eAO7BkrO,GAAWh7O,UAAX,GAUeg7O,qsCC3Cf,SAASE,GAAT9+O,GAcG,IAbD+yO,EAaC/yO,EAbD+yO,oBACAF,EAYC7yO,EAZD6yO,iBACAhtG,EAWC7lI,EAXD6lI,GACAolG,EAUCjrO,EAVDirO,IACArlO,EASC5F,EATD4F,KACA2jD,EAQCvpD,EARDupD,WACAw1L,EAOC/+O,EAPD++O,iBACAjB,EAMC99O,EAND89O,gBACAhB,EAKC98O,EALD88O,aACAjpO,EAIC7T,EAJD6T,QACA86N,EAGC3uO,EAHD2uO,eACAuK,EAECl5O,EAFDk5O,oBACA11O,EACCxD,EADDwD,MAEQtC,GAAc2kI,GAAM,IAApB3kI,UADPmhC,GAEqBz8B,GAAQ,IAAtBgkD,WAC0E,GAAtEo1L,EAHX38M,EAGOr9B,GAA2Bi6O,EAHlC58M,EAGwB4oB,SAA6BvB,EAHrDrnB,EAGqDqnB,WAChDw1L,EAAcvQ,EAAe9kO,IAAI,SAAA04B,GAAA,IAAGv9B,EAAHu9B,EAAGv9B,GAAH,MAAmB,CAAE1B,MAArBi/B,EAAO/uB,KAA2BnQ,MAAO2B,KAJ/E2L,EAAAwuO,GAKyBtuO,mBAAS,CAAEoE,QAAQ,EAAO4B,aAAS1F,EAAWkG,YAAQlG,IAL/E,GAKM8E,EALNtF,EAAA,GAKayuO,EALbzuO,EAAA,GAMKk8N,EAAmB,CAAEtjL,gBAAYp4C,EAAWu4C,gBAAYv4C,GAN7DuI,EAAAylO,GAO2BtuO,mBAASg8N,GAPpC,GAOMte,EAPN70M,EAAA,GAOcszN,EAPdtzN,EAAA,GAAAipB,EAQoE4rL,GAAU,GAA3D8wB,EARnB18M,EAQO4mB,WAAyC4xL,EARhDx4M,EAQoC+mB,WAE/B41L,EAAWpS,sBAAY,WAC3B,IAAMqS,EAAoBzvO,IAAQy5C,GAC5BilL,EAASgR,GAAA,GACVD,GAAqB,CAAEh2L,YAAY,GADzB,IAERg2L,GAAqBzvO,IAAQ45C,IAAgB,CAAEA,YAAY,IAG7D55C,IAAQ0+N,KACXxB,EAAUwB,GACVvD,EAAIqC,KAAK,UAAU,KAEpB,CAAC/jL,EAAYG,IAEhBujL,YAAY,aAAcqS,GAQ1B,IAWMG,EACJh+O,EAAAC,EAAAC,cAAA,WAASV,UAAWtC,KAAO4qD,YACzB9nD,EAAAC,EAAAC,cAACwc,EAAA,EAAD,CACEnZ,GAAG,aACH3B,MAAOkmD,EACPxkD,QAASm6O,EACTprO,SAjByB,SAAAyrF,GAAsB,IAAnBj8F,EAAmBi8F,EAAnBj8F,MAAOD,EAAYk8F,EAAZl8F,MAC/BmQ,GAAS+1C,GAAcolL,EAAez6M,KAAK,SAAAk9D,GAAC,OAAIA,EAAEpsF,KAAOukD,KAAzD/1C,KACFksO,EAAe,GAAAt2O,OAAMoK,GAAI,QAAApK,OAAYoK,EAAZ,YAAV,QAAApK,OAA2C9F,EAA3C,WACfuT,EAAO,8CAAAzN,OAAiDs2O,EAAjD,qEACProO,EAAS,kBAAM0nO,EAAiB,CAAEtnH,QAASp0H,KAEjDkmD,GAAcG,EAAWjhD,QAAUpF,IAAUkmD,EACzC61L,EAAS,CAAEnqO,QAAQ,EAAM4B,UAASQ,WAClCA,KAUAxD,QAASA,EAAQ,aAAcm5N,GAC/BluN,YAAau7N,GACbp5O,UAAWa,IAAWu9O,GAAmB1gP,KAAO6qD,mBAChD91C,YAAY,aACZnS,WAAYL,EACZsd,YAAY,EACZJ,WAAW,EACXS,aAAW,KAKX8gO,EAAmBT,EAAYhrN,KAAK,SAAAyiD,GAAA,OAAAA,EAAGtzE,QAAsBkmD,IAEnE,OACE9nD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOwB,MAAvB,WACWs/O,EADX,0BAIEl2L,GACA9nD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO8qD,gBAAiBzkD,GAAG,mBAA3C,4DAKDukD,GACC9nD,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACi+O,GAAD,CACE7M,oBAAqBA,EACrBF,iBAAkBA,EAClB+J,eAAgB,EAChB3D,eAAgBgG,EAChBt4I,SAAUq4I,EACVt1L,WAAYA,EACZo0L,gBAAiBA,EACjBhB,aAAcA,IAGhBr7O,EAAAC,EAAAC,cAAC+8O,GAAD,CACEzD,uBAAqB,EACrBlI,oBAAqBA,EACrBoI,gBAAiBA,EACjBzxL,WAAYA,KAKjBwvL,GACCz3O,EAAAC,EAAAC,cAACk+O,GAAD,CACE1G,YAAa31O,EACb+lD,WAAYo2L,EACZ3G,iBAAkBtvL,EAClBuvL,eAAgBgG,EAChB/F,oBAAqBA,EACrBvK,eAAgBA,IAIpBltO,EAAAC,EAAAC,cAACkU,GAAA,EAAD2pO,GAAA,GAAuBvpO,EAAvB,CAA8BqB,OAnFlC,WAA8B,IACpBrC,EAAWgB,EAAXhB,OAERmqO,EAAS,CAAEnqO,QAASA,SAqFxB6pO,GAAYl7O,UAAZ,GAgBe8iF,mBAAgBo4J,8PC3I/B,SAASz/M,GAATr/B,GA0BG,IAzBDkzG,EAyBClzG,EAzBDkzG,MACAt4B,EAwBC56E,EAxBD46E,QACAqyC,EAuBCjtH,EAvBDitH,QACAwqH,EAsBCz3O,EAtBDy3O,YACAC,EAqBC13O,EArBD03O,kBACAC,EAoBC33O,EApBD23O,iBACAoH,EAmBC/+O,EAnBD++O,iBACAj+B,EAkBC9gN,EAlBD8gN,WACA0xB,EAiBCxyO,EAjBDwyO,WACAsN,EAgBC9/O,EAhBD8/O,QACA19F,EAeCpiJ,EAfDoiJ,MACAusF,EAcC3uO,EAdD2uO,eACA8D,EAaCzyO,EAbDyyO,mBACAsN,EAYC//O,EAZD+/O,kBACAzqO,EAWCtV,EAXDsV,SACAsC,EAUC5X,EAVD4X,UACA89B,EASC11C,EATD01C,OACAkiM,EAQC53O,EARD43O,kBACA31I,EAOCjiG,EAPDiiG,qBACA60I,EAMC92O,EAND82O,2BACArsJ,EAKCzqF,EALDyqF,cACAssJ,EAIC/2O,EAJD+2O,sBACAmC,EAGCl5O,EAHDk5O,oBACA1nN,EAECxxB,EAFDwxB,SACAk0B,EACC1lD,EADD0lD,gBAEY4sL,EAAWp/H,EAAMx/B,OAArB1uE,GACA8yO,EAAoB/xN,IAAIyuD,YAAxBsjK,gBACFkI,EAAS,IAAIC,gBAAgBrlK,EAAQ9K,SAASwD,QAAQ6tF,IAAI,WACxD37J,EAAwEynH,EAAxEznH,MAAOI,EAAiEqnH,EAAjErnH,KAAMpC,EAA2DypH,EAA3DzpH,MAAOE,EAAoDupH,EAApDvpH,YAAa6uO,EAAuCtlH,EAAvCslH,WAJxC2N,EAI+EjzH,EAA3B4Y,GAAM3kI,GAJ1Dg/O,OAAA,IAAAA,EAIwE,GAJxEA,GAI0Dh/O,UACrD62B,GAAoBu6M,GAAU0N,IAAWlwO,IAAQlK,GALtDigF,EAM+BjvD,cAAxBvN,EANPw8D,EAMOx8D,SAAUtc,EANjB84E,EAMiB94E,UACZk+N,EAAMkV,cAPXC,EAoBG/N,GAAe,CACjBpH,MACArwJ,UACA03J,SACA1sO,OACApC,QACAE,cACA6uO,aACAzxB,aACA0xB,aACA7D,iBACA8D,qBACA76N,YACA8tC,oBAvBAitL,GAVDyN,EAUCzN,WACAE,GAXDuN,EAWCvN,iBACAE,GAZDqN,EAYCrN,oBACAD,GAbDsN,EAaCtN,oBACAE,GAdDoN,EAcCpN,uBACAI,GAfDgN,EAeChN,gBACAruM,GAhBDq7M,EAgBCr7M,UACA+kH,GAjBDs2F,EAiBCt2F,SACAgqF,GAlBDsM,EAkBCtM,SACAjgO,GAnBDusO,EAmBCvsO,QAiBFnC,oBAAU,WACR,IAAM1M,EAAKstO,GAAU0N,EAGrB,OAFAh7O,GAAM86O,EAAQ,CAAE96O,KAAIq7O,MAAO/N,IAEpBlwF,GACN,IAEH,IAAMk+F,GAAkBx+H,GAAA,GACnBmL,EADmB,CAEtB5jG,WACA0pN,uBACAF,oBACA4E,cACAC,oBACAC,mBACAoH,mBACAj+B,aACAgyB,uBACAE,0BACA8K,gBAAiBh0F,GACjBgzF,aAAchzF,GACd0oF,aACA3+N,WACAo3N,MACA0D,iBACAj5L,SACAkiM,oBACA31I,uBACA60I,6BACArsJ,gBACAssJ,wBACAmC,wBAGF,GAAI1zO,EACF,OAAO/D,EAAAC,EAAAC,cAACi2D,EAAA,EAAD,MAGT,IA4CQd,GA1BFypL,IAAexoN,GACnBt2B,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACG8pB,GACC/vB,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEI,KAAK,QACLI,MAAM,QACNF,SAAUa,GAAayxO,GACvB1yO,QAASuxB,EACTvwB,UAAWtC,KAAOwuH,QALpB,UAWF1rH,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEU,KAAK,QACLQ,UAAWtC,KAAOuuH,OAClB7sH,SAAUa,GAAayxO,GACvB1yO,QA1Be,SAAC6R,GACpB,OAAIwD,EACKA,EAASxD,EAAOgiO,IAGlBA,GAAShiO,KAdZiuO,IAEAzN,IAAWC,GAAcD,GAAWwF,GAAmBvF,EAClD,gBAGF,uBAgFT,OACE9wO,EAAAC,EAAAC,cAAC+kF,EAAA,EAAmB3vD,SAApB,CAA6B1zB,MAAOi9O,IAClC7+O,EAAAC,EAAAC,cAAC47B,EAAA,EAAD,CAAiB61M,gBAAiBA,GAAiBruM,UAAWA,KA7C1D+xB,GAAWr1D,EAAAC,EAAAC,cAAA,OAAKk4B,IAAI,uBAAuBC,IAAI,cAEjD/sB,EAEAtL,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOmuH,KAAM9nH,GAAG,QAC9BvD,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CAAMmI,gBAAiBrX,KAAOmqG,WAAYxhE,YAAai5M,IACpDxoN,GACCt2B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOouH,YAAa/nH,GAAG,WAAvC,eAKA+yB,GACAt2B,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOquH,aACrBvrH,EAAAC,EAAAC,cAAC6+O,GAAD,OAGF/+O,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,KAAOquH,aACrBvrH,EAAAC,EAAAC,cAAC8+O,GAAD,UAOVh/O,EAAAC,EAAAC,cAAC++O,GAAD,OAMJj/O,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,KAAO6H,UAAW7H,KAAOmR,UAClDrO,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CACE95B,MAAM,QACNszD,SAAUA,GACVpzD,YAAY,mDAetB27B,GAAU34B,aAAe,CACvBg/C,gBAAiB,CACf+tL,wBAAyB,eAI7Bp0M,GAAUz7B,UAAV,GA8Bey7B,UC5Pf98B,EAAAC,EAAAC,EAAA,sBAAAk+O,IAAAp+O,EAAAC,EAAAC,EAAA,sBAAAm+O,IAAAr+O,EAAAC,EAAAC,EAAA,sBAAAisO,IAiBemS,IATf,SAA4B58O,GAC1B,OACExC,EAAAC,EAAAC,cAACm/O,EAAA,EAAD,KACEr/O,EAAAC,EAAAC,cAACm/N,GAAc78N,+ECwCNtF,EA/CA+tC,aAAWC,OAAO,CAC/BgB,cAAe,CACbgD,gBAAiBj1B,uBACjBsyB,QAAS,OACT1qB,eAAgB,gBAChB6pB,WAAY,aACZD,cAAe,MACfsE,MAAO,OACPjtB,QAAS,WACTysB,kBAAmB,EACnBC,kBAAmBr2B,qBACnBomN,qBAAsB,EACtBC,oBAAqB,EACrBn+M,UAAW,IAEbi+N,YAAa,CACXx8N,QAAS,cAEXyoB,cAAe,CACbgB,QAAS,OACT1qB,eAAgB,gBAChB4pB,cAAe,MACfC,WAAY,SACZi0L,wBAAyB,EACzBC,uBAAwB,EACxB98M,QAAS,WACTgyB,eAAgB,EAChBD,eAAgB17B,qBAChB42B,MAAO,QAET7tC,KAAM,CACJixC,aAAc,EACdS,YAAa,EACbC,YAAa16B,qBACbwmN,wBAAyB,EACzBC,uBAAwB,EACxBL,qBAAsB,EACtBC,oBAAqB,EACrBhvL,YAAa,SAEfyQ,UAAW,CACTlR,MAAO,OACPtM,OAAQ,EACRyL,gBAAiB/1B,wBCzCrB,SAASomO,EAAThhP,GAOG,IANDs5B,EAMCt5B,EANDs5B,cACAsoM,EAKC5hO,EALD4hO,cACA5gO,EAIChB,EAJDgB,SACAigP,EAGCjhP,EAHDihP,WACAC,EAEClhP,EAFDkhP,WACAn0M,EACC/sC,EADD+sC,KAEA,OACEtrC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,KAAMA,EAAM1qB,MAAO1jB,EAAOgF,OAC5Bs9O,GACAx/O,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,MAAM,EAAO1qB,MAAO1jB,EAAOgvC,eAC9BrU,GAIL73B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOoiP,aACjB//O,IAGDkgP,GACAz/O,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAMa,MAAM,EAAO1qB,MAAO1jB,EAAOquC,eAC9B40L,IAOXof,EAAWp9O,UAAX,GASeo9O,4KCjCA,SAASG,EAATnhP,GAAgG,IAEnGwhD,EAAO1B,EAAOypH,EAAcD,EAFJ9lK,EAA2ExD,EAA3EwD,MAAOH,EAAoErD,EAApEqD,MAAO+9O,EAA6DphP,EAA7DohP,iBAAkBC,EAA2CrhP,EAA3CqhP,cAAepiP,EAA4Be,EAA5Bf,KAAMgB,EAAsBD,EAAtBC,QAASgB,EAAajB,EAAbiB,UAiChG,OACEklE,EAAAzkE,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO2E,MAAOrC,IACtCuC,GAAS2iE,EAAAzkE,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6E,OAAQA,GACzC2iE,EAAAzkE,EAAAC,cAAA,OACEV,UAAWa,IACTnD,IAAO8E,QACP49O,GAAiB1iP,IAAOgyJ,mBArCtBnvG,EAA6C6nH,IAA7C7nH,MAAO1B,EAAsCupH,IAAtCvpH,MAAOypH,EAA+BF,IAA/BE,aAAcD,EAAiBD,IAAjBC,aAEhCzkG,IAAQxhE,GACHiF,IAGL84O,IAAqB5/L,EAChB2kB,EAAAzkE,EAAAC,cAAC2/O,EAAA,EAAD,CAAM/gP,MAAM,UAAUU,UAAWtC,IAAOM,KAAMiI,KAAI,OAAAkC,OAAS/F,IAAWA,GAG3E+9O,IAAqBthM,EAChBqmB,EAAAzkE,EAAAC,cAAC2/O,EAAA,EAAD,CAAM/gP,MAAM,UAAUU,UAAWtC,IAAOM,KAAMiI,KAAI,UAAAkC,OAAY/F,IAAWA,GAG9E+9O,IAAqB73E,GAAgB63E,IAAqB93E,EAE1DnjG,EAAAzkE,EAAAC,cAAC2/O,EAAA,EAAD,CACE/gP,MAAM,UACN4G,WAAYi6O,IAAqB73E,EACjCtoK,UAAWtC,IAAOM,KAClBgB,QAASA,EACTiH,KAAMjI,GAELoE,GAKAA,KAkBX89O,EAAUv9O,UAAV,GAUAu9O,EAAUz6O,aAAe,CACvB26O,eAAe,EACfphP,QAAS,mGCrE6B8K,IAAU6tD,MAAM,CACtD6O,UAAW18D,IAAU8E,OACrBk4D,mBAAoBh9D,IAAU48D,gxCCwGjB45K,MApGf,SAAAvhP,GAOG,IANDgzF,EAMChzF,EANDgzF,gBACAtT,EAKC1/E,EALD0/E,oBACA8hK,EAICxhP,EAJDwhP,oBACAthN,EAGClgC,EAHDkgC,cACAy6C,EAEC36E,EAFD26E,SACA8mK,EACCzhP,EADDyhP,YACCl8O,EAIGi8O,GAAuB,GAFdE,EAFZn8O,EAECkiE,UACoBkZ,EAHrBp7E,EAGCwiE,mBAHD59C,EAKoCpJ,cAA7B1K,EALP8T,EAKO9T,YAAaC,EALpB6T,EAKoB7T,YALpBi9E,EAMgDC,cAAzCtyF,EANPqyF,EAMOryF,UAAWuyF,EANlBF,EAMkBE,YAAaC,EAN/BH,EAM+BG,aAC1BvS,EAAaygE,cAEb+/F,EAAyB/zN,IAAIsS,EAAe,SAAAz6B,GAAA,MAAa,CAAEpC,MAAfoC,EAAGT,MAE/C48O,EAAmB5qM,IAAM0qM,IAAsB1uJ,EACjDtT,EACAgiK,EAEEtiC,GAAuBpoK,IAAM2pC,KAA8BqS,GAE7DrS,EAjBHhwE,EAAAC,EAmBiCC,mBAAS+wO,GAnB1C,GAmBMn6K,EAnBN92D,EAAA,GAmBiB0uM,EAnBjB1uM,EAAA,GAAA+I,EAAA9I,EAoBmDC,mBAASuuM,GApB5D,GAoBMr3I,EApBNruD,EAAA,GAoB0B4lM,EApB1B5lM,EAAA,GAsBDhI,oBAAU,WACR2tM,EAAauiC,GACbtiC,EAAsBF,IACrB/oM,GAAe8qE,EAAWihE,SAC1B,CAAC/rI,IAGJ,IAAMuqE,EAAqBxB,IAAKl/C,EAC9B,SAAAmC,GAGE,OAHoBA,EAAnB+lC,cACuC,IAAhCy5K,cAEeC,MAG3B,SAASC,IACPtuJ,IACAn9E,IAGF,SAAS+qJ,EAAKh+J,GAGZ,OAFAqwF,IAEO+tJ,EAAY,CAAEx6N,OAAQ06N,EAAwBl6K,UAAWpkE,EAAO89E,aAAYxG,aAA5E,QACIonK,GA+Bb,MAAO,CACL7gP,YACAmV,cACAC,cACAsqE,qBACA7Y,qBACA25K,kBAAmBj6K,EACnBl5C,OA/BF,WACE8yI,EAAK55F,IA+BLwZ,aApCF,SAA0B59E,GACxBg+J,EAAKh+J,IAoCL69E,qBA7BF,SAAkCt7E,GAGhC,OAFA8tF,IAEO+tJ,EAAW7/O,EAAA,GAAMgE,EAAN,CAAYqhB,OAAQ06N,EAAwBhnK,cAAvD,QACIonK,IA0BX/gK,kBAnBF,SAAAr+C,GAA6D,IAAAq/M,EAAAr/M,EAA5Bp7B,OAAUuf,GAAkBk7N,OAAA,IAAAA,EAAN,GAAMA,GAAlBl7N,QACzCw4L,EAAsBx4L,IAmBtBm7N,kBAxBF,SAAsB5+O,GACpBg8M,EAAah8M,IAwBb89E,aACA3vD,SAlBF,WACE2vD,EAAWihE,QACX9rI,8lBC/EJ,SAAS4rO,EAATliP,GAeG,IAdDs/E,EAcCt/E,EAdDs/E,YACAj2D,EAaCrpB,EAbDqpB,SACA9oB,EAYCP,EAZDO,MACAiD,EAWCxD,EAXDwD,MACWwxF,EAUVh1F,EAVDkB,UACAgW,EASClX,EATDkX,gBACAuqO,EAQCzhP,EARDyhP,YACAvhN,EAOClgC,EAPDkgC,cACAw/C,EAMC1/E,EAND0/E,oBACAsT,EAKChzF,EALDgzF,gBACAwuJ,EAICxhP,EAJDwhP,oBACAr5K,EAGCnoE,EAHDmoE,aACArU,EAEC9zD,EAFD8zD,WACA6mB,EACC36E,EADD26E,SACCwnK,EAYGZ,EAAa,CACfp5K,eACAs5K,cACAvhN,gBACAw/C,sBACA8hK,sBACAxuJ,kBACArY,aAjBAz5E,EAFDihP,EAECjhP,UACAmV,EAHD8rO,EAGC9rO,YACAC,EAJD6rO,EAIC7rO,YACAorO,EALDS,EAKCT,kBACAO,EANDE,EAMCF,kBACA/gK,EAPDihK,EAOCjhK,qBACAD,EARDkhK,EAQClhK,aACA1yD,EATD4zN,EASC5zN,OACA4yD,EAVDghK,EAUChhK,WAYI3yD,EAAc,CAClBjuB,QACAU,UAAWiW,GAGPkT,EAAUg4N,EAAA,GA3Bf9gP,EAAA6gP,EAAA,+IA2Be,CAEd7iK,cACAj2D,WACAnoB,YACAmV,cACAC,cACAw9C,aACA6mB,WACAlT,UAAWi6K,EACXnzN,SACA0yD,eACAntE,SAAUmuO,EACVvgK,uBAAwBR,EACxBC,eAGF,OACE1/E,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAC5B,EAAA,EAADqiP,EAAA,GACM5zN,EADN,CAEEnuB,SAAUa,GAAa8zF,EACvB/0F,QAASqW,IAER9S,GAEH/B,EAAAC,EAAAC,cAACigF,EAAA,EAAex3D,IAKtB83N,EAAUx7O,aAAe,CACvBnG,MAAO,UACPiD,MAAO,SAGT0+O,EAAUt+O,UAAV,GAiBes+O,wqBCnGf,SAASn2O,EAAT/L,GAMG,IALD8hE,EAKC9hE,EALD8hE,iBACA7tB,EAICj0C,EAJDi0C,UACA5qB,EAGCrpB,EAHDqpB,SACAnoB,EAEClB,EAFDkB,UACGG,EACFC,EAAAtB,EAAA,yDACK4hE,EAAUv4C,EAAuB,GAAZ4qB,EAE3B,OACExyC,EAAAC,EAAAC,cAACoK,EAAA,QAADnK,EAAA,GACMP,EADN,CAEEH,UAAWA,EACX4gE,iBAAkBA,EAClB7tB,UAAW2tB,EACXG,YAAU,EACV91D,aAAW,EACX+0D,kBAAgB,KAKtBj1D,EAAWnI,UAAX,GAOemI,+lBC3Bf,SAASs2O,EAATriP,GASG,IARDw3K,EAQCx3K,EARDw3K,gBACAt2K,EAOClB,EAPDkB,UACA2sB,EAMC7tB,EAND6tB,MACA+sG,EAKC56H,EALD46H,SACA35H,EAICjB,EAJDiB,UACA28H,EAGC59H,EAHD49H,uBACAhjD,EAEC56E,EAFD46E,QACGv5E,EACFihP,EAAAtiP,EAAA,mGACD,OACEyB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACsN,EAADszO,EAAA,CACErhP,UAAWA,GACPs2K,IAGN/1K,EAAAC,EAAAC,cAACyN,EAAA,EAADmzO,EAAA,CACErhP,UAAWA,EACX2sB,MAAOA,EACP+sG,SAAUA,EACV35H,UAAWA,EACX28H,uBAAwBA,EACxBhjD,QAASA,GACLv5E,KAMZghP,EAAQz+O,UAAR,GAiBey+O,mUC7Cf,IAqEehgO,EArED,SAAAS,GAAS,MAAK,CAC1BR,QAAS,SAACC,EAAM+B,GAAP,OAAA1iB,EAAA,GACJ2gB,EADI,CAEPouB,kCACA2E,0BACA3yB,gBAAiB,OACjBG,UAAWA,EAAS,GAAA1Z,OAAM0Z,EAAN,MAAsB47C,oBACtCp6C,EAAM/iB,YAAc,CACtBihP,QAAS,IAPJ,CASPt/N,UAAW,CACTytB,gBAAiBhsB,QACjB89N,cAAe,CACb99N,MAAOgsB,mBAET+xM,YAAa,CACX/9N,MAAOgsB,uBAIbltB,kBAAmB,SAAAlB,GAAI,OAAA3gB,EAAA,GAClB2gB,EADkB,CAErBoC,cACAJ,QAAS,UACTo+N,eAAgB,CACdh+N,cACAJ,QAAS,YAGbV,KAAM,SAAAtB,GAAI,OAAA3gB,EAAA,GACL2gB,IAEL68C,eAAgB,SAAA78C,GAAI,OAAA3gB,EAAA,GACf2gB,EADe,CAElBmB,WAAY,EACZC,cAAe,KAEjB07C,mBAAoB,SAAA98C,GAAI,OAAA3gB,EAAA,GACnB2gB,EADmB,CAEtB2B,OAAQ,SACRysB,gBAAiBmoE,6BAEnBplG,YAAa,SAAA6O,GAAI,OAAA3gB,EAAA,GACZ2gB,EADY,CAEfiB,UAAW,SACX+oB,wBACA5nB,cACA6sB,MAAO,OACPrD,UAAW,SACXjH,KAAM,EACN07M,cAAe,CACb1vM,WAAY,qBAGhB4hC,YAAa,SAAAvyD,GAAI,OAAA3gB,EAAA,GACZ2gB,EADY,CAEfiB,UAAW,SACX+oB,wBACA5nB,cACA6sB,MAAO,OACPrD,UAAW,YAEb9qB,eAAgB,SAAAd,GAAI,OAAA3gB,EAAA,GACf2gB,EADe,CAElBO,UAAW,UACXQ,eAAgB,wnBCjEpB,SAASu/N,EAAT7iP,GAQG,IAPDwD,EAOCxD,EAPDwD,MACAg1B,EAMCx4B,EANDw4B,UACAzzB,EAKC/E,EALD+E,QACA+Z,EAIC9e,EAJD8e,YACAgE,EAGC9iB,EAHD8iB,UACA7hB,EAECjB,EAFDiB,UACGI,EACFC,EAAAtB,EAAA,uEACKO,EAAQue,GAAeoyF,EAAapuF,GACpCpP,EACJjS,EAAAC,EAAAC,cAAA,YACG62B,GAAa/2B,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW02B,EAAW75B,IAAOsD,QACzDR,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6E,OAAQA,IAIpC,OACE/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAW,eAAgBnD,IAAOs6L,eAAgBh4L,IAChEQ,EAAAC,EAAAC,cAACwc,EAAA,EAAD2kO,EAAA,CACEtvO,KAAMhQ,EACNH,MAAO,KACPmb,YAAY,EACZzZ,QAASA,EACT2O,YAAaA,EACbmL,aAAW,EACXC,YAAave,GACTc,KAMZwhP,EAAej/O,UAAf,GAUei/O,+UC5Cf,SAASE,EAAT/iP,GAMG,IAAAgjP,EAAAhjP,EALD6lI,GAAMo9G,EAKLD,EALKC,mBAAoB/hP,EAKzB8hP,EALyB9hP,UAC1Bf,EAICH,EAJDG,KACA8rK,EAGCjsK,EAHDisK,eACAljI,EAEC/oC,EAFD+oC,UACA0tF,EACCz2H,EADDy2H,UAEA,OAAO42E,kBAAQ,WACb,GAAI41C,EACF,OAAO,KAwBT,OACE5hO,EAAA3f,EAAAC,cAACuhP,EAAA,EAAD,CACEhiP,UAAWA,EACX4/B,oBAAqBmiN,EACrBl0L,mBAfuB,kBAAM7tD,GAC/BmgB,EAAA3f,EAAAC,cAACs+D,EAAA,EAAD,CACEx/D,KAAK,QACLF,MAAM,YACNU,UAAWtC,IAAOyB,OAClBC,UAAQ,GAERghB,EAAA3f,EAAAC,cAAA,4BASAisD,OA1BiB,SAAAhhB,GAAI,OAAI6pF,EAAU,CACrCt2H,OACAgjP,YAAY,EACZp6M,YACA0/F,WAAU7mI,EAAA,GACLqqK,EADK,CAERr/H,eAuBH,CAACq2M,EAAoB/hP,EAAW+qK,IAGrC82E,EAAkBn/O,UAAlB,GAWem/O,u/BC/DR,SAASK,EAATpjP,GAGJ,IAAAqjP,EAAArjP,EAFDsjP,yBAEC,IAAAD,EAFmB,GAEnBA,EAAAE,EAAAvjP,EADDwjP,8BACC,IAAAD,EADwB,GACxBA,EACD,OAAOD,EACJz5O,IAAI,SAAAtE,GAAA,IAAAE,EAAAmL,EAAArL,EAAA,GAAEua,EAAFra,EAAA,GAAO0D,EAAP1D,EAAA,SAAiB,CACpBT,GAAImE,EACJ0yM,YAAa/7L,EACbxc,MAAOkgP,EAAuBr6O,oECRpC,IAAAiY,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAKA,SAASilB,EAATzmC,GAAwD,IAAvCgB,EAAuChB,EAAvCgB,SAAUC,EAA6BjB,EAA7BiB,UAAWumF,EAAkBxnF,EAAlBwnF,eACpC,OACEnmE,EAAA3f,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAO6H,UAAWvF,IAC3CogB,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAOe,MAAO8nF,IACvCxmF,IAMTylC,EAAM7iC,UAAN,GAMe6iC,wXCgDAy9F,MA/Df,SAAAlkI,GASG,IARDmxC,EAQCnxC,EARDmxC,aACMu/F,EAOL1wI,EAPD63E,KACA1oD,EAMCnvB,EANDmvB,UACAu2B,EAKC1lD,EALD0lD,gBACAv5B,EAICnsB,EAJDmsB,SACA08G,EAGC7oI,EAHD6oI,WACA46G,EAECzjP,EAFDyjP,iBACAC,EACC1jP,EADD0jP,iBAEM7rK,EAAOssD,cACPrjG,GAAsBhxB,IAAQqf,GAFnC5pB,EAGyCmgD,GAAmB,GAArDi+L,EAHPp+O,EAGOo+O,YAAa3mC,EAHpBz3M,EAGoBy3M,iBAEfzK,EAAyBpjL,GAC1BA,EAAU7d,QAAU,GACpB6d,EAAU7d,UAAY6d,EAAUL,MAsCrC,OAnCApd,oBAAU,WACR,IAAK5B,IAAQ4gI,GAAY,KACTS,EAA2BT,EAAjC74D,KAAmBC,EAAc44D,EAAd54D,UAE3BD,GAAQA,EAAKu5D,YAAY,CAAEt5D,YAAWr/C,OAAQ04G,MAE/C,CAACT,IA6BJ9uI,EAAA,GACKi2E,EADL,CAEE06H,yBACAzxK,qBACAyjG,aA/BF,SAA0B9rG,GACxB,GAAIgrN,EACF,OAAOA,EAAiBhrN,GAFM,IAM1Bq/C,GAAY0sD,GADO3sD,GAAQ,IAAzB2sD,cACuB/rG,GAEzBgsG,EAAcC,YAA2BvzF,EAAc1Y,GAG7D,OAFAkrN,GAAeA,EAAYl/G,EAAa3sD,GAEjC3rD,EAAQvqB,EAAA,GAAMinI,EAAN,CAAkBhxD,KAAMp/C,EAAQq/C,gBAqB/C6sD,aAlBF,SAA0B/3F,GACxB,GAAI82M,EACF,OAAOA,EAAiB92M,GAFI,IAAAg3M,GAKJ/rK,GAAQ,IAA1BgtD,SALsBtiG,QAAA,IAAAqhN,EAKX,GALWA,IAMY,GAAlCnrN,EANsB8J,EAMtB9J,OAAQq/C,EANcv1C,EAMdu1C,UAIhB,OAFAklI,GAAoBA,EAAiBpwK,GAE9BzgB,EAAQvqB,EAAA,GAAMinI,EAAN,CAAkBj8F,OAAMirC,KAAMp/C,EAAQq/C,yQC5CzD,SAAS+rK,EAAT7jP,GAsBG,IArBDgF,EAqBChF,EArBDgF,GACAqkB,EAoBCrpB,EApBDqpB,SACAnoB,EAmBClB,EAnBDkB,UACAsC,EAkBCxD,EAlBDwD,MACAE,EAiBC1D,EAjBD0D,YACAkwB,EAgBC5zB,EAhBD4zB,aACAkmB,EAeC95C,EAfD85C,iBACA3I,EAcCnxC,EAdDmxC,aACAtjB,EAaC7tB,EAbD6tB,MACAgqD,EAYC73E,EAZD63E,KACA1oD,EAWCnvB,EAXDmvB,UACAu2B,EAUC1lD,EAVD0lD,gBACAo+L,EASC9jP,EATD8jP,aACAC,EAQC/jP,EARD+jP,qBACA53N,EAOCnsB,EAPDmsB,SACAkQ,EAMCr8B,EANDq8B,UACAwsG,EAKC7oI,EALD6oI,WACAm7G,EAIChkP,EAJDgkP,YACAC,EAGCjkP,EAHDikP,OACAR,EAECzjP,EAFDyjP,iBACAC,EACC1jP,EADD0jP,iBAEM7lM,EAAc/tC,IAAQ+d,GAU5B,IAAMq2N,EAPAF,IACCl0O,IAAQqf,GACR0uB,EAEE,EAFkBhwB,EAAMplB,QAAU,EADT0mB,EAAUF,YAAc,GAOpDk1N,GAAoBjjP,GACxBO,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOktK,WAAvB,UAA0Cq4E,GAb3Cn+G,EAmCG7B,EAnBe,CACjB/yF,eACAhlB,WACA0rD,OACA1oD,YACAu2B,kBACAmjF,aACAm7G,YAAaE,EACbhjP,YACAuiP,mBACAC,qBAIA5iN,EA9BDilG,EA8BCjlG,mBACAyxK,EA/BDxsE,EA+BCwsE,uBACA1tE,EAhCDkB,EAgCClB,SACAN,EAjCDwB,EAiCCxB,aACAI,EAlCDoB,EAkCCpB,aAGI2B,EAAiBxkI,IACrBnD,IAAO47G,aACPg4F,GAA0B5zM,IAAO67G,aAanC,SAAS4pI,EAAYC,GAAiB,IAAA5+O,EACN4+O,GAAmB,GAEjD,MAAO,CAAEnsN,WAH2BzyB,EAC5BgzB,OAEqBR,cAHOxyB,EACpBqyE,WAKlB,IAAMusK,EAAkBv0O,IAAQm0O,GAAUG,EAAYv/G,GAAYu/G,EAAYH,GAE9E,OACExiP,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACEp0C,GAAIA,EACJxB,MAAOA,EACPE,YAAaA,EACbkwB,aAAcA,EACdkmB,iBAAkBA,EAClBF,iBAAkB14C,GAAa28C,EAC/B7D,WAAYmqM,GAEZ1iP,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOymC,gBACrB3jC,EAAAC,EAAAC,cAACqM,EAAA,EAADs2O,EAAA,GACMD,EADN,CAEEnjP,UAAWA,EACXo6B,qBAAsB47B,IACtB76B,UAAWA,EACX5uB,QAAS0jC,EACT1M,eAAgB6hG,EAChB1gI,KAAMioB,EACNwK,OAAQksG,EACRzqF,iBAAkBA,EAClBhZ,mBAAoBA,EACpBzX,SAAUA,EACVgO,SAAO,IAENvnB,IAAQi0O,GACL5yM,EAAatnC,IA5CzB,SAA4B4uB,EAAQ7yB,GAAM,IAChCuzB,GAAYV,GAAU,IAAtBU,QAER,OAAI2qN,EACKA,EAAarrN,EAAQ7yB,GAGvBnE,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,MAsC5B4qN,GAINtiP,EAAAC,EAAAC,cAACg7J,EAAA,EAAD,CACEtzI,SAAUA,EACVnoB,UAAWA,EACX4/B,mBAAoBA,EACpB3R,UAAWA,EACXw1G,aAAcA,MAOxBk/G,EAAWn9O,aAAe,CACxB21B,UAAW,MAGbwnN,EAAWjgP,UAAX,GAwBeigP,yKC3IAllP,EArBA+tC,aAAWC,OAAO,CAC/BnmC,UAAW,CACT+9O,aAAc,SACd5zM,gBAAiB10B,mBACjB+G,aAAcwhO,KACdx2M,QAAS,OACTd,cAAe,MACfhI,OATgB,GAUhB5hB,eAAgB,SAChB67C,SAAU,SACV3tB,MAZgB,GAahBgB,YAAa,IAEfnkC,MAAO,CACL2U,aAAcwhO,KACd1wM,UAAW,QACX2wM,eAAgB,UAChBjzM,MAnBgB,MCKpB,SAASkwB,EAAT1hE,GAA8B,IAAZ2hE,EAAY3hE,EAAZ2hE,SAChB,OAAI97D,IAAQ87D,GACH,KAIPlgE,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO6H,WAClB/E,EAAAC,EAAAC,cAACuqC,EAAA,MAAD,CAAO7pB,MAAO1jB,EAAO0P,MAAOwrB,IAAK8U,YAAgBgzB,MAKvDD,EAAO99D,UAAP,GAIe89D,4BCyBA/iE,EA3CA+tC,aAAWC,OAAO,CAC/BnmC,UAAW,CACT2mC,WAAY,aACZxoB,MAAOnK,qBACPwzB,QAAS,OACTd,cAAe,MACf0H,aAAc,IAEhB8vM,YAAa,CACXv3M,WAAY,aACZa,QAAS,OACTd,cAAe,SACf5pB,eAAgB,cAElBqhO,WAAY,CACVx3M,WAAY,SACZa,QAAS,OACTd,cAAe,OAEjB2B,UAAW,CACTxB,SAAU,GACVd,WAAY,IACZhpB,aAAc,IAEhB2uC,gBAAiB,CACfvtC,MAAOnK,qBACP6yB,SAAU,EACVd,WAAY,IACZ5oB,cAAe,GAEjBw4K,SAAU,CACRn5K,aAAc,EACduB,QAAS,UACT8oB,SAAU,GAEZu3M,aAAc,CACZj0M,gBAAiBt0B,0BACjBg5B,YAAa,EACb1wB,MAAOnK,qBACP0J,OAAQ,WChCZ,SAAS4T,EAAT93B,GAWG,IAVD+sC,EAUC/sC,EAVD+sC,KACAU,EASCztC,EATDytC,MACAwG,EAQCj0C,EARDi0C,UACA3wC,EAOCtD,EAPDsD,MACAI,EAMC1D,EAND0D,YACAmhP,EAKC7kP,EALD6kP,WACAnlP,EAICM,EAJDN,MACA2N,EAGCrN,EAHDqN,KACAkgI,EAECvtI,EAFDutI,UACAssD,EACC75L,EADD65L,WACCt0L,EACuBs/O,GAAc,GAA9B/4C,EADPvmM,EAAA,MACcujC,EADdvjC,EACcujC,KACTpwB,EAAM+7B,YAAeolJ,GAE3B,OACEp4L,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO6H,UAAWinC,MAAOA,EAAOV,KAAMA,GAChDwgG,GAAa9rI,EAAAC,EAAAC,cAACmjP,EAAD,CAAQnjL,SAAU1tB,IAEhCxyC,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAO+lP,aAClBjjP,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOgmP,YAClBljP,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOkwC,WAAYvrC,GAChC7B,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAWz0I,MAAO1jB,EAAOw9L,SAAU3oJ,WAAYs4J,EAAOr4J,UAAW3K,KAC/DjjC,IAAQnG,IAAU+B,EAAAC,EAAAC,cAAC09J,EAAA,EAAD,CAAKh9I,MAAO1jB,EAAOimP,cAAellP,IAGxD+B,EAAAC,EAAAC,cAACuqC,EAAA,KAAD,CAAM7pB,MAAO1jB,EAAOuzD,iBAAkBxuD,GAEtCjC,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,CAAMzpJ,KAAMA,EAAMqL,IAAKA,EAAKi/B,SAAU2nH,IAAUhyJ,QAMxDwqB,EAAOpxB,aAAe,CACpBqmC,MAAM,EACNU,OAAO,EACPpgC,KAAM,IAGRyqB,EAAOl0B,UAAP,GAgBek0B,QClETitN,EAAYh6O,IAAU6tD,MAAM,CAChC5zD,GAAI+F,IAAUguD,OACdvlD,KAAMzI,IAAU8E,OAChBu2D,MAAOr7D,IAAU8E,OACjBiwC,MAAO/0C,IAAU8E,SAGbkjE,EAAYhoE,IAAU6tD,MAAM,CAChCt1D,MAAOyH,IAAU8E,OACjB1P,KAAM4K,IAAU8E,OAChBxM,MAAO0H,IAAUiuD,QAAQjuD,IAAU6tD,MAAM,CACvCt1D,MAAOyH,IAAU8E,OACjBq5B,MAAOn+B,IAAU8E,OACjBxM,MAAO0H,IAAU8E,OACjBm1O,YAAaj6O,IAAU8E,OACvB7K,GAAI+F,IAAUguD,YAIZksL,EAAcl6O,IAAU6tD,MAAM,CAClCytG,eAAgBt7J,IAAUguD,OAC1ButG,gBAAiBv7J,IAAU8E,OAC3B2D,KAAMzI,IAAU8E,OAChBpP,KAAMsK,IAAUguD,SAGZmsL,EAAmBn6O,IAAU6tD,MAAM,CACvC1vB,MAAOn+B,IAAU8E,OACjBvM,MAAOyH,IAAU8E,OACjBxM,MAAO0H,IAAU8E,SAGbs1O,EAAgBp6O,IAAU6tD,MAAM,CACpC5zD,GAAI+F,IAAUguD,OACdjhD,SAAU/M,IAAU8E,OACpB8xD,SAAU52D,IAAU8E,SAGhBu1O,EAAYr6O,IAAU6tD,MAAM,CAChC5zD,GAAI+F,IAAUguD,OACdssL,SAAUF,EACVG,SAAUH,EACVI,YAAax6O,IAAU8E,OACvBi4D,SAAU/8D,IAAU8E,OACpBqG,OAAQnL,IAAU8E,YAGK9E,IAAU6tD,MAAM,CACvC5zD,GAAI+F,IAAUguD,OAAO1iC,WACrB7yB,MAAOuH,IAAU8E,OAAOwmB,WACxB2uI,aAAcj6J,IAAU8E,OAAOwmB,WAC/BmvN,iBAAkBz6O,IAAU4oE,UAAU,CACpC5oE,IAAU8E,OACV9E,IAAU0kO,SAEZvqE,UAAWn6J,IAAU8E,OACrBu1J,gBAAiBr6J,IAAU8E,OAC3BnM,YAAaqH,IAAU8E,OAAOwmB,WAC9BhpB,KAAMtC,IAAUiuD,QAAQmjI,KACxBh2F,KAAM4+I,EACNjgF,UAAW/5J,IAAU8E,OAAOwmB,WAC5BwkD,MAAO9vE,IAAUiuD,QAAQ+Z,GACzBi0F,oBAAqBj8J,IAAUiuD,QAAQksL,GACvC3+E,SAAUx7J,IAAU8E,OACpB41O,cAAe16O,IAAUguD,OACzBqtG,QAASr7J,IAAUiuD,QAAQisL,GAC3B5kP,SAAU0K,IAAU48D,KACpB+9K,KAAMN,EACNj9K,aAAcp9D,IAAU8E,ggCCxC1B,SAASinJ,EAAT92J,GAUG,IATD2kE,EASC3kE,EATD2kE,OACAr2B,EAQCtuC,EARDsuC,QACAN,EAOChuC,EAPDguC,QACAk+J,EAMClsM,EANDksM,cACA9nG,EAKCpkG,EALDokG,cACA8/D,EAIClkK,EAJDkkK,WACA32B,EAGCvtI,EAHDutI,UACAlgI,EAECrN,EAFDqN,KACAwsL,EACC75L,EADD65L,WAEsB8rD,EAA6C33M,EAA3DsuJ,aAAwCspD,EAAmB53M,EAA5BquJ,QADtC92L,EAEuCo/D,GAAU,GAA1C1wB,EAFP1uC,EAEO0uC,UAAWwhB,EAFlBlwD,EAEkBkwD,MAAOR,EAFzB1vD,EAEyB0vD,UACpBn9C,EAAW4sD,YAAYC,GACtBkhL,EAJNj1O,EAIyBqkD,GAAa,GAJtC,MAKKvxD,EAAcsyE,YAA6B6vK,GAE3ChB,EAAal5C,YAAcl2I,GAEjC,OACEh0D,EAAAC,EAAAC,cAACm1J,EAAA,EAAD,KACEr1J,EAAAC,EAAAC,cAACmkP,EAAA,EAAD,CACE1hJ,cAAeA,EACf91D,QAASA,QAAWn9B,EACpB+yJ,WAAYA,EACZ12H,sBAAoB,GAEpB/rC,EAAAC,EAAAC,cAACkvF,EAAD,CACE58C,UAAWA,EACX3wC,MAAOwU,EACP+sO,WAAYA,EACZnhP,YAAaA,EACb6pI,UAAWA,EACXlgI,KAAMA,EACNwsL,WAAYA,IAEb+rD,GACCnkP,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAWj2D,UAAWA,IACtBxzD,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAcvmD,OAAQA,IACtBljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAkBvmD,OAAQA,IAC1BljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAmBvmD,OAAQA,IAC3BljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAWvmD,OAAQA,IACnBljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAiBvmD,OAAQA,IACzBljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAYvmD,OAAQA,IACpBljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAcvmD,OAAQA,IACtBljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAQvmD,OAAQA,IAChBljE,EAAAC,EAAAC,cAACupH,EAAA,EAAD,CAAiBvmD,OAAQA,KAG5BghL,GAAmBlkP,EAAAC,EAAAC,cAACmkP,EAAA,EAAD,CAAcrwI,MAAOy2F,MAMjDp1C,EAAelzJ,UAAf,GAYekzJ,gLClGY/rJ,IAAU6tD,MAAM,CACzCplD,KAAMzI,IAAU8E,OAChB8xD,SAAU52D,IAAU8E,OACpBiwC,MAAO/0C,IAAU8E,0BCSnB,SAASk2O,EAAT/lP,GAAuF,IAAhEC,EAAgED,EAAhEC,QAASsiI,EAAuDviI,EAAvDuiI,QAASyjH,EAA8ChmP,EAA9CgmP,WAAYC,EAAkCjmP,EAAlCimP,iBAAkB58N,EAAgBrpB,EAAhBqpB,SAAUrkB,EAAMhF,EAANgF,GAC/E,GAAIa,IAAQ08H,GACV,OAAO,KAGT,IAAM2jH,EAAe78N,EAAW48N,EAAmBD,EAE7CG,EADcnuM,IAAKuqF,GACW2jH,EAC9Bp3D,EAAcq3D,EAAgB,EAC9BC,EAAeluM,IAAMqqF,EAAS,EAAG2jH,GACjCG,EAAgBnuM,IAAMqqF,EAAS2jH,GAE/BI,EAAS,SAAA/gP,GAAA,IAAGiO,EAAHjO,EAAGiO,KAAMssC,EAATv6C,EAASu6C,MAAS4iF,EAAlBxxH,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,IAAAA,UAAA,UACbzP,EAAAC,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO8jI,cAAeC,GAAc/jI,IAAO+jI,aACpElvH,EADH,IACUssC,GAAK,IAAA12C,OAAQ02C,EAAR,OA+BjB,OACEr+C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2jI,YAAat9H,GAAIA,GACtCvD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO4jI,SACpB30G,IAAIw4N,EA9BU,SAACxkL,EAAQj5D,GAAU,IAC9B6K,EAAmBouD,EAAnBpuD,KAAMmuD,EAAaC,EAAbD,SAEd,OACElgE,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CAASR,IAAKR,EAAOlF,QAAS6iP,EAAO1kL,GAASnuC,OAAK,GACjDhyB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6jI,aACtB/gI,EAAAC,EAAAC,cAAC+/D,EAAA,EAAD,CACEluD,KAAMA,EACNmuD,SAAUA,EACV1gE,UAAWtC,IAAOijE,OAClB3hE,QAASA,EACTylE,aAAW,SAqBhBopH,GACCrtL,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CAASlG,QAdbhC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAOwN,QAArB,0BACCyhB,IAAIy4N,EAAe,SAACzkL,EAAQj5D,GAAT,OAClBlH,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,CAAUzmB,IAAKR,GAAQ29O,EAAO1kL,GAAQ,OAWInuC,OAAK,GAC7ChyB,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAOe,OAAxB,IACIymP,KAQdJ,EAAYr/O,aAAe,CACzBs/O,WAjEgC,EAkEhCC,iBAjEuC,GAoEzCF,EAAYniP,UAAZ,GASemiP,qCCzFf,IAAA3kO,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAmlO,GAAAhkP,EAAA,GAAAA,EAAA,OAAAikP,GAAAjkP,EAAA,KAAAA,EAAA,KAAAw6F,EAAAx6F,EAAA,MAAAy6F,EAAAz6F,EAAAsI,EAAAkyF,GASA,SAAS0pJ,EAATzmP,GAMG,IALD4wB,EAKC5wB,EALD4wB,WACA6oM,EAICz5N,EAJDy5N,WACAxtD,EAGCjsK,EAHDisK,eACA0S,EAEC3+K,EAFD2+K,qBACAz9K,EACClB,EADDkB,UAEQs1B,GAAgBy1I,GAAkB,IAAlCz1I,YACFgxJ,EAAcxhG,YAAU,SAAU,UAAWyzI,GAEnD,OACEp4M,EAAA3f,EAAAC,cAAC4kP,EAAA,EAAD,CACE17E,eAAgBlsK,IAAO6H,UACvBtF,UAAWA,EACXomL,QAASmyC,EACTjyC,YAAaA,EACbD,eAAgB32J,EAChBy2J,aAAc1I,EACdnoJ,YAAaA,IAKnBiwN,EAAW//O,aAAe,CACxB+yN,WAAY,GAGdgtB,EAAW7iP,UAAX,GAQe6iP,qCC5Cf,IAAArlO,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAslO,GAAAnkP,EAAA,GAAAA,EAAA,KAAAokP,EAAApkP,EAAAsI,EAAA67O,GAAAE,EAAArkP,EAAA,IAAAskP,EAAAtkP,EAAA,KAAAukP,EAAAvkP,EAAA,KAAAwkP,EAAAxkP,EAAA,KAAAs4I,EAAAt4I,EAAA,IAAA89D,EAAA99D,EAAA,MAAA+9D,EAAA/9D,EAAAsI,EAAAw1D,GAYA,SAAS2mL,EAAThnP,GAAoD,IAA5Bm5B,EAA4Bn5B,EAA5Bm5B,QAASjsB,EAAmBlN,EAAnBkN,KAAMhM,EAAalB,EAAbkB,UAC7B8D,EAAmDkI,EAAnDlI,GAAI6uD,EAA+C3mD,EAA/C2mD,SAAUsU,EAAqCj7D,EAArCi7D,aAAcwS,EAAuBztE,EAAvBytE,SAAUl2E,EAAayI,EAAbzI,SACxCqpG,EAAe73E,IAAS,CAC5BugM,IAA6BpW,IAAe50K,cAC5CgrL,IAA6BpW,IAAe70K,YAC5CirL,IAA6BpW,IAAe6mC,6BAC5CzwB,IAA6BpW,IAAe30K,mBAC3C08B,GAEG0mC,EAAoB,SAAAC,GAAW,OAAIC,YAAkB,CACzDC,cAAe/5C,IAAU65C,GAAaxrG,MACtCq3E,cAmBF,OACEt5D,EAAA3f,EAAAC,cAACk5I,EAAA,EAAD,CAAQ1xI,IAAKgwB,EAASA,QAASA,EAASl4B,UAAWtC,IAAO6H,WAjBrC,kBAAMsnG,GAC3BzsF,EAAA3f,EAAAC,cAAColP,EAAA,EAAD,CACEv9O,aAAW,EACX0lG,kBAAmBhuG,EACnBT,KAAK,QACL+1H,gBAAiB/xH,EACjBA,SAAUA,EACVovD,SAAUA,GAAY7uD,EACtB8uD,WAAYqU,EACZlnE,UAAWtC,IAAO8F,SAClBoK,mBAAoBlQ,IAAO8F,SAC3Bs1C,qBAAsBp7C,IAAO8F,SAC7BoqG,kBAAmBA,MASzBm4I,EAAapjP,UAAb,GAMeovH,mBAAKg0H,2LCzCpB,SAASE,EAATlnP,GAA+E,IAA/CC,EAA+CD,EAA/CC,QAASknP,EAAsCnnP,EAAtCmnP,QAASC,EAA6BpnP,EAA7BonP,cAAeC,EAAcrnP,EAAdqnP,WACzDvwL,EAAWr1D,EAAAC,EAAAC,cAAA,OAAKk4B,IAAI,kBAAkBC,IAAI,cAiBhD,OACEr4B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2jG,SACrB7gG,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CACEw5B,SAAUA,EACV71D,UAAWtC,IAAOq4D,iBAClBtzD,YAnBJjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACEjG,EAAAC,EAAAC,cAAA,KAAGV,UAAWtC,IAAO2M,MAClB67O,EAAQE,IAEX5lP,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEE,QAASA,EACTM,MAAM,YACNU,UAAWtC,IAAOitK,uBAEjBw7E,EAAcC,QAgBvBH,EAAqBxgP,aAAe,CAClCygP,QAjCqB,SAAAE,GAAU,cAAAj+O,OAAYwqC,IAAQyzM,GAApB,qDAkC/BD,cAjC2B,SAAAC,GAAU,kBAAAj+O,OAAgBwqC,IAAQyzM,KAkC7DA,WAAY,QAGdH,EAAqBtjP,UAArB,GAOesjP,2BCvCf,SAASz3O,EAATzP,GAUG,IATDqoF,EASCroF,EATDqoF,cACAh7E,EAQCrN,EARDqN,KACAi6O,EAOCtnP,EAPDsnP,aACAtiP,EAMChF,EANDgF,GACAmjE,EAKCnoE,EALDmoE,aACAwS,EAIC36E,EAJD26E,SACA4sK,EAGCvnP,EAHDunP,2BACAC,EAECxnP,EAFDwnP,wBACAC,EACCznP,EADDynP,8BACCt9N,EACoCpJ,cAA7B1K,EADP8T,EACO9T,YAAaC,EADpB6T,EACoB7T,YAEfoxO,EACJjmP,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6rF,QAAxB,IACG/oF,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO2E,OAAxB,QADH,KAIIqkP,EACJlmP,EAAAC,EAAAC,cAACmzF,EAAA,EAAD,CACE59E,gBAAiBvY,IAAOi7E,WACxBt2E,MAAOokP,EACPnnP,MAAM,QACNszD,SAAU7uD,EACV8uD,WAAYqU,EACZwS,SAAUA,EACVttE,KAAMA,EACNsyE,eAAgB2nK,EAChBpyJ,UAAQ,EACR/B,kBAAmB98E,EACnB+8E,kBAAmB98E,IAIjB0gD,EACJv1D,EAAAC,EAAAC,cAACimP,EAAD,CACET,QAASK,EACTJ,cAAeK,EACfJ,WAAYE,EACZtnP,QAASqW,IAIb,OACE7U,EAAAC,EAAAC,cAACkM,EAAA,EAAD,CAAM5M,UAAWtC,IAAOgF,MACtBlC,EAAAC,EAAAC,cAAC84B,EAAA,EAAD,CACEj3B,MAAM,OACNsE,eAAgBnJ,IAAO6E,MACvBgnF,OAAQm9J,IAGVlmP,EAAAC,EAAAC,cAACisG,EAAA,EAAD,CACEvlB,cAAeA,EACfh7E,KAAMA,EACNi7E,WAAYgvD,IACZzoI,mBAAoBlQ,IAAOooE,QAC3B9lE,UAAWtC,IAAO0O,KAClB8gG,qBAAsBn3C,KAxE9Bz0D,EAAAC,EAAAC,EAAA,sBAAAmlP,IA8EAn4O,EAAK7L,UAAL,GAae6L,qCC3Ff,IAAA9E,EAAApI,EAAA,GAAAqI,EAAArI,EAAAsI,EAAAF,GAAAk9O,EAAAtlP,EAAA,IAIaulP,EAAgB/8O,IAAU6tD,MAAM,CAC3C4X,QAASzlE,IAAU8E,OACnByU,MAAOvZ,IAAU8E,OACjBmsD,KAAMjxD,IAAU8E,SAiBLk4O,GAdch9O,IAAU6tD,MAAM,CACzCovL,OAAQj9O,IAAU8E,OAClB7K,GAAI+F,IAAUguD,OACdkvL,UAAWl9O,IAAUiuD,QAAQ8uL,GAC7Bx5M,QAASvjC,IAAU8E,OACnB2D,KAAMzI,IAAU8E,SAGU9E,IAAU6tD,MAAM,CAC1CttD,KAAMP,IAAU8E,OAChBygE,MAAOvlE,IAAUiuD,QAAQjuD,IAAU8E,QACnCgrE,MAAO9vE,IAAU6tD,MAAM,MAGQ7tD,IAAU6tD,MAAM,CAC/C6O,UAAW/8D,IACXw+B,MAAOn+B,IAAU8E,UAGc9E,IAAU6tD,MAAM,CAC/C5zD,GAAI+F,IAAUguD,OACdmvL,WAAYn9O,IAAU48D,KACtBn0D,KAAMzI,IAAU8E,OAChBu4D,aAAc2/K,IAGgBh9O,IAAU6tD,MAAM,CAC9CuvL,IAAKp9O,IAAU8E,OACfskJ,KAAMppJ,IAAU8E,OAChBi8L,MAAO/gM,IAAU8E,SAGW9E,IAAU6tD,MAAM,CAC5CquB,WAAYl8E,IAAU8E,OACtB1P,KAAM4K,IAAU8E,wCC5ClB,IAAAuR,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAgnO,GAAA7lP,EAAA,GAAAA,EAAA,KAAAif,EAAAjf,EAAA,MAAAkf,EAAAlf,EAAAsI,EAAA2W,GAOA,SAAS6mO,EAATroP,GAA6D,IAAlCsoP,EAAkCtoP,EAAlCsoP,QAAS90M,EAAyBxzC,EAAzBwzC,WAAYC,EAAazzC,EAAbyzC,UACxC/vC,EAAc8vC,GAAcC,GAChCpyB,EAAA3f,EAAAC,cAACymP,EAAA,EAAD,CACE50M,WAAYA,EACZC,UAAWA,EACXxyC,UAAWtC,IAAOs0C,YAItB,OACE5xB,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACG4gP,EACDjnO,EAAA3f,EAAAC,cAAA,QAAMV,UAAWtC,IAAO8vG,QACrB/qG,IAMT2kP,EAAgBzkP,UAAhB,GAMeykP,uCChCf,IAAAjnO,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAE,EAAAjf,EAAA,KAAAkf,EAAAlf,EAAAsI,EAAA2W,GAMA,SAAS+mO,EAATvoP,GAA6D,IAAtCqpB,EAAsCrpB,EAAtCqpB,SAAUpoB,EAA4BjB,EAA5BiB,UAAWN,EAAiBX,EAAjBW,cACpC6nP,EAAan/N,EACfhI,EAAA3f,EAAAC,cAAA,OAAKk4B,IAAI,4BAA4BC,IAAI,8BACzCzY,EAAA3f,EAAAC,cAAA,KAAGV,UAAWa,IAAWnD,IAAOijI,SAAUjhI,KAE9C,OACE0gB,EAAA3f,EAAAC,cAAA0f,EAAA3f,EAAAgG,SAAA,KACE2Z,EAAA3f,EAAAC,cAAA,QAAMV,UAAWa,IAAWnD,IAAO2E,MAAOrC,IAA1C,UACCunP,GAKPD,EAAY3kP,UAAZ,GAMe2kP,mICnBA,SAASE,EAATzoP,GAAwC,IAAjBy4B,EAAiBz4B,EAAjBy4B,OAAQp1B,EAASrD,EAATqD,MACpC81B,EAAYV,EAAZU,QACFuvN,EAAgBC,YAAet3J,KAAKuqC,IAAIv4H,IAc9C,OAAO5B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAZtC,WACE,OAAI91B,GAAS,EACJqlP,EAIPjnP,EAAAC,EAAAC,cAAA,gBACGF,EAAAC,EAAAC,cAAA,YAAO+mP,GADV,OASND,EAAY7kP,UAAZ,0BCjBMglP,EAAe,GACfC,EAAe,GAEN,SAASC,EAAT9oP,GAA4C,IAAhBy4B,EAAgBz4B,EAAhBy4B,OAAQvrB,EAAQlN,EAARkN,KACzCisB,EAAYV,EAAZU,QACA4vN,GAAe77O,GAAQ,IAAvB67O,WAkBR,OACEtnP,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAVjC,WACE,OACE13B,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOm7F,OATlCivJ,EAAaH,EAAqBjqP,IAAOk/E,IACzCkrK,GAAcH,GAAgBG,EAAaF,EAAqBlqP,IAAOa,OAEpEb,IAAO++E,QAOVj8E,EAAAC,EAAAC,cAAA,YAAO0vF,KAAKw1B,MAAMkiI,GAAlB,QAYRD,EAAiBllP,UAAjB,0BC9Be,SAASolP,EAAThpP,GAA+D,IAApCy4B,EAAoCz4B,EAApCy4B,OAAQvrB,EAA4BlN,EAA5BkN,KAA4B+7O,EAAAjpP,EAAtBupN,kBAAsB,IAAA0/B,KACpE9vN,EAAYV,EAAZU,QACAyqJ,GAAc12K,GAAQ,IAAtB02K,UAUR,OAAOniL,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GARtC,WACE,OACE13B,EAAAC,EAAAC,cAAA,OAAKV,UAAWsoN,GAAc5qN,IAAO4qN,YAClC3lC,KAQTolE,EAAgBplP,UAAhB,+DCXA,SAASslP,EAATlpP,GAA+G,IAAvFm5B,EAAuFn5B,EAAvFm5B,QAASjsB,EAA8ElN,EAA9EkN,KAAM0tE,EAAwE56E,EAAxE46E,QAASuuK,EAA+DnpP,EAA/DmpP,aAAc5lE,EAAiDvjL,EAAjDujL,cAAeV,EAAkC7iL,EAAlC6iL,iBAAkBS,EAAgBtjL,EAAhBsjL,aAAgB79K,GACxFyH,GAAQ,IAArBy+J,UACwD,GAAxD3mK,EAFqGS,EAErGT,GAAIokP,EAFiG3jP,EAEjG2jP,iBAAkBC,EAF+E5jP,EAE/E4jP,kBACxB9nP,GAAc6nP,IAAqBC,EAEnCx5E,EAAeg2D,YAAYjrJ,EAAQ9K,SAASwD,OAAQ,CAAEoxG,YAAa,SALoC4kE,EAWzG7rE,YAAiB,CAAE5N,iBAHrB6N,EAR2G4rE,EAQ3G5rE,mBACAE,EAT2G0rE,EAS3G1rE,eACAE,EAV2GwrE,EAU3GxrE,mBAWIyrE,EAAoB,CACxB3uK,UACAw3D,WAViB,CACjBixC,QAAS8lE,EACT7lE,eACAC,gBACAV,mBACAjf,iBAAkB,kBAMlBiM,eACA+N,iBACA3R,eAAgB,GAChB6R,sBAmBF,OACEr8K,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,GAC5B53B,EAXyB,kBAC5BE,EAAAC,EAAAC,cAACgI,EAAA,EAAD,CACElG,QAAQ,gDACRxC,UAAWtC,IAAO8sF,SAElBhqF,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,iBAAkBnD,IAAOgtK,SAAUhtK,IAAO0B,cAZjD,kBACpBoB,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAAA,KAAGV,UAAWa,IAAW,iBAAkBnD,IAAOgtK,UAAW1rK,QAAS,kBAAM69K,EAAmB94K,MAC9F04K,GAAsBj8K,EAAAC,EAAAC,cAACyhL,EAAA,EAAiBmmE,MAoB/CL,EAAatlP,UAAb,GAUeslP,8PC5DA,SAASh4M,EAATlxC,GAiBZ,IAhBDyN,EAgBCzN,EAhBDyN,QACA7H,EAeC5F,EAfD4F,KACAyjB,EAcCrpB,EAdDqpB,SACAnoB,EAaClB,EAbDkB,UACAiuB,EAYCnvB,EAZDmvB,UACAq6N,EAWCxpP,EAXDwpP,aACAC,EAUCzpP,EAVDypP,aACA/5N,EASC1vB,EATD0vB,aACA4L,EAQCt7B,EARDs7B,qBACAu8C,EAOC73E,EAPD63E,KACAlzC,EAMC3kC,EAND2kC,sBACAi2C,EAKC56E,EALD46E,QACAuuK,EAICnpP,EAJDmpP,aACA5lE,EAGCvjL,EAHDujL,cACAV,EAEC7iL,EAFD6iL,iBACAS,EACCtjL,EADDsjL,aACC/9K,EAC+C4pB,GAAa,GAArD7d,EADP/L,EACO+L,QAAS0d,EADhBzpB,EACgBypB,QAASF,EADzBvpB,EACyBupB,MAAOO,EADhC9pB,EACgC8pB,WADhCs8L,EAE+CxnF,cAAxCU,EAFP8mF,EAEO9mF,SAAUuM,EAFjBu6E,EAEiBv6E,YAAa5M,EAF9BmnF,EAE8BnnF,aAM/B,SAASz3E,EAAiBngB,GACxB48M,EAAa,CACX58M,OACA88M,YAAa7kH,EAASpsG,OACtBkxN,eAAgB9kH,EAAS/sD,YA0D7B,OAlEApmE,oBAAU,WACRmmE,GAAQu5D,EAAYv5D,IACnB,IAiEDp2E,EAAAC,EAAAC,cAACiuB,EAAA,SAAD,KACEnuB,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CACEqpB,SAAO,EACP5pB,QAASA,EACT4b,SAAUA,EACVnoB,UAAWA,EACX22E,KAAMA,EACNx/C,OA9DN,SAA0BI,GACxBgxN,EAAa,CACXC,YAAajxN,EACbkxN,eAAgBnlH,EAAa/rG,MA4D3BP,WAAY2sG,EAASpsG,OACrBR,cAAe4sG,EAAS/sD,UACxBnzC,sBAAuB7iC,IAAWnD,IAAOuP,MAAOy2B,GAChDnI,mBAAoB9M,EACpB9pB,KAAMA,EACN01B,qBAAsBA,GAErB7tB,EAAQ5D,IA/Df,SAAsB4uB,EAAQitL,GAAW,IAC/BvsL,EAAwBV,EAAxBU,QACFs5K,EAAW7wM,EAAA,CACfuH,IAAKgwB,EACLA,UACAV,SACA8wL,WAL8B9wL,EAAf8wL,YAMZ7D,GAGCkkC,EAAiBhoP,EAAA,GAClB6wM,EADkB,CAErB02C,eACA5lE,gBACAV,mBACAS,eACA1oG,YAUF,MAPqB,CACnBgpG,UAAWniL,EAAAC,EAAAC,cAACqnP,EAAoBv2C,GAChCtvB,OAAQ1hL,EAAAC,EAAAC,cAAC8mP,EAAgBh2C,GACzBs2C,WAAYtnP,EAAAC,EAAAC,cAACmnP,EAAqBr2C,GAClCo3C,OAAQpoP,EAAAC,EAAAC,cAACmoP,EAAiBF,IAGRzwN,IAAY13B,EAAAC,EAAAC,cAACqM,EAAA,EAAD,CAAQ7E,IAAKgwB,EAASA,QAASA,OAI3DrpB,IAAQlK,IAASkK,IAAQqf,GACpB,KAIP1tB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE6c,SAAUA,EACVnoB,UAAWA,EACX4S,SAAUi5C,EACVj+B,MAAOA,EACPxd,QAASA,EACT8d,SAAUJ,EACVK,WAAYA,KA4BpB6hB,EAAUttC,UAAV,GC7HArB,EAAAC,EAAAC,EAAA,sBAAAyuC,+ICQA,SAASyP,EAAT3gD,GAQG,IAPDgF,EAOChF,EAPDgF,GACAwO,EAMCxT,EANDwT,KACAggC,EAKCxzC,EALDwzC,WACAC,EAICzzC,EAJDyzC,UACAjwC,EAGCxD,EAHDwD,MACAvC,EAECjB,EAFDiB,UACAqjD,EACCtkD,EADDskD,oBAEMrR,EACJxxC,EAAAC,EAAAC,cAACg0D,EAAA,EAAD,CAAWniB,WAAYA,EAAYC,UAAWA,IAG1Cs2M,EAAkBvmP,GACtB/B,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO6E,OAAxB,IACIA,EADJ,KA0BF,OACE/B,EAAAC,EAAAC,cAAA,OAAKV,UAAWA,GArBX+D,EASHvD,EAAAC,EAAAC,cAACqF,EAAA,EAAD,CACEzG,MAAM,UACNE,KAAK,OACLyG,KAAMo9C,EAAoBt/C,GAC1B/D,UAAWtC,IAAOM,MAEjBuU,EANH,IAMUy/B,EANV,IAMsB82M,GAbpBtoP,EAAAC,EAAAC,cAAA,YACG6R,EADH,IACUy/B,EADV,IACsB82M,IAwB9BppM,EAAW/8C,UAAX,GAae+8C,uwBCpEf,IAAMqpM,EAAqB,SAACtoP,EAAG22E,GAC7B,OAAI32E,EAAEuoP,OAAS5xK,EAAE4xK,KACRvoP,EAAE8R,KAAO6kE,EAAE7kE,MAAQ,EAAI,EAGzB9R,EAAEuoP,KAAO5xK,EAAE4xK,MAGPC,EAAkB,SAAAxlM,GAAW,OACxCzkC,EAAIykC,GAAamzB,KAAKmyK,0PCCxB,SAASG,EAATnqP,GAAyE,IAA3C0kD,EAA2C1kD,EAA3C0kD,YAAalhD,EAA8BxD,EAA9BwD,MAAO8gD,EAAuBtkD,EAAvBskD,oBAC1C8lM,EAAoBF,EAAgBxlM,GAiB1C,OACEjjD,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOk5C,SACrBp2C,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OACnBA,GAjBDsM,IAAQ40C,GACHp8C,IAGF8hP,EAAkBvgP,IAAI,SAAA85C,GAAU,OACrCliD,EAAAC,EAAAC,cAAC0oP,EAADzoP,EAAA,GACM+hD,EADN,CAEE1iD,UAAWtC,IAAOglD,WAClBx6C,IAAKw6C,EAAW3+C,GAChBs/C,oBAAqBA,QAe7B6lM,EAAmBzjP,aAAe,CAChCg+C,YAAa,IAGfylM,EAAmBvmP,UAAnB,GAMeumP,QCxCf,SAASG,EAATtqP,GAAuF,IAAhEuqP,EAAgEvqP,EAAhEuqP,QAAS/mP,EAAuDxD,EAAvDwD,MAAOE,EAAgD1D,EAAhD0D,YAAa4gD,EAAmCtkD,EAAnCskD,oBAAqBkmM,EAAcxqP,EAAdwqP,WAC/DC,EAAmCF,EAAnCE,YAAaC,EAAsBH,EAAtBG,UAAWC,EAAWJ,EAAXI,OAEhC,OACElpP,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CAAU51C,MAAOA,EAAOE,YAAaA,GACnCjC,EAAAC,EAAAC,cAAC4qM,EAAA,EAAD,KACE9qM,EAAAC,EAAAC,cAACipP,EAAD,CACEpnP,MAAM,2BACNkhD,YAAa+lM,EACbnmM,oBAAqBA,IAEvB7iD,EAAAC,EAAAC,cAACipP,EAAD,CACEpnP,MAAM,2BACNkhD,YAAagmM,EACbpmM,oBAAqBA,IAEtBkmM,GACC/oP,EAAAC,EAAAC,cAACipP,EAAD,CACEpnP,MAAM,sBACNkhD,YAAaimM,EACbrmM,oBAAqBA,MASjCgmM,EAAY5jP,aAAe,CACzBlD,MAAO,cACPE,YAAa,GACb8mP,YAAY,GAGdF,EAAY1mP,UAAZ,GAYe0mP,qICvDFrjK,EAAa,SAACu0E,EAAM1sI,GAC/B,OAAc,IAAVA,EACK,EAGFuiE,KAAKw1B,MAAM,IAAM20C,EAAO1sI,uBCIjC,SAAS+7N,EAAT7qP,GAAgF,IAAzDyqP,EAAyDzqP,EAAzDyqP,YAAaC,EAA4C1qP,EAA5C0qP,UAAWC,EAAiC3qP,EAAjC2qP,OAAQ1pP,EAAyBjB,EAAzBiB,UAAWupP,EAAcxqP,EAAdwqP,WAC1D17N,EAAQ27N,EAAcC,EAAYC,EAExC,OACElpP,EAAAC,EAAAC,cAAA,OAAKV,UAAWa,IAAWnD,IAAOguF,OAAQ1rF,IACxCQ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuO,MACrBzL,EAAAC,EAAAC,cAACg0D,EAAA,EAAD,CAAWniB,WAAW,IAAIC,UAAU,eADtC,GAAArqC,OAEMqhP,EAFN,MAAArhP,OAEsB69E,EAAWwjK,EAAa37N,GAF9C,OAIArtB,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuO,MACrBzL,EAAAC,EAAAC,cAACg0D,EAAA,EAAD,CAAWniB,WAAW,IAAIC,UAAU,eADtC,GAAArqC,OAEMshP,EAFN,MAAAthP,OAEoB69E,EAAWyjK,EAAW57N,GAF1C,OAIC07N,GACC/oP,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOuO,MACrBzL,EAAAC,EAAAC,cAACg0D,EAAA,EAAD,CAAWniB,WAAW,IAAIC,UAAU,UADtC,GAAArqC,OAEMuhP,EAFN,MAAAvhP,OAEiB69E,EAAW0jK,EAAQ77N,GAFpC,QASR+7N,EAAYnkP,aAAe,CACzB+jP,YAAa,EACbC,UAAW,EACXC,OAAQ,EACRH,YAAY,GAGdK,EAAYjnP,UAAZ,GAQeinP,2OCvCR,IAAM7oF,EAAapgK,EAAA,GACrBqgK,IADqB,CAExBO,OAAQ,CACNC,MAAO,CACL,CACEM,UAAW,CAAE/0H,SAAS,GACtBilK,gBAAiB,GACjBC,aAAc,GACdxwC,MAAOC,KAETK,KAEFC,MAAO,CACL,CACEF,UAAWK,IACXV,MAAK9gK,EAAA,GACA+gK,IADA,CAEHmoF,aAAc,KAGlBznF,0xBCfN,SAAS0nF,EAAT/qP,GAAiG,IAAvEuqP,EAAuEvqP,EAAvEuqP,QAAS/mP,EAA8DxD,EAA9DwD,MAAOE,EAAuD1D,EAAvD0D,YAAao2C,EAA0C95C,EAA1C85C,iBAAkB0wM,EAAwBxqP,EAAxBwqP,WAAYnhO,EAAYrpB,EAAZqpB,SAAY2hO,EACpDC,YAAUV,EAAS,SAAAW,GAAY,OAAIA,EAAaziP,SAAnFgiP,EADuFO,EACvFP,YAAaC,EAD0EM,EAC1EN,UAAWC,EAD+DK,EAC/DL,OAE1BQ,EAAU,SAACx7O,EAAOtM,GAAR,OAAoBA,EAAOA,GAA3B+F,OAAA6W,EAAqCtQ,GAArC,CAA4CtM,EAAOA,GAAnD4c,EAA6DoJ,EAAW,CAAChmB,GAAS,MAC5F+nP,EAAa,SAAA/nP,GAAK,OAAKmnP,EAAa,CAACnnP,GAAS,IAE9CqyC,EAAM,CACV,aACA,cAFUtsC,OAAA6W,EAGPmrO,EAAW,WAGVC,EAAW,CACfZ,EACAC,GAFethP,OAAA6W,EAGZmrO,EAAWT,KAGVh6M,EAAe,CACnB2xH,IAAamxC,4BACbnxC,IAAagxC,6BAFMlqM,OAAA6W,EAGhBmrO,EAAW9oF,IAAagpF,0BAIvB1lP,EAAO,CACX8vC,OAAQy1M,EAAQz1M,EAAQ,IACxBmiJ,SAAU,CAAC,CACTjyL,KAAMulP,EAAQE,EAAa,GAC3B16M,gBAAiBw6M,EAAQx6M,EAAiB,kBAIxCiJ,EAAmB6wM,EAAcC,EAAYC,IAAY,EAE/D,OACElpP,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACE51C,MAAOA,EACPE,YAAaA,EACbzC,UAAWtC,IAAO4kK,SAClB3pH,gBAAiBA,EACjBE,iBAAkBA,GAElBr4C,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOmrK,gBACrBroK,EAAAC,EAAAC,cAAC46K,EAAA,EAAD,CAAKx3K,QAASi9J,EAAep8J,KAAMA,KAErCnE,EAAAC,EAAAC,cAAC4pP,EAAD,CACEd,YAAaA,EACbC,UAAWA,EACXC,OAAQA,EACRH,WAAYA,MAOtBO,EAAerkP,aAAe,CAC5BlD,MAAO,kBACPE,YAAa,GACbo2C,iBAAkB,GAClBywM,QAAS,CACPE,YAAa,GACbC,UAAW,GACXC,OAAQ,IAEVH,YAAY,GAGdO,EAAennP,UAAf,GAae+iE,gBAAYokL,+MChGpB,IAAMS,EACJ,yBAIIp4H,EACJ,+BAmBIq4H,EACJ,OAIIC,EACJ,OAIIC,EACJ,UAII5oP,EAAa,CACxBM,MAAO,aACPC,MAAO,aACPsoP,kBAAmB,cAGR5oP,EAAQ,CACnBK,MAAO,QACPC,MAAO,QACPsoP,kBAAmB,SAGR3oP,EAAO,CAClBI,MAAO,OACPC,MAAO,OACPsoP,kBAAmB,QAGI14O,EAAA24O,EAAA,GACtBL,GADsBt4O,EAAA44O,EAAA,GAEpB7oP,EAAKI,MAAQ,yDAFO6P,EAAA44O,EAGpB9oP,EAAMK,MAAQ,0FAHM6P,EAAA44O,EAIpB/oP,EAAWM,MAAQ,sFAJCyoP,IAAA54O,EAAA24O,EAMtBz4H,GANsBlgH,EAAA64O,EAAA,GAOpB9oP,EAAKI,MAAQ,yDAPO6P,EAAA64O,EAQpB/oP,EAAMK,MAAQ,gGARM6P,EAAA64O,EASpBhpP,EAAWM,MAAQ,4FATC0oP,IAAA74O,EAAA24O,EAWtBJ,GAXsBv4O,EAAA84O,EAAA,GAYpB/oP,EAAKI,MAAQ,yDAZO6P,EAAA84O,EAapBhpP,EAAMK,MAAQ,4FAbM6P,EAAA84O,EAcpBjpP,EAAWM,MAAQ,wFAdC2oP,IAAA94O,EAAA24O,EAgBtBH,GAhBsBx4O,EAAA+4O,EAAA,GAiBpBhpP,EAAKI,MAAQ,IAjBO6P,EAAA+4O,EAkBpBjpP,EAAMK,MAAQ,IAlBM6P,EAAA+4O,EAmBpBlpP,EAAWM,MAAQ,IAnBC4oP,IAAA/4O,EAAA24O,EAqBtBF,GArBsBz4O,EAAAg5O,EAAA,GAsBpBjpP,EAAKI,MAAQ,yDAtBO6P,EAAAg5O,EAuBpBlpP,EAAMK,MAAQ,2EAvBM6P,EAAAg5O,EAwBpBnpP,EAAWM,MAAQ,uEAxBC6oP,IA4BKh5O,EAAAi5O,EAAA,GAC3BX,EAAoB,CACnBzoP,EACAC,EACAC,IAJ0BiQ,EAAAi5O,EAM3B/4H,EAA0B,CACzBrwH,EACAC,EACAC,IAT0BiQ,EAAAi5O,EAW3BV,EAAa,CACZ1oP,EACAC,EACAC,IAd0BiQ,EAAAi5O,EAgB3BT,EAAa,CACZzoP,EACAD,EACAD,IAnB0BmQ,EAAAi5O,EAqB3BR,EAAgB,CACf5oP,EACAC,EACAC,+CC9GJ,IAAAme,EAAA7e,EAAA,GAAA8e,EAAA9e,EAAAsI,EAAAuW,GAAAE,GAAA/e,EAAA,GAAAA,EAAA,IAAAgf,EAAAhf,EAAAsI,EAAAyW,GAAAm2I,EAAAl1J,EAAA,GAAAgqG,EAAAhqG,EAAA,MAAAiqG,EAAAjqG,EAAAsI,EAAA0hG,GAQA,SAAS6/I,EAATpsP,GAOG,IANDwD,EAMCxD,EANDwD,MACA6oP,EAKCrsP,EALDqsP,SACArrP,EAIChB,EAJDgB,SACAC,EAGCjB,EAHDiB,UACA8lE,EAEC/mE,EAFD+mE,QACAulL,EACCtsP,EADDssP,cAEA,OACEjrO,EAAA3f,EAAAC,cAAA,OACEy3B,YAAU,cACVn4B,UAAWa,IAAWnD,IAAOgF,KAAM1C,IAEnCogB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOwN,QACpB3I,GAAS6d,EAAA3f,EAAAC,cAAA,MAAIV,UAAWtC,IAAO6E,OAAQA,GACvC6oP,GAAYhrO,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAO0tP,UAAWA,IAEhDrrP,GACCqgB,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOkb,MACpB7Y,GAGJ+lE,GACC1lD,EAAA3f,EAAAC,cAAA,OAAKV,UAAWtC,IAAOgQ,QACnB29O,GAAiBA,EACjBvlL,EAAQl9D,IAAI,SAAAtE,GAAA,IAAGiO,EAAHjO,EAAGiO,KAAMvT,EAATsF,EAAStF,QAASsB,EAAlBgE,EAAkBhE,WAAlB,OACZ8f,EAAA3f,EAAAC,cAAC81J,EAAA,EAAD,CACEl3J,MAAM,QACNN,QAASA,EACTkJ,IAAKqK,EACLnT,SAAUkB,GAETiS,OASf44O,EAAWxoP,UAAX,GAuBewoP,0WCtER,IAAMG,EAAchkO,IAAMC,gBAYlBgkO,MAVf,SAAkB9jO,GAChB,OAAO,SAAuBzkB,GAC5B,OACExC,EAAAC,EAAAC,cAAC4qP,EAAY5jO,SAAb,KACG,SAAAC,GAAQ,OAAInnB,EAAAC,EAAAC,cAAC+mB,EAAD9mB,EAAA,GAAeqC,EAAW2kB,iBCC/C,SAASpc,EAATxM,GAKG,IAJDqpB,EAICrpB,EAJDqpB,SACAnoB,EAGClB,EAHDkB,UACAiuB,EAECnvB,EAFDmvB,UACAooJ,EACCv3K,EADDu3K,kBAEA,GAAIznK,IAAQqf,GACV,OAAO,KAFR,IAKO7d,EAA+B6d,EAA/B7d,QAASwd,EAAsBK,EAAtBL,MAAOG,EAAeE,EAAfF,WAExB,OACExtB,EAAAC,EAAAC,cAAC6K,EAAA,EAAD,CACE6c,SAAUA,EACVnoB,UAAWA,EACXoQ,QAASA,EACTwd,MAAOA,EACPO,WAAYJ,EACZG,SAAU8nC,IACVpjD,SAAUyjK,IAKhB/qK,EAAU5I,UAAV,GAOe4oP,QAAShgP,uDCjCxB,SAASigP,EAATzsP,GAIG,IAHD0sP,EAGC1sP,EAHD0sP,iBACAn5F,EAECvzJ,EAFDuzJ,YACAo5F,EACC3sP,EADD2sP,cAEMC,EAAoBr5F,EACtB,oBACA,oBAEJ,OACE9xJ,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOyoC,OACpBslN,GACCjrP,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,WACNN,QAAS0sP,EACT1rP,UAAWtC,IAAOyB,QAEjBwsP,IAOXH,EAAW7oP,UAAX,GAMe4oP,QAASC,sBC3BxB,SAAS30N,EAAT93B,GAMG,IALD6sP,EAKC7sP,EALD6sP,gBACAzkH,EAICpoI,EAJDooI,cACAW,EAGC/oI,EAHD+oI,sBACA58G,EAECnsB,EAFDmsB,SACAjC,EACClqB,EADDkqB,cAEMm/G,EACJ5nI,EAAAC,EAAAC,cAACywF,EAAA,EAAD,CACEC,YAAU,EACVhvF,MAAO+kI,EACPt0H,SAAUi1H,EACVzzH,SAAU6W,EACVnC,sBAAoB,EACpBC,gBAAiBktC,IACjBjtC,cAAeA,EACfvJ,aAAW,IAIf,OACElf,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO2hM,eACrB7+L,EAAAC,EAAAC,cAAC40B,EAAA,EAAD,CACE/yB,MAAM,iBACNswB,gBAAiBu1G,EACjBpoI,UAAWtC,IAAO4rB,kBAGpB9oB,EAAAC,EAAAC,cAACmrP,EAAeD,IAKtB/0N,EAAOl0B,UAAP,GAQe4oP,QAAS10N,8SCvCxB,SAASi1N,EAAT/sP,GAiBG,IAhBDkB,EAgBClB,EAhBDkB,UACAqyJ,EAeCvzJ,EAfDuzJ,YACAlqI,EAcCrpB,EAdDqpB,SACAtc,EAaC/M,EAbD+M,UACAigP,EAYChtP,EAZDgtP,YACApjK,EAWC5pF,EAXD4pF,cACAqjK,EAUCjtP,EAVDitP,cACAp/N,EASC7tB,EATD6tB,MACAq/N,EAQCltP,EARDktP,cACA9kH,EAOCpoI,EAPDooI,cACA+kH,EAMCntP,EANDmtP,aACAC,EAKCptP,EALDotP,WACA/kK,EAICroF,EAJDqoF,cACAglK,EAGCrtP,EAHDqtP,cACA36F,EAEC1yJ,EAFD0yJ,kBACAlqE,EACCxoF,EADDwoF,yBAEA,SAAS8kK,EAAW3pP,GAClB,GAAIkC,IAAQlC,GACV,OAAO,KAFe,IAKZijJ,EAAiBjjJ,EAArBqB,GAAYqI,EAAS1J,EAAT0J,KACdomJ,EAAuBrrB,EAAgBmlH,YAAgBnlH,GAAiB,GAY9E,OACE3mI,EAAAC,EAAAC,cAAA,MAAIwH,IAAG,cAAAC,OAAgBw9I,IACrBnlJ,EAAAC,EAAAC,cAAC6rP,EAAA,EAAD,CACE7pP,KAAMA,EACN4vJ,YAAaA,EACblqI,SAAUA,EACVtc,UAAWA,EACX65E,iBAAiB,EACjB6rE,oBAAoB,EACpBnrE,qBAAmB,EACnBsC,cAAeA,EACf6pE,qBAAsBA,EACtBxgE,WAtBN,SAAwBhsE,GACtB,OAAOphB,IAAQwH,GACX8/O,EAAaM,EAAA,GAAKxmO,EAAN,CAAcisE,IAAK,CAAC0zD,MAChCwmG,EAAWK,EAAA,GAAKxmO,EAAN,CAAcjiB,GAAI4hJ,MAoB5Bv+D,cAAeA,EACfi3B,gBAlBN,WACE,OAAO+tI,EAAczmG,IAkBjB8L,kBAAmBA,EACnBlqE,yBAA0BA,KAMlC,IAAM0wG,EACJz3L,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEQ,MAAM,QACNN,QAASgtP,EACTvsP,WAAYe,EAAAC,EAAAC,cAAA,KAAGV,UAAU,wBACzBN,cAAehC,IAAOsD,KACtBhB,UAAWtC,IAAOu6L,mBALpB,sBA4BF,OACEz3L,EAAAC,EAAAC,cAAA,MAAIV,UAAWtC,IAAOoxB,MAjBlB7uB,EACKO,EAAAC,EAAAC,cAAC6rP,EAAA,EAAD,MAGLN,EACKzrP,EAAAC,EAAAC,cAAC27B,EAAA,EAAD,CAAkB55B,YAAY,4DAIrCjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAAgG,SAAA,KACGslP,GAAe9zD,EACftrK,IAAIC,EAAOy/N,KAYpBP,EAAKnpP,UAAL,GAmBe4oP,QAASO,0tCCpBTW,MAjGf,SAAA1tP,GAA6E,IAArD2tP,EAAqD3tP,EAArD2tP,UAAWhgM,EAA0C3tD,EAA1C2tD,WAAYk4E,EAA8B7lI,EAA9B6lI,GAAI1mD,EAA0Bn/E,EAA1Bm/E,KAAMzmE,EAAoB1Y,EAApB0Y,IAAKiiM,EAAe36M,EAAf26M,YAAehqM,EAAAC,EACjCC,mBAAS,IADwB,GACpEu3H,EADoEz3H,EAAA,GACrD03H,EADqD13H,EAAA,GAAA+I,EAAA9I,EAE7BC,mBAAS,IAFoB,GAEpEopM,EAFoEvgM,EAAA,GAEnDohM,EAFmDphM,EAAA,GAAAgT,EAAA9b,EAGrCC,oBAAS,GAH4B,GAGpE0iJ,EAHoE7mI,EAAA,GAGvDkhO,EAHuDlhO,EAAA,GAAAE,EAAAhc,EAIrCC,oBAAS,GAJ4B,GAIpEm8O,EAJoEpgO,EAAA,GAIvDihO,EAJuDjhO,EAAA,GAAAmhD,EAAAn9D,EAK/BC,mBAAS,IALsB,GAKpEi9O,EALoE//K,EAAA,GAKpDggL,EALoDhgL,EAAA,GAAAG,EAAAt9D,EAM7BC,oBAAS,GANoB,GAMpEm9O,EANoE9/K,EAAA,GAMnD+/K,EANmD//K,EAAA,GAQnEggL,EAAkBroH,EAAlBqoH,cARmEh3E,EAcvEC,YAAe,CAAEC,SAAU02E,EAAgB5sP,UAAWgtP,EAAe9+N,SAAU8nC,MAJ1Ei3L,EAVkEj3E,EAUzErpJ,MACAypJ,EAXyEJ,EAWzEI,eACW82E,EAZ8Dl3E,EAYzE/nJ,UACAooJ,EAbyEL,EAazEK,kBAGI82E,EAAcxoP,IAAQs5E,GACtBj+E,EAAYgtP,GAAiB52E,EAC7Bv9I,GAAa74B,GAAamtP,EAC1Bz0M,EAAkB7f,IAAci0N,EAChCd,EAAgBnzN,GAAai0N,EAC7BtB,GAAoB2B,EAE1B,SAAS53H,IAAuB,IAAb/iD,EAAaxiE,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC1B,GAAIwH,EAAK,KACgB8iM,EAAwB9nI,EAAvC00D,cACR0yE,EAAmB9jK,IAAMwkK,GAAuBpzE,EAAgBozE,GAEhEmyC,EAAUW,EAAA,GACL56K,EADI,CAEP1kD,QAASkoC,IACTx+C,MACAC,OAAQ41O,IACRC,WAAW,IACV,CAAEC,gBAAiBC,OA0C1B,OAtCAh9O,oBAAU,WACRipM,GAAelkF,KACd,CAACkkF,EAAajiM,IAoCV,CACLmtH,KACA0tB,cACAo5F,cAnBF,WACEiB,GAAgBr6F,IAmBhB1lI,MAAOm/N,EAAcmB,EAAehvK,EACpChwD,UAAW69N,EAAcoB,EAAmBzgM,EAC5C4pH,kBAAmBy1E,EAAcz1E,EAnCnC,SAA+B3qI,GAC7B6pF,EAAU,CAAE7pF,UAmCZogN,cACApjK,cAjCF,SAA2B0qE,GACzBy5F,EAAkBz5F,GAClBu5F,GAAe,IAgCfZ,cA7BF,WACEY,GAAe,IA6BfzlH,gBACAW,sBAvBF,WAA+C,IACrC1lI,IADqC6N,UAAAzI,OAAA,QAAA0I,IAAAD,UAAA,GAAAA,UAAA,GAAJ,IACjB3J,QAAU,IAA1BlE,MAERglI,EAAiBhlI,IAqBjB8oB,SA9CF,WACE8hO,GAAmB,GACnBx3H,EAAU,CAAE2R,mBA6CZl+G,cAnBwB,WACxBm+G,EAAiB,IAEjB4xE,GAAmBxjF,EAAU,CAAE2R,cAAe,MAiB9ClnI,YACA04C,kBACA8yM,mBACAQ,iuBCnFJ,SAAS7tN,EAATr/B,GAUG,IAAA2uP,EATDnrP,EASCxD,EATDwD,MACAs2C,EAQC95C,EARD85C,iBACA90C,EAOChF,EAPDgF,GACAqkB,EAMCrpB,EANDqpB,SACAtc,EAKC/M,EALD+M,UACAizH,EAIChgI,EAJDggI,YACAuiD,EAGCviL,EAHDuiL,UACAo4B,EAEC36M,EAFD26M,YACGt5M,EACFC,EAAAtB,EAAA,kGAAA4uP,EAmBGlB,EAAa5rI,EAAA,GAAKzgH,EAAN,CAAiBs5M,iBAjB/BpnD,EAFDq7F,EAECr7F,YACAo5F,EAHDiC,EAGCjC,cACA9+N,EAJD+gO,EAIC/gO,MACAsB,EALDy/N,EAKCz/N,UACAooJ,EANDq3E,EAMCr3E,kBACAy1E,EAPD4B,EAOC5B,YACApjK,EARDglK,EAQChlK,cACAqjK,EATD2B,EASC3B,cACA7kH,EAVDwmH,EAUCxmH,cACAW,EAXD6lH,EAWC7lH,sBACA58G,EAZDyiO,EAYCziO,SACAjC,EAbD0kO,EAaC1kO,cACAhpB,EAdD0tP,EAcC1tP,UACA04C,EAfDg1M,EAeCh1M,gBACA8yM,EAhBDkC,EAgBClC,iBACAQ,EAjBD0B,EAiBC1B,cACArnH,EAlBD+oH,EAkBC/oH,GAGqB7rF,GArBtB9mC,EAAAy7O,EAAA,GAsBE7uH,IAAoBr+H,EAAAC,EAAAC,cAACmrP,EAAD,OAtBtB55O,EAAAy7O,EAuBE5uH,IAAyBt+H,EAAAC,EAAAC,cAACmrP,EAAD,OAvB3B6B,GAqBQ3uH,GAKcsgE,EA1BtBptL,EAAA,GA2BE2sH,IAA0Bp+H,EAAAC,EAAAC,cAACktP,EAAD,OADpB7uH,GAIHwJ,EAAO1nB,EAAA,GACRzgH,EADQ,GAERwkI,EAFQ,CAGXx8G,WACAtc,YACAwmJ,cACAo5F,gBACA9+N,QACAsB,YACAooJ,oBACAy1E,cACApjK,gBACAqjK,gBACA7kH,gBACAW,wBACA58G,WACAjC,gBACAhpB,YACAwrP,mBACAQ,kBAGF,OACEzrP,EAAAC,EAAAC,cAAC4qP,EAAYx1N,SAAb,CAAsB1zB,MAAOmmI,GAC1B+4C,GAAa9gL,EAAAC,EAAAC,cAAC+2C,EAAA,EAAD,CAAcl1C,MAAM,SAElC/B,EAAAC,EAAAC,cAACy3C,EAAA,EAAD,CACEp0C,GAAIA,EACJxB,MAAOA,EACPs2C,iBAAkBA,EAClBF,gBAAiBA,EACjBI,WAAYA,EACZ/4C,UAAWtC,IAAO4kK,SAClBxpH,qBAAsBp7C,IAAO+U,aAE5B4sL,EACD7+L,EAAAC,EAAAC,cAACmtP,EAAD,OACE5B,GAAiBzrP,EAAAC,EAAAC,cAACotP,EAAD,QAM3B1vN,EAAU34B,aAAe,CACvB67K,WAAW,EACXo4B,aAAa,GAGft7K,EAAUz7B,UAAV,GAYey7B,QClHA2kG,gBAAa,gBAAiBj9D,EAA9Bi9D,CAAuC3kG,0GCLtD,SAAS2vN,EAAmBn4O,GAC1B2oB,KAAKhsB,KAAO,qBACZgsB,KAAK3oB,QAAUA,GAAW,uBAE5Bm4O,EAAmBC,UAAYx8N,OAAOka,OAAOo2I,MAAMksE,eCC3CprK,EAAoBC,IAApBD,gBAEFqrK,EAAc,SAACr4O,GACnBgtE,EAAgB,CAAEhtE,UAASktE,MAAO,yCCDpC,SAASorK,EAATnvP,GAA2C,IAAnBkmK,EAAmBlmK,EAAnBkmK,KAAMkpF,EAAapvP,EAAbovP,UACpB57O,EAAe0yJ,EAAf1yJ,KAAM/S,EAASylK,EAATzlK,KAER4uP,EAAWh+J,KAAKw1B,MAAMpmH,EAAO,MAC7B6uP,EAAe,IAAAlmP,OAAOimP,EAAP,OAErB,OACE5tP,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAOmtK,UACrBrqK,EAAAC,EAAAC,cAAA,QAAMV,UAAWtC,IAAO0sH,UACrB73G,GAGF87O,GAGH7tP,EAAAC,EAAAC,cAAC5B,EAAA,EAAD,CACEE,QAASmvP,EACT7uP,MAAM,OACNU,UAAWtC,IAAOotK,YAElBtqK,EAAAC,EAAAC,cAAA,KAAGV,UAAU,mBAMrBkuP,EAAazoP,aAAe,CAC1BpD,MAAO,eAGT6rP,EAAavrP,UAAb,GAKeurP,09BCzCA,SAASI,EAATvvP,GAAwC,IAAlBkmK,EAAkBlmK,EAAlBkmK,KAAMpyJ,EAAY9T,EAAZ8T,SAAYnD,EAAAC,EACvBC,qBADuB,GAC9C2+O,EAD8C7+O,EAAA,GACrC8+O,EADqC9+O,EAAA,GAG/C++O,EAAgB,SAAAnqP,GAAA,IAAaqqG,EAAbrqG,EAAGgC,OAAUqoG,OAAb,OAA4B6/I,EAAW7/I,IAQ7Dl+F,oBAAU,WANV,IACQi+O,EAMFzpF,aAAgB0pF,OANdD,EAAS,IAAIE,YACZC,OAASJ,EAChBC,EAAOI,cAAc7pF,IAOnBupF,KAED,CAACvpF,IAEJx0J,oBAAU,WACRoC,EAAS07O,IACR,CAACA,6+BCfN,SAASQ,EAAThwP,GAIG,IAHDsD,EAGCtD,EAHDsD,MACAwQ,EAEC9T,EAFD8T,SACAm8O,EACCjwP,EADDiwP,iBACCt/O,EAAAu/O,EACuBr/O,qBADvB,GACMq1J,EADNv1J,EAAA,GACYw/O,EADZx/O,EAAA,GAID,SAASy/O,EAAeC,GACtB,KHIG,SAAArwP,GAAwD,IAA1BkmK,EAA0BlmK,EAA1BkmK,KAAM+pF,EAAoBjwP,EAApBiwP,iBACjC9vP,GAAS+lK,GAAQ,IAAjB/lK,KAEFmwP,EAAwBh9N,IAAS28N,EAAkB9vP,GAGzD,IAF8B0F,IAAQoqP,KAETK,EAC3B,MAAM,IAAItB,EGVRuB,CAAmB,CACjBrqF,KAAMmqF,EACNJ,qBAGFE,EAAQE,GACR,MAAO7qP,IHbN,SAA+BA,GAAO,IACnCqR,EAAYrR,EAAZqR,QAER,KAAIrR,aAAiBwpP,GAGnB,MAAMxpP,EAFN0pP,EAAYr4O,GGUV25O,CAAsBhrP,IAX1B+pP,EAAW,CAAErpF,OAAMpyJ,aAuBnB,OAAIoyJ,aAAgB0pF,KAEhBnuP,EAAAC,EAAAC,cAAC8uP,EAAD,CACEvqF,KAAMA,EACNkpF,UANY,kBAAMe,OAYtB1uP,EAAAC,EAAAC,cAAA,OAAKV,UAAWtC,IAAO6H,WACrB/E,EAAAC,EAAAC,cAAA,KAAGV,UAAU,qBAEbQ,EAAAC,EAAAC,cAAA,SACEqgB,QAAQ,aACR/gB,UAAWtC,IAAO2E,OAEjBA,GAGH7B,EAAAC,EAAAC,cAAA,SACEqD,GAAG,aACH7E,KAAK,OACL2T,SA/BN,SAAAvO,GAGE6qP,EAHgCF,EAAA3qP,EAAVgC,OACGstN,MADO,QAgC5B5zN,UAAWtC,IAAOsU,SAM1B+8O,EAAWtpP,aAAe,CACxBpD,MAAO,cACP2sP,iBAAkB,IAGpBD,EAAWpsP,UAAX,GAMeosP","file":"js/core-3b2094c2d21b802d0c57.chunk.js","sourcesContent":["import { LIGHT_THEME, DARK_THEME, BLUE_THEME } from 'components/core/Loader/constants';\nimport styles from './styles.module.scss';\n\ntype LoaderTheme = keyof typeof loaderThemes;\n\nexport enum ButtonTypes {\n button = 'button',\n submit = 'submit',\n reset = 'reset',\n}\n\nexport const buttonThemes = {\n primary: styles.primary,\n secondary: styles.secondary,\n tertiary: styles.tertiary,\n light: styles.light,\n warning: styles.warning,\n danger: styles.danger,\n link: styles.link,\n tableLink: styles.tableLink,\n default: styles.default,\n none: styles.none,\n violet: styles.violet,\n};\n\nexport const buttonSizes = {\n small: styles.small,\n medium: styles.medium,\n large: styles.large,\n none: styles.none,\n badge: styles.badge,\n};\n\nexport const loaderThemes = {\n primary: LIGHT_THEME,\n secondary: BLUE_THEME,\n tertiary: LIGHT_THEME,\n light: DARK_THEME,\n warning: LIGHT_THEME,\n danger: LIGHT_THEME,\n link: BLUE_THEME,\n tableLink: BLUE_THEME,\n default: DARK_THEME,\n none: LIGHT_THEME,\n violet: LIGHT_THEME,\n};\n\nexport interface ButtonProps {\n children: React.ReactNode;\n isAddIcon?: boolean;\n isRemoveIcon?: boolean;\n className?: string;\n theme?: ButtonTheme;\n size?: ButtonSize;\n onClick?: () => void;\n disabled?: boolean;\n id?: string;\n type?: ButtonTypes;\n loaderTheme?: LoaderTheme;\n loaderSize?: string;\n loaderColor?: string;\n loaderBackgroundColor?: string;\n loaderOpacity?: number;\n loaderBorderRadius?: number;\n loaderBorderWidth?: number;\n loaderBorderColor?: string;\n loaderBorderStyle?: string;\n loaderBorderSpacing?: number;\n loaderBorderCollapse?: string;\n customIcon?: React.ReactNode;\n iconClassName?: string;\n isLoading?: boolean;\n loaderClassName?: string;\n innerRef?: React.Ref;\n}\n\ntype ButtonSize = keyof typeof buttonSizes;\ntype ButtonTheme = keyof typeof buttonThemes;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport withDisabledStateTooltip from 'utils/withDisabledStateTooltip';\nimport Loader from 'components/core/Loader';\n\nimport styles from './styles.module.scss';\nimport { ButtonProps, buttonSizes, buttonThemes, ButtonTypes, loaderThemes } from './types';\n\nfunction Button({\n onClick,\n type = ButtonTypes.button,\n disabled,\n theme = 'primary',\n size = 'medium',\n customIcon,\n iconClassName,\n isAddIcon = false,\n isRemoveIcon = false,\n children,\n className,\n isLoading,\n loaderClassName,\n innerRef,\n ...restProps\n}: ButtonProps) {\n const isDisabled = disabled || isLoading;\n const disabledClassName = isDisabled && styles.isDisabled;\n\n return (\n \n {isAddIcon && (\n
\n \n
\n )}\n\n {isRemoveIcon && (\n
\n \n
\n )}\n\n {customIcon && (\n
{customIcon}
\n )}\n\n {isLoading && (\n \n )}\n\n {children}\n \n );\n}\n\nconst ButtonWithTooltip = withDisabledStateTooltip(Button);\n\nexport { ButtonWithTooltip };\n\nexport default Button;\n","export const CONTINUOUS_ID = 'continuous';\nexport const DAILY_ID = 'daily';\nexport const WEEKLY_ID = 'weekly';\nexport const NONE_ID = 'none';\nexport const SHARED_ID = 'shared';\n\nexport const WEEK_AHEAD = {\n value: 'week_ahead',\n label: 'Weak ahead',\n};\n\nexport const CONTINUOUS = {\n value: CONTINUOUS_ID,\n label: 'Continuous',\n};\n\nexport const DAILY = {\n value: DAILY_ID,\n label: 'Daily',\n};\n\nexport const NONE = {\n value: NONE_ID,\n label: 'None',\n};\n\nexport const WEEKLY = {\n value: WEEKLY_ID,\n label: 'Weekly',\n};\n\nexport const DEFAULT_FREQUENCIES = [\n CONTINUOUS,\n DAILY,\n NONE,\n];\n\nexport const ALL_FREQUENCIES = [\n NONE,\n WEEKLY,\n DAILY,\n CONTINUOUS,\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction AlertType({ title, content, description, className }) {\n return (\n
\n {title &&
{title}
}\n {content &&
{content}
}\n {description &&
{description}
}\n
\n );\n}\n\nAlertType.propTypes = {\n title: PropTypes.string.isRequired,\n content: PropTypes.node,\n description: PropTypes.node,\n className: PropTypes.string,\n};\n\nexport default AlertType;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction CloseButton({ closeToast, content, onClose }) {\n function handleClose(props) {\n closeToast(props);\n onClose && onClose(content);\n }\n\n return (\n \n \n \n );\n}\n\nCloseButton.propTypes = {\n closeToast: PropTypes.func.isRequired,\n content: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n onClose: PropTypes.func,\n};\n\nexport default CloseButton;\n","import { cssTransition } from 'react-toastify';\n\nexport const Slide = cssTransition({\n enter: 'slideIn',\n exit: 'slideOut',\n duration: 200,\n});\n\nexport const Zoom = cssTransition({\n enter: 'zoomIn',\n exit: 'zoomOut',\n duration: 200,\n});\n\nexport const SlideNoAnimation = cssTransition({\n enter: 'slideIn',\n exit: 'slideOut',\n duration: [200, 0],\n});\n","import { toast } from 'react-toastify';\nimport classNames from 'classnames';\n\nimport AlertType from '../components/AlertType';\nimport CloseButton from '../components/CloseButton';\nimport { Slide } from './animations';\nimport { getContent } from './index';\nimport styles from '../styles.module.scss';\n\nexport const notificationDefaultProps = {\n position: 'top-right',\n hideProgressBar: true,\n closeOnClick: false,\n pauseOnHover: true,\n autoClose: 10 * 1000,\n};\n\nexport function defaultNotification(content, options) {\n const { id, onClose, ...restProps } = options || {};\n const closeButton = props => CloseButton({ ...props, onClose, content });\n\n return () => toast(getContent(content), {\n transition: Slide,\n closeButton,\n ...notificationDefaultProps,\n ...restProps,\n toastId: id,\n });\n}\n\nexport function success(content, options) {\n const { id, onClose, ...restProps } = options || {};\n const closeButton = props => CloseButton({ ...props, onClose, content });\n\n return () => toast(getContent(content), {\n transition: Slide,\n className: classNames(styles.card, styles.success),\n closeButton,\n ...notificationDefaultProps,\n ...restProps,\n toastId: id,\n });\n}\n\nexport function error(content, options) {\n const { id, onClose, ...restProps } = options || {};\n const closeButton = props => CloseButton({ ...props, onClose, content });\n\n return () => toast(getContent(content), {\n transition: Slide,\n className: classNames(styles.card, styles.error),\n closeButton,\n ...notificationDefaultProps,\n ...restProps,\n toastId: id,\n });\n}\n\nexport function alertSuccessAction(content, options) {\n return success(AlertType(content), options)();\n}\n\nexport function alertErrorAction(content, options) {\n return error(AlertType(content), options)();\n}\n","import { isValidElement } from 'react';\nimport { isEmpty, isObject } from 'lodash';\nimport { toast } from 'react-toastify';\n\nimport CloseButton from '../components/CloseButton';\nimport { defaultNotification } from './notificationTypes';\n\n/** Get content for notification */\nexport function getContent(data) {\n if (isEmpty(data)) {\n return null;\n }\n\n if (isValidElement(data)) {\n return data;\n }\n\n if (isObject(data)) {\n return data.content;\n }\n\n return data;\n}\n\nexport function updateNotification(id, content, options) {\n if (isEmpty(content)) {\n return null;\n }\n\n const { onClose } = options || {};\n const closeButton = props => CloseButton({ ...props, onClose, content });\n const currentContent = getContent(content);\n\n if (isEmpty(id)) {\n return defaultNotification(currentContent, { id, closeButton, ...options });\n }\n\n return toast.update(id, { render: currentContent, closeButton, ...options });\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ToastContainer } from 'react-toastify';\nimport '!style-loader!css-loader!react-toastify/dist/ReactToastify.css';\n\nimport AlertType from './components/AlertType';\nimport Push from './components/Push';\nimport { LIMIT_NOTIFICATIONS } from './utils/constants';\nimport styles from './styles.module.scss';\n\n/**\n * Insert at the top of the parent component to use notification success/error functions\n * */\nfunction Notification(props) {\n return (\n \n );\n}\n\nNotification.defaultProps = {\n limit: LIMIT_NOTIFICATIONS,\n};\n\nNotification.propTypes = {\n limit: PropTypes.number,\n};\n\nexport * from './utils';\nexport * from './utils/notificationTypes';\nexport * from './utils/animations';\nexport { AlertType, Push };\nexport default Notification;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Link as RouterLink } from 'react-router-dom';\n\nimport buttonStyles from 'components/core/Button/styles.module.scss';\n\nimport styles from './styles.module.scss';\n\nconst linkThemes = {\n primary: buttonStyles.primary,\n secondary: buttonStyles.secondary,\n tertiary: buttonStyles.tertiary,\n light: buttonStyles.light,\n warning: buttonStyles.warning,\n danger: buttonStyles.danger,\n link: buttonStyles.link,\n tableLink: buttonStyles.tableLink,\n buttonDefault: buttonStyles.default,\n default: styles.default,\n violet: buttonStyles.violet,\n};\n\nconst buttonSizes = {\n badge: buttonStyles.badge,\n small: buttonStyles.small,\n medium: buttonStyles.medium,\n large: buttonStyles.large,\n none: buttonStyles.none,\n};\n\nconst Link = ({\n theme,\n size,\n customIcon,\n rightIcon,\n children,\n className,\n href,\n isExternal,\n isRouterLink,\n displayExternalIcon,\n iconClassName,\n disabled,\n ...restProps\n}) => {\n const customProps = isExternal && {\n target: '_blank',\n rel: 'noopener noreferrer',\n };\n\n const linkContent = (\n <>\n {customIcon && (\n {customIcon}\n )}\n\n {children}\n\n {isExternal && !rightIcon && displayExternalIcon && (\n \n \n \n )}\n\n {rightIcon && (\n {rightIcon}\n )}\n \n );\n\n if (isRouterLink) {\n return (\n \n {linkContent}\n \n );\n }\n\n return (\n \n {linkContent}\n \n );\n};\n\nLink.defaultProps = {\n theme: 'primary',\n size: 'medium',\n isRouterLink: false,\n};\n\nLink.propTypes = {\n isExternal: PropTypes.bool,\n isRouterLink: PropTypes.bool,\n href: PropTypes.string,\n size: PropTypes.oneOf(\n Object.keys(buttonSizes)\n ),\n theme: PropTypes.oneOf(\n Object.keys(linkThemes)\n ),\n customIcon: PropTypes.node,\n rightIcon: PropTypes.node,\n iconClassName: PropTypes.string,\n displayExternalIcon: PropTypes.bool,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.element,\n PropTypes.string,\n PropTypes.node,\n ]),\n};\n\nexport default Link;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from '../Core';\nimport styles from './styles.module.scss';\n\nfunction BackTo({\n to,\n title,\n isRouterLink,\n className,\n iconClassName,\n titleClassName,\n ...restProps\n}) {\n return (\n \n \n

{title}

\n \n );\n}\n\nBackTo.defaultProps = {\n size: 'none',\n theme: 'light',\n href: '',\n isRouterLink: true,\n};\n\nBackTo.propTypes = {\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n titleClassName: PropTypes.string,\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]).isRequired,\n href: PropTypes.string,\n isRouterLink: PropTypes.bool,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n pathname: PropTypes.string,\n state: PropTypes.shape({}),\n }),\n ]).isRequired,\n size: PropTypes.string,\n theme: PropTypes.string,\n};\n\nexport default BackTo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport { isEmpty, isNumber } from 'lodash';\n\nimport { TrimTextItem } from 'components/core/Table/components/ColumnItem';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport Link from '../Core';\nimport styles from './styles.module.scss';\n\nconst MAX_TEXT_LENGTH = 80;\n\nfunction LinkList({ linkList, className, linkClassName }) {\n if (isEmpty(linkList)) {\n return EMPTY_VALUE;\n }\n\n const firstItem = linkList[0];\n const listSize = linkList.length;\n\n function renderLink(link, index) {\n const { href, value, ...restLinkProps } = link;\n const isFirstItem = !isNumber(index);\n const linkClassNames = classNames(\n isFirstItem ? styles.firstItemLink : styles.tooltipLink,\n linkClassName,\n );\n\n if (isEmpty(value) && isEmpty(href)) {\n return null;\n }\n\n if (isEmpty(href)) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n \n \n \n
\n );\n }\n\n function renderTooltipLinks() {\n return (\n
\n {linkList.slice(1).map(renderLink)}\n
\n );\n }\n\n if (listSize === 1) {\n return renderLink(firstItem);\n }\n\n return (\n
\n \n
\n {renderLink(firstItem)}\n
\n + {listSize - 1} more\n
\n
\n \n
\n );\n}\n\nconst linkShape = PropTypes.shape({\n value: PropTypes.node,\n href: PropTypes.string,\n isExternal: PropTypes.bool,\n});\n\nLinkList.propTypes = {\n linkList: PropTypes.arrayOf(linkShape),\n className: PropTypes.string,\n linkClassName: PropTypes.string,\n};\n\nexport default LinkList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { linkProps } from 'components/Reports/utils/shapes';\n\nimport CoreLink from '../Core';\nimport styles from './styles.module.scss';\n\nconst THEMES = {\n blue: styles.blue,\n violet: styles.violet,\n green: styles.green,\n red: styles.red,\n};\n\nfunction Mark({ theme, title, description, href, className }) {\n return (\n \n \n {title}\n {description}\n \n );\n}\n\nMark.defaultProps = {\n theme: 'blue',\n};\n\nMark.propTypes = {\n ...linkProps,\n theme: PropTypes.string,\n};\n\nexport default Mark;\n","import Link from './components/Core';\nimport BackTo from './components/BackTo';\nimport LinkList from './components/LinkList';\nimport Mark from './components/Mark';\n\nexport { Link as default };\nexport { BackTo, LinkList, Mark as MarkLink };\n","import PropTypes from 'prop-types';\n\nimport { CONTINUOUS_ID, DAILY_ID, NONE_ID, SHARED_ID, WEEKLY_ID } from './constants';\n\nexport const frequencyType = PropTypes.oneOf([\n NONE_ID,\n DAILY_ID,\n WEEKLY_ID,\n CONTINUOUS_ID,\n SHARED_ID,\n null,\n '',\n]);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction TextInput({ children, className }) {\n return (\n

\n {children}\n

\n );\n}\n\nTextInput.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n};\n\nexport default TextInput;\n","import React from 'react';\n\nimport TextPlaceholder from '../Text';\nimport styles from './styles.module.scss';\n\nfunction InputPlaceholder() {\n return (\n
\n \n
\n );\n}\n\nexport default InputPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\n\nimport TextPlaceholder from '../Text';\n\nfunction ButtonGroupPlaceholder({ btnLength, btnTheme, btnSize, className }) {\n return (\n \n {Array(btnLength).fill(0).map((_, index) => (\n // eslint-disable-next-line react/no-array-index-key\n \n ))}\n \n );\n}\n\nButtonGroupPlaceholder.defaultProps = {\n btnLength: 1,\n btnTheme: 'default',\n btnSize: 'small',\n};\n\nButtonGroupPlaceholder.propTypes = {\n btnLength: PropTypes.number,\n btnTheme: PropTypes.string,\n btnSize: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default ButtonGroupPlaceholder;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport TextPlaceholder from '../Text';\nimport styles from './styles.module.scss';\n\nfunction PageHeader({ isPresentAvatar, isFullWidth }) {\n const headerClassNames = classNames(\n 'header-page',\n styles.header,\n );\n\n const headerContentClassNames = classNames(\n 'header-content',\n isFullWidth && styles.fullWidth\n );\n\n return (\n
\n
\n
\n {isPresentAvatar &&
}\n \n
\n
\n
\n );\n}\n\nPageHeader.defaultProps = {\n isPresentAvatar: false,\n isFullWidth: false,\n};\n\nPageHeader.propTypes = {\n isPresentAvatar: PropTypes.bool,\n isFullWidth: PropTypes.bool,\n};\n\nexport default PageHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport TextPlaceholder from 'components/core/Placeholder/components/Text';\nimport styles from './styles.module.scss';\n\nfunction Paginator({ className }) {\n return (\n
\n \n
\n );\n}\n\nPaginator.propTypes = {\n className: PropTypes.string,\n};\nexport default Paginator;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport TextPlaceholder from '../../../Text';\nimport styles from './styles.module.scss';\n\nfunction MobileTabPlaceholder({ itemsNumber }) {\n function renderTitle(_, index) {\n return (\n
\n \n \n
\n );\n }\n\n return (\n
\n {Array(itemsNumber).fill(0).map(renderTitle)}\n
\n );\n}\n\nMobileTabPlaceholder.propTypes = {\n itemsNumber: PropTypes.number.isRequired,\n};\n\nexport default MobileTabPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport TextPlaceholder from '../Text';\nimport MobileTabPlaceholder from './components/MobileTabs';\nimport styles from './styles.module.scss';\n\nfunction TabsPlaceholder({ itemsNumber, isDesktop }) {\n if (!isDesktop) {\n return ;\n }\n\n function renderTitle(_, index) {\n return (\n
\n \n \n
\n );\n }\n\n return (\n
\n {Array(itemsNumber).fill(0).map(renderTitle)}\n
\n );\n}\n\nTabsPlaceholder.defaultProps = {\n itemsNumber: 4,\n};\n\nTabsPlaceholder.propTypes = {\n itemsNumber: PropTypes.number,\n isDesktop: PropTypes.bool.isRequired,\n};\n\nexport default TabsPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport TextPlaceholder from '../Text';\nimport styles from './styles.module.scss';\n\nfunction TagsPlaceholder({ className, tagClassName, itemsNumber }) {\n function renderTag(_, index) {\n return ;\n }\n\n return (\n
\n {map(Array(itemsNumber), renderTag)}\n
\n );\n}\n\nTagsPlaceholder.defaultProps = {\n itemsNumber: 2,\n};\n\nTagsPlaceholder.propTypes = {\n className: PropTypes.string,\n tagClassName: PropTypes.string,\n itemsNumber: PropTypes.number,\n};\n\nexport default TagsPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// eslint-disable-next-line import/no-cycle\nimport Card from 'components/core/Card';\n\nimport TablePlaceholder from '../../../Table';\nimport TextPlaceholder from '../../../Text';\nimport parentStyles from '../../styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction CardTablePlaceholder({ rows, columns, title, headerNodes, className, labelRows, labelContainerClassName, ...props }) {\n function getLabel(index) {\n return (\n
\n \n \n
\n );\n }\n\n return (\n \n {labelRows && (\n
\n {Array(labelRows).fill(0).map((_, index) => getLabel(index))}\n
\n )}\n\n \n \n );\n}\n\nCardTablePlaceholder.defaultProps = {\n rows: 3,\n columns: 3,\n};\n\nCardTablePlaceholder.propTypes = {\n title: PropTypes.string.isRequired,\n headerNodes: PropTypes.node,\n className: PropTypes.string,\n rows: PropTypes.number,\n columns: PropTypes.number,\n labelRows: PropTypes.number,\n labelContainerClassName: PropTypes.string,\n};\n\nexport default CardTablePlaceholder;\n","import React from 'react';\n\n// eslint-disable-next-line import/no-cycle\nimport Card from 'components/core/Card';\n\nimport TextPlaceholder from '../../../Text';\nimport styles from './styles.module.scss';\n\nfunction CardTablePlaceholder() {\n return (\n
\n
\n\n \n
\n
\n
\n \n \n\n
\n \n \n
\n
\n\n
\n \n
\n
\n\n
\n \n
\n \n
\n );\n}\n\nexport default CardTablePlaceholder;\n","/* eslint-disable import/no-cycle */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport CardComponent from 'components/core/Card';\n\nimport TextPlaceholder from '../Text';\nimport CardTablePlaceholder from './components/CardTable';\nimport CardNewsStoryPlaceholder from './components/CardNewsStory';\nimport styles from './styles.module.scss';\n\nfunction Card({ title, rows, className, containerClassName, ...restProps }) {\n function getLabel(index) {\n return (\n
\n \n \n
\n );\n }\n\n return (\n \n
\n {Array(rows).fill(0).map((_, index) => getLabel(index))}\n
\n
\n );\n}\n\nCard.defaultProps = {\n rows: 15,\n};\n\nCard.propTypes = {\n title: PropTypes.string,\n rows: PropTypes.number,\n className: PropTypes.string,\n containerClassName: PropTypes.string,\n};\n\nexport default Card;\nexport { CardTablePlaceholder, CardNewsStoryPlaceholder };\n","import TextPlaceholder from './components/Text';\nimport TablePlaceholder from './components/Table';\nimport TextInputPlaceholder from './components/TextInput';\nimport InputPlaceholder from './components/InputPlaceholder';\nimport ButtonGroupPlaceholder from './components/ButtonGroup';\nimport PageHeaderPlaceholder from './components/PageHeader';\nimport PaginatorPlaceholder from './components/Paginator';\nimport TabsPlaceholder from './components/Tabs';\nimport TagsPlaceholder from './components/Tags';\n// eslint-disable-next-line import/no-cycle\nimport CardPlaceholder, { CardTablePlaceholder, CardNewsStoryPlaceholder } from './components/Card';\n\nexport {\n TextPlaceholder,\n TablePlaceholder,\n ButtonGroupPlaceholder,\n PageHeaderPlaceholder,\n TextInputPlaceholder,\n PaginatorPlaceholder,\n TabsPlaceholder,\n CardPlaceholder,\n CardTablePlaceholder,\n CardNewsStoryPlaceholder,\n InputPlaceholder,\n TagsPlaceholder,\n};\n","import isEmpty from 'lodash/isEmpty';\n\nexport function isFirstPosition(index) {\n return index === 0;\n}\n\nexport function isLastPosition(index, array) {\n return array.length - 1 === index;\n}\n\nexport function isBlankText(string) {\n return isEmpty(string.trim());\n}\n\nexport function normalizeArrayToString(array) {\n return array.filter(el => el).join('').split(' ').join('');\n}\n\nexport function isBlankspace(index, array) {\n const letter = array[index];\n\n return letter && letter === ' ';\n}\n\nexport function moveCursorBackward(index, requiredLetters, fieldRefs) {\n if (!isFirstPosition(index)) {\n const cursorPosition = isBlankText(requiredLetters[index - 1]) ? 2 : 1;\n const inputRef = fieldRefs[index - cursorPosition];\n\n inputRef && inputRef.current.focus();\n }\n}\n\nexport function moveCursorForward(index, requiredLetters, fieldRefs) {\n if (!isLastPosition(index, requiredLetters)) {\n const cursorPosition = isBlankText(requiredLetters[index + 1]) ? 2 : 1;\n const inputRef = fieldRefs[index + cursorPosition];\n\n inputRef && inputRef.current.focus();\n }\n}\n","import { useState, useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport KEY_CODES from 'utils/keyCodes';\nimport {\n isLastPosition,\n normalizeArrayToString,\n moveCursorBackward,\n moveCursorForward,\n} from './index';\n\nfunction useTextValidator({ text, onValidationStatusChange }) {\n const requiredLetters = text ? text.toUpperCase().split('') : [];\n const [typedLetters, setTypedLetters] = useState([]);\n const fieldRefs = [];\n\n useEffect(() => {\n if (!isEmpty(requiredLetters)) {\n const requiredString = normalizeArrayToString(requiredLetters);\n const typedString = normalizeArrayToString(typedLetters);\n\n onValidationStatusChange(typedString === requiredString);\n }\n }, [typedLetters]);\n\n function moveCursor(index, isForward = true) {\n isForward ?\n moveCursorForward(index, requiredLetters, fieldRefs) :\n moveCursorBackward(index, requiredLetters, fieldRefs);\n }\n\n function handleInputChange(value, index) {\n const letters = [].concat(typedLetters);\n\n if (isEmpty(value)) {\n letters[index] = null;\n setTypedLetters(letters);\n\n moveCursor(index, false);\n return;\n }\n\n letters[index] = value;\n setTypedLetters(letters);\n !isLastPosition(index, requiredLetters) && moveCursor(index);\n }\n\n function handleChange(event, index) {\n const typedLetter = event.target.value.toUpperCase();\n\n handleInputChange(typedLetter, index);\n }\n\n function handleKeyDown(event, index) {\n const letter = typedLetters[index];\n\n if (event.keyCode === KEY_CODES.TAB) {\n moveCursor(index + 1, false);\n\n return;\n }\n\n if (isEmpty(letter) && event.keyCode === KEY_CODES.BACKSPACE) {\n event.preventDefault();\n moveCursor(index, false);\n\n return;\n }\n\n if (!isEmpty(letter) && event.keyCode === KEY_CODES.ENTER) {\n event.preventDefault();\n moveCursor(index);\n\n return;\n }\n }\n\n function handleFocus(event) {\n event.target.select();\n }\n\n return {\n requiredLetters,\n typedLetters,\n fieldRefs,\n handleFocus,\n handleChange,\n handleKeyDown,\n };\n}\n\nexport default useTextValidator;\n","import React, { createRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { isBlankspace } from '../../utils';\nimport styles from '../../styles.module.scss';\n\nexport default function LetterInput({\n index,\n letter,\n requiredLetters,\n typedLetters,\n fieldRefs,\n handleFocus,\n handleChange,\n handleKeyDown,\n}) {\n const typedLetter = typedLetters[index];\n const inputValue = typedLetter || '';\n const isValid = typedLetter && letter === typedLetter;\n const isInvalid = (typedLetter === null) || (typedLetter && letter !== typedLetter);\n const isDisabled = !letter.trim();\n const inputClassNames = classNames(styles.input, {\n [styles.valid]: isValid,\n [styles.invalid]: isInvalid,\n [styles.borderLeft]: isBlankspace(index - 1, requiredLetters),\n [styles.noBorderRight]: isBlankspace(index, requiredLetters),\n });\n\n fieldRefs[index] = createRef();\n\n function handleInputChange(event) {\n return handleChange(event, index);\n }\n\n function handleInputKeyDown(event) {\n return handleKeyDown(event, index);\n }\n\n return (\n \n );\n}\n\nLetterInput.propTypes = {\n index: PropTypes.number.isRequired,\n letter: PropTypes.string.isRequired,\n requiredLetters: PropTypes.array.isRequired,\n typedLetters: PropTypes.array.isRequired,\n fieldRefs: PropTypes.array.isRequired,\n handleFocus: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleKeyDown: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport useTextValidator from './utils/useTextValidator';\nimport LetterInput from './components/LetterInput';\nimport styles from './styles.module.scss';\n\nexport default function TextValidator({ text, onValidationStatusChange, className }) {\n const {\n requiredLetters,\n typedLetters,\n fieldRefs,\n handleFocus,\n handleChange,\n handleKeyDown,\n } = useTextValidator({ text, onValidationStatusChange });\n\n const commonProps = {\n requiredLetters,\n typedLetters,\n fieldRefs,\n handleFocus,\n handleChange,\n handleKeyDown,\n };\n\n return (\n
\n {requiredLetters.map((letter, index) =>\n )}\n
\n );\n}\n\nTextValidator.propTypes = {\n text: PropTypes.string.isRequired,\n onValidationStatusChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n","import isNil from 'lodash/isNil';\n\nexport const isValid = ({\n inputValue,\n text,\n isCaseSensitive,\n}) => {\n if (isNil(inputValue)) {\n return true;\n }\n\n return isCaseSensitive ? inputValue === text : inputValue.toLowerCase() === text.toLowerCase();\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useDidUpdateEffect from 'utils/useDidUpdateEffect';\nimport Input from 'components/core/Input';\n\nimport { isValid } from './utils';\nimport styles from './styles.module.scss';\n\nexport default function TextInputValidator({\n text,\n onValidationStatusChange,\n errorMessage,\n className,\n isCaseSensitive,\n}) {\n const [inputValue, setInputValue] = useState();\n const hasError = !isValid({ inputValue, text, isCaseSensitive });\n\n const updateValidationStatus = () => onValidationStatusChange(!hasError);\n useDidUpdateEffect(updateValidationStatus, [inputValue]);\n\n const onInputChange = ({ target }) => setInputValue(target.value);\n\n const inputErrorMessage = hasError ? errorMessage : null;\n\n return (\n \n );\n}\n\nTextInputValidator.defaultProps = {\n isCaseSensitive: false,\n};\n\nTextInputValidator.propTypes = {\n text: PropTypes.string.isRequired,\n onValidationStatusChange: PropTypes.func.isRequired,\n errorMessage: PropTypes.string,\n className: PropTypes.string,\n isCaseSensitive: PropTypes.bool,\n};\n","import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport { TextValidator, TextInputValidator } from 'components/core/Validators';\n\nimport Modal from '../Modal';\nimport styles from './styles.module.scss';\n\nconst validators = {\n default: TextValidator,\n input: TextInputValidator,\n};\n\nexport default function TextConfirmation({\n isOpen,\n title,\n validationText,\n confirmationMessage,\n submitButtonText,\n onToggle,\n onSubmit,\n isLoading,\n validatorType,\n errorMessage,\n isCaseSensitive,\n}) {\n const [isValid, setIsValid] = useState(false);\n\n function handleValidationStatusChange(status) {\n setIsValid(status);\n }\n\n const buttons = (\n <>\n \n Cancel\n \n \n {isLoading\n ? \n : {submitButtonText}}\n \n \n );\n\n const { [validatorType]: Validator } = validators;\n\n return (\n \n <>\n {confirmationMessage}\n \n \n \n );\n}\n\nTextConfirmation.defaultProps = {\n submitButtonText: 'Submit',\n isLoading: false,\n validatorType: 'default',\n};\n\nTextConfirmation.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool,\n title: PropTypes.string.isRequired,\n validationText: PropTypes.string.isRequired,\n confirmationMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.element,\n ]).isRequired,\n submitButtonText: PropTypes.string,\n onToggle: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n validatorType: PropTypes.oneOf(Object.keys(validators)),\n errorMessage: PropTypes.string,\n isCaseSensitive: PropTypes.bool,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { CANCEL_BUTTON, CONTINUE_BUTTON } from 'utils/constants/modal';\nimport Button from 'components/core/Button';\n\nimport Modal from '../Modal';\nimport styles from './styles.module.scss';\n\nfunction Disclaimer({ className, content, title, isOpenModal, toggleModal, withButtons, modalTheme, modalClassName }) {\n const buttons = (\n <>\n \n {CANCEL_BUTTON}\n \n\n \n {CONTINUE_BUTTON}\n \n \n );\n\n return (\n
\n \n {content}\n \n
\n );\n}\n\nDisclaimer.defaultProps = {\n title: 'Disclaimer modal',\n withButtons: true,\n};\n\nDisclaimer.propTypes = {\n title: PropTypes.string,\n className: PropTypes.string,\n content: PropTypes.node.isRequired,\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n withButtons: PropTypes.bool,\n modalTheme: PropTypes.string,\n modalClassName: PropTypes.string,\n};\n\nexport default Disclaimer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport Modal from '../Modal';\n\nfunction Confirm({\n isOpen,\n title,\n message,\n hideCancel,\n withAction,\n keepItOpened,\n bodyClassName,\n headerClassName,\n footerClassName,\n buttonClassName,\n disableContinue,\n messageContinue,\n action,\n toggle,\n children,\n ...restProps\n}) {\n function handleSubmit() {\n action && withAction && action();\n !keepItOpened && toggle();\n }\n\n const buttons = (\n <>\n {!hideCancel && (\n \n Cancel\n \n )}\n\n \n {messageContinue}\n \n \n );\n\n const bodyContent = children ||

{message}

;\n\n return (\n \n {bodyContent}\n \n );\n}\n\nConfirm.defaultProps = {\n isOpen: false,\n title: 'Warning',\n messageContinue: 'Continue',\n disableContinue: false,\n keepItOpened: false,\n hideCancel: false,\n withAction: true,\n};\n\nConfirm.propTypes = {\n isOpen: PropTypes.bool,\n title: PropTypes.string,\n message: PropTypes.node,\n toggle: PropTypes.func.isRequired,\n withAction: PropTypes.bool,\n action: PropTypes.func,\n messageContinue: PropTypes.node,\n disableContinue: PropTypes.bool,\n keepItOpened: PropTypes.bool,\n hideCancel: PropTypes.bool,\n bodyClassName: PropTypes.string,\n headerClassName: PropTypes.string,\n footerClassName: PropTypes.string,\n buttonClassName: PropTypes.string,\n children: PropTypes.node,\n};\n\nexport default Confirm;\n","import { error, success } from 'components/core/Notification';\n\nexport const editorialAlertSuccess = success('Congratulations, our editorial team will contact you shortly with the status of your request');\nexport const editorialAlertError = error('An error occurred. Please try again.');\n","import { editorialAlertError, editorialAlertSuccess } from './notifications';\nimport { transformEditorialAlertForBE } from './transformers';\n\nexport const submitEditorialAlert = ({ onSuccess, ...payload }) => {\n const url = '/api_web/actions/submit_editorial_alert';\n const data = transformEditorialAlertForBE(payload);\n\n const ajax = $.ajax({\n url,\n method: 'POST',\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .then(editorialAlertSuccess)\n .then(onSuccess)\n .catch(editorialAlertError);\n};\n","import { omitBy, isEmpty } from 'lodash';\n\nexport const transformEditorialAlertForBE = ({ message, productSlug, fullName, personId, personTitle }) => omitBy({\n message,\n product_slug: productSlug,\n full_name: fullName,\n record_id: String(personId),\n title: personTitle,\n}, isEmpty);\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, trim } from 'lodash';\n\nimport { stringNumberType } from 'utils/shapes';\nimport Textarea from 'components/core/Textarea';\n\nimport ConfirmationModal from '../Confirmation';\nimport { submitEditorialAlert } from '../../utils/api';\nimport { modalThemes } from '../Modal/helpers';\nimport styles from './styles.module.scss';\n\nfunction EditorialAlert({\n isOpen,\n toggleOpen,\n fullName,\n personId,\n personTitle,\n productSlug,\n overlayClassName,\n theme,\n onRequestClose,\n onCrossBtnClick,\n shouldReturnFocusAfterClose,\n parentSelector,\n}) {\n const [message, setMessage] = useState('');\n const [hasError, setHasError] = useState(false);\n\n const onMessageChange = ({ target: { value } }) => {\n setMessage(value);\n setHasError(isEmpty(trim(value)));\n };\n\n const handleSubmit = () => {\n if (isEmpty(trim(message))) {\n setHasError(true);\n return;\n }\n\n submitEditorialAlert({\n message,\n productSlug,\n fullName,\n personId,\n personTitle,\n onSuccess: toggleOpen,\n });\n };\n\n const clearMessage = () => {\n setMessage('');\n setHasError(false);\n };\n\n useEffect(clearMessage, [isOpen]);\n\n const title = `${fullName}: submit editorial alert`;\n const errorMessage = hasError ? \"This field can't be blank\" : '';\n\n return (\n \n
\n

\n This is the place to submit a change request to our editors for any of our records. Additions,\n deletions, inaccuracies and misspellings can all be brought our immediate attention using this simple form.\n

\n\n Enter your suggested changes below.\n
\n\n \n \n );\n}\n\nEditorialAlert.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n fullName: PropTypes.string,\n personId: stringNumberType,\n personTitle: PropTypes.string,\n productSlug: PropTypes.string,\n overlayClassName: PropTypes.string,\n theme: PropTypes.oneOf(\n Object.keys(modalThemes)\n ),\n onRequestClose: PropTypes.func,\n onCrossBtnClick: PropTypes.func,\n shouldReturnFocusAfterClose: PropTypes.bool,\n parentSelector: PropTypes.func,\n};\n\nexport default EditorialAlert;\n","import Modal from './components/Modal';\n\nexport default Modal;\nexport { default as MultiStepModal } from './components/MultiStep';\nexport { default as CloseConfirmation } from './components/CloseConfirmation';\nexport { default as TextConfirmation } from './components/TextConfirmation';\nexport { default as Disclaimer } from './components/Disclaimer';\nexport { default as ConfirmationModal } from './components/Confirmation';\nexport { default as SlideUpModal } from './components/SlideUpModal';\nexport { default as EditorialAlertModal } from './components/EditorialAlert';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"DEFAULT_TEXT_COLOR\":\"#080c38\",\"SECONDARY_TEXT_COLOR\":\"#818895\",\"DEFAULT_LABEL_COLOR\":\"#26334b\",\"DEFAULT_LINK_COLOR\":\"#003fee\",\"DEFAULT_LINE_COLOR\":\"#e9eaef\",\"SECONDARY_LINE_COLOR\":\"#f7f8fa\",\"WHITE_COLOR\":\"#ffffff\",\"GREY_COLOR\":\"#26334b\",\"DEFAULT_BADGE_COLOR\":\"#305dff\",\"BLUE_BADGE_COLOR\":\"#418eff\",\"BLUE_BADGE_BORDER_COLOR\":\"#418eff\",\"PURPLE_BADGE_COLOR\":\"#4c41ff\",\"GREEN_BADGE_COLOR\":\"#02c7c8\",\"GREEN_BADGE_BORDER_COLOR\":\"#06cdce\",\"SECONDARY_BADGE_COLOR\":\"#eeeff3\",\"DEMOCRATIC_PARTY_COLOR\":\"#0658ce\",\"REPUBLICAN_PARTY_COLOR\":\"#ed5565\",\"DEFAULT_PARTY_COLOR\":\"#8f9195\",\"DEFAULT_HEADER_COLOR\":\"#f6f6f6\",\"DEFAULT_DISABLED_COLOR\":\"#a3a3b6\",\"DEFAULT_LINE_COLOR_TRANSPARENT\":\"#f8f8fa\",\"TAG_BORDER_COLOR\":\"#0071ff\",\"TAG_BACKGROUND_COLOR\":\"#418eff\",\"ATTACHMENT_BACKGROUND_COLOR\":\"#f1f3f7\",\"ATTACHMENT_TEXT_COLOR\":\"#222222\",\"BOX_SHADOW_COLOR\":\"#dddddd\",\"PROGRESS_BAR_ACTIVE_COLOR\":\"#418eff\",\"LABEL_DOT_BORDER_COLOR\":\"#0071ff\",\"TEXT_HIGHLIGHT_COLOR\":\"#f4fc68\",\"SOCIAL_MEDIA_LINE_COLOR\":\"#eeeff3\",\"SOCIAL_MEDIA_SECONDARY_TEXT_COLOR\":\"#333333\",\"SOCIAL_MEDIA_BODY_COLOR\":\"#222222\",\"SOCIAL_MEDIA_PHOTO_BORDER_COLOR\":\"#305dff\",\"SOCIAL_MEDIA_AVATAR_BACKGROUND_COLOR\":\"#dddddd\",\"LIST_BADGE_BORDER_COLOR\":\"#3629ff\",\"TAG_BADGE_BORDER_COLOR\":\"#0071ff\",\"SOCIAL_MEDIA_NESTED_TWEET_BORDER\":\"#ececec\",\"SOCIAL_MEDIA_NESTED_TWEET_BRACKGROUND\":\"#fafcfe\",\"MY_FEED_TILE_BACKGROUND_COLOR\":\"#00d2d3\",\"LABEL_FIELD_COLOR\":\"#33343b\"};","import {\n DARK_THEME,\n LIGHT_THEME,\n MEDIUM_SIZE,\n SMALL_SIZE,\n EXTRA_SMALL_SIZE,\n BIG_SIZE,\n BLUE_THEME,\n} from './constants';\n\nimport styles from './styles.module.scss';\n\nexport const loaderThemes = {\n [LIGHT_THEME]: styles.light,\n [DARK_THEME]: styles.dark,\n [BLUE_THEME]: styles.blue,\n};\n\nexport const loadingTextThemes = {\n [LIGHT_THEME]: styles.loadingTextLight,\n [DARK_THEME]: styles.loadingTextDark,\n};\n\nexport const loaderSizes = {\n [MEDIUM_SIZE]: styles.medium,\n [SMALL_SIZE]: styles.small,\n [EXTRA_SMALL_SIZE]: styles.xSmall,\n [BIG_SIZE]: styles.big,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport {\n loaderSizes,\n loaderThemes,\n loadingTextThemes,\n} from './helpers';\n\nimport {\n DARK_THEME,\n MEDIUM_SIZE,\n} from './constants';\n\nimport styles from './styles.module.scss';\n\nfunction Loader({ message, onlyIcon, theme, size, className }) {\n return (\n <>\n \n {!onlyIcon && (\n

\n {message}\n

\n )}\n \n );\n}\n\nLoader.propTypes = {\n message: PropTypes.string,\n onlyIcon: PropTypes.bool,\n className: PropTypes.string,\n theme: PropTypes.oneOf(Object.keys(loaderThemes)),\n size: PropTypes.oneOf(Object.keys(loaderSizes)),\n};\n\nLoader.defaultProps = {\n message: 'Loading',\n onlyIcon: false,\n theme: DARK_THEME,\n size: MEDIUM_SIZE,\n};\n\nexport default Loader;\n","import React from 'react';\nimport { components } from 'react-select';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nconst CustomDropdownIndicator = (props) => {\n const { DropdownIndicator } = components;\n\n return (\n DropdownIndicator && (\n \n \n \n )\n );\n};\n\nexport default CustomDropdownIndicator;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactSelect from 'react-select';\nimport classNames from 'classnames';\nimport isArray from 'lodash/isArray';\n\nimport {\n wrapperClassName,\n findObjectValues,\n findStringOrNumberValues,\n getNoOptionsText,\n isArrayWithEmptyValues,\n isEmptyValue,\n} from 'components/core/Select/utils';\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nimport Option from './components/Option';\nimport DropdownIndicator from './components/DropdownIndicator';\nimport theme from './theme';\n\nconst Select = (props) => {\n const {\n clearable,\n isDisabled,\n multi,\n multiple,\n options,\n onChange,\n onBlur,\n searchable,\n value,\n className,\n placeholder,\n backspaceRemoves,\n deleteRemoves,\n name,\n joinValues,\n inputClassName,\n hasNewStyle,\n customTheme,\n errorMessage,\n mountOpened,\n autoFocus,\n ...otherProps\n } = props;\n\n /** Remove node element from DOM when no values are provided */\n const getName = () => {\n const isMultiple = multiple || multi;\n\n if (!joinValues && (isMultiple && isArrayWithEmptyValues(value)) || isEmptyValue(value)) {\n return '';\n }\n\n return name;\n };\n\n const getSelectOptions = (opts) => {\n if (isArray(opts)) {\n return opts.flatMap(opt => opt.options || opt);\n }\n\n return opts;\n };\n\n const getValue = () => {\n const selectOptions = getSelectOptions(options);\n\n if (isArray(value) && (multiple || multi)) {\n const customValues = [];\n\n value.forEach((val) => {\n customValues.push(...(findStringOrNumberValues(val, selectOptions) || []));\n customValues.push(...(findObjectValues(val, selectOptions) || []));\n });\n\n return customValues;\n }\n\n return findStringOrNumberValues(value, selectOptions) || findObjectValues(value, selectOptions) || value;\n };\n\n const customClassNames = classNames(\n wrapperClassName,\n className,\n inputClassName,\n );\n const delimiter = joinValues ? ',' : undefined;\n const customComponents = (hasNewStyle ? { Option, DropdownIndicator } : { Option });\n\n return (\n <>\n \n\n \n \n );\n};\n\nSelect.propTypes = {\n deleteRemoves: PropTypes.bool,\n backspaceRemoves: PropTypes.bool,\n clearable: PropTypes.bool,\n isDisabled: PropTypes.bool,\n multi: PropTypes.bool,\n multiple: PropTypes.bool,\n options: PropTypes.arrayOf(PropTypes.oneOfType([\n suggestionShape,\n PropTypes.string,\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.bool,\n }),\n ])),\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n searchable: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n PropTypes.string,\n ]),\n name: PropTypes.string,\n joinValues: PropTypes.bool,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.node,\n ]),\n hasNewStyle: PropTypes.bool,\n customTheme: PropTypes.shape({}),\n errorMessage: PropTypes.string,\n mountOpened: PropTypes.bool,\n autoFocus: PropTypes.bool,\n};\n\nSelect.defaultProps = {\n clearable: true,\n isDisabled: false,\n hasNewStyle: false,\n customTheme: null,\n mountOpened: undefined,\n autoFocus: undefined,\n placeholder: '', // get rid of default 'Select...' placeholder\n};\n\nexport default Select;\n","import { useState } from 'react';\n\nfunction useModal(initialState = false) {\n const [isOpen, setIsOpen] = useState(initialState);\n\n function toggleModal() {\n setIsOpen(!isOpen);\n }\n\n function openModal() {\n setIsOpen(true);\n }\n\n function closeModal() {\n setIsOpen(false);\n }\n\n return {\n isOpenModal: isOpen,\n toggleModal,\n openModal,\n closeModal,\n };\n}\n\nexport default useModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst inputThemes = {\n light: styles.light,\n medium: styles.medium,\n strong: styles.strong,\n};\n\nconst inputPositions = {\n block: styles.block,\n inline: styles.inline,\n};\n\nfunction Label({ htmlFor, children, position, theme, className }) {\n return (\n \n {children}\n \n );\n}\n\nLabel.defaultProps = {\n position: 'block',\n theme: 'medium',\n};\n\nLabel.propTypes = {\n htmlFor: PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n position: PropTypes.oneOf(\n Object.keys(inputPositions),\n ),\n theme: PropTypes.oneOf(\n Object.keys(inputThemes),\n ),\n};\n\nexport default Label;\n","import React, { forwardRef, LegacyRef, ChangeEvent } from 'react';\nimport classNames from 'classnames';\n\nimport ErrorMessage from 'components/core/ErrorMessage';\n\nimport styles from '../../styles.module.scss';\n\nconst inputSizes = {\n default: styles.default,\n small: styles.small,\n};\n\ntype InputProps = {\n size?: 'default' | 'small',\n className?: string,\n errorMessage?: string,\n isError?: boolean,\n innerRef?: LegacyRef,\n onChange?: (event: ChangeEvent) => void,\n value?: string,\n placeholder?: string,\n};\n\nexport function InputComponent({\n size = 'default',\n className,\n errorMessage,\n isError = false,\n innerRef,\n ...restProps\n}: InputProps) {\n return (\n <>\n \n \n \n );\n}\n\nexport default forwardRef((props, ref) => (\n \n));\n","import {\n controlBackground,\n controlOpenBackground,\n optionSelectedBackground,\n optionHoverBackground,\n optionColor,\n controlBorder,\n controlBorderRadius,\n mediumControlHeight,\n mediumErrorControlHeight,\n borderError,\n menuBorderRadius,\n} from './settings.scss';\n\nconst style = isError => ({\n control: base => ({\n ...base,\n border: controlBorder,\n backgroundImage: controlBackground,\n boxShadow: 'none',\n minHeight: mediumControlHeight,\n borderRadius: controlBorderRadius,\n '&:hover': {\n border: controlBorder,\n },\n ...(isError && {\n border: borderError,\n boxShadow: 'none',\n minHeight: mediumErrorControlHeight,\n '&:hover': {\n border: borderError,\n },\n }),\n }),\n valueContainer: base => ({\n ...base,\n justifyContent: 'center',\n paddingRight: 0,\n }),\n placeholder: base => ({\n ...base,\n justifyContent: 'center',\n paddingRight: 0,\n fontStyle: 'italic',\n }),\n dropdownIndicator: base => ({\n ...base,\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: '4px',\n }),\n menu: base => ({\n ...base,\n border: controlBorder,\n borderTop: 'none',\n backgroundImage: controlOpenBackground,\n borderRadius: menuBorderRadius,\n boxShadow: 'none',\n overflowY: 'hidden',\n margin: 0,\n paddingTop: '10px',\n }),\n menuPortal: base => ({\n ...base,\n zIndex: 999,\n }),\n option: (base, state) => ({\n ...base,\n padding: '8px 20px',\n ...(state.isSelected && {\n background: optionSelectedBackground,\n color: optionColor,\n }),\n '&:hover': {\n background: optionHoverBackground,\n },\n }),\n});\n\nexport default style;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Select from 'components/core/Select';\n\nimport theme from './theme';\nimport styles from './styles.module.scss';\n\nfunction InputSelect({\n name,\n onChange,\n isError,\n className,\n customTheme,\n menuPosition,\n ...restProps\n}) {\n function handleChangeType(selectedOption) {\n onChange(name, selectedOption.value);\n }\n\n return (\n \n );\n}\n\nInputSelect.defaultProps = {\n customTheme: null,\n menuPosition: 'absolute',\n};\n\nInputSelect.propTypes = {\n value: PropTypes.string,\n menuPosition: PropTypes.string,\n options: PropTypes.array.isRequired,\n name: PropTypes.string.isRequired,\n className: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n isError: PropTypes.bool,\n customTheme: PropTypes.object,\n};\n\nexport default InputSelect;\n","import Input from './components/Input';\n\nexport default Input;\nexport { default as InputSelect } from './components/InputSelect';\n","export const mapStyleUrl = gon.mapboxStylesUrl;\n\nexport const linkListLimit = 3;\nexport const remainedLinkListLimit = 25;\n\nexport const mapTypeCodes = {\n none: 'NOT DEFINED',\n congressional: 'cd',\n stateUpper: 'sldu',\n stateLower: 'sldl',\n};\n\nexport const displayTypeCodes = {\n markers: 'markers',\n heatmap: 'heatmap',\n};\n\nexport const highlightLayers = ['district-fill', 'district-stroke'];\n\nexport const defaultHighlightingFilters = [\n 'all',\n ['==', ['get', 'geoId'], 'NOT DEFINED'],\n ['==', ['get', 'type'], 'NOT DEFINED'],\n];\n\nexport const layers = [\n 'districts_boundary_line',\n 'districts_1_label',\n 'districts_1',\n 'districts_2',\n 'districts_3',\n 'districts_4',\n 'districts_5',\n];\n\nexport const mapboxApiEndpoint = `https://api.mapbox.com/v4/${gon.mapboxTilesetId}/tilequery`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst checkboxThemes = {\n default: styles.default,\n light: styles.light,\n};\n\nfunction Checkbox({\n label,\n theme,\n isChecked,\n isDisabled,\n className,\n checkMarkClassName,\n onChange,\n ...restProps\n}) {\n const labelClass = classNames(\n styles.container,\n !label && styles.emptyLabel,\n isDisabled && styles.disabledLabel,\n checkboxThemes[theme],\n className,\n );\n\n const handleChange = (event) => {\n const { target } = event || {};\n\n target.focus && target.focus();\n onChange && onChange(event);\n };\n\n return (\n \n );\n}\n\nCheckbox.defaultProps = {\n theme: 'default',\n isDisabled: false,\n onChange: () => { },\n};\n\nCheckbox.propTypes = {\n theme: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n onChange: PropTypes.func,\n className: PropTypes.string,\n isChecked: PropTypes.bool,\n isDisabled: PropTypes.bool,\n checkMarkClassName: PropTypes.string,\n};\n\nexport default Checkbox;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Checkbox from '../Checkbox';\nimport styles from './styles.module.scss';\nimport useIndeterminateCheckbox from './useIndeterminateCheckbox';\n\nfunction IndeterminateCheckbox({\n values,\n className,\n useIndeterminateBehavior,\n ...restProps\n}) {\n const {\n isChecked,\n isIndeterminate,\n } = useIndeterminateBehavior(values);\n const indeterminateClass = isIndeterminate && isChecked && styles.indeterminate;\n\n return (\n \n );\n}\n\nIndeterminateCheckbox.defaultProps = {\n useIndeterminateBehavior: useIndeterminateCheckbox,\n};\n\nIndeterminateCheckbox.propTypes = {\n values: PropTypes.arrayOf(PropTypes.bool).isRequired,\n className: PropTypes.string,\n useIndeterminateBehavior: PropTypes.func,\n};\n\nexport default IndeterminateCheckbox;\n","import { useLayoutEffect, useState } from 'react';\n\nexport default function useIndeterminateCheckbox(values = []) {\n const [isIndeterminate, setIsIndeterminate] = useState(false);\n const [isChecked, setIsChecked] = useState(false);\n\n useLayoutEffect(() => {\n const truthyValuesCount = values.filter(value => value).length;\n const newValue = truthyValuesCount && truthyValuesCount !== values.length;\n\n setIsIndeterminate(Boolean(newValue));\n setIsChecked(Boolean(truthyValuesCount));\n }, values);\n\n return { isChecked, isIndeterminate };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Checkbox from '../Checkbox';\n\nimport styles from './styles.module.scss';\n\nfunction CheckboxButton({\n onChange,\n isChecked,\n isDisabled,\n label,\n className,\n ...restProps\n}) {\n return (\n \n );\n}\n\nCheckboxButton.propTypes = {\n onChange: PropTypes.func.isRequired,\n isChecked: PropTypes.bool.isRequired,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n isDisabled: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default CheckboxButton;\n","import IndeterminateCheckbox from './components/IndeterminateCheckbox';\nimport CheckboxButton from './components/CheckboxButton';\nimport Checkbox from './components/Checkbox';\n\nexport { CheckboxButton, IndeterminateCheckbox };\nexport default Checkbox;\n","import React from 'react';\n\nexport const AdvancedSearchContext = React.createContext();\n\nfunction withSearch(Component) {\n return function AdvancedSearchData(props) {\n return (\n \n {contexts => }\n \n );\n };\n}\n\nexport default withSearch;\n","export const RECENT_STATE = 'recent';\nexport const SAVED_STATE = 'saved';\nexport const NEW_STATE = 'new';\n\nexport const MOBILE_SEARCH_PLACEHOLDER = 'Search by a keyword…';\n","import { useEffect, useState } from 'react';\n\nimport {\n NEW_STATE,\n RECENT_STATE,\n SAVED_STATE,\n} from 'components/core/AdvancedSearch/utils/constants';\n\nfunction getIsSaved(type) {\n return type === SAVED_STATE;\n}\n\nfunction getIsRecent(type) {\n return type === RECENT_STATE;\n}\n\nfunction useActiveItem({ isMobile = false, loadSavedSearches, loadRecentSearches }) {\n const [activeBtn, setActiveBtn] = useState(null);\n\n const isSaved = getIsSaved(activeBtn);\n const isRecent = getIsRecent(activeBtn);\n const isNew = activeBtn === NEW_STATE;\n\n useEffect(() => {\n setActiveBtn(RECENT_STATE);\n !isMobile && loadRecentSearches();\n }, []);\n\n useEffect(() => {\n isMobile\n ? setActiveBtn(NEW_STATE)\n : setActiveBtn(RECENT_STATE);\n }, [isMobile]);\n\n const handleClickActiveState = type => () => {\n setActiveBtn(type);\n\n if (loadSavedSearches && getIsSaved(type)) {\n loadSavedSearches();\n } else if (loadRecentSearches && getIsRecent(type)) {\n loadRecentSearches();\n }\n };\n\n return {\n isRecent,\n isNew,\n isSaved,\n activeBtn,\n onChange: handleClickActiveState,\n };\n}\n\nexport default useActiveItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Input from 'components/core/Input';\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\nimport { Disclaimer } from 'components/core/Modal';\nimport useModal from 'components/core/Modal/useModal';\nimport { QuestionMark } from 'components/core/Icons';\n\nimport styles from './styles.module.scss';\n\nfunction SearchInput({\n isMobile,\n className,\n inputProps,\n filterByNode,\n withSearchDisclaimer,\n disclaimerProps,\n}) {\n const { onClearSearch, ...restProps } = inputProps;\n const { isOpenModal, toggleModal } = useModal();\n const modalProps = { ...disclaimerProps, isOpenModal, toggleModal };\n const withDisclaimer = withSearchDisclaimer && !isEmpty(disclaimerProps);\n\n return (\n
\n
\n
\n {!isMobile && (\n
\n \n
\n )}\n\n \n\n {withDisclaimer && (\n <>\n }\n className={styles.disclaimer}\n iconClassName={styles.icon}\n onClick={toggleModal}\n />\n \n \n )}\n\n {inputProps.value && (\n \n \n \n )}\n
\n\n {filterByNode}\n\n {!isMobile && (\n }\n type=\"submit\"\n >\n Hide Advanced Search\n \n )}\n
\n
\n
\n );\n}\n\nSearchInput.defaultProps = {\n withSearchDisclaimer: false,\n disclaimerProps: {},\n};\n\nSearchInput.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n className: PropTypes.string,\n inputProps: PropTypes.shape({\n onClearSearch: PropTypes.func,\n onChange: PropTypes.func,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n }).isRequired,\n filterByNode: PropTypes.node,\n disclaimerProps: PropTypes.object,\n withSearchDisclaimer: PropTypes.bool,\n};\n\nexport default withSearch(SearchInput);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport styles from './styles.module.scss';\n\nfunction Options({ isMobile, displayHeader, optionsNode, title }) {\n if (isEmpty(optionsNode)) {\n return null;\n }\n\n const showHeader = !isMobile && displayHeader;\n\n return (\n <>\n {showHeader && (\n

\n {title}\n

\n )}\n\n
\n {optionsNode}\n
\n \n );\n}\n\nOptions.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n title: PropTypes.string.isRequired,\n displayHeader: PropTypes.bool.isRequired,\n optionsNode: PropTypes.node,\n};\n\nexport default withSearch(Options);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport SearchInput from './SearchInput';\nimport Options from './Options';\n\nfunction OptionsSection({ displaySearchInput }) {\n return (\n
\n {displaySearchInput && }\n \n
\n );\n}\n\nOptionsSection.propTypes = {\n displaySearchInput: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(OptionsSection);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\nimport {\n NEW_STATE,\n RECENT_STATE,\n SAVED_STATE,\n} from 'components/core/AdvancedSearch/utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction TopBar({ isMobile, isNew, isSaved, isRecent, onClick }) {\n const searchLabel = !isMobile && 'Searches';\n\n return (\n \n {isMobile && (\n \n New\n \n )}\n \n Recent {searchLabel}\n \n \n Saved {searchLabel}\n \n \n );\n}\n\nTopBar.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isNew: PropTypes.bool.isRequired,\n isSaved: PropTypes.bool.isRequired,\n isRecent: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nexport default withSearch(TopBar);\n","import { useEffect, useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useModal from 'components/core/Modal/useModal';\n\nfunction useSearchItem({\n activeBtn,\n onClickItem,\n onClearItem,\n onSaveItem,\n onRemoveItem,\n isDirty,\n allowSubmit,\n isSaveNameEnabled,\n onSearch,\n isMobile,\n isClickedItem,\n}) {\n const { isOpenModal, toggleModal } = useModal();\n\n const [selectedItem, setSelectedItem] = useState(null);\n const [selectedItemObject, setSelectedItemObject] = useState(null);\n const [name, setName] = useState('');\n const [nameErrorMessage, setNameErrorMessage] = useState();\n\n useEffect(() => {\n setSelectedItem(null);\n }, [activeBtn]);\n\n useEffect(() => {\n if (isDirty || !allowSubmit) {\n setSelectedItem(null);\n }\n }, [isDirty, allowSubmit]);\n\n useEffect(() => {\n isSaveNameEnabled && setNameErrorMessage(null);\n }, [isOpenModal, isSaveNameEnabled]);\n\n useEffect(() => {\n if (!isDirty && allowSubmit && isClickedItem && isMobile) {\n onSearch && onSearch();\n }\n }, [isDirty, allowSubmit, isClickedItem]);\n\n\n const resetValues = () => {\n setSelectedItem(null);\n setSelectedItemObject(null);\n setName('');\n setNameErrorMessage(null);\n };\n\n const handleClick = (item, index) => (event) => {\n event.stopPropagation();\n setSelectedItem(index);\n\n if (onClickItem) {\n onClickItem(item);\n }\n };\n\n const handleChangeName = (event) => {\n const nameValue = event.target.value;\n setName(nameValue);\n\n if (!isEmpty(nameValue)) {\n setNameErrorMessage('');\n }\n };\n\n const handleSave = (item) => {\n resetValues();\n\n onSaveItem(item);\n };\n\n const handleSaveWithModal = (event) => {\n event.stopPropagation();\n\n if (isEmpty(name)) {\n setNameErrorMessage('Please enter a search name.');\n } else {\n onSaveItem({ ...selectedItemObject, name });\n resetValues();\n toggleModal();\n }\n };\n\n const handleTriggerSave = item => (event) => {\n event.stopPropagation();\n\n if (isSaveNameEnabled) {\n setSelectedItemObject(item);\n\n return toggleModal();\n }\n\n return handleSave(item);\n };\n\n const handleRemove = item => (event) => {\n event.stopPropagation();\n setSelectedItem(null);\n\n onRemoveItem(item);\n };\n\n const handleClear = item => (event) => {\n event.stopPropagation();\n setSelectedItem(null);\n\n onClearItem && onClearItem(item);\n };\n\n return {\n selectedItem,\n nameErrorMessage,\n name,\n isOpenModal,\n toggleModal,\n onClick: handleClick,\n onTriggerSave: handleTriggerSave,\n onSaveWithName: handleSaveWithModal,\n onRemove: handleRemove,\n onClear: handleClear,\n onChangeName: handleChangeName,\n };\n}\n\nexport default useSearchItem;\n","import { map, isEmpty } from 'lodash';\n\nimport { joinCompact } from 'utils/string';\n\nfunction buildLabel(items) {\n return !isEmpty(items) && joinCompact(map(items, 'label'));\n}\n\nexport function getFilterLabels(filters) {\n const transformedFilters = map(filters, ((filter) => {\n const { label, value } = filter;\n\n if (isEmpty(value)) {\n return null;\n }\n\n const formattedValue = typeof value !== 'string' ? buildLabel(value) : value;\n\n return `${label}: ${formattedValue}`;\n }));\n\n return joinCompact(transformedFilters, '; ');\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport { getFilterLabels } from '../../utils';\n\nimport styles from './styles.module.scss';\n\nfunction ItemInfo({ isPresentShowMore, title, filters }) {\n const filterLabels = getFilterLabels(filters);\n const [isOpen, setIsOpen] = useState(false);\n const maxLength = 85;\n const withShowMore = isPresentShowMore && filterLabels.length > maxLength;\n\n function handleShowToggle(event) {\n event.stopPropagation();\n setIsOpen(!isOpen);\n }\n\n return (\n
\n {title &&

{title}

}\n
\n {filters && (\n \n {(!withShowMore || isOpen) ? filterLabels : `${filterLabels.slice(0, maxLength)}...`}\n \n )}\n {withShowMore && (\n \n Show { isOpen ? 'less' : 'more' }\n \n )}\n
\n
\n );\n}\n\nItemInfo.defaultProps = {\n isPresentShowMore: true,\n};\n\nItemInfo.propTypes = {\n isPresentShowMore: PropTypes.bool,\n title: PropTypes.string,\n filters: PropTypes.array,\n};\n\nexport default ItemInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport styles from '../styles.module.scss';\n\nfunction ItemActions({ isRecent, item, onSave, onRemove }) {\n const buttonProps = {\n theme: 'light',\n className: styles.btn,\n };\n\n if (isRecent) {\n return (\n \n );\n }\n\n return (\n \n );\n}\n\nItemActions.propTypes = {\n isRecent: PropTypes.bool.isRequired,\n item: PropTypes.object.isRequired,\n onSave: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n};\n\nexport default withSearch(ItemActions);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Paginator from 'components/core/Paginator';\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport styles from '../styles.module.scss';\n\nfunction SearchesPaginator({ isMobile, isSaved, isLoading, paginatorSaved, isLoadingSearches }) {\n if (!isSaved) {\n return null;\n }\n\n if (isEmpty(paginatorSaved)) {\n return null;\n }\n\n const {\n current,\n total,\n onChangeSavedPage,\n perPage,\n totalCount,\n } = paginatorSaved;\n\n if (current === 1 && total === 1) {\n return null;\n }\n\n return (\n \n );\n}\n\nSearchesPaginator.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool,\n isSaved: PropTypes.bool.isRequired,\n paginatorSaved: PropTypes.object,\n isLoadingSearches: PropTypes.bool,\n};\n\nexport default withSearch(SearchesPaginator);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\nimport Input from 'components/core/Input';\nimport Label from 'components/core/Label';\n\nimport useSearchItem from '../utils/useSearchItem';\nimport ItemInfo from './ItemInfo';\nimport ItemActions from './ItemActions';\nimport SearchesPaginator from './SearchesPaginator';\nimport Placeholder from './Placeholder';\nimport styles from '../styles.module.scss';\n\nfunction ListItems({\n isRecent,\n isSaved,\n activeBtn,\n isLoadingSearches,\n items,\n onClickItem,\n onSaveItem,\n onClearItem,\n onRemoveItem,\n isDirty,\n allowSubmit,\n isSaveNameEnabled,\n onSearch,\n isMobile,\n isClickedItem,\n}) {\n const {\n selectedItem,\n name,\n onClick,\n onClear,\n onTriggerSave,\n onSaveWithName,\n onRemove,\n onChangeName,\n isOpenModal,\n toggleModal,\n nameErrorMessage,\n } = useSearchItem({\n activeBtn,\n onClickItem,\n onRemoveItem,\n onSaveItem,\n onClearItem,\n isDirty,\n allowSubmit,\n isSaveNameEnabled,\n onSearch,\n isMobile,\n isClickedItem,\n });\n\n if (isLoadingSearches) {\n return ;\n }\n\n if (isEmpty(items)) {\n const emptySavedMessage = (\n \n You haven’t saved any searches yet.
\n Press ‘Save’ on a recently searched item to store your search.\n
\n );\n\n return (\n

\n {isRecent\n ? 'No recent searches to show.'\n : emptySavedMessage\n }\n

\n );\n }\n\n const saveSearchActions = (\n \n \n Cancel\n \n\n \n Save\n \n \n );\n\n const testClassName = isRecent ? 'search__list-recent' : 'search__list-saved';\n\n return (\n
\n
    \n {items.map((item, index) => {\n const isSelected = selectedItem === index;\n const listClass = classNames(\n styles.listItem,\n styles.btnWrap,\n isSelected && styles.selectedItem,\n );\n\n if (isEmpty(item.filters)) {\n return null;\n }\n\n return (\n \n \n\n \n \n );\n })}\n\n
  • \n \n
  • \n
\n\n {isSaveNameEnabled && (\n \n \n \n \n )}\n
\n );\n}\n\nListItems.defaultProps = {\n isSaveNameEnabled: false,\n};\n\nListItems.propTypes = {\n isSaveNameEnabled: PropTypes.bool,\n isRecent: PropTypes.bool.isRequired,\n isSaved: PropTypes.bool.isRequired,\n isDirty: PropTypes.bool.isRequired,\n allowSubmit: PropTypes.bool,\n activeBtn: PropTypes.string,\n isLoadingSearches: PropTypes.bool.isRequired,\n onClickItem: PropTypes.func,\n onSaveItem: PropTypes.func.isRequired,\n onClearItem: PropTypes.func,\n onRemoveItem: PropTypes.func,\n items: PropTypes.array,\n onSearch: PropTypes.func,\n isMobile: PropTypes.bool.isRequired,\n isClickedItem: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(ListItems);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport useActiveItem from 'components/core/AdvancedSearch/utils/useActiveItem';\n\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\nimport OptionsSection from '../OptionsSection';\nimport TopBar from './components/TopBar';\nimport ListItems from './components/ListItems';\nimport styles from './styles.module.scss';\n\nfunction ListSearches({\n isMobile,\n savedItems,\n recentItems,\n onSearch,\n onClearAll,\n loadSavedSearches,\n loadRecentSearches,\n isDirty,\n allowSubmit,\n isClickedItem,\n}) {\n const {\n isNew,\n isRecent,\n isSaved,\n activeBtn,\n onChange,\n } = useActiveItem({ isMobile, loadSavedSearches, loadRecentSearches, onClearAll });\n\n const showClearAll = allowSubmit && !!onClearAll;\n const showSearch = !!onSearch;\n\n function renderList() {\n if (isMobile && isNew) {\n return (\n
\n \n
\n {showClearAll && (\n \n Clear All\n \n )}\n {showSearch && (\n \n Search\n \n )}\n
\n
\n );\n }\n\n return (\n \n );\n }\n\n return (\n
\n \n\n {renderList()}\n
\n );\n}\n\nListSearches.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n savedItems: PropTypes.array.isRequired,\n recentItems: PropTypes.array.isRequired,\n onSearch: PropTypes.func,\n onClearAll: PropTypes.func,\n loadSavedSearches: PropTypes.func.isRequired,\n loadRecentSearches: PropTypes.func.isRequired,\n isDirty: PropTypes.bool.isRequired,\n allowSubmit: PropTypes.bool.isRequired,\n isClickedItem: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(ListSearches);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport styles from './styles.module.scss';\n\nfunction FooterActions({ onClearAll, isDisplayedOnCancel, onCancel, onSearch, allowSubmit }) {\n const showClearAll = allowSubmit;\n const showCancel = !!onCancel && isDisplayedOnCancel;\n const showSearch = !!onSearch;\n\n const nothingToShow = !(showClearAll || showCancel || showSearch);\n\n if (nothingToShow) {\n return null;\n }\n\n return (\n
\n {showClearAll && (\n \n Clear All\n \n )}\n\n {showCancel && (\n \n Cancel\n \n )}\n\n {showSearch && (\n \n Search\n \n )}\n
\n );\n}\n\nFooterActions.defaultProps = {\n isDisplayedOnCancel: true,\n};\n\nFooterActions.propTypes = {\n isDisplayedOnCancel: PropTypes.bool,\n allowSubmit: PropTypes.bool.isRequired,\n onCancel: PropTypes.func,\n onClearAll: PropTypes.func.isRequired,\n onSearch: PropTypes.func,\n};\n\nexport default withSearch(FooterActions);\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport ListSearches from './ListSearches';\nimport OptionsSection from './OptionsSection';\nimport FooterActions from './FooterActions';\nimport styles from '../styles.module.scss';\n\nfunction DesktopView({ optionsClassName, searchesClassName, onSearch }) {\n const onSubmit = (event) => {\n event.preventDefault();\n onSearch && onSearch();\n };\n\n return (\n
\n
\n
\n \n
\n\n
\n \n
\n
\n\n \n \n );\n}\n\nDesktopView.propTypes = {\n optionsClassName: PropTypes.string,\n searchesClassName: PropTypes.string,\n onSearch: PropTypes.func.isRequired,\n};\n\nexport default withSearch(DesktopView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/AdvancedSearch/utils/withSearch';\n\nimport ListSearches from '../ListSearches';\nimport styles from './styles.module.scss';\n\nfunction MobileView({ onCancel, displayHeader, title }) {\n return (\n
\n {displayHeader && (\n
\n

{title}

\n\n \n \n \n
\n )}\n\n \n
\n );\n}\n\nMobileView.propTypes = {\n onCancel: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n displayHeader: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(MobileView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEqual, sortBy, isEmpty, includes } from 'lodash';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport useCheckedItems from 'components/core/AdvancedSearch/utils/useCheckedItems';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport Label from 'components/core/Label';\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\n\nimport styles from './styles.module.scss';\n\nfunction BaseLabelGroup({\n id,\n value,\n onChange,\n className,\n labelGroupClassName,\n title,\n placeholder,\n values,\n name,\n withSelectAll,\n renderCustomWhenSelected,\n disabledValues,\n disabledMessage,\n}) {\n const valueKeys = Object.keys(values);\n const { checkedItems, onCheck, onCheckAll } = useCheckedItems(id, value, onChange, valueKeys);\n\n function renderSelectAll() {\n if (!withSelectAll) {\n return null;\n }\n\n return (\n \n );\n }\n\n function renderCustomCheckItem() {\n if (isEmpty(checkedItems) || !renderCustomWhenSelected) {\n return null;\n }\n\n return renderCustomWhenSelected();\n }\n\n function checkBoxItem(key) {\n const itemDisabled = !isEmpty(disabledValues) && includes(disabledValues, key);\n\n return (\n
\n \n {\n itemDisabled ? (\n \n \n \n ) : null\n }\n
\n );\n }\n\n return (\n
\n \n {placeholder}\n\n \n {renderSelectAll()}\n {valueKeys.map(key => checkBoxItem(key))}\n \n\n {renderCustomCheckItem()}\n
\n );\n}\n\nBaseLabelGroup.defaultProps = {\n withSelectAll: false,\n};\n\nBaseLabelGroup.propTypes = {\n id: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n ]).isRequired,\n onChange: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n className: PropTypes.string,\n labelGroupClassName: PropTypes.string,\n placeholder: PropTypes.string,\n withSelectAll: PropTypes.bool,\n values: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n ]).isRequired,\n name: PropTypes.string.isRequired,\n renderCustomWhenSelected: PropTypes.func,\n disabledValues: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n ]),\n disabledMessage: PropTypes.string,\n};\n\nexport default BaseLabelGroup;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nfunction BaseButtonGroup({\n id,\n value,\n onChange,\n className,\n title,\n placeholder,\n questionText,\n data,\n}) {\n function handleButtonClick(props) {\n return () => onChange(props);\n }\n\n function renderActiveContent() {\n const filteredItem = data.find(({ value: dataValue }) => dataValue === value) || {};\n\n return filteredItem.content;\n }\n\n const renderComponent = () => (\n \n \n {data.map(({ label, value: dataValue }, index) => (\n \n {label}\n \n ))}\n \n\n {renderActiveContent()}\n \n );\n\n return (\n \n );\n}\n\nBaseButtonGroup.propTypes = {\n id: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n ]).isRequired,\n onChange: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n questionText: PropTypes.string,\n data: PropTypes.array.isRequired,\n};\n\nexport default BaseButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport moment from 'moment';\n\nimport Input from 'components/core/Input';\nimport DateRange from 'components/core/DateRange';\n\nimport BaseOption from '../BaseOption';\nimport styles from './styles.module.scss';\n\nfunction BaseRange({\n title,\n placeholder,\n questionText,\n className,\n isDateRange,\n dateFormat,\n showMonthDropdown,\n showYearDropdown,\n start,\n end,\n onChangeStart,\n onChangeEnd,\n ...restProps\n}) {\n function formatToMoment(date) {\n return date && moment(date);\n }\n\n function renderComponent() {\n if (isDateRange) {\n return (\n \n );\n }\n\n return (\n
\n \n to\n \n
\n );\n }\n\n return (\n \n );\n}\n\nBaseRange.defaultProps = {\n isDateRange: false,\n};\n\nBaseRange.propTypes = {\n title: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n questionText: PropTypes.string,\n className: PropTypes.string,\n isDateRange: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n start: PropTypes.oneOfType([\n PropTypes.object, PropTypes.number, PropTypes.string,\n ]),\n end: PropTypes.oneOfType([\n PropTypes.object, PropTypes.number, PropTypes.string,\n ]),\n onChangeStart: PropTypes.func,\n onChangeEnd: PropTypes.func,\n dateFormat: PropTypes.string,\n};\n\nexport default BaseRange;\n","import React, { Fragment, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, isEqual, sortBy, snakeCase } from 'lodash';\n\nimport useCheckedItems from 'components/core/AdvancedSearch/utils/useCheckedItems';\nimport Label from 'components/core/Label';\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nfunction BaseLabelGroup({\n id,\n value,\n onChange,\n className,\n title,\n placeholder,\n values,\n name,\n withSelectAll,\n titles,\n reqTransform,\n}) {\n const [error, setError] = useState({});\n const valuesKeys = Object.keys(values);\n const valueKeys = Object.keys(value);\n\n function handleErrorMessage(key, data) {\n const message = isEmpty(data) ? 'This field is required' : '';\n\n setError(prevProps => ({ ...prevProps, [key]: message }));\n }\n\n function handleChangeDataObject(itemId, items, itemValue = []) {\n const data = {};\n\n items.forEach((item) => {\n data[item] = !isEmpty(value[item]) ? value[item] : itemValue;\n });\n\n onChange(itemId, data);\n setError({});\n }\n\n function handleChangeInput(key) {\n return (data) => {\n value[key] = data;\n\n onChange(id, value);\n handleErrorMessage(key, data);\n };\n }\n\n const { checkedItems, onCheck, onCheckAll } = useCheckedItems(\n id,\n valueKeys,\n handleChangeDataObject,\n valuesKeys\n );\n\n function renderBaseOption(key) {\n const onBlur = () => handleErrorMessage(key, value[key]);\n\n return (\n \n \n \n \n );\n }\n\n return (\n
\n \n {placeholder}\n\n \n {withSelectAll && (\n \n )}\n\n {valuesKeys.map(key => (\n
\n \n\n {checkedItems.includes(key) && renderBaseOption(key)}\n
\n ))}\n
\n
\n );\n}\n\nBaseLabelGroup.defaultProps = {\n withSelectAll: false,\n};\n\nBaseLabelGroup.propTypes = {\n id: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n ]).isRequired,\n onChange: PropTypes.func.isRequired,\n title: PropTypes.string,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n withSelectAll: PropTypes.bool,\n titles: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n ]).isRequired,\n values: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n ]).isRequired,\n name: PropTypes.string.isRequired,\n reqTransform: PropTypes.func,\n};\n\nexport default BaseLabelGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { AdvancedSearchContext } from './utils/withSearch';\nimport DesktopView from './components/DesktopView';\nimport MobileView from './components/MobileView';\nimport BaseLabelGroup from './components/Options/components/BaseLabelGroup';\nimport BaseOption from './components/Options/components/BaseOption';\nimport BaseButtonGroup from './components/Options/components/BaseButtonGroup';\nimport BaseRange from './components/Options/components/BaseRange';\nimport BaseLabelInputGroup from './components/Options/components/BaseLabelInputGroup';\n\nimport { MOBILE_SEARCH_PLACEHOLDER } from './utils/constants';\n\nfunction AdvancedSearch({\n searchValue,\n onChangeSearchValue,\n paginatorSaved,\n onChangeSavedPage,\n onClearSearch,\n searchPlaceholder,\n ...restProps\n}) {\n const { isDesktop } = useMediaQuery();\n\n const advancedSearchContext = {\n ...restProps,\n isMobile: !isDesktop,\n inputProps: {\n value: searchValue,\n onChange: onChangeSearchValue,\n placeholder: !isDesktop ? MOBILE_SEARCH_PLACEHOLDER : searchPlaceholder,\n onClearSearch,\n },\n ...(!isEmpty(paginatorSaved) && {\n paginatorSaved: {\n ...paginatorSaved,\n onChangeSavedPage,\n },\n }),\n };\n\n return (\n \n {isDesktop ? : }\n \n );\n}\n\nAdvancedSearch.defaultProps = {\n paginatorSaved: {\n current: 1,\n total: 1,\n },\n title: 'Advanced Search',\n searchValue: '',\n displayHeader: true,\n displaySearchInput: true,\n allowSubmit: false,\n isClickedItem: false,\n isDirty: false,\n};\n\nAdvancedSearch.propTypes = {\n optionsNode: PropTypes.node,\n searchValue: PropTypes.string,\n filterByNode: PropTypes.object,\n isLoadingSearches: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n paginatorSaved: PropTypes.object,\n isDirty: PropTypes.bool,\n allowSubmit: PropTypes.bool,\n onChangeSearchValue: PropTypes.func,\n onClearSearch: PropTypes.func,\n savedItems: PropTypes.array,\n recentItems: PropTypes.array,\n loadSavedSearches: PropTypes.func.isRequired,\n loadRecentSearches: PropTypes.func.isRequired,\n onSaveItem: PropTypes.func.isRequired,\n onRemoveItem: PropTypes.func.isRequired,\n onClearItem: PropTypes.func,\n onClearAll: PropTypes.func,\n onClickItem: PropTypes.func,\n onChangeSavedPage: PropTypes.func,\n onCancel: PropTypes.func,\n onSearch: PropTypes.func,\n isDisplayedOnCancel: PropTypes.bool,\n isPresentShowMore: PropTypes.bool,\n isSaveNameEnabled: PropTypes.bool,\n displayHeader: PropTypes.bool,\n isClickedItem: PropTypes.bool,\n displaySearchInput: PropTypes.bool,\n title: PropTypes.string,\n optionsClassName: PropTypes.string,\n searchesClassName: PropTypes.string,\n};\n\nexport default AdvancedSearch;\nexport { BaseLabelGroup, BaseOption, BaseButtonGroup, BaseRange, BaseLabelInputGroup };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Checkbox from 'components/core/Checkbox';\nimport TextPlaceholder from 'components/core/Placeholder/components/Text';\n\nimport styles from './styles.module.scss';\n\nfunction HeaderPlaceholder({ isCheckboxPresent, colSpan, forwardRef, isFixed }) {\n /** Fix uncontrolled input error for placeholder */\n function handleChange() {}\n\n return (\n \n \n {isCheckboxPresent && (\n \n
\n \n
\n \n )}\n\n \n \n \n \n \n );\n}\n\nHeaderPlaceholder.propTypes = {\n isCheckboxPresent: PropTypes.bool.isRequired,\n isFixed: PropTypes.bool.isRequired,\n colSpan: PropTypes.number.isRequired,\n forwardRef: PropTypes.object.isRequired,\n};\n\nexport default HeaderPlaceholder;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Checkbox from 'components/core/Checkbox';\n\nimport HeaderPlaceholder from '../Placeholder/HeaderPlaceholder';\nimport styles from '../../styles.module.scss';\nimport Tooltip from './components/Tooltip';\n\nconst sortIcon = {\n asc: 'fa-arrow-up',\n desc: 'fa-arrow-down',\n no: 'fa-sort',\n};\n/**\n * Table columns header\n */\nexport default function Header({\n isInitialLoading,\n isLoading,\n isFixed,\n isCheckboxPresent,\n isRadioButtonPresent,\n sortDirection,\n sortColumn,\n selectAll,\n onSelectAll,\n columns,\n onSort,\n headerRef,\n}) {\n const getKey = index => `th-${index}`;\n function iconClass(column) {\n const icon = sortColumn === column ? sortIcon[sortDirection] : sortIcon.no;\n return classNames(styles.sortIcon, `fa ${icon}`);\n }\n\n function handleSelectAll() {\n const isSelectAll = !selectAll;\n onSelectAll(isSelectAll);\n }\n\n function isSortable(sortingKey) {\n return !isEmpty(sortingKey) && onSort;\n }\n\n function handleOnSort({ sortingKey }) {\n return () => {\n if (!sortingKey || !onSort) {\n return;\n }\n onSort(sortingKey);\n };\n }\n\n function renderHeaderTitle(column) {\n const { sortingKey, label, tooltipContent } = column;\n\n if (!isSortable(sortingKey)) {\n return (\n
\n {label}\n {tooltipContent && }\n
\n );\n }\n\n return (\n \n {label}\n {tooltipContent && }\n \n \n );\n }\n\n // table headers\n const headers = columns.map((column, index) => (\n \n \n {column.label}  \n \n
\n {renderHeaderTitle(column)}\n
\n \n ));\n\n if (isLoading || isInitialLoading) {\n return (\n \n );\n }\n\n return (\n \n \n {isCheckboxPresent && (\n \n
\n \n
\n \n )}\n {isRadioButtonPresent && }\n {headers}\n \n \n );\n}\n\nconst columnShape = PropTypes.shape({\n label: PropTypes.string,\n keyName: PropTypes.string.isRequired,\n});\n\nHeader.propTypes = {\n isInitialLoading: PropTypes.bool,\n isLoading: PropTypes.bool,\n isCheckboxPresent: PropTypes.bool.isRequired,\n selectAll: PropTypes.bool,\n isRadioButtonPresent: PropTypes.bool.isRequired,\n onSelectAll: PropTypes.func.isRequired,\n columns: PropTypes.arrayOf(columnShape),\n onSort: PropTypes.func,\n sortDirection: PropTypes.string,\n sortColumn: PropTypes.string,\n headerRef: PropTypes.object,\n isFixed: PropTypes.bool,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from '../styles.module.scss';\n\nexport default function EmptyMessage({ isMobile, query }) {\n const notFoundText = `No dimension named, '${query}' found.`;\n const customFieldsIcon = \"Custom;\n\n if (isMobile) {\n return (\n
\n {notFoundText}\n
\n );\n }\n\n return (\n
\n {notFoundText}\n

Click the {customFieldsIcon} icon to manage your Custom Fields.

\n
\n );\n}\n\nEmptyMessage.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n query: PropTypes.string,\n};\n","import React from 'react';\n\nimport Link from 'components/core/Link';\n\nimport styles from '../styles.module.scss';\n\nexport default function CustomFieldsIcon() {\n const customFieldsUrl = '/custom_fields';\n\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Tabs, { Tab } from 'components/core/Tabs';\nimport ResponsiveTooltipContainer from 'components/core/Tooltip/components/ResponsiveTooltipContainer';\nimport SearchableCheckboxGroup from 'components/core/Checkbox/components/SearchableCheckboxGroup';\nimport Title from './components/Title';\nimport EmptyMessage from './components/EmptyMessage';\nimport CustomFieldsIcon from './components/CustomFieldsIcon';\nimport styles from './styles.module.scss';\n\nexport default function Dimensions({\n hidden,\n visibleColumns,\n columns,\n onClose,\n onToggle,\n isMobile,\n}) {\n const dimensionTypes = [...new Set(columns.map(column => column.dimensionType))];\n\n function handleColumnToggle(keyName) {\n onToggle(keyName, !hidden[keyName]);\n }\n\n function renderTab(dimensionType, index) {\n function renderNoResultsPlaceholder(query) {\n return ;\n }\n\n const checkedItems = !isEmpty(visibleColumns) ? visibleColumns.map(({ keyName }) => keyName) : [];\n const tabOptions =\n columns.filter(option => option.dimensionType === dimensionType);\n\n return (\n \n \n \n );\n }\n\n return (\n \n \n <Tabs\n className={styles.tabsContainer}\n tabContentClassName={styles.tabContent}\n sideContent={!isMobile && <CustomFieldsIcon />}\n mobileLayout=\"tabs\"\n >\n {dimensionTypes.map(renderTab)}\n </Tabs>\n {!isMobile && (<div className={styles.footer} />)}\n </ResponsiveTooltipContainer>\n );\n}\n\nconst columnShape = PropTypes.shape({\n label: PropTypes.string.isRequired,\n keyName: PropTypes.string.isRequired,\n});\n\nDimensions.propTypes = {\n onClose: PropTypes.func,\n visibleColumns: PropTypes.array,\n columns: PropTypes.arrayOf(columnShape).isRequired,\n onToggle: PropTypes.func,\n hidden: PropTypes.object,\n isMobile: PropTypes.bool.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Checkbox from 'components/core/Checkbox';\nimport TextPlaceholder from 'components/core/Placeholder/components/Text';\n\nimport parentStyles from '../../styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction BodyPlaceholder({ rowLengthPlaceholder, columnLength, isCheckboxPresent }) {\n const placeholderColumnsLength = columnLength > 12 ? 12 : columnLength;\n /** Fix uncontrolled input error for placeholder */\n function handleChange() {}\n\n return (\n <tbody>\n {Array(rowLengthPlaceholder).fill(0).map((item, rowIndex) => (\n <tr key={`row-${rowIndex}`}>\n\n {isCheckboxPresent && (\n <td className={parentStyles.checkboxWidth} key={`selection-column-${rowIndex}`}>\n <Checkbox className={parentStyles.checkbox} onChange={handleChange} />\n </td>\n )}\n\n {Array(placeholderColumnsLength).fill(0).map((_, index) => (\n <td key={`item-${index}`} className={styles.tableCell}>\n <TextPlaceholder className={parentStyles.textPlaceholder} />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n );\n}\n\nBodyPlaceholder.defaultProps = {\n rowLengthPlaceholder: 18,\n};\n\nBodyPlaceholder.propTypes = {\n columnLength: PropTypes.number.isRequired,\n rowLengthPlaceholder: PropTypes.number,\n isCheckboxPresent: PropTypes.bool,\n};\n\nexport default BodyPlaceholder;\n","import { useState } from 'react';\n\nfunction useExpander() {\n const [expandedRows, setExpandedRows] = useState({});\n\n const toggleRow = rowId => () => {\n setExpandedRows({\n ...expandedRows,\n [rowId]: !expandedRows[rowId],\n });\n };\n\n const isRowExpanded = rowId => !!expandedRows[rowId];\n\n return {\n toggleRow,\n isRowExpanded,\n };\n}\n\nexport default useExpander;\n","/* eslint-disable react/no-array-index-key */\nimport React, { Children, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport { Draggable } from 'react-beautiful-dnd';\n\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport Checkbox from 'components/core/Checkbox';\nimport RadioBox from 'components/core/RadioBox';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport { DimensionLockingContext } from '../../utils/withDimensionLocking';\nimport BodyPlaceholder from '../Placeholder/BodyPlaceholder';\nimport useExpander from './useExpander';\nimport styles from '../../styles.module.scss';\n\n/**\n * Clone a child element of type Column to repeat on every row in the table\n * @param {Column} child child to use as base\n * @param value value to be shown\n * @param item entire item (row)\n * @param cellIndex current cell index\n * @param rowIndex current row index\n * @param uniqueKey item unique identifier\n * @param emptyValuePlaceholder\n * @param isRowExpanded\n * @param toggleRow\n */\nfunction cloneChild({\n child,\n value,\n item,\n cellIndex,\n rowIndex,\n uniqueKey,\n emptyValuePlaceholder,\n isRowExpanded,\n toggleRow,\n dragHandleProps,\n isDragging,\n withDragNDrop,\n}) {\n return (\n <DimensionLockingContext.Provider\n key={`${item[uniqueKey]}-${rowIndex}-${cellIndex}`}\n value={{ isDragging, withDragNDrop }}\n >\n {\n React.cloneElement(child, {\n ...child.props,\n value: value || emptyValuePlaceholder,\n item,\n isRowExpanded,\n toggleRow,\n dragHandleProps,\n rowIndex,\n })\n }\n </DimensionLockingContext.Provider>\n );\n}\n\nexport default function Body({\n isInitialLoading,\n isLoading,\n rowLengthPlaceholder,\n data,\n isCheckboxPresent,\n isRadioButtonPresent,\n selectedRadioButton,\n onRadioButtonChange,\n columnLength,\n children,\n uniqueKey,\n checkboxesMapping,\n onRowCheckChange,\n customEmptyMessage,\n emptyValuePlaceholder,\n renderExpandedRow,\n isSelectNonePresent,\n fixedEmptyMessage,\n droppablePlaceholder,\n isDroppingDisabled,\n withDragNDrop,\n}) {\n const { toggleRow, isRowExpanded } = useExpander();\n const colSpanLength = (isCheckboxPresent || isRadioButtonPresent) ? columnLength + 1 : columnLength;\n\n if (isLoading) {\n return (\n <BodyPlaceholder\n rowLengthPlaceholder={rowLengthPlaceholder}\n isInitialLoading={isInitialLoading}\n isCheckboxPresent={isCheckboxPresent}\n columnLength={columnLength}\n />\n );\n }\n\n if (!data || (data && data.length === 0)) {\n const tdStyle = classNames(fixedEmptyMessage && styles.fixedMessage);\n\n return (\n <tbody className={styles.emptyMsg}>\n <tr>\n <td\n colSpan={colSpanLength}\n className={tdStyle}\n >\n <EmptyPlaceholder description={customEmptyMessage} />\n </td>\n </tr>\n </tbody>\n );\n }\n\n function renderSelectNoneRow() {\n return (\n <tr>\n <td key={`selection-column-${data.length}`}>\n <div className={styles.radioWrapper}>\n <RadioBox\n checked={isEmpty(selectedRadioButton)}\n onChange={() => onRadioButtonChange('')}\n />\n </div>\n </td>\n <td className={styles.selectNone} colSpan={colSpanLength}>\n Select none of these\n </td>\n </tr>\n );\n }\n\n return (\n <tbody>\n {data.map((item, rowIndex) => (\n <Fragment key={item[uniqueKey]}>\n <Draggable draggableId={String(item[uniqueKey])} index={rowIndex} isDragDisabled={isDroppingDisabled}>\n {(provided, snapshot) => (\n <tr\n key={`row-${item[uniqueKey]}`}\n ref={provided.innerRef}\n className={classNames(!isDroppingDisabled && snapshot.isDragging && styles.isDragging)}\n {...provided.draggableProps}\n >\n {isCheckboxPresent && (\n <td key={`selection-column-${item[uniqueKey]}`}>\n <Checkbox\n className={styles.checkbox}\n isChecked={!!checkboxesMapping[item[uniqueKey]]}\n onChange={() => onRowCheckChange(item)}\n />\n </td>\n )}\n\n {isRadioButtonPresent && (\n <td key={`selection-column-${item[uniqueKey]}`}>\n <div className={styles.radioWrapper}>\n <RadioBox\n checked={String(item[uniqueKey]) === selectedRadioButton}\n onChange={() => onRadioButtonChange(item[uniqueKey])}\n />\n </div>\n </td>\n )}\n\n {\n Children.toArray(children).map((child, cellIndex) => cloneChild({\n child,\n item,\n cellIndex,\n rowIndex,\n uniqueKey,\n emptyValuePlaceholder,\n value: item[child.props.keyName],\n isRowExpanded: isRowExpanded(item[uniqueKey]),\n toggleRow: toggleRow(item[uniqueKey]),\n dragHandleProps: provided.dragHandleProps,\n isDragging: snapshot.isDragging,\n withDragNDrop,\n }))\n }\n </tr>\n )}\n </Draggable>\n {renderExpandedRow && isRowExpanded(item[uniqueKey]) && renderExpandedRow({\n ...item,\n isCheckboxPresent,\n checkboxesMapping,\n onRowCheckChange,\n uniqueKey,\n })}\n </Fragment>\n ))}\n {isRadioButtonPresent && isSelectNonePresent && renderSelectNoneRow()}\n {droppablePlaceholder}\n </tbody>\n );\n}\n\nBody.defaultProps = {\n columnLength: 1,\n customEmptyMessage: 'There are no results that match the applied filters.',\n emptyValuePlaceholder: EMPTY_VALUE,\n fixedEmptyMessage: false,\n};\n\nBody.propTypes = {\n isInitialLoading: PropTypes.bool,\n isLoading: PropTypes.bool,\n rowLengthPlaceholder: PropTypes.number,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n [PropTypes.string]: PropTypes.node,\n })\n ).isRequired,\n isCheckboxPresent: PropTypes.bool.isRequired,\n isRadioButtonPresent: PropTypes.bool.isRequired,\n isSelectNonePresent: PropTypes.bool.isRequired,\n selectedRadioButton: PropTypes.string,\n onRadioButtonChange: PropTypes.func,\n columnLength: PropTypes.number,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.element).isRequired,\n PropTypes.element.isRequired,\n ]),\n uniqueKey: PropTypes.string.isRequired,\n checkboxesMapping: PropTypes.shape({\n [PropTypes.oneOfType([PropTypes.string, PropTypes.number])]: PropTypes.bool,\n }).isRequired,\n onRowCheckChange: PropTypes.func.isRequired,\n customEmptyMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node,\n ]),\n emptyValuePlaceholder: PropTypes.node,\n renderExpandedRow: PropTypes.func,\n fixedEmptyMessage: PropTypes.bool,\n droppablePlaceholder: PropTypes.node,\n isDroppingDisabled: PropTypes.bool.isRequired,\n withDragNDrop: PropTypes.bool.isRequired,\n};\n","export const headerMobileHeight = 124;\nexport const headerDesktopHeight = 126;\nexport const tableHeaderHeight = 38;\nexport const navigationHeight = 60;\nexport const actionBarMobileHeight = 47;\nexport const actionBarDesktopHeight = 68;\nexport const productBarHeight = 35;\nexport const paginatorHeight = 75;\nexport const scrollbarHeight = 9;\nexport const scrollbarHeightMobile = 48;\n","/* eslint-disable react/no-did-update-set-state */\n\nimport React, { Component, Children, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport { DragDropContext, Droppable } from 'react-beautiful-dnd';\n\nimport Tooltip from 'components/core/Tooltip';\nimport { ContextualMenu } from 'components/core/Icons';\nimport getDesktopNavBarHeight from 'utils/breakpoints/getDesktopNavBarHeight';\nimport { canRenderTopBar } from 'components/core/ProductBar/utils';\n\nimport Header from './components/Header';\nimport Dimensions from './components/Dimensions';\nimport Body from './components/Body';\nimport Column from './components/Column';\nimport {\n headerMobileHeight,\n headerDesktopHeight,\n navigationHeight,\n actionBarMobileHeight,\n actionBarDesktopHeight,\n paginatorHeight,\n tableHeaderHeight,\n scrollbarHeight,\n scrollbarHeightMobile,\n productBarHeight,\n} from './utils/constants';\nimport styles from './styles.module.scss';\n\nconst themes = {\n default: styles.default,\n light: styles.light,\n};\n\nconst MOBILE_HEIGHT_OFFSET = 26;\n\n/* IMPORTANT: In order to use the table with drag n drop enable\n* you must provide a onDragEnd fn along with a DraggableItem\n* or another custom column to receive the dragHandleProps\n*/\nexport default class Container extends Component {\n constructor(props) {\n super(props);\n\n this.handleResize = this.handleResize.bind(this);\n\n this.state = {\n offsetHeight: this.checkFixedTableOffsetHeight(),\n checkboxesMapping: {},\n selectAll: false,\n isDimensionsOpen: false,\n selectedRadioButton: '',\n windowInnerHeight: window.innerHeight,\n };\n }\n\n tooltipRef = createRef();\n\n headerRef = React.createRef();\n\n tableRef = React.createRef();\n\n tableWrapperRef = React.createRef();\n\n componentWillReceiveProps = (nextProps) => {\n const {\n isScrollToHeader,\n preserveCheckboxes,\n selectedItems,\n data,\n uniqueKey,\n isRadioButtonPresent,\n isCheckboxPresent,\n } = nextProps || {};\n\n const { checkboxesMapping } = this.state;\n\n if (isScrollToHeader) {\n window.scrollTo({\n top: this.tableRef.current.offsetTop,\n behavior: 'smooth',\n });\n }\n\n if (preserveCheckboxes) {\n const checkedItems = this.parseCheckboxesToArray(checkboxesMapping);\n const availableItems = data.map(item => String(item[uniqueKey]));\n const notFit = availableItems.find(item => !checkedItems.includes(item));\n\n this.setState({ selectAll: (notFit === undefined) });\n }\n\n if (isRadioButtonPresent && !isEmpty(selectedItems)) {\n const selectedItem = selectedItems[0];\n\n this.setState({ selectedRadioButton: String(selectedItem[uniqueKey]) });\n }\n\n if (isCheckboxPresent && !isEmpty(selectedItems)) {\n selectedItems.forEach((item) => { checkboxesMapping[item[uniqueKey]] = item; });\n this.setState({ checkboxesMapping });\n }\n\n if (isEmpty(selectedItems)) {\n this.setState({\n checkboxesMapping: {},\n selectedRadioButton: '',\n selectAll: false,\n });\n }\n };\n\n componentDidUpdate(prevProps) {\n const { isFixed, isLoading, fullWidthTable, selectedItems, isDesktopLarge } = this.props;\n\n if (isFixed\n && fullWidthTable\n && (\n isLoading !== prevProps.isLoading\n || selectedItems.length !== prevProps.selectedItems.length\n || isDesktopLarge !== prevProps.isDesktopLarge\n )) {\n const offsetHeight = this.checkFixedTableOffsetHeight();\n\n this.setState(prevState => ({ ...prevState, offsetHeight }));\n }\n }\n\n componentDidMount() {\n const { data, selectedItems, preserveCheckboxes, uniqueKey, isRadioButtonPresent, isCheckboxPresent } = this.props;\n const { checkboxesMapping } = this.state;\n\n if (isCheckboxPresent && !isEmpty(selectedItems)) {\n selectedItems.forEach((item) => {\n checkboxesMapping[item[uniqueKey]] = !checkboxesMapping[item[uniqueKey]] ? item : null;\n });\n\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ checkboxesMapping });\n }\n\n if (preserveCheckboxes) {\n const checkedItems = this.parseCheckboxesToArray(checkboxesMapping);\n const availableItems = data.map(item => String(item[uniqueKey]));\n const notFit = availableItems.find(item => !checkedItems.includes(item));\n\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ selectAll: (notFit === undefined) });\n }\n\n if (isRadioButtonPresent && !isEmpty(selectedItems)) {\n const selectedItem = selectedItems[0];\n\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ selectedRadioButton: String(selectedItem[uniqueKey]) });\n }\n\n // TODO: use useTransition api after upgrade to React 18v\n window.addEventListener('resize', this.handleResize);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize() {\n this.setState({\n windowInnerHeight: window.innerHeight,\n });\n }\n\n checkFixedTableOffsetHeight = () => {\n const {\n isMobile,\n isDesktopLarge,\n selectedItems,\n isPaginatorPresent,\n preserveCheckboxes,\n } = this.props;\n const isActionBarVisible = selectedItems && selectedItems.length;\n const tableWrapperRefNode = this.tableWrapperRef.current;\n const dynamicHeaderHeight = isMobile ? headerMobileHeight : headerDesktopHeight;\n const dynamicNavigationHeight = isMobile ? navigationHeight : getDesktopNavBarHeight({ isDesktopLarge });\n const dynamicActionBarHeight = isMobile ? actionBarMobileHeight : actionBarDesktopHeight;\n const actionBarHeight = isActionBarVisible ? dynamicActionBarHeight : 0;\n const windowScrollSize = tableWrapperRefNode && (tableWrapperRefNode.offsetHeight - tableWrapperRefNode.clientHeight);\n const dynamicScrollBarHeight = windowScrollSize || scrollbarHeight;\n const scrollbarMobileAlign = isMobile ? scrollbarHeightMobile : 0;\n const dynamicProductBarHeight = canRenderTopBar(isMobile) ? productBarHeight : 0;\n\n let dynamicPaginatorHeight = isPaginatorPresent ? paginatorHeight : 0;\n if (!preserveCheckboxes) {\n dynamicPaginatorHeight = isPaginatorPresent && !isActionBarVisible ? paginatorHeight : 0;\n }\n\n return dynamicHeaderHeight\n + dynamicPaginatorHeight\n + tableHeaderHeight\n + dynamicNavigationHeight\n + actionBarHeight\n + dynamicScrollBarHeight\n + dynamicProductBarHeight\n + scrollbarMobileAlign;\n };\n\n parseCheckboxesToArray = checkboxesMapping => Object.keys(checkboxesMapping)\n .filter(key => checkboxesMapping[key]);\n\n parseCheckboxesItems = checkboxesMapping => Object.keys(checkboxesMapping)\n .filter(key => checkboxesMapping[key])\n .map(item => checkboxesMapping[item]);\n\n handleRowCheckChanges = ({ parent, ...restItem }) => {\n const { onSelectItems, disableScrollToHeader, uniqueKey } = this.props;\n const { checkboxesMapping } = this.state;\n\n if (parent) {\n const cluster = checkboxesMapping[parent[uniqueKey]];\n const { items = [] } = cluster || {};\n const isChecked = items.some(\n ({ [uniqueKey]: checkedItemId }) => checkedItemId === restItem[uniqueKey]\n );\n\n checkboxesMapping[parent[uniqueKey]] = {\n ...checkboxesMapping[parent[uniqueKey]] ? checkboxesMapping[parent[uniqueKey]] : parent,\n items: isChecked\n ? items.filter(({ [uniqueKey]: checkedItemId }) => checkedItemId !== restItem[uniqueKey])\n : [...items, restItem],\n };\n } else {\n checkboxesMapping[restItem[uniqueKey]] = !checkboxesMapping[restItem[uniqueKey]]\n ? restItem\n : null;\n }\n\n this.setState({ checkboxesMapping });\n\n onSelectItems && onSelectItems(this.parseCheckboxesItems(checkboxesMapping));\n\n if (disableScrollToHeader) {\n disableScrollToHeader();\n }\n };\n\n filterVisibleChildren = (children) => {\n const { hiddenColumns } = this.props;\n return Children.toArray(children)\n .filter(({ props }) => !hiddenColumns[props.keyName]);\n };\n\n handleSelectAll = (selected) => {\n const { data, uniqueKey, onSelectItems, disableScrollToHeader } = this.props;\n const { checkboxesMapping } = this.state;\n\n data.forEach((item) => {\n checkboxesMapping[item[uniqueKey]] = selected ? item : null;\n });\n\n this.setState({\n checkboxesMapping,\n selectAll: selected,\n });\n\n onSelectItems && onSelectItems(this.parseCheckboxesItems(checkboxesMapping));\n\n if (disableScrollToHeader) {\n disableScrollToHeader();\n }\n };\n\n handleRadioButtonChange = (uniqueKeyId) => {\n const { data, uniqueKey, onSelectItems } = this.props;\n\n this.setState({ selectedRadioButton: String(uniqueKeyId) });\n\n onSelectItems && onSelectItems(data.filter(item => String(item[uniqueKey]) === String(uniqueKeyId)));\n };\n\n handleTooltipClose = () => setTimeout(this.tooltipRef.current.toggleHint, 0);\n\n visibleColumns = () => {\n const { columns, hiddenColumns } = this.props;\n return columns.filter(col => !hiddenColumns[col.keyName]);\n };\n\n renderDimensionsForm = () => {\n const {\n columns,\n hiddenColumns,\n onColumnToggle,\n isMobile,\n } = this.props;\n if (!onColumnToggle) {\n return null;\n }\n\n const dimensions = columns.filter(column => column.allowToggle !== false);\n\n return (\n <Dimensions\n columns={dimensions}\n visibleColumns={this.visibleColumns()}\n hidden={hiddenColumns}\n onToggle={onColumnToggle}\n onClose={this.handleTooltipClose}\n isMobile={isMobile}\n />\n );\n };\n\n render() {\n const {\n isFixed,\n isLoading,\n isInitialLoading,\n rowLengthPlaceholder,\n data,\n onSort,\n sortColumn,\n sortDirection,\n containerStyle,\n onColumnToggle,\n uniqueKey,\n isCheckboxPresent,\n isRadioButtonPresent,\n isSelectNonePresent,\n customEmptyMessage,\n emptyValuePlaceholder,\n tableStyle,\n renderExpandedRow,\n fullWidthTable,\n tableWrapperClassname,\n tableContainerClassname,\n theme,\n isAlignedToTop,\n fixedEmptyMessage,\n droppableId,\n isDroppingDisabled,\n onDragEnd,\n withDragNDrop,\n isMobile,\n } = this.props;\n const { selectAll, checkboxesMapping, offsetHeight, selectedRadioButton, windowInnerHeight } = this.state;\n const { children: propsChildren } = this.props;\n const children = this.filterVisibleChildren(propsChildren);\n\n let style = tableStyle;\n if (isFixed && fullWidthTable) style = { ...style, height: windowInnerHeight - offsetHeight };\n\n const tableContainerClassNames = classNames(\n styles.tableContainer,\n containerStyle,\n !isFixed && styles.defaultShadow,\n tableContainerClassname,\n );\n\n return (\n <div\n className={classNames(\n isFixed && styles.fixedTable,\n fullWidthTable && styles.fullWidth,\n themes[theme],\n isAlignedToTop && styles.alignedToTop,\n tableWrapperClassname,\n )}\n ref={this.tableRef}\n >\n <div className={classNames(styles.tableWrapper, isCheckboxPresent && styles.checkboxWrap)} ref={this.tableWrapperRef}>\n {!isLoading && onColumnToggle && (\n <div className={styles.contextualMenuWrapper}>\n <Tooltip\n persist\n forwardRef={this.tooltipRef}\n content={this.renderDimensionsForm}\n className={styles.dimensions}\n >\n <ContextualMenu position=\"right\" tooltipRef={this.tooltipRef} />\n </Tooltip>\n </div>\n )}\n <section className={styles.tableSection}>\n {isFixed && <hr className={styles.headerShadow} />}\n <div\n className={tableContainerClassNames}\n style={{\n ...style,\n height: style.height + (isMobile ? MOBILE_HEIGHT_OFFSET : 0),\n }}\n >\n <DragDropContext onDragEnd={onDragEnd}>\n <Droppable droppableId={droppableId} isDroppingDisabled={isDroppingDisabled}>\n {provided => (\n <table ref={provided.innerRef}>\n <Header\n isInitialLoading={isInitialLoading}\n isLoading={isLoading}\n headerRef={this.headerRef}\n isCheckboxPresent={isCheckboxPresent}\n isRadioButtonPresent={isRadioButtonPresent}\n sortColumn={sortColumn}\n sortDirection={sortDirection}\n selectAll={selectAll}\n columns={this.visibleColumns()}\n onSelectAll={this.handleSelectAll}\n onSort={onSort}\n isFixed={isFixed}\n />\n <Body\n isInitialLoading={isInitialLoading}\n isLoading={isLoading}\n rowLengthPlaceholder={rowLengthPlaceholder}\n data={data}\n columnLength={this.visibleColumns().length}\n isCheckboxPresent={isCheckboxPresent}\n isRadioButtonPresent={isRadioButtonPresent}\n isSelectNonePresent={isSelectNonePresent}\n selectedRadioButton={selectedRadioButton}\n onRadioButtonChange={this.handleRadioButtonChange}\n uniqueKey={uniqueKey}\n checkboxesMapping={checkboxesMapping}\n onRowCheckChange={this.handleRowCheckChanges}\n customEmptyMessage={customEmptyMessage}\n emptyValuePlaceholder={emptyValuePlaceholder}\n renderExpandedRow={renderExpandedRow}\n fixedEmptyMessage={fixedEmptyMessage}\n droppablePlaceholder={provided.placeholder}\n isDroppingDisabled={isDroppingDisabled}\n withDragNDrop={withDragNDrop}\n >\n {children}\n </Body>\n </table>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </section>\n </div>\n </div>\n );\n }\n}\n\n// TODO: define shapes\nContainer.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n isScrollToHeader: PropTypes.bool,\n isLoading: PropTypes.bool,\n isInitialLoading: PropTypes.bool,\n rowLengthPlaceholder: PropTypes.number,\n data: PropTypes.arrayOf(PropTypes.shape({})),\n isCheckboxPresent: PropTypes.bool,\n isRadioButtonPresent: PropTypes.bool,\n isSelectNonePresent: PropTypes.bool,\n customEmptyMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node,\n ]),\n columns: PropTypes.arrayOf(PropTypes.shape({\n keyName: PropTypes.string,\n allowToggle: PropTypes.bool,\n })).isRequired,\n uniqueKey: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.element).isRequired,\n PropTypes.element.isRequired,\n ]),\n onSort: PropTypes.func,\n sortColumn: PropTypes.string,\n sortDirection: PropTypes.string,\n hiddenColumns: PropTypes.shape({}),\n onColumnToggle: PropTypes.func,\n selectedItems: PropTypes.arrayOf(PropTypes.shape({})),\n onSelectItems: PropTypes.func,\n containerStyle: PropTypes.string,\n emptyValuePlaceholder: PropTypes.node,\n tableStyle: PropTypes.shape({}),\n disableScrollToHeader: PropTypes.func,\n renderExpandedRow: PropTypes.func,\n isFixed: PropTypes.bool,\n isMobile: PropTypes.bool,\n isDesktopLarge: PropTypes.bool,\n isPaginatorPresent: PropTypes.bool,\n fullWidthTable: PropTypes.bool,\n preserveCheckboxes: PropTypes.bool,\n tableWrapperClassname: PropTypes.string,\n tableContainerClassname: PropTypes.string,\n theme: PropTypes.string,\n isAlignedToTop: PropTypes.bool,\n fixedEmptyMessage: PropTypes.bool,\n droppableId: PropTypes.string,\n isDroppingDisabled: PropTypes.bool,\n onDragEnd: PropTypes.func,\n withDragNDrop: PropTypes.bool,\n};\n\nContainer.defaultProps = {\n hiddenColumns: {},\n data: [],\n uniqueKey: 'id',\n isCheckboxPresent: false,\n isRadioButtonPresent: false,\n isSelectNonePresent: false,\n isScrollToHeader: false,\n isFixed: false,\n isMobile: false, // Required when table is fixed\n isPaginatorPresent: false, // Required when table is fixed\n fullWidthTable: false,\n theme: 'default',\n isAlignedToTop: false,\n selectedItems: [],\n droppableId: 'droppable-table',\n isDroppingDisabled: true,\n onDragEnd: () => {},\n withDragNDrop: false,\n tableStyle: {},\n};\n\nexport { Column };\n","import isArray from 'lodash/isArray';\n\nexport const wrapperClassName = 'Select';\nexport const getNoOptionsText = () => 'Type to search';\n\nexport const isArrayWithEmptyValues = value => isArray(value) && value.length === 0;\nexport const isEmptyValue = value => !isArray(value) && !value;\n\nexport const findStringOrNumberValues = (value, options) =>\n value && options && (typeof value === 'string' || typeof value === 'number') && options.filter((option => option.value === value));\n\nexport const findObjectValues = (value, options) =>\n value && options && typeof value === 'object' && options.filter((option => option.value === value.value));\n\nexport const getAutosuggesterOptionValue = ({ value, type }) => `${type}${value}`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Badge from 'components/core/Badge';\n\nimport styles from './styles.module.scss';\n\nfunction ButtonBadge({ children, className, containerClassName, ...restProps }) {\n return (\n <span className={classNames(styles.container, containerClassName)}>\n <Badge {...restProps} className={classNames(styles.badge, className)}>\n {children}\n </Badge>\n </span>\n );\n}\n\nButtonBadge.propTypes = {\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.node,\n};\n\nexport default ButtonBadge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst badgeThemes = {\n default: styles.default,\n primary: styles.primary,\n light: styles.light,\n active: styles.active,\n cyan: styles.cyan,\n red: styles.red,\n redWithBorder: styles.redWithBorder,\n darkGrey: styles.darkGrey,\n violet: styles.violet,\n};\n\nexport const themes = Object.keys(badgeThemes);\n\nfunction Badge({ theme, className, children, disabled }) {\n return (\n <span\n className={classNames(\n styles.badge,\n badgeThemes[theme],\n className,\n disabled && styles.isDisabled,\n )}\n >\n {children}\n </span>\n );\n}\n\nBadge.defaultProps = {\n theme: 'default',\n};\n\nBadge.propTypes = {\n theme: PropTypes.oneOf(themes),\n className: PropTypes.string,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n};\n\nexport default Badge;\n\nexport { default as ButtonBadge } from './components/ButtonBadge';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Card from 'components/core/Card';\nimport ProgressBar from 'components/core/ProgressBar';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction ProgressCard({ title, content, percent, placeholder, className }) {\n const headerNodes = <ProgressBar percent={percent} theme=\"light\" />;\n\n return (\n <Card\n title={title}\n headerNodes={headerNodes}\n headerClassName={styles.header}\n headerNodeWrapperClassName={styles.progressBar}\n className={classNames(styles.card, styles.medium, className)}\n theme=\"medium\"\n >\n {placeholder && (\n <TextInputPlaceholder className={styles.placeholder}>{placeholder}</TextInputPlaceholder>\n )}\n {content}\n </Card>\n );\n}\n\nProgressCard.propTypes = {\n title: PropTypes.oneOfType([\n PropTypes.string.isRequired,\n PropTypes.element,\n PropTypes.node,\n ]),\n className: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node,\n ]),\n percent: PropTypes.number.isRequired,\n content: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.element).isRequired,\n PropTypes.element.isRequired,\n ]),\n};\n\nexport default ProgressCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// eslint-disable-next-line import/no-cycle\nimport ProgressCard from './components/ProgressCard'; // TODO: fix dependency cycle\nimport styles from './styles.module.scss';\n\nconst footerPositions = {\n left: styles.left,\n center: styles.center,\n right: styles.right,\n};\n\nconst themes = {\n default: styles.default,\n white: styles.white,\n dark: styles.dark,\n light: styles.light,\n medium: styles.medium,\n none: null,\n};\n\nfunction Card({\n id,\n title,\n headerNodes,\n children,\n footerNodes,\n footerPosition,\n className,\n titleClassName,\n headerClassName,\n headerNodeWrapperClassName,\n footerClassName,\n theme,\n}) {\n const isHeaderPresent = title || headerNodes;\n\n return (\n <div id={id} className={classNames(styles.card, themes[theme], className)}>\n {isHeaderPresent && (\n <div className={classNames(styles.header, headerClassName)}>\n {title && <h2 className={classNames(styles.title, titleClassName)}>{title}</h2>}\n {headerNodes && <div className={classNames(headerNodeWrapperClassName)}>{headerNodes}</div>}\n </div>\n )}\n\n {children}\n\n {footerNodes && (\n <div className={classNames(styles.footer, footerPositions[footerPosition], footerClassName)}>\n {footerNodes}\n </div>\n )}\n </div>\n );\n}\n\nCard.defaultProps = {\n footerPosition: 'right',\n theme: 'default',\n};\n\nCard.propTypes = {\n id: PropTypes.string,\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n headerNodes: PropTypes.node,\n className: PropTypes.string,\n headerClassName: PropTypes.string,\n headerNodeWrapperClassName: PropTypes.string,\n footerClassName: PropTypes.string,\n titleClassName: PropTypes.string,\n children: PropTypes.node,\n footerNodes: PropTypes.node,\n footerPosition: PropTypes.oneOf(\n Object.keys(footerPositions)\n ),\n theme: PropTypes.oneOf(\n Object.keys(themes)\n ),\n};\n\nexport default Card;\n\nexport { ProgressCard };\n","export const CHECKBOX_TYPE_SLUG = 'checkbox';\nexport const RADIO_TYPE_SLUG = 'radio';\nexport const INPUT_TYPE_SLUG = 'string';\nexport const TEXTAREA_TYPE_SLUG = 'textarea';\nexport const NUMERIC_TYPE_SLUG = 'numeric';\nexport const DATE_TYPE_SLUG = 'date';\nexport const AUTOCOMPLETE_SLUG = 'autocomplete';\n// 25 -> 1000 intended to remove pagination because of the way\n// reordering custom fields work on the BE\nexport const DEFAULT_PAGE_SIZE = 1000;\n\nexport const TYPE_OPTIONS = [\n {\n label: 'Radio buttons',\n value: RADIO_TYPE_SLUG,\n },\n {\n label: 'Checkboxes',\n value: CHECKBOX_TYPE_SLUG,\n },\n {\n label: 'Single line text',\n value: INPUT_TYPE_SLUG,\n },\n {\n label: 'Paragraph text',\n value: TEXTAREA_TYPE_SLUG,\n },\n {\n label: 'Number',\n value: NUMERIC_TYPE_SLUG,\n },\n {\n label: 'Date',\n value: DATE_TYPE_SLUG,\n },\n {\n label: 'Autocomplete',\n value: AUTOCOMPLETE_SLUG,\n },\n];\n\nexport const PRODUCT_SLUGS = {\n GRM: 'grm',\n STAKEHOLDER_MGMT: 'stakeholder_mgmt',\n};\n\nexport const PRODUCT_SLUGS_OPTIONS = [\n {\n label: 'Activity',\n value: PRODUCT_SLUGS.GRM,\n },\n {\n label: 'Stakeholder Management',\n value: PRODUCT_SLUGS.STAKEHOLDER_MGMT,\n },\n];\n\nexport const REQUIRED_FIELD_OPTIONS = [\n {\n label: 'Yes',\n value: true,\n },\n {\n label: 'No',\n value: false,\n },\n];\n\nexport function getFieldTypeDescription(slug, typesMapping = TYPE_OPTIONS) {\n const option = typesMapping.find(item => item.value === slug);\n\n if (!option) {\n return 'Other';\n }\n\n return option.label;\n}\n\nexport const fieldColumnsLabels = {\n createdAt: 'Created at',\n description: 'Description',\n fieldType: 'Field Type',\n name: 'Name',\n question: 'Question',\n token: 'Token',\n options: 'Options',\n required: 'Required',\n enabled: 'Enabled',\n isEditable: 'Editable',\n action: 'Action',\n productSlugs: 'Available in',\n};\n\nexport const NAME_PLACEHOLDER = 'Ex: ‘George Washington’';\nexport const OPTION_PLACEHOLDER = 'Ex: ‘George Washington’';\nexport const DISABLED_MSG = 'This field has already collected answers, and thus cannot be changed.';\nexport const TYPE_PLACEHOLDER = 'Select a Type';\nexport const DESCRIPTION_PLACEHOLDER = 'Describe what the custom field is for so you and your coworkers will understand how to use it…';\n","const PEOPLE = {\n STATE_LEGISLATOR: 'state_legislator',\n FEDERAL_LEGISLATOR: 'federal_legislator',\n STAKEHOLDER: 'stakeholder',\n STATE_STAFFER: 'state_staffer',\n FEDERAL_STAFFER: 'federal_staffer',\n COLLEAGUE: 'colleague',\n LOCAL_EXECUTIVE: 'local_executive',\n STATE_EXECUTIVE: 'state_executive',\n FEDERAL_EXECUTIVE: 'federal_executive',\n STATE_AGENCY_STAFFER: 'state_agency_staffer',\n};\n\nconst BILL = {\n STATE_BILL: 'state_bill',\n FEDERAL_BILL: 'federal_bill',\n};\n\nconst REGULATION = {\n STATE_REGULATION: 'state_regulation',\n FEDERAL_REGULATION: 'federal_regulation',\n};\n\nconst COMMITTEE = {\n STATE_COMMITTEE: 'state_committee',\n FEDERAL_COMMITTEE: 'federal_committee',\n};\n\nconst HILL_DAY_ACTIVITY = {\n HILL_DAY: 'hill_day',\n HILL_DAY_MEETING: 'hill_day_meeting',\n};\n\nexport const DOCUMENTS = {\n AGENCY_PRESS_RELEASE: 'agency_press_release',\n CBO_COST_ESTIMATE: 'cbo_cost_estimate',\n COMMITTEE_REPORT: 'committee_report',\n CONGRESSIONAL_PRESS_RELEASE: 'congressional_press_release',\n CONGRESSIONAL_RECORD_ITEM: 'congressional_record_item',\n CONTRACT: 'contract',\n CRS_REPORT: 'crs_report',\n DEAR_COLLEAGUE_LETTER: 'dear_colleague_letter',\n EXECUTIVE_ORDER: 'executive_order',\n GAO_REPORT: 'gao_report',\n GRANT: 'grant',\n LIVE_HEARING_TRANSCRIPT: 'live_hearing_transcript',\n OFFICIAL_HEARING_TRANSCRIPT: 'official_hearing_transcript',\n SAP_REPORT: 'sap_report',\n STATE_OF_THE_UNION_ADDRESS: 'state_of_the_union_address',\n TREATY_DOCUMENT: 'treaty_document',\n THIRD_PARTY_REPORT: 'third_party_report',\n WHITE_HOUSE_PRESS_BRIEFING: 'white_house_press_briefing',\n GOVERNOR_ORDER: 'governor_order',\n GOVERNOR_PRESS_RELEASE: 'governor_press_release',\n};\n\nconst CONSTITUENT = 'constituent';\n\nconst USER = 'user';\n\nexport const TYPES = {\n ...PEOPLE,\n ...BILL,\n ...REGULATION,\n ...COMMITTEE,\n ...HILL_DAY_ACTIVITY,\n ...DOCUMENTS,\n CONSTITUENT,\n USER,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Document, Font } from '@react-pdf/renderer';\n\nFont.register({\n family: 'Roboto',\n fonts: [\n { src: '/fonts/roboto/Roboto-Light.ttf', fontWeight: 300 },\n { src: '/fonts/roboto/Roboto-LightItalic.ttf', fontWeight: 300, fontStyle: 'italic' },\n { src: '/fonts/roboto/Roboto-Regular.ttf', fontWeight: 400 },\n { src: '/fonts/roboto/Roboto-Medium.ttf', fontWeight: 500 },\n { src: '/fonts/roboto/Roboto-Bold.ttf', fontWeight: 700 },\n { src: '/fonts/roboto/Roboto-Black.ttf', fontWeight: 900 },\n ],\n});\n\nFont.registerEmojiSource({\n url: 'https://twemoji.maxcdn.com/v/13.0.2/72x72/',\n format: 'png',\n});\n\nfunction BaseDocument({ children }) {\n return (\n <Document>\n {children}\n </Document>\n );\n}\n\nBaseDocument.propTypes = {\n children: PropTypes.node,\n};\n\nexport default BaseDocument;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Page, StyleSheet } from '@react-pdf/renderer';\n\nconst styles = StyleSheet.create({\n page: {\n padding: 40,\n fontFamily: 'Roboto',\n },\n});\n\nfunction BasePage({ children }) {\n return (\n <Page size=\"A4\" style={styles.page} wrap>\n {children}\n </Page>\n );\n}\n\nBasePage.propTypes = {\n children: PropTypes.node,\n};\n\nexport default BasePage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text, View } from '@react-pdf/renderer';\n\nimport { DEFAULT_TEXT_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n footerSection: {\n position: 'absolute',\n bottom: 20,\n left: 40,\n right: 40,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n color: DEFAULT_TEXT_COLOR,\n },\n textNumber: {\n fontSize: 10,\n fontWeight: 700,\n },\n});\n\nfunction DocumentFooter({ leftContent, isPageNumbersVisible }) {\n function renderPageNumber({ pageNumber }) {\n if (isPageNumbersVisible) {\n return `Page ${pageNumber}`;\n }\n\n return '';\n }\n\n return (\n <View fixed style={styles.footerSection}>\n <View fixed>{leftContent}</View>\n <Text\n style={styles.textNumber}\n render={renderPageNumber}\n fixed\n />\n </View>\n );\n}\n\nDocumentFooter.propTypes = {\n leftContent: PropTypes.node,\n isPageNumbersVisible: PropTypes.bool,\n};\n\nexport default DocumentFooter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment/moment';\nimport { Image, Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport { DEFAULT_LOGO_URL } from 'utils/constants';\nimport { getCorsImageUrl } from 'utils/constants/export';\n\nimport { DEFAULT_TEXT_COLOR } from '../../utils/colors.scss';\n\nconst styles = StyleSheet.create({\n headerSection: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 25,\n },\n image: {\n height: 25,\n maxWidth: 130,\n marginTop: 7,\n },\n rightTextSection: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n maxWidth: '45vw',\n },\n reportText: {\n flex: 1,\n maxHeight: 14,\n fontSize: 10,\n fontWeight: 300,\n textAlign: 'right',\n color: DEFAULT_TEXT_COLOR,\n },\n titleText: {\n flex: 1,\n fontSize: 12,\n fontWeight: 700,\n textAlign: 'right',\n color: DEFAULT_TEXT_COLOR,\n },\n});\n\nfunction DocumentTitle({ logoUrl, title, date, withLogo, fixed, imageStyle }) {\n const currentDate = date || moment().format(GLOBAL_DATE_FORMAT);\n\n return (\n <View style={styles.headerSection} fixed={fixed}>\n {withLogo && (\n <Image\n src={getCorsImageUrl(logoUrl)}\n style={[styles.image, imageStyle]}\n />\n )}\n <View style={styles.rightTextSection}>\n <Text style={styles.reportText}>Report ({currentDate})</Text>\n {title && <Text style={styles.titleText}>{title}</Text>}\n </View>\n </View>\n );\n}\n\nDocumentTitle.defaultProps = {\n withLogo: true,\n logoUrl: DEFAULT_LOGO_URL,\n};\n\nDocumentTitle.propTypes = {\n logoUrl: PropTypes.string,\n title: PropTypes.string,\n date: PropTypes.string,\n withLogo: PropTypes.bool,\n fixed: PropTypes.bool,\n imageStyle: PropTypes.instanceOf(StyleSheet),\n};\n\nexport default DocumentTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { StyleSheet, Text } from '@react-pdf/renderer';\n\nimport { DEFAULT_TEXT_COLOR } from '../../utils/colors.scss';\n\nconst styles = StyleSheet.create({\n labelText: {\n fontWeight: 200,\n fontSize: 12,\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 2,\n },\n});\n\nfunction LabelTitle({ label, style, fixed }) {\n if (isEmpty(label)) {\n return null;\n }\n\n const currentStyle = { ...styles.labelText, ...style };\n\n return (\n <Text fixed={fixed} style={currentStyle}>{label}</Text>\n );\n}\n\nLabelTitle.defaultProps = {\n style: {},\n fixed: false,\n};\n\nLabelTitle.propTypes = {\n label: PropTypes.string,\n style: PropTypes.object,\n fixed: PropTypes.bool,\n};\n\nexport default LabelTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { Link, Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { stringNumberType } from 'utils/shapes';\n\nimport { DEFAULT_TEXT_COLOR, DEFAULT_LINK_COLOR } from '../../utils/colors.scss';\nimport LabelTitle from '../LabelTitle';\n\nconst styles = StyleSheet.create({\n valueText: {\n fontWeight: 400,\n fontSize: 12,\n color: DEFAULT_LINK_COLOR,\n paddingBottom: 2,\n },\n noUnderline: {\n textDecoration: 'none',\n },\n emptyText: {\n fontWeight: 400,\n fontSize: 12,\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 2,\n },\n});\n\nfunction LabelLink({\n containerStyle,\n label,\n href,\n value,\n isUnderline,\n linkStyle,\n emptyTextStyle,\n labelStyle,\n}) {\n if (isEmpty(href)) {\n const emptyStyle = {\n ...styles.emptyText,\n ...emptyTextStyle,\n };\n\n return (\n <View style={containerStyle}>\n <LabelTitle style={labelStyle} label={label} />\n <Text style={emptyStyle}>{value || EMPTY_VALUE}</Text>\n </View>\n );\n }\n\n const currentStyle = {\n ...styles.valueText,\n ...(!isUnderline ? styles.noUnderline : {}),\n ...linkStyle,\n };\n\n return (\n <View style={containerStyle}>\n <LabelTitle style={labelStyle} label={label} />\n <Link src={href} style={currentStyle}>{value || href}</Link>\n </View>\n );\n}\n\nLabelLink.defaultProps = {\n labelStyle: {},\n isUnderline: false,\n};\n\nconst styleShape = PropTypes.shape({\n [PropTypes.string]: stringNumberType,\n});\n\nLabelLink.propTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n href: PropTypes.string,\n labelStyle: styleShape,\n containerStyle: styleShape,\n isUnderline: PropTypes.bool,\n linkStyle: styleShape,\n emptyTextStyle: styleShape,\n};\n\nexport default LabelLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport { DEFAULT_TEXT_COLOR } from '../../utils/colors.scss';\nimport LabelTitle from '../LabelTitle';\n\nconst styles = StyleSheet.create({\n valueText: {\n fontWeight: 400,\n fontSize: 12,\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 2,\n },\n});\n\nfunction LabelText({ style, label, value, textStyle, labelStyle, wrap, fixed }) {\n const currentTextStyle = { ...styles.valueText, ...textStyle };\n const currentLabelStyle = { ...styles.valueText, ...labelStyle };\n\n return (\n <View fixed={fixed} style={style} wrap={wrap}>\n {label && <LabelTitle fixed={fixed} label={label} style={currentLabelStyle} wrap={wrap} />}\n <Text fixed={fixed} wrap={wrap} style={currentTextStyle}>{value || EMPTY_VALUE}</Text>\n </View>\n );\n}\n\nLabelText.defaultProps = {\n style: {},\n wrap: true,\n fixedLabel: false,\n fixed: false,\n};\n\nLabelText.propTypes = {\n label: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.node,\n ]),\n style: PropTypes.object,\n textStyle: PropTypes.object,\n labelStyle: PropTypes.object,\n wrap: PropTypes.bool,\n fixed: PropTypes.bool,\n};\n\nexport default LabelText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport { DEFAULT_TEXT_COLOR } from '../../utils/colors.scss';\nimport LabelTitle from '../LabelTitle';\n\nconst styles = StyleSheet.create({\n valueText: {\n fontWeight: 400,\n fontSize: 12,\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 2,\n },\n});\n\nfunction LabelTextArray({ style, label, values }) {\n if (isEmpty(values)) {\n return (\n <View style={style}>\n {label && <LabelTitle label={label} />}\n <Text style={styles.valueText}>{EMPTY_VALUE}</Text>\n </View>\n );\n }\n\n return (\n <View style={style}>\n {label && <LabelTitle label={label} />}\n {values.map((value, index) => (\n <Text key={`biography-${index}`} style={styles.valueText}>{value}</Text>\n ))}\n </View>\n );\n}\n\nLabelTextArray.defaultProps = {\n style: {},\n};\n\nLabelTextArray.propTypes = {\n label: PropTypes.string,\n values: PropTypes.array,\n style: PropTypes.object,\n};\n\nexport default LabelTextArray;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport { DEFAULT_TEXT_COLOR } from '../../utils/colors.scss';\nimport LabelTitle from '../LabelTitle';\nimport LabelLink from '../LabelLink';\n\nconst styles = StyleSheet.create({\n valueText: {\n fontWeight: 400,\n fontSize: 12,\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 2,\n },\n});\n\nfunction MultipleLabelArray({ style, label, values, valueStyle }) {\n if (isEmpty(values)) {\n return (\n <View style={style}>\n {label && <LabelTitle label={label} />}\n <Text style={styles.valueText}>{EMPTY_VALUE}</Text>\n </View>\n );\n }\n\n function getLinkOrTextValue(linkValueObject) {\n const { value, href } = linkValueObject || {};\n\n if (isEmpty(href)) {\n return <Text style={styles.valueText}>{value || EMPTY_VALUE}</Text>;\n }\n\n return <LabelLink {...linkValueObject} />;\n }\n\n function renderValues(valueObject, index) {\n return (\n <View key={`multiple-label-${index}`} style={valueStyle}>\n <LabelTitle label={values.length > 1 ? `${label} ${index + 1}` : label} />\n {getLinkOrTextValue(valueObject)}\n </View>\n );\n }\n\n return (\n <View style={style}>\n {values.map(renderValues)}\n </View>\n );\n}\n\nMultipleLabelArray.defaultProps = {\n style: {},\n};\n\nMultipleLabelArray.propTypes = {\n label: PropTypes.string.isRequired,\n values: PropTypes.array,\n style: PropTypes.object,\n valueStyle: PropTypes.object,\n};\n\nexport default MultipleLabelArray;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LINE_COLOR,\n DEFAULT_TEXT_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n table: {\n boxSizing: 'border-box',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n rowHeader: {\n backgroundColor: DEFAULT_LINE_COLOR,\n color: DEFAULT_TEXT_COLOR,\n fontSize: 11,\n alignItems: 'flex-start',\n },\n columnHeader: {\n padding: '8px 15px',\n },\n subLabel: {\n fontWeight: 'bold',\n padding: '0 15px 8px',\n },\n rowText: {\n color: DEFAULT_TEXT_COLOR,\n fontSize: 10,\n padding: '8px 15px',\n },\n rowBorder: {\n borderBottomWidth: 1,\n borderBottomColor: DEFAULT_LINE_COLOR,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, View } from '@react-pdf/renderer';\nimport { isFunction, isNumber, isString, isEmpty } from 'lodash';\n\nimport { LabelText } from 'components/core/ExportDocument';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles';\n\nfunction TableView({ tableColumns, values, renderColumnValue }) {\n if (isEmpty(values)) {\n return <LabelText />;\n }\n\n /** Equal length default */\n const columnWidth = 100 / tableColumns.length;\n const currentColumnStyle = { width: `${columnWidth}%` };\n\n function renderColumn(column) {\n const {\n keyName,\n label,\n subLabel,\n width,\n customHeaderStyle = {},\n customHeaderColumnStyle = {},\n } = column;\n const currentStyle = {\n ...currentColumnStyle,\n ...(width && { width }),\n ...customHeaderStyle,\n };\n\n const columnStyle = {\n ...styles.columnHeader,\n ...customHeaderColumnStyle,\n };\n\n return (\n <View style={currentStyle} key={`table-header-${keyName}`}>\n <Text style={columnStyle}>{label}</Text>\n\n {subLabel && (\n <Text style={styles.subLabel}>{subLabel}</Text>\n )}\n </View>\n );\n }\n\n function getValue(valueObject, index) {\n const { keyName, width, customColumnStyle = {} } = valueObject;\n const currentStyle = {\n ...currentColumnStyle,\n ...styles.rowText,\n ...(width && { width }),\n ...customColumnStyle,\n };\n\n let value = valueObject[keyName];\n if (isFunction(renderColumnValue)) {\n value = renderColumnValue(valueObject, keyName);\n }\n\n if (isNumber(value) || isString(value) || isEmpty(value)) {\n return (\n <Text\n style={currentStyle}\n key={`table-value-${keyName}-${index}`}\n >\n {value || EMPTY_VALUE}\n </Text>\n );\n }\n\n return (\n <View\n style={currentStyle}\n key={`table-value-${keyName}-${index}`}\n >\n {value}\n </View>\n );\n }\n\n function renderValue(value, index) {\n const valuesLength = values.length;\n const isLastValue = index === (valuesLength - 1);\n\n const borderStyle = !isLastValue && styles.rowBorder;\n\n const rowStyle = {\n ...styles.row,\n ...borderStyle,\n };\n\n return (\n <View wrap={false} key={`table-row-${index}`} style={rowStyle}>\n {tableColumns.map(props => getValue({ ...props, ...value }, index))}\n </View>\n );\n }\n\n const rowStyle = { ...styles.rowBorder, ...styles.row, ...styles.rowHeader };\n\n return (\n <View style={styles.table}>\n <View fixed className=\"table-header\" style={rowStyle}>\n {tableColumns.map(renderColumn)}\n </View>\n\n <View className=\"table-content\" style={styles.header}>\n {values.map(renderValue)}\n </View>\n </View>\n );\n}\n\nTableView.propTypes = {\n tableColumns: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n subLabel: PropTypes.node,\n keyName: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n customColumnStyle: PropTypes.object,\n customHeaderColumnStyle: PropTypes.object,\n })).isRequired,\n renderColumnValue: PropTypes.func,\n values: PropTypes.array,\n};\n\nexport default TableView;\n","import React, { Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport LabelTitle from '../LabelTitle';\n\nconst styles = StyleSheet.create({\n list: {\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n fontSize: 12,\n },\n comma: {\n marginRight: 5,\n },\n item: {\n display: 'flex-inline',\n flexDirection: 'row',\n },\n});\n\nfunction LabelItemList({ style, listStyle, labelStyle, label, children, hideComma }) {\n /*\n * To skip null/undefined children we will use Children.toArray API.\n * https://github.com/facebook/react/issues/7685\n */\n const itemsLength = Children.toArray(children).length;\n const listStyles = { ...styles.list, ...listStyle };\n\n function renderItem(child, index) {\n const { key } = child;\n const shouldDisplayComma = !hideComma && index !== itemsLength - 1;\n\n return (\n <View style={styles.item} key={key} wrap={false}>\n {child}\n {shouldDisplayComma && (<Text style={styles.comma}>,</Text>)}\n </View>\n );\n }\n\n function renderItems() {\n if (itemsLength === 0) {\n return <Text>{EMPTY_VALUE}</Text>;\n }\n\n return Children.map(Children.toArray(children), renderItem);\n }\n\n return (\n <View style={style}>\n <LabelTitle label={label} style={labelStyle} />\n <View style={listStyles}>\n {renderItems()}\n </View>\n </View>\n );\n}\n\nLabelItemList.defaultProps = {\n style: {},\n listStyle: {},\n labelStyle: {},\n};\n\nLabelItemList.propTypes = {\n label: PropTypes.string.isRequired,\n children: PropTypes.node,\n style: PropTypes.object,\n listStyle: PropTypes.object,\n labelStyle: PropTypes.object,\n hideComma: PropTypes.bool,\n};\n\nexport default LabelItemList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { toLower } from 'lodash';\nimport { Text, StyleSheet } from '@react-pdf/renderer';\n\nimport {\n WHITE_COLOR,\n DEMOCRATIC_PARTY_COLOR,\n REPUBLICAN_PARTY_COLOR,\n DEFAULT_PARTY_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nimport { pdfStylesShape } from '../../utils/shapes';\n\nconst styles = StyleSheet.create({\n partyIcon: {\n marginLeft: 2,\n borderRadius: 4,\n color: WHITE_COLOR,\n padding: '1px 4px',\n fontWeight: 700,\n fontSize: 11,\n backgroundColor: DEFAULT_PARTY_COLOR,\n textTransform: 'capitalize',\n },\n democratic: {\n backgroundColor: DEMOCRATIC_PARTY_COLOR,\n },\n democrat: {\n backgroundColor: DEMOCRATIC_PARTY_COLOR,\n },\n republican: {\n backgroundColor: REPUBLICAN_PARTY_COLOR,\n },\n});\n\nfunction PartyIcon({\n partyShort,\n partySlug,\n style,\n}) {\n if (!partyShort) {\n return null;\n }\n\n const partyIconStyles = {\n ...styles.partyIcon,\n ...(styles[toLower(partySlug)] || {}),\n ...style,\n };\n\n return <Text style={partyIconStyles}>{partyShort}</Text>;\n}\n\nPartyIcon.defaultProps = {\n style: {},\n};\n\nPartyIcon.propTypes = {\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n style: pdfStylesShape,\n};\n\nexport default PartyIcon;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_TEXT_COLOR,\n DEFAULT_LINK_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n container: {\n display: 'inline',\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n fontSize: 12,\n },\n text: {\n color: DEFAULT_TEXT_COLOR,\n },\n link: {\n color: DEFAULT_LINK_COLOR,\n textDecoration: 'none',\n },\n image: {\n borderRadius: 9,\n marginRight: 5,\n maxWidth: 18,\n minWidth: 18,\n maxHeight: 18,\n minHeight: 18,\n objectFit: 'cover',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, Text, View, Image } from '@react-pdf/renderer';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { getCorsImageUrl } from 'utils/constants/export';\nimport { getUrlWithBase } from 'utils/url';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { reactPdfStyleShape } from 'utils/shapes';\n\nimport PartyIcon from '../PartyIcon';\nimport styles from './styles';\n\nfunction LegislatorName({\n hideAvatar,\n name,\n partyShort,\n partySlug,\n avatarUrl,\n url,\n containerStyle,\n partyIconStyle,\n nameStyle,\n}) {\n const textStyles = { ...styles.text, ...nameStyle };\n\n if (isEmpty(name)) {\n return <Text style={textStyles}>{EMPTY_VALUE}</Text>;\n }\n\n const withAvatar = !!avatarUrl && !hideAvatar;\n const linkStyles = { ...styles.link, ...nameStyle };\n const containerStyles = { ...styles.container, ...containerStyle };\n\n function renderName() {\n if (isEmpty(url)) {\n return <Text style={textStyles}>{name || EMPTY_VALUE}</Text>;\n }\n\n return <Link style={linkStyles} src={getUrlWithBase(url)}>{name}</Link>;\n }\n\n return (\n <View style={containerStyles}>\n {withAvatar && <Image style={styles.image} src={getCorsImageUrl(avatarUrl)} />}\n {renderName()}\n <PartyIcon\n style={partyIconStyle}\n partyShort={partyShort}\n partySlug={partySlug}\n />\n </View>\n );\n}\n\nLegislatorName.defaultProps = {\n hideAvatar: false,\n nameStyle: {},\n containerStyle: {},\n partyIconStyle: {},\n};\n\nLegislatorName.propTypes = {\n name: PropTypes.string,\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n url: PropTypes.string,\n avatarUrl: PropTypes.string,\n containerStyle: reactPdfStyleShape,\n partyIconStyle: reactPdfStyleShape,\n hideAvatar: PropTypes.bool,\n nameStyle: reactPdfStyleShape,\n};\n\nexport default LegislatorName;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LABEL_COLOR,\n DEFAULT_TEXT_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n summaryText: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n marginBottom: 6,\n fontSize: 10,\n fontWeight: 300,\n color: DEFAULT_LABEL_COLOR,\n },\n summaryLabel: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n marginBottom: 6,\n fontSize: 14,\n fontWeight: 600,\n color: DEFAULT_TEXT_COLOR,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\n\nimport { LabelText } from 'components/core/ExportDocument';\nimport styles from './styles';\n\nfunction ReportSummary({ value, label }) {\n return (\n <View>\n <LabelText\n labelStyle={styles.summaryLabel}\n textStyle={styles.summaryText}\n value={value}\n label={label}\n />\n </View>\n );\n}\n\nReportSummary.defaultProps = {\n label: 'Report summary',\n};\n\nReportSummary.propTypes = {\n value: PropTypes.string,\n label: PropTypes.string,\n};\n\nexport default ReportSummary;\n","\nimport { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LINE_COLOR,\n DEFAULT_LABEL_COLOR,\n SECONDARY_LINE_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n labelBarContainer: {\n marginTop: 5,\n paddingBottom: 20,\n position: 'relative',\n width: '100%',\n },\n progressBar: {\n width: '100%',\n height: 4,\n top: 0,\n borderRadius: 15,\n position: 'absolute',\n backgroundColor: DEFAULT_LINE_COLOR,\n },\n activeProgressBar: {\n position: 'absolute',\n top: 0,\n },\n dotsContainer: {\n marginTop: -4,\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n dotContainer: {\n position: 'relative',\n },\n dotText: {\n position: 'absolute',\n fontSize: 9,\n marginTop: 20,\n width: 80,\n fontWeight: 200,\n color: DEFAULT_LABEL_COLOR,\n },\n labelDot: {\n height: 12,\n width: 12,\n borderWidth: 3,\n borderRadius: 7.5,\n borderColor: DEFAULT_LINE_COLOR,\n backgroundColor: SECONDARY_LINE_COLOR,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { find, isEmpty } from 'lodash';\nimport { View, Text } from '@react-pdf/renderer';\n\nimport styles from './styles';\nimport { defaultTheme } from './themes';\n\nconst themes = {\n default: defaultTheme,\n};\n\nfunction LabeledProgressBar({ labels, activeLabel, theme, containerStyle }) {\n const idValues = labels.map(({ id }) => id);\n const foundItem = find(labels, { id: activeLabel });\n\n if (isEmpty(foundItem)) {\n return null;\n }\n\n const isActive = currentId =>\n idValues.indexOf(currentId) <= idValues.indexOf(activeLabel);\n\n const getProgressPercent = currentLabel =>\n (idValues.indexOf(currentLabel)) / (idValues.length - 1) * 100;\n\n function renderDot(item) {\n const { id, label, pdfStyle = {} } = item;\n\n const dotStyles = [\n styles.labelDot,\n isActive(id) && themes[theme].labelDotActive,\n ];\n\n return (\n <View style={styles.dotContainer} key={`progress-bar-dot-${id}`}>\n <View style={dotStyles} />\n <Text style={[styles.dotText, pdfStyle]}>{label}</Text>\n </View>\n );\n }\n\n const progressBarActiveStyles = [\n styles.progressBar,\n styles.activeProgressBar,\n themes[theme].progressBarActive,\n { width: `${getProgressPercent(activeLabel)}%` },\n ];\n\n return (\n <View style={[styles.labelBarContainer, containerStyle]}>\n <View style={styles.progressBar} />\n <View style={progressBarActiveStyles} />\n <View style={styles.dotsContainer}>\n {labels.map(renderDot)}\n </View>\n </View>\n );\n}\n\nLabeledProgressBar.defaultProps = {\n theme: 'default',\n};\n\nLabeledProgressBar.propTypes = {\n containerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n labels: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string.isRequired,\n pdfStyle: PropTypes.shape({\n left: PropTypes.number,\n }),\n })).isRequired,\n activeLabel: PropTypes.string.isRequired,\n theme: PropTypes.string,\n};\n\nexport default LabeledProgressBar;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n PROGRESS_BAR_ACTIVE_COLOR,\n LABEL_DOT_BORDER_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst defaultTheme = StyleSheet.create({\n progressBarActive: {\n backgroundColor: PROGRESS_BAR_ACTIVE_COLOR,\n },\n labelDotActive: {\n borderColor: LABEL_DOT_BORDER_COLOR,\n backgroundColor: PROGRESS_BAR_ACTIVE_COLOR,\n },\n});\n\nexport { defaultTheme };\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LINE_COLOR,\n SECONDARY_BADGE_COLOR,\n DEFAULT_TEXT_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n container: {\n borderColor: DEFAULT_LINE_COLOR,\n borderWidth: 1,\n borderRadius: 4,\n },\n row: {\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '5px 11px',\n },\n rowBorder: {\n borderTopColor: DEFAULT_LINE_COLOR,\n borderTopWidth: 1,\n },\n label: {\n borderRadius: 4,\n backgroundColor: SECONDARY_BADGE_COLOR,\n color: DEFAULT_TEXT_COLOR,\n fontSize: 9,\n padding: '3px 9px 3px 6px',\n },\n labelView: {\n maxWidth: '25%',\n },\n value: {\n width: '75%',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, View } from '@react-pdf/renderer';\nimport { isEmpty, map } from 'lodash';\n\nimport styles from './styles';\n\nfunction RowsLabelValues({ rows, style }) {\n if (isEmpty(rows)) {\n return null;\n }\n\n function renderRow(row, index) {\n const { label, value } = row;\n const isFirst = index === 0;\n\n return (\n <View key={`row-${label}-${index}`} style={[styles.row, !isFirst && styles.rowBorder]}>\n <View style={styles.labelView}>\n <Text style={styles.label}>\n {label}\n </Text>\n </View>\n <View style={styles.value}>{value}</View>\n </View>\n );\n }\n\n return (\n <View style={[styles.container, style]}>\n {map(rows, renderRow)}\n </View>\n );\n}\n\nRowsLabelValues.propTypes = {\n rows: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.node,\n })).isRequired,\n style: PropTypes.object,\n};\n\nexport default RowsLabelValues;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View, StyleSheet, Link, Text, Image } from '@react-pdf/renderer';\nimport { isNil, isArray, map, reduce } from 'lodash';\n\nimport { GREY_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\nimport { officialSourceShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { isURL, getUrlWithBase } from 'utils/url';\n\nconst styles = StyleSheet.create({\n row: {\n flexWrap: 'wrap',\n flexDirection: 'row',\n alignItems: 'center',\n marginBottom: 5,\n },\n externalImage: {\n width: 12,\n height: 12,\n marginRight: 2,\n },\n link: {\n lineHeight: 1,\n fontSize: 10,\n fontWeight: 400,\n color: GREY_COLOR,\n letterSpacing: 0,\n textDecoration: 'underline',\n },\n});\n\nfunction ExternalLink({ href, label }) {\n if (isNil(href)) {\n return null;\n }\n\n if (isArray(href)) {\n const renderMultipleExternalLinks = () => {\n const externalLinkNodes = map(href, ({ value: itemHref, label: itemLabel }) => (\n <View key={itemHref}>\n <Image\n style={styles.externalImage}\n src={getUrlWithBase('/images/external-link.png')}\n />\n <Link style={styles.link} src={itemHref}>{itemLabel}</Link>\n </View>\n ));\n\n return reduce(externalLinkNodes, (prev, curr) => [prev, ' / ', curr]);\n };\n\n return (\n <View style={styles.row}>\n {renderMultipleExternalLinks()}\n </View>\n );\n }\n\n if (!isURL(href)) {\n return (\n <View style={styles.row}>\n <Text style={styles.link}>{href}</Text>\n </View>\n );\n }\n\n return (\n <View style={styles.row}>\n <Image\n style={styles.externalImage}\n src={getUrlWithBase('/images/external-link.png')}\n />\n <Link style={styles.link} src={href}>{label}</Link>\n </View>\n );\n}\n\nExternalLink.propTypes = {\n href: officialSourceShape,\n label: PropTypes.string,\n};\n\nexport default ExternalLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text, View, Link } from '@react-pdf/renderer';\nimport { map, truncate, isEmpty, slice, size } from 'lodash';\n\nimport {\n BLUE_BADGE_COLOR,\n BLUE_BADGE_BORDER_COLOR,\n SECONDARY_BADGE_COLOR,\n GREEN_BADGE_COLOR,\n GREEN_BADGE_BORDER_COLOR,\n WHITE_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\nimport { TAGS_DISPLAY_LENGTH } from 'components/core/ViewTags/constants';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport {\n getDisplayingStatus,\n} from 'components/Dashboard/common/FeedPage/components/Export/components/Document/utils';\nimport {\n DISPLAY_PDF_TAGS,\n} from 'components/Dashboard/common/FeedPage/components/Export/components/Modal/constants';\nimport { stringNumberType } from 'utils/shapes';\n\nconst styles = StyleSheet.create({\n flexContainer: {\n marginBottom: '10px',\n flexDirection: 'row',\n alignItems: 'center',\n flexWrap: 'wrap',\n },\n badge: {\n backgroundColor: SECONDARY_BADGE_COLOR,\n color: WHITE_COLOR,\n fontSize: 10,\n borderRadius: 3,\n padding: '2px 6px',\n margin: '0 5px 5px 0',\n },\n greenBadge: {\n backgroundColor: GREEN_BADGE_COLOR,\n borderWidth: 1,\n borderColor: GREEN_BADGE_BORDER_COLOR,\n },\n blueBadge: {\n borderWidth: 1,\n backgroundColor: BLUE_BADGE_COLOR,\n borderColor: BLUE_BADGE_BORDER_COLOR,\n },\n link: {\n textDecoration: 'none',\n },\n});\n\nfunction Tags({ displayingProps, tags, url, isRecent, tagStyle }) {\n const displayTagsSection = getDisplayingStatus({ displayingProps, section: DISPLAY_PDF_TAGS });\n\n if (!displayTagsSection || isEmpty(tags)) {\n return null;\n }\n\n const sizeTags = size(tags);\n const colorBadge = isRecent ? styles.greenBadge : styles.blueBadge;\n\n function renderTag(tag, index) {\n const { label } = tag || {};\n\n if (!label) {\n return null;\n }\n\n return (\n <Text\n key={`tag-item-${index}`}\n style={[styles.badge, colorBadge, tagStyle]}\n >\n {truncate(label, { length: 40 })}\n </Text>\n );\n }\n\n function getExtra() {\n if (sizeTags > TAGS_DISPLAY_LENGTH) {\n return (\n <Link src={url} style={[styles.badge, styles.blueBadge, styles.link, tagStyle]}>\n +{sizeTags - TAGS_DISPLAY_LENGTH}\n </Link>\n );\n }\n\n return null;\n }\n\n return (\n <View style={styles.flexContainer}>\n {map(slice(tags, 0, TAGS_DISPLAY_LENGTH), renderTag)}\n {getExtra()}\n </View>\n );\n}\n\nTags.defaultProps = {\n tagStyle: {},\n};\n\nTags.propTypes = {\n isRecent: PropTypes.bool,\n tags: PropTypes.arrayOf(tagShape),\n url: PropTypes.string,\n tagStyle: PropTypes.shape({\n [PropTypes.string]: stringNumberType,\n }),\n displayingProps: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default Tags;\n","export { default as BaseDocument } from './components/BaseDocument';\nexport { default as BasePage } from './components/BasePage';\nexport { default as DocumentFooter } from './components/DocumentFooter';\nexport { default as DocumentTitle } from './components/DocumentTitle';\nexport { default as LabelLink } from './components/LabelLink';\nexport { default as LabelText } from './components/LabelText';\nexport { default as LabelTextArray } from './components/LabelTextArray';\nexport { default as LabelTitle } from './components/LabelTitle';\nexport { default as SectionTitle } from './components/SectionTitle';\nexport { default as MultipleLabelArray } from './components/MultipleLabelArray';\nexport { default as TableView } from './components/TableView';\nexport { default as LabelItemList } from './components/LabelItemList';\nexport { default as LegislatorName } from './components/LegislatorName';\nexport { default as ReportSummary } from './components/ReportSummary';\nexport { default as LabeledProgressBar } from './components/LabeledProgressBar';\nexport { default as RowsLabelValues } from './components/RowsLabelValues';\nexport { default as ExternalLink } from './components/ExternalLink';\nexport { default as PartyIcon } from './components/PartyIcon';\nexport { default as Tags } from './components/Tags';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\n\nimport Card from 'components/core/Card';\nimport { EmptyTablePlaceholder } from 'components/core/Profile/components/Placeholders';\n\nimport Title from '../Title';\nimport styles from './styles.module.scss';\n\nexport default function DataCard({\n id,\n showPlaceholder,\n title,\n description,\n children,\n emptyTitle,\n emptyDescription,\n className,\n titleClassName,\n placeholderClassName,\n rightItems,\n questionText,\n questionTooltipTheme,\n customTitle,\n customTitleClassName,\n theme,\n}) {\n const placeholder = (\n <EmptyTablePlaceholder\n title={emptyTitle}\n description={emptyDescription}\n className={placeholderClassName}\n />\n );\n\n function renderTitle() {\n if (isFunction(customTitle)) {\n return customTitle();\n }\n\n return (\n <Title\n title={title}\n description={description}\n className={titleClassName}\n titleClassName={customTitleClassName}\n rightItems={rightItems}\n questionText={questionText}\n questionTooltipTheme={questionTooltipTheme}\n />\n );\n }\n\n return (\n <Card\n id={id}\n className={classNames(styles.container, showPlaceholder && styles.withPlaceholder, className)}\n theme={theme}\n >\n {renderTitle()}\n {showPlaceholder ? placeholder : children}\n </Card>\n );\n}\n\nDataCard.defaultProps = {\n showPlaceholder: false,\n};\n\nDataCard.propTypes = {\n id: PropTypes.string,\n showPlaceholder: PropTypes.bool,\n title: PropTypes.string,\n description: PropTypes.string,\n children: PropTypes.node,\n emptyTitle: PropTypes.string,\n emptyDescription: PropTypes.node,\n className: PropTypes.string,\n titleClassName: PropTypes.string,\n placeholderClassName: PropTypes.string,\n rightItems: PropTypes.node,\n questionText: PropTypes.string,\n questionTooltipTheme: PropTypes.string,\n customTitle: PropTypes.func,\n customTitleClassName: PropTypes.string,\n theme: PropTypes.string,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { EXITED, ENTERED, ENTERING, EXITING } from 'react-transition-group/Transition';\n\nimport styles from './styles.module.scss';\n\nconst transitionStatusToClassHash = {\n [ENTERING]: styles.collapsing,\n [ENTERED]: classNames(styles.collapse, 'collapse', 'show'),\n [EXITING]: styles.collapsing,\n [EXITED]: classNames(styles.collapse, 'collapse'),\n};\n\nfunction getHeight(node) {\n return node.scrollHeight;\n}\n\nfunction getTransitionClass(status) {\n return transitionStatusToClassHash[status] || 'collapse';\n}\n\nfunction Collapse({\n isOpen,\n className,\n children,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n animationTimeout,\n ...respProps\n}) {\n const [height, setHeight] = useState(null);\n\n function handleOnEntering(node, isAppearing) {\n setHeight(getHeight(node));\n onEntering(node, isAppearing);\n }\n\n function handleOnEntered(node, isAppearing) {\n setHeight(null);\n onEntered(node, isAppearing);\n }\n\n function handleOnExit(node) {\n setHeight(getHeight(node));\n onExit(node);\n }\n\n function handleOnExiting(node) {\n /** Getting this variable triggers a reflow */\n const _unused = node.offsetHeight; // eslint-disable-line no-unused-vars\n\n setHeight(0);\n onExiting(node);\n }\n\n function handleOnExited(node) {\n setHeight(null);\n onExited(node);\n }\n\n const style = height !== null ? { height } : {};\n\n return (\n <Transition\n timeout={animationTimeout}\n in={isOpen}\n onEntering={handleOnEntering}\n onEntered={handleOnEntered}\n onExit={handleOnExit}\n onExiting={handleOnExiting}\n onExited={handleOnExited}\n >\n {(status) => {\n const collapseClass = getTransitionClass(status);\n\n return (\n <div\n ref={respProps.innerRef}\n style={style}\n className={classNames(className, collapseClass)}\n >\n {children}\n </div>\n );\n }}\n </Transition>\n );\n}\n\nCollapse.defaultProps = {\n ...Transition.defaultProps,\n animationTimeout: 350,\n};\n\nCollapse.propTypes = {\n isOpen: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n onEntering: PropTypes.func,\n onEntered: PropTypes.func,\n onExit: PropTypes.func,\n onExiting: PropTypes.func,\n onExited: PropTypes.func,\n animationTimeout: PropTypes.number,\n};\n\nexport default Collapse;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Collapse from './Collapse';\n\nfunction Item(props) {\n const { isOpen, children, className, renderTitle, renderContent, animationTimeout, noAnimation, id } = props;\n const tagId = id ? `accordion__item-${id}` : null;\n\n if (noAnimation) {\n return (\n <div className={className} id={tagId}>\n {renderTitle({ ...props })}\n\n {isOpen && (children || renderContent({ ...props }))}\n </div>\n );\n }\n\n return (\n <div className={className} id={tagId}>\n {renderTitle({ ...props })}\n <Collapse animationTimeout={animationTimeout} isOpen={isOpen}>\n {children || renderContent({ ...props })}\n </Collapse>\n </div>\n );\n}\n\nItem.propTypes = {\n isOpen: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n renderTitle: PropTypes.func,\n renderContent: PropTypes.func,\n animationTimeout: PropTypes.number,\n noAnimation: PropTypes.bool,\n id: PropTypes.string,\n};\n\nItem.defaultProps = {\n isOpen: false,\n className: '',\n noAnimation: false,\n id: null,\n};\n\nexport default Item;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Caret from '../Caret';\nimport styles from './styles.module.scss';\n\nfunction CaretTitle({ title, isOpen, toggle }) {\n return (\n <div onClick={toggle} onKeyDown={toggle} className={styles.itemTitle}>\n <Caret isOpen={isOpen} />\n {title}\n </div>\n );\n}\n\nCaretTitle.propTypes = {\n title: PropTypes.string,\n toggle: PropTypes.func,\n isOpen: PropTypes.bool,\n};\n\nexport default CaretTitle;\n","import React, { cloneElement, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Item from './components/Item';\nimport Caret from './components/Caret';\nimport CaretTitle from './components/CaretTitle';\nimport useAccordionState from './utils/useAccordionState';\nimport { isOpenShape } from './utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction Accordion({\n isDisabled,\n className,\n children,\n multi,\n onToggle,\n isOpen,\n ...props\n}) {\n const initialOpenedTabs = {};\n let hasSomeTabsOpened = false;\n\n Children.forEach(children, ({ key, props: childProps }) => {\n const canOpenMoreTabs = multi || !hasSomeTabsOpened;\n\n initialOpenedTabs[key] = canOpenMoreTabs && childProps.isOpen;\n\n hasSomeTabsOpened = hasSomeTabsOpened || childProps.isOpen;\n });\n\n const { isOpen: internalIsOpen, handleToggle: internalHandleToggle } = useAccordionState(initialOpenedTabs, multi);\n const [itemIsOpen, handleToggle] = onToggle ? [isOpen, onToggle] : [internalIsOpen, internalHandleToggle];\n\n return (\n <div className={classNames(isDisabled && styles.disabled, className)}>\n {Children.map(children, child => cloneElement(child, {\n ...props,\n ...child.props,\n children: child.props.children,\n isOpen: itemIsOpen[child.key],\n toggle: () => handleToggle(child.key),\n }))}\n </div>\n );\n}\n\nAccordion.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n multi: PropTypes.bool,\n onToggle: PropTypes.func,\n isOpen: isOpenShape,\n isDisabled: PropTypes.bool,\n};\n\nAccordion.defaultProps = {\n className: '',\n multi: true,\n};\n\nexport default Accordion;\nexport { Item, Caret, CaretTitle, useAccordionState };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\n\nimport Link from 'components/core/Link';\nimport Button from 'components/core/Button';\n\nimport styles from '../../ViewMoreItem/styles.module.scss';\n\nfunction ListItem({ item, column, className, onClick, getHref, isExternal }) {\n const { id, name } = item;\n\n if (isFunction(getHref)) {\n return (\n <Link\n theme=\"tableLink\"\n size=\"none\"\n href={getHref(id, name, column)}\n className={classNames(styles.tableLink, className)}\n isExternal={isExternal}\n >\n {name}\n </Link>\n );\n }\n\n if (isFunction(onClick)) {\n return (\n <Button\n theme=\"tableLink\"\n size=\"none\"\n onClick={onClick(id, name, column)}\n className={classNames(styles.tableLink, className)}\n >\n {name}\n </Button>\n );\n }\n\n return (\n <div className={classNames(styles.tableLink, className)}>\n {name}\n </div>\n );\n}\n\nListItem.propTypes = {\n item: PropTypes.object.isRequired,\n className: PropTypes.string,\n column: PropTypes.string,\n onClick: PropTypes.func,\n getHref: PropTypes.func,\n isExternal: PropTypes.bool,\n};\n\nexport default ListItem;\n","/* eslint-disable react/no-array-index-key */\nimport React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport { isEmpty, forEach, map, size, head } from 'lodash';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { Column } from 'components/core/Table';\nimport { stringNumberType } from 'utils/shapes';\n\nimport ListItem from '../LinkListItem/components/ListItem';\nimport styles from './styles.module.scss';\n\nfunction ViewMoreItem({\n keyName,\n dataList,\n isEmptyData,\n className,\n isObjectData,\n isPlainText,\n isLinkList,\n onClick,\n getHref,\n getItem,\n}) {\n const dataListSize = size(dataList);\n\n function getSubItems(subItems) {\n if (isEmpty(subItems)) {\n return null;\n }\n\n return map(subItems, (item, subItemIndex) => (\n <p key={`${item}-${subItemIndex}`} className={classNames(styles.tooltipItem, styles.subItem)}>\n {item}\n </p>\n ));\n }\n\n /** For object dataList structure: [{ id, name, items }] */\n function getObjectTooltip() {\n return (\n <div className={styles.tooltipContent}>\n {map(dataList, (issue = {}, index) => {\n const { name, items } = issue;\n\n return (\n <Fragment key={`${issue}-${index}`}>\n <p className={classNames(styles.tooltipItem, styles.activeTitle)}>{name}</p>\n {getSubItems(items)}\n </Fragment>\n );\n })}\n </div>\n );\n }\n\n function getDefaultItem(item, isTooltipItem = false) {\n return getItem ? getItem(item, isTooltipItem) : item;\n }\n\n function tooltipNode() {\n if (isEmptyData) {\n return null;\n }\n\n if (isObjectData) {\n return getObjectTooltip();\n }\n\n if (isLinkList) {\n return (\n <div className={styles.tooltipContent}>\n {map(dataList, (issue, index) => (\n <ListItem\n key={`${issue.id}-${index}`}\n className={styles.tooltipLink}\n onClick={onClick}\n getHref={getHref}\n item={issue}\n column={keyName}\n />\n ))}\n </div>\n );\n }\n\n return (\n <div className={styles.tooltipContent}>\n {map(dataList, (issue, index) => (\n <p key={`${issue}-${index}`} className={styles.tooltipItem}>\n {getDefaultItem(issue, true)}\n </p>\n ))}\n </div>\n );\n }\n\n function renderTooltip(firstItem, listLength) {\n return (\n <div className={classNames('tooltip-column', styles.buttonContainer, className)}>\n <div className={classNames('tooltip-column__data', styles.label)}>\n <Tooltip\n content={tooltipNode()}\n placement=\"bottom\"\n className={classNames(\n 'tooltip-column__container',\n styles.tooltipWrapper,\n styles.tooltipContainer,\n )}\n appendTo={document.body}\n interactive\n >\n <div className={styles.flexContent}>\n <div>{firstItem}</div>\n <div className={styles.badge}>+{listLength} more</div>\n </div>\n </Tooltip>\n </div>\n </div>\n );\n }\n\n function getNestedItemsLength() {\n let currentDataLength = !isEmptyData ? dataListSize : 1;\n\n if (!isEmptyData) {\n forEach(dataList, ({ items }) => {\n !isEmpty(items) && (currentDataLength += size(items));\n });\n }\n\n return currentDataLength - 1;\n }\n\n function renderObjectIssueArea() {\n if (isEmptyData) {\n return EMPTY_VALUE;\n }\n\n const firstItem = head(dataList) || {};\n const name = firstItem.name || EMPTY_VALUE;\n\n if (dataListSize === 1) {\n return <div>{name}</div>;\n }\n\n return renderTooltip(name, getNestedItemsLength());\n }\n\n function renderDefaultIssueArea() {\n if (isEmptyData || dataListSize === 0) {\n return EMPTY_VALUE;\n }\n\n const firstItem = getDefaultItem(head(dataList));\n\n if (dataListSize === 1) {\n return <div>{firstItem}</div>;\n }\n\n return renderTooltip(firstItem, dataListSize - 1);\n }\n\n function renderListIssueArea() {\n if (isEmptyData || dataListSize === 0) {\n return EMPTY_VALUE;\n }\n\n const firstDataItem = head(dataList) || {};\n\n const firstItem = (\n <ListItem\n className={styles.tableLink}\n onClick={onClick}\n getHref={getHref}\n item={firstDataItem}\n column={keyName}\n />\n );\n\n if (dataListSize === 1) {\n return firstItem;\n }\n\n return renderTooltip(firstItem, dataListSize - 1);\n }\n\n function renderContent() {\n let areaContent = renderDefaultIssueArea;\n\n if (isLinkList) {\n areaContent = renderListIssueArea;\n }\n\n if (isObjectData) {\n areaContent = renderObjectIssueArea;\n }\n\n if (isPlainText) {\n return areaContent();\n }\n\n return (\n <Column key={keyName} keyName={keyName}>\n {areaContent}\n </Column>\n );\n }\n\n return renderContent();\n}\n\nViewMoreItem.propTypes = {\n keyName: stringNumberType.isRequired,\n dataList: PropTypes.oneOfType([PropTypes.array, PropTypes.object]).isRequired,\n onClick: PropTypes.func,\n getHref: PropTypes.func,\n isEmptyData: PropTypes.bool,\n className: PropTypes.string,\n isObjectData: PropTypes.bool,\n isPlainText: PropTypes.bool,\n getItem: PropTypes.func,\n};\n\nexport default ViewMoreItem;\n","import { EMAIL_REGEXP } from 'utils/constants/regexps';\n\nexport const validateEmail = (email:string):boolean => EMAIL_REGEXP.test(email);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\nimport Link from 'components/core/Link';\nimport { getDirectMailLink } from 'utils/socialMedia/links';\n\nimport { validateEmail } from './validators';\nimport styles from '../styles.module.scss';\n\nfunction EmailItem({ keyName, item, onClick, isExternal }) {\n const { email, emails = [] } = item;\n const dataList = email ? [email] : emails;\n\n const handleClick = (emailItem, isEmail) => () => isEmail && onClick && onClick(emailItem);\n\n function renderEmail(emailItem, isTooltipItem) {\n const isEmail = validateEmail(emailItem);\n return (\n <Link\n size=\"none\"\n theme=\"link\"\n className={classNames(styles.link, isTooltipItem && styles.tooltipLink)}\n href={isEmail ? getDirectMailLink(emailItem) : emailItem}\n onClick={handleClick(emailItem, isEmail)}\n isExternal={isExternal}\n displayExternalIcon={false}\n >\n {isEmail ? emailItem : 'Web form'}\n </Link>\n );\n }\n\n return (\n <ViewMoreItem\n keyName={keyName}\n dataList={dataList}\n isEmptyData={isEmpty(dataList)}\n getItem={renderEmail}\n />\n );\n}\n\nEmailItem.defaultProps = {\n item: {},\n isExternal: false,\n};\n\nEmailItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.shape({\n email: PropTypes.string,\n emails: PropTypes.arrayOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ])),\n }),\n onClick: PropTypes.func,\n isExternal: PropTypes.bool,\n};\n\nexport default EmailItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LegislatorName } from 'components/Legislator';\nimport { Column } from 'components/core/Table';\n\nfunction LegislatorItem({\n keyName,\n isPlainText,\n ...restProps\n} = {}) {\n function renderName() {\n return <LegislatorName {...restProps} />;\n }\n\n return isPlainText\n ? renderName()\n : <Column key={keyName} keyName={keyName}>{renderName}</Column>;\n}\n\nLegislatorItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n isPlainText: PropTypes.bool,\n};\n\nexport default LegislatorItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, sortBy, capitalize } from 'lodash';\nimport Tooltip from '@tippyjs/react';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { Column } from 'components/core/Table';\nimport { EmptyItem } from 'components/core/Table/components/ColumnItem';\n\nimport ListItem from './components/ListItem';\nimport styles from './styles.module.scss';\n\nfunction LinkListItem({ keyName, value, onClick, getHref, isColumn, isExternal }) {\n if (isColumn && (isEmpty(value) || value === EMPTY_VALUE)) {\n return <EmptyItem keyName={keyName} />;\n }\n\n const capitalizedValues = value.map(({ id, name }) => ({ id, name: capitalize(name) }));\n const sortedList = sortBy(capitalizedValues, 'name');\n const firstItem = sortedList[0];\n\n const tooltipNode = () => (\n <div className={styles.tooltipContent}>\n {sortedList.map((issue, index) => (\n <ListItem\n key={`${issue.id}-${index}`}\n onClick={onClick}\n getHref={getHref}\n item={issue}\n column={keyName}\n className={styles.tooltipLink}\n isExternal={isExternal}\n />\n ))}\n </div>\n );\n\n const renderLinks = () => {\n if (sortedList.length === 1) {\n return (\n <ListItem\n item={firstItem}\n onClick={onClick}\n getHref={getHref}\n column={keyName}\n isExternal={isExternal}\n />\n );\n }\n\n return (\n <div role=\"button\" className={styles.buttonOutline}>\n <div className={classNames('link-list-column', styles.linkLabel)}>\n <Tooltip\n className={classNames(\n 'link-list-column',\n styles.tooltipWrapper,\n styles.tooltipContainer,\n )}\n content={tooltipNode()}\n placement=\"bottom\"\n appendTo={document.body}\n interactive\n >\n <div className={styles.flexContent}>\n <ListItem\n item={firstItem}\n onClick={onClick}\n getHref={getHref}\n column={keyName}\n isExternal={isExternal}\n />\n <div className={styles.badge}>\n +{sortedList.length - 1} more\n </div>\n </div>\n </Tooltip>\n </div>\n </div>\n );\n };\n\n\n if (!isColumn) {\n return renderLinks();\n }\n\n return <Column key={keyName} keyName={keyName}>{renderLinks}</Column>;\n}\n\nLinkListItem.defaultProps = {\n isColumn: true,\n};\n\nLinkListItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n onClick: PropTypes.func,\n getHref: PropTypes.func,\n isColumn: PropTypes.bool,\n isExternal: PropTypes.bool,\n};\n\nexport default LinkListItem;\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nfunction CapitalizedItem(value) {\n return <div className={styles.capitalize}>{value}</div>;\n}\n\nexport default CapitalizedItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\nimport Link from 'components/core/Link';\nimport { getPhoneLink } from 'utils/socialMedia/links';\n\nimport styles from '../styles.module.scss';\n\nfunction PhoneColumn({ keyName, item, onClick }) {\n const { phone, phones = [] } = item;\n const dataList = phone ? [phone] : phones;\n const handleClick = phoneItem => () => onClick(phoneItem);\n\n function renderPhone(phoneItem, isTooltipItem) {\n return (\n <Link\n size=\"none\"\n theme=\"link\"\n className={classNames(styles.link, isTooltipItem && styles.tooltipLink)}\n href={getPhoneLink(phoneItem)}\n onClick={handleClick(phoneItem)}\n displayExternalIcon={false}\n >\n {phoneItem}\n </Link>\n );\n }\n\n return (\n <ViewMoreItem\n keyName={keyName}\n dataList={dataList}\n isEmptyData={isEmpty(dataList)}\n getItem={renderPhone}\n />\n );\n}\n\nPhoneColumn.defaultProps = {\n item: {},\n onClick: () => {},\n};\n\nPhoneColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.shape({\n phone: PropTypes.string,\n phones: PropTypes.arrayOf(PropTypes.string),\n }),\n onClick: PropTypes.func,\n};\n\nexport default PhoneColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Column } from 'components/core/Table';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { formatToMoment } from 'components/core/Profile/utils';\nimport { stringNumberType } from 'utils/shapes';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport { formatDateBy } from 'utils/date';\n\nimport styles from './styles.module.scss';\n\nfunction DateItem({ id, keyName, item, label, labelId, className }) {\n const currentValue = item[id];\n\n function renderDate() {\n if (isEmpty(currentValue)) {\n return EMPTY_VALUE;\n }\n const date = formatToMoment(currentValue);\n\n return (\n <div className={classNames(styles.column, className)}>\n {formatDateBy(date, GLOBAL_DATE_FORMAT)}\n {item[labelId] && label && <span>({ label })</span>}\n </div>\n );\n }\n\n return (\n <Column key={keyName} keyName={keyName}>{renderDate}</Column>\n );\n}\n\nDateItem.defaultProps = {\n item: {},\n id: 'date',\n};\n\nDateItem.propTypes = {\n id: PropTypes.string,\n keyName: PropTypes.string.isRequired,\n item: PropTypes.shape({\n id: stringNumberType,\n labelId: PropTypes.string,\n }),\n label: PropTypes.string,\n labelId: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default DateItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { Column } from 'components/core/Table';\n\nfunction EmptyItem({ keyName }) {\n return (\n <Column key={keyName} keyName={keyName}>{() => EMPTY_VALUE}</Column>\n );\n}\n\nEmptyItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n};\n\nexport default EmptyItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, truncate, replace, size } from 'lodash';\nimport Tooltip from '@tippyjs/react';\n\nimport styles from '../styles.module.scss';\n\nfunction TrimTextHtmlItem({ textToTrim, maxTextLength, className }) {\n if (isEmpty(textToTrim)) {\n return null;\n }\n\n const trimmedText = replace(textToTrim, /_{2,}/g, '');\n const originalTextInnerHTML = { __html: trimmedText };\n\n if (size(trimmedText) <= maxTextLength) {\n return (\n <span\n className={classNames(styles.highlightedText, className)}\n dangerouslySetInnerHTML={originalTextInnerHTML}\n />\n );\n }\n\n function getTooltipNode() {\n return <span className={styles.textTrim} dangerouslySetInnerHTML={originalTextInnerHTML} />;\n }\n\n const htmlToDisplay = truncate(trimmedText, { length: maxTextLength, separator: /,?\\.<\\/* +/ });\n const innerHTML = { __html: htmlToDisplay };\n\n return (\n <Tooltip\n content={getTooltipNode()}\n className={classNames(styles.tooltipContainer)}\n placement=\"bottom\"\n >\n <span className={classNames(styles.highlightedText, className)} dangerouslySetInnerHTML={innerHTML} />\n </Tooltip>\n );\n}\n\nTrimTextHtmlItem.defaultProps = {\n maxTextLength: 90,\n};\n\nTrimTextHtmlItem.propTypes = {\n textToTrim: PropTypes.string,\n className: PropTypes.string,\n maxTextLength: PropTypes.number,\n};\n\nexport default TrimTextHtmlItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport { Column } from 'components/core/Table';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction LinkItem({\n value,\n keyName,\n item,\n isExternalLink,\n className,\n href,\n label,\n labelId,\n prefix,\n isValueLink,\n onClick,\n isRouterLink,\n}) {\n const { url } = item;\n const linkUrl = isValueLink ? value : (url || href);\n const labelElement = item[labelId] && label && <span>({ label })</span>;\n\n function renderLink() {\n if (isEmpty(value) || value === EMPTY_VALUE) {\n return EMPTY_VALUE;\n }\n\n if (isEmpty(linkUrl)) {\n return (\n <div className={classNames(styles.column, className)}>\n {value}\n {labelElement}\n </div>\n );\n }\n\n const customProps = {\n ...(isExternalLink && {\n target: '_blank',\n rel: 'noopener noreferrer',\n }),\n };\n\n const mountedUrl = `${prefix}${linkUrl}`;\n\n return (\n <div className={classNames(styles.column, className)}>\n <Link\n {...customProps}\n isRouterLink={isRouterLink}\n theme=\"link\"\n to={mountedUrl}\n href={mountedUrl}\n className={styles.link}\n onClick={onClick}\n >\n {value}\n </Link>\n {labelElement}\n </div>\n );\n }\n\n return <Column key={keyName} keyName={keyName}>{renderLink}</Column>;\n}\n\nLinkItem.defaultProps = {\n item: {},\n isExternalLink: false,\n isValueLink: false,\n prefix: '',\n onClick: () => {},\n isRouterLink: false,\n};\n\nLinkItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.shape({\n url: PropTypes.string,\n }),\n value: PropTypes.node,\n className: PropTypes.string,\n isExternalLink: PropTypes.bool,\n isValueLink: PropTypes.bool,\n label: PropTypes.string,\n labelId: PropTypes.string,\n href: PropTypes.string,\n prefix: PropTypes.string,\n onClick: PropTypes.func,\n isRouterLink: PropTypes.bool,\n};\n\nexport default LinkItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {\n LEGISLATOR_TYPE,\n COMMITTEE_TYPE,\n OTHER_TYPE,\n} from 'redux/staffers/common/constants';\nimport LinkToLegislator from 'components/shared/link-to-legislator';\nimport Link from 'components/core/Link';\nimport { Column } from 'components/core/Table';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport columnStyles from '../styles.module.scss';\nimport styles from './styles.module.scss';\n\nconst OTHER_VALUE = 'Other';\n\nfunction OfficeItem({ keyName, value, tracking, item, withOtherType, legislationLevel }) {\n const {\n trackStafferProfileLegislatorVisited,\n trackStafferProfileCommitteeVisited,\n } = tracking;\n\n const { committee, legislator, employment } = item;\n\n function getLegislatorLink() {\n const noOffice = isEmpty(committee) && isEmpty(legislator) && isEmpty(employment);\n\n if (noOffice && withOtherType) {\n return OTHER_VALUE;\n }\n\n if (isEmpty(value) || value === EMPTY_VALUE) {\n return EMPTY_VALUE;\n }\n\n if (value.type === LEGISLATOR_TYPE) {\n return (\n <LinkToLegislator\n legislator={value}\n legislationLevel={legislationLevel}\n onClick={trackStafferProfileLegislatorVisited}\n className={styles.legislation}\n showEnvelope={false}\n />\n );\n }\n\n if (value.type === COMMITTEE_TYPE) {\n return (\n <Link\n size=\"none\"\n theme=\"link\"\n className={columnStyles.link}\n href={value.url}\n onClick={trackStafferProfileCommitteeVisited}\n >\n {value.name}\n </Link>\n );\n }\n\n if (value.type === OTHER_TYPE) {\n return value.name;\n }\n\n return EMPTY_VALUE;\n }\n\n return <Column key={keyName} keyName={keyName}>{getLegislatorLink}</Column>;\n}\n\nOfficeItem.defaultProps = {\n value: {},\n item: {},\n withOtherType: false,\n legislationLevel: 'federal',\n};\n\nOfficeItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n legislationLevel: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n item: PropTypes.object,\n withOtherType: PropTypes.bool,\n tracking: PropTypes.object.isRequired,\n};\n\nexport default OfficeItem;\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, isNil } from 'lodash';\nimport Tooltip from '@tippyjs/react';\n\nimport { LegislatorItem } from 'components/core/Table/components/ColumnItem';\nimport { Column } from 'components/core/Table';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport { getLegislatorUrl } from './utils';\nimport styles from './styles.module.scss';\n\nfunction LegislatorListItem({\n keyName,\n trackLegislatorVisited,\n formatLegislatorUrl,\n columnClassName,\n tooltipBottomContent,\n item,\n}) {\n const {\n legislators = [{}],\n allLegislatorsSize = 0,\n } = item || {};\n\n const firstItem = legislators[0] || {};\n const isEmptyData = isEmpty(legislators);\n const legislatorsLength = legislators.length;\n const currentLegislatorsLength = !isNil(allLegislatorsSize) ? allLegislatorsSize : legislatorsLength;\n\n function getLegislatorItem(legislator = {}) {\n const { name, id } = legislator;\n const url = getLegislatorUrl(legislator, formatLegislatorUrl);\n\n const keyId = legislator.partyShort ? id : `committee-${id}`;\n\n const handleLegislatorClick = () => trackLegislatorVisited\n && trackLegislatorVisited(name);\n\n return (\n <LegislatorItem\n {...legislator}\n className={classNames(styles.legislatorItem, styles.cosponsorItem)}\n keyName={`${keyName}-item-${keyId}`}\n contentClassName={styles.tooltipHoverItem}\n url={url}\n isPlainText\n key={`legislator-item-${keyId}`}\n onClick={handleLegislatorClick}\n />\n );\n }\n\n function tooltipNode() {\n if (isEmptyData) {\n return null;\n }\n\n const tooltipLegislators = [...legislators];\n tooltipLegislators.shift();\n\n return (\n <div className={styles.tooltipContent}>\n {tooltipLegislators.map(getLegislatorItem)}\n\n {tooltipBottomContent}\n </div>\n );\n }\n\n function renderLinks() {\n if (isEmptyData || isEmpty(firstItem)) {\n return EMPTY_VALUE;\n }\n\n if (legislatorsLength === 1) {\n return getLegislatorItem(firstItem);\n }\n\n return (\n <div className={styles.container}>\n <Tooltip\n content={tooltipNode()}\n className={classNames(\n styles.tooltipWrapper,\n styles.tooltipContainer,\n columnClassName,\n )}\n placement=\"bottom\"\n appendTo={document.body}\n interactive\n >\n <div className={styles.linkLabel}>\n <div className={styles.cosponsorItem}>\n {getLegislatorItem(firstItem)}\n </div>\n\n <div className={styles.badge}>\n + {currentLegislatorsLength - 1} more\n </div>\n </div>\n </Tooltip>\n </div>\n );\n }\n\n return <Column key={keyName} keyName={keyName}>{renderLinks}</Column>;\n}\n\nLegislatorListItem.propTypes = {\n tooltipBottomContent: PropTypes.node,\n item: PropTypes.object.isRequired,\n trackLegislatorVisited: PropTypes.func,\n keyName: PropTypes.string.isRequired,\n formatLegislatorUrl: PropTypes.func,\n columnClassName: PropTypes.string,\n};\n\nexport default LegislatorListItem;\n","import { isEmpty, isFunction } from 'lodash';\n\nexport function getLegislatorUrl(legislator, formatLegislatorUrl) {\n const { id, url } = legislator || {};\n\n if (!isEmpty(url)) {\n return url;\n }\n\n if (!isFunction(url) || isEmpty(id)) {\n return null;\n }\n\n return formatLegislatorUrl(id);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport TrimTextItem from 'components/core/Table/components/ColumnItem/TrimTextItem';\nimport { Column } from 'components/core/Table';\nimport Link from 'components/core/Link';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction BillTitleItem({ keyName, item, trackingActions }) {\n const { id, billId, billTitle, billUrl } = item || {};\n const { trackBillVisited } = trackingActions;\n const handleClick = () => trackBillVisited && trackBillVisited(billId);\n\n function renderBill() {\n if (isEmpty(billId)) {\n return EMPTY_VALUE;\n }\n\n if (isEmpty(id) || isEmpty(billUrl)) {\n return <div>{billId}</div>;\n }\n\n const billLink = (\n <Link\n className={styles.billColumnLink}\n theme=\"default\"\n href={billUrl}\n onClick={handleClick}\n >\n {billId}\n </Link>\n );\n\n if (isEmpty(billTitle)) {\n return billLink;\n }\n\n return (\n <div className={styles.billColumn}>\n {billLink}\n <TrimTextItem textToTrim={billTitle} maxTextLength={80} />\n </div>\n );\n }\n\n return (\n <Column key={keyName} keyName={keyName} className={styles.container}>{renderBill}</Column>\n );\n}\n\nBillTitleItem.defaultProps = {\n item: {},\n trackingActions: {},\n};\n\nBillTitleItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n trackingActions: PropTypes.object,\n item: PropTypes.object,\n};\n\nexport default BillTitleItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Column } from 'components/core/Table';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { TrimTextItem } from 'components/core/Table/components/ColumnItem';\n\nfunction CustomFieldsItem({ keyName, item, maxTextLength }) {\n const { custom_fields } = item || {};\n\n const customFields = custom_fields[keyName];\n const isCustomFieldsArray = Array.isArray(customFields);\n\n function renderCustomFields() {\n if (isEmpty(customFields)) {\n return EMPTY_VALUE;\n }\n const content = isCustomFieldsArray ? customFields.join(', ') : customFields;\n\n return <TrimTextItem textToTrim={content} maxTextLength={maxTextLength} />;\n }\n\n return <Column key={keyName} keyName={keyName}>{renderCustomFields}</Column>;\n}\n\nCustomFieldsItem.defaultProps = {\n maxTextLength: 65,\n};\n\nCustomFieldsItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.object,\n maxTextLength: PropTypes.number,\n};\n\nexport default CustomFieldsItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Column } from 'components/core/Table';\nimport { dragHandlePropsShape } from 'utils/shapes/dnd';\n\nimport styles from './styles.module.scss';\n\nfunction DraggableItem({ keyName, dragHandleProps, className, rowIndex }) {\n const renderPosition = () => (\n <span {...dragHandleProps} className={classNames(styles.position, className)}>\n <i className={classNames('fas fa-arrows-alt-v', styles.icon)} />\n #{rowIndex + 1}\n </span>\n );\n\n return <Column key={keyName} keyName={keyName}>{renderPosition}</Column>;\n}\n\nDraggableItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n dragHandleProps: dragHandlePropsShape,\n className: PropTypes.string,\n rowIndex: PropTypes.number,\n};\n\nexport default DraggableItem;\n","export { default as ViewMoreItem } from './ViewMoreItem';\nexport { default as EmailItem } from './EmailItem';\nexport { default as LegislatorItem } from './LegislatorItem';\nexport { default as LinkListItem } from './LinkListItem';\nexport { default as CapitalizedItem } from './CapitalizedItem';\nexport { default as PhoneItem } from './PhoneItem';\nexport { default as DateItem } from './DateItem';\nexport { default as EmptyItem } from './EmptyItem';\nexport { default as TrimTextItem } from './TrimTextItem';\nexport { default as TrimTextHtmlItem } from './TrimTextItem/components/TrimTextHtmlItem';\nexport { default as LinkItem } from './LinkItem';\nexport { default as OfficeItem } from './OfficeItem';\nexport { default as LegislatorListItem } from './LegislatorListItem';\nexport { default as BillTitleItem } from './BillTitleItem';\nexport { default as CustomFieldsItem } from './CustomFieldsItem';\nexport { default as DraggableItem } from './DraggableItem';\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Creatable } from 'react-select';\nimport uniqueId from 'lodash/uniqueId';\n\nimport KEY_CODES from 'utils/keyCodes';\n\nimport theme from '../theme';\n\nexport default function CreatableInput({\n uniqueIdValue,\n overrideValue,\n onChange,\n ...restProps\n}) {\n const [selectValue, setSelectValue] = useState([]);\n const [inputValue, setInputValue] = useState('');\n\n useEffect(() => {\n overrideValue ? setSelectValue(overrideValue) : setSelectValue([]);\n }, [overrideValue]);\n\n const customComponents = { DropdownIndicator: null };\n\n const createOption = label => ({\n value: uniqueIdValue ? `${label}-${uniqueId()}` : label,\n label,\n });\n\n const handleKeyDown = (event) => {\n const keyCode = event.keyCode || event.charCode || event.which;\n const isEnterKey = keyCode === KEY_CODES.ENTER;\n const isTabKey = keyCode === KEY_CODES.TAB;\n\n const { value } = event.target;\n\n if (!value) return;\n\n if (isEnterKey || isTabKey) {\n setSelectValue((prevValue) => {\n const newSelectValue = [...prevValue, createOption(value)];\n onChange && onChange(newSelectValue);\n\n return newSelectValue;\n });\n setInputValue('');\n event.preventDefault();\n }\n };\n\n const handleInputChange = (value) => {\n setInputValue(value);\n };\n\n const handleChange = (value) => {\n setSelectValue(value);\n onChange(value);\n };\n\n return (\n <Creatable\n styles={theme()}\n value={selectValue}\n inputValue={inputValue}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n onInputChange={handleInputChange}\n components={customComponents}\n menuIsOpen={false}\n isMulti\n isClearable\n {...restProps}\n />\n );\n}\n\nCreatableInput.defaultProps = {\n uniqueIdValue: true,\n placeholder: '', // get rid of default 'Select...' placeholder\n};\n\nCreatableInput.propTypes = {\n label: PropTypes.string,\n placeholder: PropTypes.string,\n name: PropTypes.string,\n onChange: PropTypes.func,\n uniqueIdValue: PropTypes.bool,\n overrideValue: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n ]),\n};\n","import isEmpty from 'lodash/isEmpty';\n\n/**\n * Parser to TagInput component options\n * If receive a item with a null value, creates a fake value (id) to allow user insertion\n */\nexport default function optionsParser(allowCreate) {\n return (options) => {\n if (isEmpty(options)) {\n return [];\n }\n\n if (!allowCreate) {\n return options.filter(option => option.value !== null);\n }\n\n const firstOption = options[0];\n if (options.length === 1 && firstOption.value === null) {\n return [{\n label: firstOption.label,\n value: firstOption.label,\n }];\n }\n\n return options;\n };\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Autosuggest from 'components/Autosuggest';\nimport ErrorMessage from 'components/core/ErrorMessage';\n\nimport CreatableInput from './components/CreatableInput';\nimport optionsParser from './optionsParser';\n\nimport theme from './theme';\nimport styles from './styles.module.scss';\n\nexport default function TagInput({\n defaultRawValues,\n allowCreate,\n strategy,\n creatable,\n multiple,\n withDisclaimer,\n withOverflow,\n isMobile,\n groupClassName,\n errorMessage,\n ...restProps\n}) {\n const [initialValues] = useState(defaultRawValues);\n\n if (creatable) {\n return (\n <CreatableInput {...restProps} />\n );\n }\n\n return (\n <>\n <Autosuggest\n theme={theme({ isMobile, withDisclaimer, withOverflow, isError: !isEmpty(errorMessage) })}\n groupClassName={groupClassName}\n labelClassName={styles.label}\n strategy={strategy}\n multiple={multiple}\n defaultRawValues={initialValues}\n optionsParser={optionsParser(allowCreate)}\n {...restProps}\n />\n <ErrorMessage className={styles.errorMessage} message={errorMessage} />\n </>\n );\n}\n\nTagInput.defaultProps = {\n shouldOverrideValue: false,\n asyncCreatable: false,\n creatable: false,\n multiple: true,\n isMobile: false,\n withDisclaimer: false,\n withOverflow: false,\n};\n\nTagInput.propTypes = {\n label: PropTypes.string,\n placeholder: PropTypes.string,\n uri: PropTypes.string,\n strategy: PropTypes.string,\n name: PropTypes.string,\n defaultRawValues: PropTypes.array,\n onChange: PropTypes.func,\n allowCreate: PropTypes.bool,\n shouldOverrideValue: PropTypes.bool,\n asyncCreatable: PropTypes.bool,\n creatable: PropTypes.bool,\n withDisclaimer: PropTypes.bool,\n withOverflow: PropTypes.bool,\n isMobile: PropTypes.bool,\n uniqueIdValue: PropTypes.bool,\n overrideValue: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n ]),\n multiple: PropTypes.bool,\n reqMethod: PropTypes.oneOf(['GET', 'POST']),\n reqContentType: PropTypes.string,\n reqTransform: PropTypes.func,\n resTransform: PropTypes.func,\n groupClassName: PropTypes.string,\n pagination: PropTypes.shape({\n pageSize: PropTypes.number,\n }),\n errorMessage: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst themes = {\n primary: styles.primary,\n secondary: styles.secondary,\n};\n\nfunction Asterisk({ show, className, symbol, theme }) {\n if (!show) return null;\n\n return (\n <span className={classNames(styles.asterisk, themes[theme], className)}>{symbol}</span>\n );\n}\n\nAsterisk.defaultProps = {\n show: false,\n symbol: '*',\n theme: 'primary',\n};\n\nAsterisk.propTypes = {\n show: PropTypes.bool,\n className: PropTypes.string,\n symbol: PropTypes.string,\n theme: PropTypes.oneOf(['primary', 'secondary']),\n};\n\nexport default Asterisk;\n","import React, { Children } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction LabelGroup({ children, className, containerClassName, isError }) {\n return (\n <ul className={classNames(styles.group, isError && styles.errorGroup, containerClassName)}>\n {\n Children.map(children, child => child && (\n <li className={classNames(styles.item, className)}>\n {child}\n </li>\n ))\n }\n </ul>\n );\n}\n\nLabelGroup.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n containerClassName: PropTypes.string,\n isError: PropTypes.bool,\n};\n\nexport default LabelGroup;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2FZuv\",\"transactor\":\"styles-module__transactor___1QTNt\",\"transactorInvalid\":\"styles-module__transactorInvalid___1-AHN\",\"type\":\"styles-module__type___2uaB9\",\"typeDescription\":\"styles-module__typeDescription___2u5zx\",\"statements\":\"styles-module__statements___3g2Od\",\"statementGroup\":\"styles-module__statementGroup___15NHm\",\"statement\":\"styles-module__statement___2u2ma\",\"component\":\"styles-module__component___37IqS\",\"componentWithStatementsAdd\":\"styles-module__componentWithStatementsAdd___wjkrq\",\"componentWithFilters\":\"styles-module__componentWithFilters___2VxmQ\",\"componentDetails\":\"styles-module__componentDetails___2zP3u\",\"componentDrag\":\"styles-module__componentDrag___3yLKK\",\"componentDelete\":\"styles-module__componentDelete___2GjPm\",\"isDragging\":\"styles-module__isDragging___2e-cY\",\"statementFiltersGroup\":\"styles-module__statementFiltersGroup___XMUtf\",\"statementFiltersGroupOperator\":\"styles-module__statementFiltersGroupOperator___3v-Rn\",\"statementFilters\":\"styles-module__statementFilters___rerp0\",\"statementFilterContainer\":\"styles-module__statementFilterContainer___1cnWW\",\"statementFilter\":\"styles-module__statementFilter___A0X9R\",\"statementFilterInfo\":\"styles-module__statementFilterInfo___1xVwX\",\"statementFilterName\":\"styles-module__statementFilterName___2S-Wi\",\"statementFilterDrag\":\"styles-module__statementFilterDrag___16dqu\",\"statementFilterDelete\":\"styles-module__statementFilterDelete___2Gwgd\",\"statementFilterOperator\":\"styles-module__statementFilterOperator___zkZu5\",\"droppableJoinStatement\":\"styles-module__droppableJoinStatement___mJVfw\",\"placeholder\":\"styles-module__placeholder___1Rp5G\",\"droppableNew\":\"styles-module__droppableNew___15OG9\",\"invalid\":\"styles-module__invalid___1kCuY\",\"droppableStatementOperator\":\"styles-module__droppableStatementOperator___2qVWq\",\"droppableFilterOperator\":\"styles-module__droppableFilterOperator___3M9Sj\",\"operator\":\"styles-module__operator___1t90t\",\"hidden\":\"styles-module__hidden___35W3B\",\"statementDescription\":\"styles-module__statementDescription___eXEWq\",\"statementDescriptionTitle\":\"styles-module__statementDescriptionTitle___3-gnw\"};","import { map } from 'lodash';\n\nexport const formatCreateLabel = (value, name = 'tag') => `Create new ${name} \"${value}\"`;\n\n/**\n * set isNew flag so we can make pass the tag value as label\n * instead of: \"Create new tag ...\"\n */\nexport const getNewOptionData = (value, label) => ({ label, value, isNew: true });\n\nexport const transformTag = ({ isNew, value, label, ...tag }) => ({\n ...tag,\n isNew: !!isNew,\n label: isNew ? value : label,\n value,\n});\n\nexport const transformFixedTags = (tags, isFixed) => map(tags, item => ({ ...item, isFixed }));\n","import { range, floor } from 'lodash';\n\nexport const getPage = (page, total) => {\n if (page < 1) {\n return 1;\n }\n if (page > total) {\n return total;\n }\n\n return page;\n};\n\nexport const getPageNumbers = (start, end) => range(start, end + 1);\n\nexport const isNumberOfPagesValid = (start, end, numberOfPages) =>\n end - start + 1 === numberOfPages;\n\n/**\n * This function returns an interval that centers the current page if this\n * interval is valid.\n */\nexport const getIntervalFromCurrentPage = (currentPage, numberOfPages, total) => {\n const sidePages = floor(numberOfPages / 2);\n const start = currentPage - sidePages;\n let end = currentPage + sidePages;\n\n // if number of pages is even we will have n pages on the left\n // and n-1 pages on the right\n if (numberOfPages % 2 === 0) {\n end -= 1;\n }\n\n // if end is greater than total we should get an interval with the fixed number\n // of pages that ends in total\n if (end > total) {\n return { start: total - numberOfPages + 1, end: total };\n }\n\n // if start is lesser than one we should get an interval from 1 to number of\n // pages\n if (start < 1) {\n return { start: 1, end: numberOfPages };\n }\n\n return { start, end };\n};\n\n/**\n * Returns a new interval starting from nextPage or ending from total\n */\nexport const getNextInterval = (nextPage, numberOfPages, total) => {\n let start = nextPage;\n const end = getPage(nextPage + numberOfPages - 1, total);\n\n if (!isNumberOfPagesValid(start, end, numberOfPages)) {\n start = total - numberOfPages + 1;\n }\n\n return { start, end };\n};\n\n/**\n * Returns a new interval ending from nextPage or starting from 1\n */\nexport const getPreviousInterval = (nextPage, numberOfPages, total) => {\n const start = getPage(nextPage - numberOfPages + 1, total);\n let end = nextPage;\n\n if (!isNumberOfPagesValid(start, end, numberOfPages)) {\n end = numberOfPages;\n }\n\n return { start, end };\n};\n\nexport function getChunkedArray(array = [], chunkSize) {\n const chunkRange = range(Math.ceil(array.length / chunkSize));\n\n return chunkRange.map((_, index) => array.slice(index * chunkSize, (index * chunkSize) + chunkSize));\n}\n","import { useState, useEffect } from 'react';\nimport min from 'lodash/min';\n\nimport {\n getPage,\n getNextInterval,\n getPreviousInterval,\n getIntervalFromCurrentPage,\n} from './utils';\nimport { MOBILE_NUMBER_PAGES, DESKTOP_NUMBER_PAGES, DEFAULT_INITIAL_PAGE } from './constants';\n\nexport default function usePaginator({\n current,\n total,\n onChange,\n totalItems,\n pageSize,\n isMobile,\n isLoading,\n}) {\n const maxNumberOfPages = isMobile ? MOBILE_NUMBER_PAGES : DESKTOP_NUMBER_PAGES;\n const numberOfPages = min([maxNumberOfPages, total]);\n const initialPage = current || DEFAULT_INITIAL_PAGE;\n\n const [{ start, end }, setPageInterval] = useState({ start: 1, end: numberOfPages });\n const [currentPage, setCurrentPage] = useState(initialPage);\n\n const handlePageChange = (page) => {\n if (page !== currentPage) {\n setCurrentPage(page);\n onChange(page);\n }\n };\n\n const handleLoadMorePage = (page = currentPage, step = 1) => {\n setCurrentPage(page + step);\n onChange(page + step);\n };\n\n const handleNextPage = (step = 1) => () =>\n handlePageChange(getPage(currentPage + step, total));\n const handlePreviousPage = (step = 1) => () =>\n handlePageChange(getPage(currentPage - step, total));\n\n // Centralize current page if numberOfPages changes\n useEffect(() => {\n const pageInterval =\n getIntervalFromCurrentPage(currentPage, numberOfPages, total);\n\n setPageInterval(pageInterval);\n }, [numberOfPages, total]);\n\n // Update local currentPage if current was changed by parent\n useEffect(() => { current && setCurrentPage(current); }, [current]);\n\n // Update page interval based on currentPage position, going to the start\n // of the next interval or the end of the previous interval\n useEffect(() => {\n if (currentPage > end) {\n setPageInterval(getNextInterval(currentPage, numberOfPages, total));\n }\n if (currentPage < start) {\n setPageInterval(getPreviousInterval(currentPage, numberOfPages, total));\n }\n }, [currentPage]);\n\n const descriptionStart = (pageSize * (currentPage - 1)) + 1;\n const descriptionEnd = min([pageSize * currentPage, totalItems]);\n const isNextDisabled = currentPage === total || isLoading;\n const isPreviousDisabled = currentPage === 1 || isLoading;\n const onPageClick = page => () => handlePageChange(page);\n\n return {\n start,\n end,\n currentPage,\n isNextDisabled,\n isPreviousDisabled,\n descriptionStart,\n descriptionEnd,\n maxNumberOfPages,\n onPageClick,\n onNextClick: handleNextPage,\n onPreviousClick: handlePreviousPage,\n onLoadMore: handleLoadMorePage,\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport usePaginator from '../../usePaginator';\nimport styles from './styles.module.scss';\n\nfunction LoadMorePaginator({\n pagination,\n isEmptyData,\n isLoading,\n isInitialLoading,\n onLoad,\n customLoader,\n loaderProps,\n buttonClassName,\n loaderClassName,\n className,\n theme,\n title,\n size,\n withToken,\n}) {\n const { onLoadMore: onClick } = usePaginator({ onChange: onLoad });\n const { nextPage } = pagination || {};\n\n const isPaginatorPresent = !isInitialLoading && !isEmptyData;\n\n if (!isPaginatorPresent) {\n return null;\n }\n\n function handleLoad() {\n if (withToken) {\n return onLoad(nextPage);\n }\n\n return onClick(nextPage);\n }\n\n function renderLoader() {\n if (customLoader) return customLoader;\n\n return (\n <Loader\n {...loaderProps}\n className={classNames(styles.loader, loaderClassName)}\n />\n );\n }\n\n return (\n <div className={classNames(styles.container, className)}>\n <Button\n theme={theme}\n size={size}\n className={classNames(styles.button, buttonClassName)}\n onClick={handleLoad}\n disabled={isLoading}\n >\n {isLoading\n ? renderLoader()\n : <span>{title}</span>\n }\n </Button>\n </div>\n );\n}\n\nLoadMorePaginator.defaultProps = {\n title: 'Load more',\n theme: 'secondary',\n isEmptyData: false,\n isLoading: false,\n isInitialLoading: false,\n withToken: false,\n};\n\nLoadMorePaginator.propTypes = {\n onLoad: PropTypes.func.isRequired,\n pagination: PropTypes.object,\n isLoading: PropTypes.bool,\n isInitialLoading: PropTypes.bool,\n isEmptyData: PropTypes.bool,\n withToken: PropTypes.bool,\n className: PropTypes.string,\n buttonClassName: PropTypes.string,\n loaderClassName: PropTypes.string,\n loaderProps: PropTypes.object,\n customLoader: PropTypes.node,\n theme: PropTypes.string,\n title: PropTypes.string,\n size: PropTypes.string,\n};\n\nexport default LoadMorePaginator;\n","import { useEffect, useState } from 'react';\nimport debounce from 'lodash/debounce';\n\nimport { isBottom } from 'utils/scroll';\n\nimport { DEFAULT_DEBOUNCE_TIME } from '../../constants';\n\nfunction useInfiniteLoad({ ref, onLoad, isLoading, defaultShouldLoad = false, capture = false }) {\n const [shouldLoad, setShouldLoad] = useState(defaultShouldLoad);\n\n function handleLoad() {\n return !isLoading && shouldLoad && onLoad();\n }\n\n function handleShouldLoad() {\n setShouldLoad(isBottom(ref));\n }\n\n const debouncedLoad = debounce(handleLoad, DEFAULT_DEBOUNCE_TIME);\n\n function addScrollEvent() {\n document.addEventListener('scroll', handleShouldLoad, capture);\n }\n\n function removeScrollEvent() {\n document.removeEventListener('scroll', handleShouldLoad, capture);\n }\n\n function onInit() {\n addScrollEvent();\n\n return () => removeScrollEvent();\n }\n\n useEffect(onInit, []);\n useEffect(debouncedLoad, [shouldLoad]);\n}\n\nexport default useInfiniteLoad;\n","import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Loader from 'components/core/Loader';\nimport usePaginator from 'components/core/Paginator/usePaginator';\n\nimport styles from './styles.module.scss';\nimport useInfiniteLoad from './useInfiniteLoad';\n\nconst paginatorRef = createRef();\n\nfunction InfiniteLoadPaginator({\n isLoading,\n isPaginatorPresent,\n onLoad,\n className,\n onlyIcon,\n renderCustomLoader,\n capture,\n}) {\n const { onLoadMore } = usePaginator({ onChange: onLoad });\n useInfiniteLoad({ onLoad: onLoadMore, ref: paginatorRef, isLoading, capture });\n\n if (!isPaginatorPresent) {\n return null;\n }\n\n function renderLoader() {\n if (renderCustomLoader) {\n return renderCustomLoader(isLoading);\n }\n\n return isLoading && (\n <Loader onlyIcon={onlyIcon} className={styles.loader} size=\"small\" />\n );\n }\n\n return (\n <div className={classNames(styles.container, className)} ref={paginatorRef}>\n {renderLoader()}\n </div>\n );\n}\n\nInfiniteLoadPaginator.defaultProps = {\n onlyIcon: false,\n};\n\nInfiniteLoadPaginator.propTypes = {\n onLoad: PropTypes.func.isRequired,\n isPaginatorPresent: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool,\n onlyIcon: PropTypes.bool,\n renderCustomLoader: PropTypes.func,\n className: PropTypes.string,\n capture: PropTypes.bool,\n};\n\nexport default InfiniteLoadPaginator;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { formatNumber } from 'utils/formatters';\nimport Button from 'components/core/Button';\nimport ButtonGroup from 'components/core/ButtonGroup';\n\nimport LoadMorePaginator from './components/LoadMore';\nimport InfiniteLoadPaginator from './components/InfiniteLoad';\nimport { getPageNumbers } from './utils';\nimport { DEFAULT_PAGE_SIZE } from './constants';\nimport usePaginator from './usePaginator';\nimport styles from './styles.module.scss';\n\nfunction Paginator({\n isEstimated,\n isLoading,\n current,\n total,\n onChange,\n pageSize,\n className,\n totalItems,\n isMobile,\n isTablePaginator,\n}) {\n const {\n start,\n end,\n descriptionStart,\n descriptionEnd,\n currentPage,\n onPageClick,\n maxNumberOfPages,\n onNextClick,\n onPreviousClick,\n isNextDisabled,\n isPreviousDisabled,\n } = usePaginator({\n current,\n total,\n onChange,\n pageSize,\n totalItems,\n isMobile,\n isLoading,\n });\n const previousArrows = (\n <span className={styles.arrowContainer}>\n <button\n type=\"button\"\n className={styles.iconButton}\n disabled={isPreviousDisabled}\n onClick={onPreviousClick(maxNumberOfPages)}\n >\n <i className=\"fas fa-angle-double-left\" />\n </button>\n <button\n type=\"button\"\n className={styles.iconButton}\n disabled={isPreviousDisabled}\n onClick={onPreviousClick()}\n >\n <i className=\"fas fa-angle-left\" />\n </button>\n </span>\n );\n\n const nextArrows = (\n <span className={styles.arrowContainer}>\n <button\n type=\"button\"\n className={styles.iconButton}\n disabled={isNextDisabled}\n onClick={onNextClick()}\n >\n <i className=\"fas fa-angle-right\" />\n </button>\n <button\n type=\"button\"\n className={styles.iconButton}\n disabled={isNextDisabled}\n onClick={onNextClick(maxNumberOfPages)}\n >\n <i className=\"fas fa-angle-double-right\" />\n </button>\n </span>\n );\n\n const paginatorDescription = (\n <span className={styles.description}>\n Showing:\n <span className={styles.boldText}>{formatNumber(descriptionStart)}</span>\n -\n <span className={styles.boldText}>{formatNumber(descriptionEnd)}</span>\n of{isEstimated && (<span className={styles.about}>about</span>)}\n <span className={styles.boldText}>{formatNumber(totalItems)}</span>\n </span>\n );\n\n const pageButtons = (\n <ButtonGroup theme=\"light\" className={styles.buttonContainer}>\n {getPageNumbers(start, end).map(page => (\n <Button\n key={page}\n theme=\"default\"\n size=\"small\"\n disabled={isLoading}\n className={classNames(\n styles.pageButton,\n currentPage === page && styles.active,\n )}\n onClick={onPageClick(page)}\n >\n {page}\n </Button>\n ))}\n </ButtonGroup>\n );\n\n const containerClassName = classNames(\n styles.container,\n isTablePaginator && styles.containerBox,\n className,\n );\n\n return (\n <div id=\"paginator\" className={containerClassName}>\n <div className={styles.pagesContainer}>\n {previousArrows}\n {pageButtons}\n {nextArrows}\n </div>\n {paginatorDescription}\n </div>\n );\n}\n\nPaginator.propTypes = {\n current: PropTypes.oneOfType([\n PropTypes.string.isRequired,\n PropTypes.number.isRequired,\n ]),\n total: PropTypes.oneOfType([\n PropTypes.string.isRequired,\n PropTypes.number.isRequired,\n ]),\n totalItems: PropTypes.oneOfType([\n PropTypes.string.isRequired,\n PropTypes.number.isRequired,\n ]),\n pageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n isLoading: PropTypes.bool,\n isMobile: PropTypes.bool.isRequired,\n isTablePaginator: PropTypes.bool,\n isEstimated: PropTypes.bool,\n};\n\nPaginator.defaultProps = {\n pageSize: DEFAULT_PAGE_SIZE,\n isTablePaginator: true,\n isLoading: false,\n};\n\nexport default Paginator;\nexport { LoadMorePaginator, InfiniteLoadPaginator };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction TextPlaceholder({ className }) {\n return (\n <div className={classNames(styles.textLabel, className)} />\n );\n}\n\nTextPlaceholder.propTypes = {\n className: PropTypes.string,\n};\n\nexport default TextPlaceholder;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___17v0n\",\"icon\":\"styles-module__icon___1zoHd\",\"addIcon\":\"styles-module__addIcon___yqaJq\",\"removeIcon\":\"styles-module__removeIcon___393LR\",\"primary\":\"styles-module__primary___3rKFm\",\"isDisabled\":\"styles-module__isDisabled___3tAwR\",\"secondary\":\"styles-module__secondary___11q_a\",\"tertiary\":\"styles-module__tertiary___36bw6\",\"light\":\"styles-module__light___3NOHz\",\"violet\":\"styles-module__violet___2pnc0\",\"default\":\"styles-module__default___3LAYr\",\"link\":\"styles-module__link___ZVbGz\",\"tableLink\":\"styles-module__tableLink___11l4U\",\"warning\":\"styles-module__warning___3HFhD\",\"danger\":\"styles-module__danger___3OWz4\",\"small\":\"styles-module__small___A7_J7\",\"medium\":\"styles-module__medium___1gD5K\",\"large\":\"styles-module__large___1x8od\",\"none\":\"styles-module__none___zHg2p\",\"badge\":\"styles-module__badge___1Q9XB\",\"loaderDefault\":\"styles-module__loaderDefault___1dQGb\"};","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Tooltip from 'components/core/Tooltip';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport styles from './styles.module.scss';\n\nfunction ButtonGroupTooltip({ isLoading, tooltipNode, tooltipClassName, buttonClassName, ...restProps }) {\n const tooltipRef = useRef();\n\n const handleClick = () => {\n const isOpen = !isEmpty(tooltipRef.current.state.target);\n isOpen && setTimeout(tooltipRef.current.toggleHint, 0);\n };\n\n return (\n <div className={styles.container}>\n <Tooltip\n {...restProps}\n forwardRef={tooltipRef}\n content={tooltipNode}\n className={classNames(styles.tooltipContainer, tooltipClassName)}\n hintEvent=\"click\"\n headerClassName={styles.tooltipHeader}\n >\n <Button\n className={classNames(styles.exportButton, buttonClassName)}\n theme=\"secondary\"\n disabled={isLoading}\n onClick={handleClick}\n >\n <div className={styles.buttonText}>\n {isLoading\n ? <Loader size=\"small\" theme=\"light\" onlyIcon />\n : <i className=\"far fa-download\" />\n }\n Export\n </div>\n\n <div className={styles.bar} />\n <div className={styles.icon}>\n <i className=\"fas fa-sort-down\" />\n </div>\n </Button>\n </Tooltip>\n </div>\n );\n}\n\nButtonGroupTooltip.propTypes = {\n isLoading: PropTypes.bool,\n tooltipNode: PropTypes.func.isRequired,\n tooltipClassName: PropTypes.string,\n buttonClassName: PropTypes.string,\n};\n\nexport default ButtonGroupTooltip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroupTooltip from './components/ButtonGroupTooltip';\nimport styles from './styles.module.scss';\n\nconst buttonGroupThemes = {\n light: styles.light,\n};\n\nfunction ButtonGroup({ children, theme, className }) {\n return (\n <div\n className={classNames(\n styles.btnGroup,\n theme && buttonGroupThemes[theme],\n className\n )}\n role=\"group\"\n >\n {children}\n </div>\n );\n}\n\nButtonGroup.propTypes = {\n children: PropTypes.node,\n theme: PropTypes.oneOf(\n Object.keys(buttonGroupThemes)\n ),\n className: PropTypes.string,\n};\n\nexport default ButtonGroup;\n\nexport { ButtonGroupTooltip };\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LABEL_COLOR,\n TEXT_HIGHLIGHT_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n emphasizedText: {\n backgroundColor: TEXT_HIGHLIGHT_COLOR,\n },\n billDescriptionText: {\n fontSize: 8,\n fontWeight: 300,\n color: DEFAULT_LABEL_COLOR,\n lineHeight: 1.4,\n },\n billDescriptionLink: {\n fontSize: 8,\n lineHeight: 1.6,\n },\n billLabelText: {\n fontSize: 8,\n fontWeight: 500,\n color: DEFAULT_LABEL_COLOR,\n },\n billRowSection: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'stretch',\n flexDirection: 'row',\n width: '100%',\n marginBottom: 6,\n },\n billColumnSection: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'top',\n flexDirection: 'row',\n width: '50%',\n },\n billLastActionDateSection: {\n flex: 1,\n },\n billLastActionSection: {\n flex: 5,\n paddingRight: 20,\n },\n billLegislatorContainer: {\n marginRight: 9,\n },\n billLegislator: {\n fontSize: 8,\n fontWeight: 400,\n lineHeight: 1.6,\n },\n billLegislatorIcon: {\n fontSize: 6,\n borderRadius: 2,\n padding: '1px 3px',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport QuestionTooltip from 'components/core/Table/components/Header/components/Tooltip';\n\nimport styles from './styles.module.scss';\n\nfunction DataField({\n isLoading,\n label,\n value,\n className,\n containerClassName,\n questionClassName,\n questionText,\n}) {\n if (isLoading) {\n return null;\n }\n\n return (\n <div className={classNames(styles.item, containerClassName)}>\n <div className={styles.flexItem}>\n {label && (\n <p className={styles.itemTitle}>\n {label}\n </p>\n )}\n {questionText && (\n <QuestionTooltip\n iconClassName={styles.questionIcon}\n contentClassName={classNames(styles.questionContent, questionClassName)}\n content={questionText}\n />\n )}\n </div>\n\n <div className={classNames(styles.currentData, className)}>\n {value || EMPTY_VALUE}\n </div>\n </div>\n );\n}\n\nDataField.propTypes = {\n isLoading: PropTypes.bool,\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n className: PropTypes.string,\n containerClassName: PropTypes.string,\n questionClassName: PropTypes.string,\n questionText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nexport default DataField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\n\nimport DataField from '../DataField';\nimport styles from './styles.module.scss';\n\nfunction LinkField({\n label,\n value,\n className,\n isExternal,\n onClick,\n href,\n ...restProps\n}) {\n const fieldValue = (value && href) && (\n <Link\n theme=\"default\"\n size=\"none\"\n href={href}\n isExternal={isExternal}\n onClick={onClick}\n className={styles.linkBlock}\n >\n {value}\n </Link>\n );\n\n return (\n <DataField\n label={label}\n value={fieldValue}\n className={className}\n {...restProps}\n />\n );\n}\n\nLinkField.propTypes = {\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n href: PropTypes.string,\n isExternal: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string,\n};\n\nexport default LinkField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DataField from '../DataField';\nimport styles from './styles.module.scss';\n\nfunction BiographyField({ description, label }) {\n const descriptionText = !isEmpty(description) && (\n <ul className={styles.listBiography}>\n {description.map((item, index) => (\n <li key={`description-${index}`}>{item}</li>\n ))}\n </ul>\n );\n\n return (\n <DataField\n label={label}\n value={descriptionText}\n />\n );\n}\n\nBiographyField.propTypes = {\n description: PropTypes.arrayOf(PropTypes.string),\n label: PropTypes.string,\n};\n\nBiographyField.defaultProps = {\n label: 'Biography',\n};\n\nexport default BiographyField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Link from 'components/core/Link';\n\nimport DataField from '../DataField';\nimport styles from './styles.module.scss';\n\nfunction DataArrayField({ label, values, className }) {\n if (isEmpty(values)) {\n return <DataField label={label} className={className} />;\n }\n\n function renderValue(valueItem, index) {\n const key = `value-${label}-${index}`;\n const { value, isExternal, onClick, href } = valueItem;\n\n const fieldValue = (value && href) ? (\n <Link\n key={key}\n theme=\"default\"\n size=\"none\"\n href={href}\n isExternal={isExternal}\n onClick={onClick}\n className={styles.linkBlock}\n >\n {value}\n </Link>\n ) : value;\n\n return (\n <DataField\n key={key}\n value={fieldValue}\n className={className}\n />\n );\n }\n\n return (\n <div className={styles.arrayBlock}>\n {label && <p className={styles.label}>{label}</p>}\n {values.map(renderValue)}\n </div>\n );\n}\n\nDataArrayField.propTypes = {\n label: PropTypes.string.isRequired,\n values: PropTypes.array,\n className: PropTypes.string,\n};\n\nexport default DataArrayField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from '../DataField/styles.module.scss';\n\nfunction DataFieldPlaceholder({ className }) {\n return (\n <div className={classNames(styles.item, className)}>\n <TextPlaceholder className={styles.labelPlaceholder} />\n <TextPlaceholder className={styles.valuePlaceholder} />\n </div>\n );\n}\n\nDataFieldPlaceholder.propTypes = {\n className: PropTypes.string,\n};\n\nexport default DataFieldPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Link from 'components/core/Link';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from '../styles.module.scss';\n\nfunction Items({ items }) {\n if (isEmpty(items)) {\n return null;\n }\n\n function renderItem(item, index) {\n const keyName = `item-legislator-${index}`;\n\n if (isEmpty(item)) {\n return <div key={keyName}>{EMPTY_VALUE}</div>;\n }\n\n const { value, href } = item || {};\n\n if (isEmpty(href)) {\n return <div key={keyName}>{value}</div>;\n }\n\n return (\n <Link\n href={href}\n key={keyName}\n theme=\"default\"\n className={styles.itemLink}\n >\n {value}\n </Link>\n );\n }\n\n return (\n <div className={styles.itemsContainer}>\n {items.map(renderItem)}\n </div>\n );\n}\n\nItems.propTypes = {\n items: PropTypes.array,\n};\n\nexport default Items;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Card from 'components/core/Card';\nimport Badge from 'components/core/Badge';\nimport { LegislatorName } from 'components/Legislator';\n\nimport Items from './components/Items';\nimport styles from './styles.module.scss';\n\nfunction LegislatorBadgeField({\n isSponsor,\n isOriginalCosponsor,\n isCosponsor,\n position,\n items,\n ...restProps\n}) {\n return (\n <div className={styles.container}>\n <Card className={classNames(styles.cardContainer, !isEmpty(items) && styles.cardItems)}>\n <div className={styles.flexSection}>\n <LegislatorName {...restProps} className={styles.legislator} />\n </div>\n <div className={styles.flexSection}>\n {isSponsor && <Badge className={styles.sponsorBadge}>Sponsor</Badge>}\n {isOriginalCosponsor && <Badge className={styles.defaultBadge}>Original cosponsor</Badge>}\n {isCosponsor && <Badge className={styles.defaultBadge}>Cosponsor</Badge>}\n {position && <Badge className={styles.defaultBadge}>{position}</Badge>}\n </div>\n </Card>\n\n <Items items={items} />\n </div>\n );\n}\n\nLegislatorBadgeField.propTypes = {\n isSponsor: PropTypes.bool,\n isOriginalCosponsor: PropTypes.bool,\n isCosponsor: PropTypes.bool,\n position: PropTypes.string,\n items: PropTypes.array,\n};\n\nexport default LegislatorBadgeField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction LinkTitleField({ href, label, className, onClick }) {\n if (isEmpty(href)) {\n return null;\n }\n\n return (\n <Link\n href={href}\n className={classNames(styles.viewText, className)}\n theme=\"default\"\n size=\"none\"\n onClick={onClick}\n isExternal\n >\n {label || 'View text'}\n </Link>\n );\n}\n\nLinkTitleField.propTypes = {\n href: PropTypes.string,\n label: PropTypes.string,\n className: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default LinkTitleField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash/isFunction';\n\nimport {\n SummaryContent,\n SummaryButton,\n useSummary,\n} from 'components/core/Profile/components/Cards/ItemName/components/Summary';\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport LinkTitleField from './LinkTitleField';\nimport styles from './styles.module.scss';\n\nfunction TitleField({\n isLoadingProfile,\n recordId,\n recordType,\n title,\n viewText,\n customRenderLink,\n trackSaveSummary,\n customContentNode,\n withSummary = true,\n}) {\n const {\n summaryRef,\n isOpen,\n isDisabled,\n isLoading,\n onChange,\n onClick,\n updatedAt,\n content,\n buttonLabel,\n } = useSummary({ recordType, recordId, trackSaveSummary });\n\n if (isLoadingProfile) {\n return <TextPlaceholder className={styles.placeholder} />;\n }\n\n function renderLink() {\n if (isFunction(customRenderLink)) {\n return customRenderLink();\n }\n\n return <LinkTitleField {...viewText} />;\n }\n\n return (\n <>\n <div className={styles.titleContainer}>\n <div>\n <h2 className={styles.title} data-testid=\"key-details-title\">{title}</h2>\n {renderLink()}\n {withSummary && customContentNode}\n </div>\n {withSummary && (\n <div className={styles.summaryButton}>\n <SummaryButton\n isDisabled={isDisabled}\n buttonLabel={buttonLabel}\n isLoading={isLoading}\n onClick={onClick}\n />\n </div>\n )}\n </div>\n {withSummary && (\n <div ref={summaryRef}>\n <SummaryContent\n isOpen={isOpen}\n updatedAt={updatedAt}\n content={content}\n onChange={onChange}\n className={styles.summaryText}\n />\n </div>\n )}\n </>\n );\n}\n\nTitleField.propTypes = {\n isLoadingProfile: PropTypes.bool,\n recordId: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]).isRequired,\n recordType: PropTypes.string.isRequired,\n title: PropTypes.string,\n viewText: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n }),\n customRenderLink: PropTypes.func,\n trackSaveSummary: PropTypes.func,\n customContentNode: PropTypes.node,\n withSummary: PropTypes.bool,\n};\n\nexport default TitleField;\n","import ListField from './ListField';\nimport DataField from './DataField';\nimport LinkField from './LinkField';\nimport BiographyField from './BiographyField';\nimport DataArrayField from './DataArrayField';\nimport DataFieldPlaceholder from './DataFieldPlaceholder';\nimport LegislatorBadgeField from './LegislatorBadgeField';\nimport TitleField from './TitleField';\nimport LinkTitleField from './TitleField/LinkTitleField';\n\nexport {\n ListField,\n DataField,\n LinkField,\n BiographyField,\n DataArrayField,\n DataFieldPlaceholder,\n LegislatorBadgeField,\n TitleField,\n LinkTitleField,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst themes = {\n default: styles.default,\n light: styles.light,\n};\n\nconst positions = {\n right: styles.right,\n bottom: styles.bottom,\n};\n\nfunction ContextualMenu({ theme, position, className, iconClassName, iconSizeClassName, isDefaultStyle }) {\n return (\n <span\n role=\"button\"\n className={classNames(\n 'contextual-menu-icon',\n isDefaultStyle && styles.iconWrapper,\n themes[theme],\n positions[position],\n className,\n )}\n >\n <i className={classNames(iconSizeClassName, iconClassName, styles.icon)} />\n </span>\n );\n}\n\nContextualMenu.defaultProps = {\n theme: 'default',\n position: '',\n iconClassName: 'fa-ellipsis-h',\n iconSizeClassName: 'far',\n isDefaultStyle: true,\n};\n\nContextualMenu.propTypes = {\n theme: PropTypes.string,\n position: PropTypes.string,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n iconSizeClassName: PropTypes.oneOf(['fas', 'far', 'fal', 'fad', 'fab']),\n isDefaultStyle: PropTypes.bool,\n};\n\nexport default ContextualMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Icon({ iconClass, withIconWrapper }) {\n if (withIconWrapper) {\n return (\n <span className={styles.iconWrapper}>\n <i className={classNames(styles.icon, 'fas', iconClass)} />\n </span>\n );\n }\n\n return (\n <i className={classNames('far', iconClass)} />\n );\n}\n\nIcon.defaultProps = {\n withIconWrapper: false,\n};\n\nIcon.propTypes = {\n iconClass: PropTypes.string,\n withIconWrapper: PropTypes.bool,\n};\n\nexport default Icon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport PartyIcon from 'components/shared/party-icon';\n\nimport styles from './styles.module.scss';\n\nexport default function PartyIconComponent({ party, className }) {\n if (isEmpty(party)) {\n return null;\n }\n\n const partyLowerCase = `${party}`.toLowerCase();\n const partyShort = party[0];\n\n return (\n <div className={classNames(styles.partyIcon, className)}>\n <PartyIcon partySlug={partyLowerCase} partyShort={partyShort} />\n </div>\n );\n}\n\nPartyIconComponent.propTypes = {\n party: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst QuestionMark = forwardRef((props, ref) => {\n const { className } = props;\n\n return (\n <span ref={ref} className={classNames(styles.icon, className)}>\n <img src=\"/images/question-mark.svg\" className={styles.iconImage} alt=\"\" />\n </span>\n );\n});\n\nexport default QuestionMark;\n","export { default as ContextualMenu } from './components/ContextualMenu';\nexport { default as Icon } from './components/Icon';\nexport { default as PartyIcon } from './components/PartyIcon';\nexport { default as QuestionMark } from './components/QuestionMark';\n","// Date format for datepicker input display\nconst DATE_FORMAT = 'MM/dd/yyyy';\n\n// ISO_8601 International Standard Date format\nconst DATE_FORMAT_ISO_8601 = 'YYYY-MM-DD';\n\n// Date format for datepicker calendar header display (eg. June 2019)\nconst DATEPICKER_HEADER_DATE_FORMAT = 'MMMM YYYY';\n\n// Minimal day format, default to 2 characters (eg. Su, Mo, Tu, We...)\nconst MIN_DAY_FORMAT = 'dd';\n\n// Minimal day format pattern, to further display 1 character (eg. S, M, T, W...)\nconst SINGLE_CHAR_WEEKDAY_FORMAT = 'S_M_T_W_T_F_S';\n\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nconst MONTH_FORMAT = 'MMMM';\nconst YEAR_FORMAT = 'YYYY';\nconst START_YEAR_RANGE = 2000;\n\nexport default {\n DATE_FORMAT,\n DATE_FORMAT_ISO_8601,\n DATEPICKER_HEADER_DATE_FORMAT,\n MIN_DAY_FORMAT,\n SINGLE_CHAR_WEEKDAY_FORMAT,\n MONTH_FORMAT,\n YEAR_FORMAT,\n START_YEAR_RANGE,\n MONTHS,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getDirectMailLink } from 'utils/socialMedia/links';\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nconst { supportEmail } = gon;\n\nconst mailToHref = getDirectMailLink(supportEmail);\n\nfunction NoSubscriptionMessage({ name, description }) {\n return (\n <p>\n It looks like you aren’t subscribed to {name}.\n To learn more about what amazing things {description} can do for your organization, {' '}\n <Link\n theme=\"light\"\n href={mailToHref}\n className={styles.contactLink}\n isExternal\n displayExternalIcon={false}\n >\n contact\n </Link>\n your customer success manager today!\n </p>\n );\n}\n\nNoSubscriptionMessage.propTypes = {\n name: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n};\n\nexport default NoSubscriptionMessage;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport NoSubscriptionMessage from './components/NoSubscriptionMessage';\nimport styles from './styles.module.scss';\n\nfunction EmptyPlaceholder({\n iconNode,\n title,\n description,\n className,\n iconClassName,\n titleClassName,\n descriptionClassName,\n}) {\n return (\n <div className={classNames(styles.emptyPlaceholder, className)} data-spec=\"empty_placeholder\">\n {iconNode && (\n <div className={classNames(styles.icon, iconClassName)}>{iconNode}</div>\n )}\n\n {title && (\n <div className={classNames(styles.title, titleClassName)}>{title}</div>\n )}\n\n {description && (\n <div className={classNames(styles.description, descriptionClassName)}>{description}</div>\n )}\n </div>\n );\n}\n\nEmptyPlaceholder.propTypes = {\n title: PropTypes.string,\n iconNode: PropTypes.node,\n description: PropTypes.node,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n titleClassName: PropTypes.string,\n descriptionClassName: PropTypes.string,\n};\n\nexport default EmptyPlaceholder;\nexport { NoSubscriptionMessage };\n","import React from 'react';\n\nimport CheatSheet from 'components/core/CheatSheet';\n\nexport const PAGE_SIZE = 10;\n\nexport const defaultDisclaimerProps = {\n withButtons: false,\n title: 'Did you know?',\n content: <CheatSheet />,\n modalTheme: 'scrollable',\n};\n\nexport const EMAIL_TYPE = 'email';\nexport const PHONE_TYPE = 'phone';\nexport const FAX_TYPE = 'fax';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst radioThemes = {\n default: styles.default,\n button: styles.button,\n light: styles.light,\n strong: styles.strong,\n};\n\nfunction RadioBox({ label, placeholder, theme, className, onChange, ...restProps }) {\n const handleChange = (event) => {\n const { target } = event || {};\n\n target.focus && target.focus();\n onChange && onChange(event);\n };\n\n return (\n <label\n className={classNames(\n styles.container,\n radioThemes[theme],\n !label && styles.placeholder,\n className,\n )}\n >\n <input\n {...restProps}\n onChange={handleChange}\n className={styles.radioInput}\n type=\"radio\"\n />\n <span className={styles.labelText}>{label || placeholder}</span>\n <span className={styles.radio} />\n </label>\n );\n}\n\nRadioBox.defaultProps = {\n theme: 'default',\n placeholder: '',\n};\n\nRadioBox.propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n placeholder: PropTypes.string,\n className: PropTypes.string,\n theme: PropTypes.oneOf(\n Object.keys(radioThemes)\n ),\n onChange: PropTypes.func,\n};\n\nexport default RadioBox;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nexport default function ErrorMessage({ message, className }) {\n if (!message) {\n return null;\n }\n\n return (\n <span className={classNames(styles.errorMessage, className)}>\n {message}\n </span>\n );\n}\n\nErrorMessage.propTypes = {\n message: PropTypes.string,\n className: PropTypes.string,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableWrapper\":\"styles-module__tableWrapper___1nQBj\",\"headerContent\":\"styles-module__headerContent___2ntif\",\"selectAll\":\"styles-module__selectAll___3STIq\",\"headerText\":\"styles-module__headerText___3__R1\",\"headerButton\":\"styles-module__headerButton___2Hmvx\",\"checkboxWrap\":\"styles-module__checkboxWrap___2hnrF\",\"radioWrapper\":\"styles-module__radioWrapper___30QqL\",\"sortIcon\":\"styles-module__sortIcon___3hJ2r\",\"contextualMenuWrapper\":\"styles-module__contextualMenuWrapper___1P7pu\",\"tableSection\":\"styles-module__tableSection___1P1bd\",\"emptyMsg\":\"styles-module__emptyMsg___3C86-\",\"fixedMessage\":\"styles-module__fixedMessage___hIWLJ\",\"tableContainer\":\"styles-module__tableContainer___s6eH4\",\"checkbox\":\"styles-module__checkbox___35LgA\",\"pagination\":\"styles-module__pagination___3BX4o\",\"dimensions\":\"styles-module__dimensions___TKrjt\",\"default\":\"styles-module__default___1RrOT\",\"defaultShadow\":\"styles-module__defaultShadow___1OtMz\",\"alignedToTop\":\"styles-module__alignedToTop___2EpAu\",\"fixedTable\":\"styles-module__fixedTable___td5G9\",\"headerShadow\":\"styles-module__headerShadow___3TE0T\",\"fullWidth\":\"styles-module__fullWidth___3YVcf\",\"checkboxWidth\":\"styles-module__checkboxWidth___3GQoc\",\"checkboxHeight\":\"styles-module__checkboxHeight___27Kq9\",\"textPlaceholder\":\"styles-module__textPlaceholder___1da8m\",\"hidden\":\"styles-module__hidden___3OHEc\",\"light\":\"styles-module__light___1CEpO\",\"selectNone\":\"styles-module__selectNone___lNy7g\",\"th-action\":\"styles-module__th-action___24whi\",\"isDragging\":\"styles-module__isDragging___dkyLf\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { startCase, toLower } from 'lodash';\nimport classNames from 'classnames';\n\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\n\nimport styles from './styles.module.scss';\n\nfunction PageNotFound({ fallbackLink, fallbackLabel, fallbackMessage, title, subtitle, center }) {\n const iconNode = <img src=\"/images/sad-face.svg\" alt=\"Not found\" />;\n const defaultFallbackMessage = (\n <p>\n Please check the URL you entered, or navigate back to\n the <a href={fallbackLink}>{startCase(toLower(fallbackLabel))}</a> page\n to find what you are looking for.\n </p>\n );\n\n const description = (\n <>\n <p>{subtitle}</p>\n {fallbackMessage || defaultFallbackMessage}\n </>\n );\n\n const pageClassNames = classNames(styles.container, {\n [styles.center]: center,\n });\n\n return (\n <div className={pageClassNames}>\n <EmptyPlaceholder\n title={startCase(title)}\n iconNode={iconNode}\n description={description}\n />\n </div>\n );\n}\n\nPageNotFound.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n fallbackLabel: PropTypes.string,\n fallbackLink: PropTypes.string,\n fallbackMessage: PropTypes.string,\n center: PropTypes.bool,\n};\n\nPageNotFound.defaultProps = {\n title: 'Not Found',\n subtitle: 'The item you are looking for could not be found. It either doesn\\'t exist, or you don\\'t have access to it.',\n fallbackLabel: 'home',\n fallbackLink: '/',\n fallbackMessage: null,\n center: false,\n};\n\nexport default PageNotFound;\n","import PropTypes from 'prop-types';\n\nimport { stringNumberType } from 'utils/shapes';\nimport { FEDERAL_ROLE, LOCAL_ROLE, STATE_ROLE } from 'utils/transformers/profile/constants';\n\nexport const tableShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n getLabel: PropTypes.func,\n placeholderSize: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n keyPath: PropTypes.string,\n getContent: PropTypes.func,\n component: PropTypes.elementType,\n })),\n data: PropTypes.arrayOf(PropTypes.shape({\n id: stringNumberType,\n label: PropTypes.string,\n content: PropTypes.node,\n })),\n});\n\nconst birthInfoShape = PropTypes.shape({\n place: PropTypes.string,\n date: PropTypes.string,\n deathDate: PropTypes.string,\n});\n\nconst partyShape = PropTypes.shape({\n code: PropTypes.string,\n name: PropTypes.string,\n});\n\nconst urlShape = PropTypes.shape({\n url: PropTypes.string,\n // TODO: adjust type oneOf\n // type: PropTypes.oneOf([\n // 'email',\n // 'twitter',\n // 'facebook',\n // 'youtube',\n // 'linkedin',\n // 'homepage',\n // ]),\n type: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst biographyShape = PropTypes.shape({\n infoText: PropTypes.string,\n date: PropTypes.string,\n});\n\nconst factShape = PropTypes.shape({\n text: PropTypes.string,\n source: PropTypes.string,\n date: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst interestShape = PropTypes.shape({\n description: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst politicalPositionShape = PropTypes.shape({\n organization: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n startDate: PropTypes.string,\n endDate: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst employmentPositionShape = PropTypes.shape({\n title: PropTypes.string,\n company: PropTypes.string,\n startDate: PropTypes.string,\n endDate: PropTypes.string,\n});\n\nconst headPositionShape = PropTypes.shape({\n title: PropTypes.string,\n company: PropTypes.string,\n startYear: PropTypes.string,\n endYear: PropTypes.string,\n});\n\nconst educationItemShape = PropTypes.shape({\n school: PropTypes.string,\n details: PropTypes.string,\n degree: PropTypes.string,\n startDate: PropTypes.string,\n endDate: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst militaryBranchShape = PropTypes.shape({\n highestRank: PropTypes.string,\n branch: PropTypes.string,\n details: PropTypes.string,\n medals: PropTypes.string,\n startRank: PropTypes.string,\n startDate: PropTypes.string,\n endDate: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst membershipItemShape = PropTypes.shape({\n title: PropTypes.string,\n organization: PropTypes.string,\n type: PropTypes.string,\n details: PropTypes.string,\n startYear: PropTypes.string,\n endYear: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst publicationShape = PropTypes.shape({\n type: PropTypes.string,\n title: PropTypes.string,\n publisher: PropTypes.string,\n details: PropTypes.string,\n year: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nconst awardShape = PropTypes.shape({\n title: PropTypes.string,\n organization: PropTypes.string,\n type: PropTypes.string,\n details: PropTypes.string,\n year: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nexport const electionInfoShape = PropTypes.shape({\n percentVote: stringNumberType,\n electionDate: PropTypes.string,\n reelectYear: PropTypes.string,\n electionCode: PropTypes.string,\n electedPosition: PropTypes.string,\n});\n\nexport const phoneShape = PropTypes.shape({\n type: PropTypes.string,\n areaCode: PropTypes.string,\n phoneNumber: PropTypes.string,\n displayOrder: stringNumberType,\n});\n\nexport const addressShape = PropTypes.shape({\n street: PropTypes.string,\n building: PropTypes.string,\n room: PropTypes.string,\n city: PropTypes.string,\n zipCode: PropTypes.string,\n state: PropTypes.shape({\n name: PropTypes.string,\n code: PropTypes.string,\n }),\n});\n\nexport const roleTypePropType = PropTypes.oneOf([\n STATE_ROLE,\n FEDERAL_ROLE,\n LOCAL_ROLE,\n]);\n\nexport const positionShape = PropTypes.shape({\n title: PropTypes.string,\n role: PropTypes.string,\n roleType: roleTypePropType,\n organization: PropTypes.string,\n type: PropTypes.string,\n status: PropTypes.string,\n president: PropTypes.string,\n startYear: PropTypes.string,\n endYear: PropTypes.string,\n levelCode: PropTypes.string,\n apptStartDate: PropTypes.string,\n apptEndDate: PropTypes.string,\n nomitateDate: PropTypes.string,\n confirmDate: PropTypes.string,\n electionInfo: electionInfoShape,\n phones: PropTypes.arrayOf(phoneShape),\n address: addressShape,\n});\n\nexport const personShape = PropTypes.shape({\n personId: stringNumberType,\n prefixName: PropTypes.string,\n firstName: PropTypes.string,\n middleName: PropTypes.string,\n lastName: PropTypes.string,\n suffixName: PropTypes.string,\n fullName: PropTypes.string,\n avatarUrl: PropTypes.string,\n ethnicity: PropTypes.string,\n gender: PropTypes.string,\n maritalStatus: PropTypes.string,\n residence: PropTypes.string,\n religion: PropTypes.string,\n spouseName: PropTypes.string,\n family: PropTypes.string,\n birthInfo: birthInfoShape,\n party: partyShape,\n urls: PropTypes.arrayOf(urlShape),\n narrativeBiography: biographyShape,\n kwBiography: biographyShape,\n facts: PropTypes.arrayOf(factShape),\n interests: PropTypes.arrayOf(interestShape),\n politicalHistory: PropTypes.arrayOf(politicalPositionShape),\n employmentHistory: PropTypes.arrayOf(employmentPositionShape),\n headPositions: PropTypes.arrayOf(headPositionShape),\n education: PropTypes.arrayOf(educationItemShape),\n militaryService: PropTypes.arrayOf(militaryBranchShape),\n membership: PropTypes.arrayOf(membershipItemShape),\n publications: PropTypes.arrayOf(publicationShape),\n awards: PropTypes.arrayOf(awardShape),\n positions: PropTypes.arrayOf(positionShape),\n});\n\nexport const subscriptionsShape = PropTypes.shape({\n committee: PropTypes.string,\n staffer_office: PropTypes.string,\n});\n","import { tagStyle } from 'components/core/TagInput/theme';\nimport {\n controlPadding,\n controlBackground,\n controlOpenBackground,\n controlOpenBorderRadius,\n controlBoxShadow,\n controlBorderColor,\n boxShadow,\n menuBorderRadius,\n minControlHeight,\n mediumControlHeight,\n backgroundErrorColor,\n borderError,\n} from './settings.scss';\n\nconst style = (hasNewStyle, isError) => ({\n control: (base, state) => ({\n ...base,\n minHeight: minControlHeight,\n ...(state.isFocused && {\n boxShadow: controlBoxShadow,\n borderColor: controlBorderColor,\n }),\n '&:hover': {\n borderColor: base.borderColor,\n },\n ...(hasNewStyle && {\n border: 'unset',\n padding: controlPadding,\n backgroundImage: controlBackground,\n boxShadow,\n minHeight: mediumControlHeight,\n ...(state.menuIsOpen && {\n borderRadius: controlOpenBorderRadius,\n backgroundColor: controlOpenBackground,\n backgroundImage: 'none',\n }),\n ...(isError && {\n background: backgroundErrorColor,\n border: borderError,\n boxShadow: 'none',\n '&:hover': {\n border: borderError,\n },\n }),\n }),\n }),\n option: base => ({\n ...base,\n ...(hasNewStyle && {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n overflow: 'hidden',\n width: '100%',\n }),\n }),\n dropdownIndicator: base => ({\n ...base,\n paddingTop: 0,\n paddingBottom: 0,\n }),\n menu: base => ({\n ...base,\n ...(hasNewStyle && {\n border: 'unset',\n backgroundImage: controlBackground,\n borderRadius: menuBorderRadius,\n boxShadow,\n zIndex: 2,\n overflowY: 'hidden',\n margin: 0,\n }),\n }),\n clearIndicator: base => ({\n ...base,\n paddingTop: 0,\n paddingBottom: 0,\n }),\n indicatorSeparator: (base, state) => ({\n ...base,\n ...(hasNewStyle && !state.selectProps.isClearable && {\n display: 'none',\n }),\n }),\n multiValue: (base, state) => ({\n ...base,\n ...(state.data.isFixed && {\n backgroundColor: 'gray',\n }),\n }),\n multiValueLabel: (base, state) => ({\n ...base,\n ...(state.data.isFixed && {\n fontWeight: 'bold',\n color: 'white',\n paddingRight: 6,\n }),\n }),\n multiValueRemove: (base, state) => ({\n ...base,\n ...(state.data.isFixed && {\n display: 'none',\n }),\n }),\n ...(hasNewStyle && tagStyle),\n placeholder: base => ({\n ...base,\n ...(hasNewStyle && {\n fontStyle: 'italic',\n fontWeight: 300,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n overflow: 'hidden',\n width: '100%',\n }),\n }),\n});\n\nexport default style;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport RichOption from './RichOption';\nimport styles from './styles.module.scss';\n\nclass Option extends Component {\n handleClick = () => {\n const { data, isMulti, setValue, getValue } = this.props;\n\n if (data && data.isDisabled) return;\n\n const value = isMulti\n ? [...getValue(), data]\n : data;\n\n setTimeout(() => setValue(value, 'set-value'), 0);\n };\n\n renderChildren = () => {\n const { data, children, selectProps } = this.props;\n\n if (selectProps.withRichOption) {\n return (\n <RichOption\n {...data}\n inputValue={selectProps.inputValue}\n strategy={selectProps.strategy}\n />\n );\n }\n\n return children;\n };\n\n render() {\n const { getStyles, innerRef, innerProps, isFocused } = this.props;\n\n const className = classNames(\n 'Select-option',\n isFocused && styles.withRichOption,\n );\n\n return (\n <div\n {...innerProps}\n className={className}\n ref={innerRef}\n onClick={this.handleClick}\n style={getStyles('option', this.props)}\n >\n {this.renderChildren()}\n </div>\n );\n }\n}\n\nOption.propTypes = {\n data: PropTypes.object.isRequired,\n isMulti: PropTypes.bool.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]).isRequired,\n setValue: PropTypes.func.isRequired,\n getValue: PropTypes.func.isRequired,\n getStyles: PropTypes.func.isRequired,\n innerProps: PropTypes.object.isRequired,\n innerRef: PropTypes.func,\n selectProps: PropTypes.object.isRequired,\n isFocused: PropTypes.bool.isRequired,\n};\n\nexport default Option;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\nimport LabelGroup from 'components/core/LabelGroup';\nimport RadioBox from 'components/core/RadioBox';\n\nimport { DEFAULT_FREQUENCIES } from './constants';\nimport styles from './styles.module.scss';\n\nconst caseTransformers = {\n uppercase: styles.uppercase,\n lowercase: styles.lowercase,\n capitalize: styles.capitalize,\n sentenceCase: styles.none,\n};\n\nfunction FrequencyOptions({\n selectedOption,\n options,\n onChange,\n isMobile,\n className,\n isDisabled,\n buttonClassName,\n labelCase,\n}) {\n const labelClassName = caseTransformers[labelCase];\n const buttonClassNames = option => classNames(\n option === selectedOption && styles.isActive,\n buttonClassName,\n labelClassName\n );\n const isChecked = option => option === selectedOption;\n const handleChange = (option, label) => () => onChange(option, label);\n\n if (isMobile) {\n return (\n <LabelGroup className={styles.labelGroup}>\n {options.map(({ value, label }) => (\n <RadioBox\n key={value}\n label={label}\n theme=\"default\"\n disabled={isDisabled}\n className={classNames(buttonClassName, labelClassName)}\n onChange={handleChange(value, label)}\n checked={(isChecked(value))}\n />\n ))}\n </LabelGroup>\n );\n }\n\n return (\n <ButtonGroup theme=\"light\" className={classNames(styles.buttonGroup, className)}>\n {options.map(({ value, label }) => (\n <Button\n key={value}\n theme=\"default\"\n disabled={isDisabled}\n onClick={handleChange(value, label)}\n className={buttonClassNames(value)}\n >\n {label}\n </Button>\n ))}\n </ButtonGroup>\n );\n}\n\nFrequencyOptions.defaultProps = {\n options: DEFAULT_FREQUENCIES,\n labelCase: 'uppercase',\n};\n\nFrequencyOptions.propTypes = {\n isMobile: PropTypes.bool,\n isDisabled: PropTypes.bool,\n selectedOption: PropTypes.string,\n className: PropTypes.string,\n buttonClassName: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })),\n onChange: PropTypes.func.isRequired,\n labelCase: PropTypes.oneOf(['uppercase', 'lowercase', 'capitalize', 'sentenceCase']),\n};\n\nexport default FrequencyOptions;\n","import React, { ReactNode } from 'react';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Avatar from 'components/core/Avatar';\nimport TooltipTitle from './TooltipTitle';\nimport styles from './styles.module.scss';\n\ninterface Props {\n isPresentAvatar: boolean;\n avatarUrl: string;\n avatarName: string;\n description: string | ReactNode;\n title: string | ReactNode;\n leadershipRole: ReactNode;\n isFullWidthTitle: boolean;\n titleClassName: string;\n avatarTitleClassName: string;\n descriptionClassName: string;\n tooltipContent: ReactNode;\n tooltipClassName: string;\n isMobile: boolean;\n}\n\nfunction TitleContainer({\n isPresentAvatar,\n avatarUrl,\n avatarName,\n description,\n title,\n leadershipRole,\n isFullWidthTitle,\n titleClassName,\n avatarTitleClassName,\n descriptionClassName,\n tooltipContent,\n tooltipClassName,\n isMobile,\n}: Props) {\n const titlesClassNames = classNames(\n styles.titleContainer,\n { [styles.fullWidthTitle]: isFullWidthTitle },\n titleClassName,\n );\n\n const avatarTitleClassNames = classNames(styles.avatarTitleContainer, avatarTitleClassName);\n\n const isMobileV2 = gon.isNavigationV2Enabled && isMobile;\n const descriptionClassNames = classNames(styles.descriptionContainer, descriptionClassName);\n\n return (\n <div id=\"subproduct-title\" className={titlesClassNames}>\n <div className={avatarTitleClassNames}>\n {isPresentAvatar && avatarUrl && (\n <Avatar photoUrl={avatarUrl} name={avatarName} className={styles.avatar} />\n )}\n {isMobileV2 ? !isMobile && <h1 className=\"subproduct-title\"> {title}</h1> : <h1 className=\"subproduct-title\"> {title}</h1>}\n {leadershipRole}\n <TooltipTitle className={tooltipClassName} tooltipContent={tooltipContent} />\n </div>\n\n {!isEmpty(description) && <div className={descriptionClassNames}>{description}</div>}\n </div>\n );\n}\n\nexport default TitleContainer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\n\nimport { PageHeaderPlaceholder } from 'components/core/Placeholder';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport MobileHeaderBar from '../MobileHeaderBar';\nimport TitleContainer from '../TitleContainer';\nimport styles from './styles.module.scss';\n\nfunction Container({\n isLoading,\n customBreadcrumb,\n rightContent,\n withBorder,\n isFullWidth,\n isFullWidthTitle,\n isPresentAvatar,\n headerClassName,\n rightContentClassName,\n headerContentClassName,\n applyExtraMargin,\n isRightOffset,\n customMobileTitle,\n isMobileOffsetVisible,\n customMobileContent,\n hasActionsOnly,\n ...restProps\n}) {\n const { isMobile } = useMediaQuery();\n const headerClassNames = classNames(\n 'header-page',\n isFullWidth && 'full-width',\n withBorder && styles.headerBorder,\n isRightOffset && styles.offsetRight,\n headerClassName,\n );\n\n const headerContentClassNames = classNames(\n 'header-content',\n !isFullWidth && styles.globalMaxWidth,\n headerContentClassName\n );\n\n function renderContent() {\n if (isLoading) {\n return (\n <PageHeaderPlaceholder\n isPresentAvatar={isPresentAvatar}\n isFullWidth={isFullWidth}\n />\n );\n }\n\n if (isMobile && customMobileContent) {\n return isFunction(customMobileContent)\n ? customMobileContent()\n : customMobileContent;\n }\n\n const titleContainer = (\n <TitleContainer\n {...restProps}\n isFullWidthTitle={isFullWidthTitle}\n isMobile={isMobile}\n />\n );\n\n return (\n <header className={headerClassNames}>\n <div className={headerContentClassNames}>\n <div className=\"title-container\">\n {!hasActionsOnly && (\n <div className={styles.leftContent}>\n <div className={styles.mainContent}>\n {!isFullWidthTitle && titleContainer}\n </div>\n </div>\n )}\n <div className={styles.rightContent}>\n {rightContent && (\n <div id=\"custom-content\" className={rightContentClassName}>\n {rightContent}\n </div>\n )}\n </div>\n </div>\n {isFullWidthTitle && titleContainer}\n {applyExtraMargin && <div className={styles.extraMargin} />}\n </div>\n </header>\n );\n }\n\n return (\n <>\n {isMobile && (\n <MobileHeaderBar\n {...restProps}\n customBreadcrumb={customBreadcrumb}\n customParentTitle={customMobileTitle}\n isOffsetVisible={isMobileOffsetVisible}\n />\n )}\n {renderContent()}\n </>\n );\n}\n\nContainer.defaultProps = {\n isFullWidth: false,\n isMobileOffsetVisible: true,\n hasActionsOnly: false,\n};\n\nContainer.propTypes = {\n isLoading: PropTypes.bool,\n customBreadcrumb: PropTypes.string,\n rightContent: PropTypes.node,\n rightContentClassName: PropTypes.string,\n withBorder: PropTypes.bool,\n isFullWidth: PropTypes.bool,\n isFullWidthTitle: PropTypes.bool,\n isPresentAvatar: PropTypes.bool,\n headerClassName: PropTypes.string,\n headerContentClassName: PropTypes.string,\n applyExtraMargin: PropTypes.bool,\n isRightOffset: PropTypes.bool,\n customMobileTitle: PropTypes.node,\n isMobileOffsetVisible: PropTypes.bool,\n hasActionsOnly: PropTypes.bool,\n customMobileContent: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n ]),\n};\n\nexport default Container;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport PageActionsButton from 'components/core/PageActionsButton';\nimport PageHeader from 'components/core/PageHeader';\n\nexport default function ActionPageHeader({\n title,\n description,\n page,\n pageName,\n pageLinks,\n applyExtraMargin,\n headerClassName,\n customBreadcrumb,\n ...restProps\n}) {\n return (\n <PageHeader\n {...restProps}\n applyExtraMargin={applyExtraMargin}\n headerClassName={headerClassName}\n customBreadcrumb={customBreadcrumb}\n title={title}\n page={page}\n pageName={pageName}\n description={description}\n rightContent={<PageActionsButton pageLinks={pageLinks} />}\n />\n );\n}\n\nActionPageHeader.defaultProps = {\n applyExtraMargin: true,\n};\n\nActionPageHeader.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n page: PropTypes.string,\n pageName: PropTypes.string,\n pageLinks: PropTypes.array.isRequired,\n applyExtraMargin: PropTypes.bool,\n headerClassName: PropTypes.string,\n customBreadcrumb: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\n\nexport const settingsButtonOptionsShape = PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n url: PropTypes.string,\n onClick: PropTypes.func,\n })\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\nimport TippyTooltip from '@tippyjs/react';\n\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { settingsButtonOptionsShape } from './shapes';\nimport styles from './styles.module.scss';\n\nexport default function SettingsButton({ title, options, href, className }) {\n const { isDesktopLarge } = useMediaQuery();\n\n function getMenuItem(option, index) {\n const { label, url, onClick } = option;\n\n if (onClick) {\n return (\n <Button\n key={`${index}-${label}`}\n theme=\"light\"\n className={styles.item}\n onClick={onClick}\n >\n {label}\n </Button>\n );\n }\n\n return (\n <Link\n key={`${index}-${label}`}\n theme=\"light\"\n className={styles.item}\n href={url}\n >\n {label}\n </Link>\n );\n }\n\n const getTooltipMenu = () => (\n <div className={styles.container}>\n <div className={styles.content}>\n <header className={styles.title}>{title}</header>\n {options.map(getMenuItem)}\n </div>\n </div>\n );\n\n if (isEmpty(options)) {\n return (\n <Link\n theme=\"secondary\"\n className={classNames(styles.settingsButton, className)}\n href={href}\n >\n <i className=\"fas fa-cogs\" />\n {isDesktopLarge && 'Settings'}\n </Link>\n );\n }\n\n return (\n <div className={className}>\n <TippyTooltip\n content={getTooltipMenu()}\n theme=\"light\"\n placement=\"bottom-end\"\n trigger=\"click\"\n interactive\n >\n <div className={styles.trigger}>\n <Button\n theme=\"secondary\"\n className={styles.settingsButton}\n >\n <i className=\"fas fa-cogs\" />\n {isDesktopLarge && 'Settings'}\n </Button>\n </div>\n </TippyTooltip>\n </div>\n );\n}\n\nSettingsButton.defaultProps = {\n title: 'Settings',\n};\n\nSettingsButton.propTypes = {\n title: PropTypes.string,\n options: settingsButtonOptionsShape,\n href: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport { settingsButtonOptionsShape };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { BackTo } from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction BackToHeaderBar({ to, title, contentClassName, containerClassName, ...restProps }) {\n return (\n <section className={classNames(styles.content, contentClassName)}>\n <div className={classNames(styles.container, containerClassName)}>\n <BackTo {...restProps} to={to} title={title} />\n </div>\n </section>\n );\n}\n\nBackToHeaderBar.defaultProps = {\n title: 'Back to my feed',\n};\n\nBackToHeaderBar.propTypes = {\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n pathname: PropTypes.string,\n state: PropTypes.object,\n }),\n ]).isRequired,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n contentClassName: PropTypes.string,\n containerClassName: PropTypes.string,\n};\n\nexport default BackToHeaderBar;\n","import Container from './components/Container';\n// TODO: fix cyclic dependency\n// eslint-disable-next-line import/no-cycle\nimport ActionPageHeader from './components/ActionPageHeader';\nimport SettingsButton, { settingsButtonOptionsShape } from './components/SettingsButton';\nimport BackToHeaderBar from './components/BackToHeaderBar';\nimport TitleContainer from './components/TitleContainer';\n\nexport {\n ActionPageHeader,\n SettingsButton,\n settingsButtonOptionsShape,\n BackToHeaderBar,\n TitleContainer,\n};\n\nexport default Container;\n","import moment from 'moment/moment';\nimport { filter, toLower, isEmpty } from 'lodash';\n\nimport {\n GLOBAL_DATE_FORMAT,\n CALENDAR_DATE_FORMAT,\n} from 'utils/constants/date';\nimport { formatDateBy } from 'utils/date';\nimport {\n FAX_TYPE,\n PHONE_TYPE,\n} from 'components/core/Profile/utils/constants';\nimport { joinCompact } from 'utils/string';\n\nexport const PAGE_SIZE = 10;\nexport const EXPORT_PER_PAGE = { per_page: 100 };\n\nexport function formatToMoment(date) {\n // We are using the strict parsing mode here, to make sure\n // we don't get unexpected values while converting the date.\n const isGlobalFormat = moment(date, GLOBAL_DATE_FORMAT, true).isValid();\n const isCalendarFormat = moment(date, CALENDAR_DATE_FORMAT, true).isValid();\n\n if (isGlobalFormat) {\n return moment(date, GLOBAL_DATE_FORMAT, true);\n }\n\n if (isCalendarFormat) {\n return moment(date, CALENDAR_DATE_FORMAT, true);\n }\n\n return date && moment(date);\n}\n\nexport function formatDate(date) {\n return formatDateBy(date, GLOBAL_DATE_FORMAT);\n}\n\nexport function getCongressOptions(congressOptions) {\n const formatOptions = [];\n\n Object.keys(congressOptions).reverse().forEach(key => formatOptions.push({\n value: key,\n label: congressOptions[key],\n }));\n\n return formatOptions;\n}\n\nexport const getFullName = (person, displayFullName = false) => {\n const { fullName, firstName, lastName } = person || {};\n const name = joinCompact([firstName, lastName], ' ');\n\n if (displayFullName) {\n return isEmpty(fullName) ? name : fullName;\n }\n\n return name;\n};\n\nexport const getValidPhones = phones => filter(\n phones,\n ({ type }) => toLower(type) === FAX_TYPE || toLower(type) === PHONE_TYPE\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isFunction } from 'lodash';\n\nimport useAvatar from './useAvatar';\nimport { getInitials } from './utils';\nimport styles from './styles.module.scss';\n\nfunction Avatar({\n photoUrl = '',\n name = '',\n icon = '',\n onClick = () => {},\n className = '',\n iconClassName = '',\n avoidDefaultIcon = true,\n isClickable = true,\n onError = () => {},\n ...restProps\n}) {\n const isAvatarClickable = isClickable && isFunction(onClick);\n const avatar = useAvatar(photoUrl, avoidDefaultIcon, onError);\n\n const clickableClassName = isAvatarClickable && styles.clickable;\n const clickableProps = isAvatarClickable && {\n onClick,\n role: 'button',\n };\n\n return (\n <div\n className={classNames(styles.avatar, className, clickableClassName)}\n {...clickableProps}\n {...restProps}\n >\n {avatar.isValid && (\n <img\n src={photoUrl}\n className={styles.photo}\n onError={avatar.handleError}\n alt=\"\"\n />\n )}\n\n {!avatar.isValid && getInitials(name)}\n\n {icon && (\n <div className={classNames(styles.icon, iconClassName)}>{icon}</div>\n )}\n </div>\n );\n}\n\nAvatar.defaultProps = {\n avoidDefaultIcon: true,\n isClickable: true,\n icon: '',\n onClick: () => {},\n iconClassName: '',\n onError: () => {},\n photoUrl: '',\n className: '',\n};\n\nAvatar.propTypes = {\n photoUrl: PropTypes.string,\n name: PropTypes.string.isRequired,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n onClick: PropTypes.func,\n icon: PropTypes.node,\n avoidDefaultIcon: PropTypes.bool,\n isClickable: PropTypes.bool,\n onError: PropTypes.func,\n};\n\nexport default Avatar;\n","import PropTypes from 'prop-types';\n\nexport const paginatorShape = PropTypes.shape({\n current: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n totalCount: PropTypes.number,\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1nxEJ\",\"title\":\"styles-module__title___2Wrtl\",\"description\":\"styles-module__description___1s0OG\",\"marginBottom\":\"styles-module__marginBottom___3MHUi\",\"titleWithTooltip\":\"styles-module__titleWithTooltip___2_l1_\",\"subItemsContainer\":\"styles-module__subItemsContainer___2O7O1\",\"subItem\":\"styles-module__subItem___hVk7J\",\"limit\":\"styles-module__limit___3pFeM\"};","import React from 'react';\n\nexport const ProfileContext = React.createContext();\n\nfunction withProfile(Component) {\n return props => (\n <ProfileContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </ProfileContext.Consumer>\n );\n}\n\nexport default withProfile;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"styles-module__box___GJ0ew\",\"boxText\":\"styles-module__boxText___345kw\",\"cardGroup\":\"styles-module__cardGroup___5ycbP\",\"expiredCard\":\"styles-module__expiredCard___2jESY\",\"card\":\"styles-module__card___1i0Gc\",\"checkbox\":\"styles-module__checkbox___1ucHC\",\"actions\":\"styles-module__actions___1tys4\",\"hintBtn\":\"styles-module__hintBtn___TYPDa\",\"badgeContainer\":\"styles-module__badgeContainer___17E0B\",\"rightItems\":\"styles-module__rightItems___2AYJH\",\"badge\":\"styles-module__badge___1UBPc\",\"time\":\"styles-module__time___3IQC0\",\"timeExpired\":\"styles-module__timeExpired___2qnbX\",\"date\":\"styles-module__date___1A2Br\",\"expired\":\"styles-module__expired___21Op_\",\"roundBadge\":\"styles-module__roundBadge___1P8kY\",\"details\":\"styles-module__details___1n8Li\",\"title\":\"styles-module__title___OkoYx\",\"text\":\"styles-module__text___-um1C\",\"link\":\"styles-module__link___1K8Ws\"};","import PropTypes from 'prop-types';\n\nimport { stringNumberType } from 'utils/shapes';\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nexport const subscriptionInfoShape = PropTypes.shape({\n frequency: frequencyType,\n isTracking: PropTypes.bool,\n is_disabled: PropTypes.bool,\n is_saved: PropTypes.bool,\n priority: PropTypes.string,\n sendWeekAheadEmail: PropTypes.bool,\n subscribable_data: PropTypes.shape({\n model_id: stringNumberType,\n }),\n subscribable_type: PropTypes.string,\n title: PropTypes.string,\n token: PropTypes.string,\n});\n\nexport const subscriptionShape = PropTypes.shape({\n documentType: PropTypes.string,\n recordId: stringNumberType,\n subscription: subscriptionInfoShape,\n});\n\nexport const apiShape = PropTypes.shape({\n createSubscription: PropTypes.func.isRequired,\n deleteSubscription: PropTypes.func.isRequired,\n deleteSubscriptions: PropTypes.func.isRequired,\n updateSubscription: PropTypes.func.isRequired,\n});\n\nexport const workspacesShape = PropTypes.shape({\n values: PropTypes.arrayOf(suggestionShape).isRequired,\n onChangeValues: PropTypes.func.isRequired,\n isWorkspacesChecked: PropTypes.bool.isRequired,\n onCheckWorkspaces: PropTypes.func.isRequired,\n isMyFeedChecked: PropTypes.bool.isRequired,\n onCheckMyFeed: PropTypes.func.isRequired,\n});\n","import React from 'react';\n\nexport const MapContext = React.createContext();\n\nfunction withMap(Component) {\n return function MapComponent(props) {\n return (\n <MapContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </MapContext.Consumer>\n );\n };\n}\n\nexport default withMap;\n","import isEmpty from 'lodash/isEmpty';\n\nimport { defaultHighlightingFilters } from './constants';\n\nexport const parseArray = arrayString => JSON.parse(arrayString);\n\nexport function getMapBounds(markers) {\n if (isEmpty(markers)) {\n return null;\n }\n\n const markerBounds = new mapboxgl.LngLatBounds();\n\n markers.forEach(({ geometry }) => {\n markerBounds.extend(geometry.coordinates);\n });\n\n return markerBounds;\n}\n\nexport function toggleLayer(map, layerName) {\n if (map.getLayer(layerName)) {\n const visibility = map.getLayoutProperty(layerName, 'visibility');\n const visibilityValue = !visibility || visibility === 'visible' ? 'none' : 'visible';\n\n map.setLayoutProperty(layerName, 'visibility', visibilityValue);\n }\n}\n\nexport function addDefaultLayers(map) {\n const commonOptions = {\n type: 'fill',\n source: {\n type: 'vector',\n url: `mapbox://${gon.mapboxTilesetId}`,\n },\n 'source-layer': gon.mapboxSourceLayer,\n filter: defaultHighlightingFilters,\n };\n\n map.addLayer({\n ...commonOptions,\n id: 'district-fill',\n type: 'fill',\n paint: {\n 'fill-color': 'black',\n 'fill-opacity': 0.2,\n },\n });\n\n map.addLayer({\n ...commonOptions,\n id: 'district-stroke',\n type: 'line',\n paint: {\n 'line-color': 'black',\n 'line-opacity': 0.4,\n 'line-width': 2.0,\n },\n });\n}\n\nexport function addStateHighlight({ map, kwDistrictId, mapType }) {\n if (!map) return;\n\n if (kwDistrictId && mapType) {\n const filter = [\n 'all',\n ['==', 'type', mapType],\n ['==', 'kwDistrictId', kwDistrictId],\n ];\n\n map.setFilter('district-fill', filter);\n map.setFilter('district-stroke', filter);\n }\n}\n\nexport function addFocusZoom({ map, latitude, longitude, options = { maxZoom: 7 } }) {\n if (!map || !latitude || !longitude) {\n return;\n }\n\n const latLng = { lat: latitude, lng: longitude };\n\n map.fitBounds([latLng, latLng], options);\n}\n\nexport function addMarkerImage(map, markerImage = '/images/map/map-marker.png', onImageLoad) {\n map.loadImage(markerImage, (error, res) => {\n if (error) throw error;\n map.addImage('map-marker', res);\n\n onImageLoad();\n });\n}\n\nexport function addMapSource(sourceName, data, map, isDataClustered) {\n map.addSource(sourceName, {\n type: 'geojson',\n data,\n cluster: isDataClustered,\n clusterMaxZoom: 14,\n clusterRadius: 50,\n });\n}\n","// Themes\nexport const DARK_THEME = 'dark';\nexport const LIGHT_THEME = 'light';\nexport const BLUE_THEME = 'blue';\n\n// Sizes\nexport const MEDIUM_SIZE = 'medium';\nexport const SMALL_SIZE = 'small';\nexport const EXTRA_SMALL_SIZE = 'xSmall';\nexport const BIG_SIZE = 'big';\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Input from 'components/core/Input';\n\nimport styles from '../styles.module.scss';\n\nfunction InputComponent({\n getInputProps,\n autoComplete,\n className,\n isLoading,\n placeholder,\n withInputSelect,\n isError,\n}) {\n const inputProps = getInputProps({\n autoComplete,\n className,\n placeholder,\n isError,\n });\n\n const loadingIcon = (\n <span className={classNames(styles.loadingIcon, withInputSelect && styles.withInputSelect)}>\n <i className={classNames('far', 'fa-circle-notch', 'fa-spin')} />\n </span>\n );\n\n return (\n <Fragment>\n <Input {...inputProps} />\n\n {isLoading && loadingIcon}\n </Fragment>\n );\n}\n\nInputComponent.defaultProps = {\n autoComplete: 'none',\n className: 'form-control',\n isLoading: false,\n withInputSelect: false,\n};\n\nInputComponent.propTypes = {\n autoComplete: PropTypes.string,\n className: PropTypes.string,\n isLoading: PropTypes.bool,\n placeholder: PropTypes.string,\n getInputProps: PropTypes.func.isRequired,\n withInputSelect: PropTypes.bool,\n isError: PropTypes.bool,\n};\n\nexport default InputComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { removeLastComma } from '../utils';\nimport styles from '../styles.module.scss';\n\nfunction Dropdown({ items, getSuggestionItemProps }) {\n if (isEmpty(items)) {\n return null;\n }\n\n function renderItem(item) {\n const { active, formattedSuggestion } = item;\n const itemClass = classNames(styles.dropdownItem, active && styles.isActive);\n const itemProps = getSuggestionItemProps(item, { className: itemClass });\n const secondaryText = removeLastComma(formattedSuggestion.secondaryText);\n\n return (\n <div {...itemProps}>\n <img className={styles.icon} src=\"/images/map/map-marker.png\" alt=\"Map Marker Icon\" />\n <b className={styles.mainText}>{formattedSuggestion.mainText}</b>\n <small>{secondaryText}</small>\n </div>\n );\n }\n\n return (\n <div className={styles.dropdownContainerWrapper}>\n <div className={styles.dropdownContainer}>\n {items.map(renderItem)}\n </div>\n </div>\n );\n}\n\nDropdown.propTypes = {\n items: PropTypes.array.isRequired,\n getSuggestionItemProps: PropTypes.func.isRequired,\n};\n\nexport default Dropdown;\n","import { useEffect, useState } from 'react';\nimport KEY_CODES from 'utils/keyCodes';\n\nimport isEmpty from 'lodash/isEmpty';\nimport { removeLastComma } from './utils';\n\nfunction useAddressAutocomplete({ value = '', placeId, onChange, onBlur, ref }) {\n const [address, setAddress] = useState(value);\n const [selectedAddress, setSelectedAddress] = useState(value);\n const [selectedAddressId, setSelectedAddressId] = useState(placeId);\n const [isSelected, setIsSelected] = useState(!!value);\n const [clearSuggestions, setClearSuggestions] = useState();\n const [hasTouchedInput, setHasTouchedInput] = useState(false);\n\n function checkAddressField() {\n if (!address) {\n setSelectedAddress('');\n setSelectedAddressId('');\n onBlur && onBlur({ address: '', placeId: '' });\n } else if (isSelected) {\n setAddress(selectedAddress);\n onBlur && onBlur({ address: selectedAddress, placeId: selectedAddressId });\n } else {\n onBlur && onBlur({ address: '', placeId: '' });\n setAddress('');\n }\n setHasTouchedInput(false);\n }\n\n function handlePressEscape(event) {\n if (event.keyCode === KEY_CODES.ESCAPE) {\n checkAddressField();\n document.removeEventListener('keydown', handlePressEscape);\n }\n }\n\n function handleClickOutside(event) {\n if (hasTouchedInput && ref.current && !ref.current.contains(event.target)) {\n // if input is clear when you leave, keep it clear\n // otherwise replace it with last selected value\n clearSuggestions();\n checkAddressField();\n document.removeEventListener('keydown', handlePressEscape);\n }\n }\n\n useEffect(() => {\n address && onChange && address !== value && onChange({ address, placeId: selectedAddressId });\n }, [address, selectedAddressId]);\n\n useEffect(() => {\n if (address !== value && selectedAddress !== value) {\n setSelectedAddress(value);\n }\n }, [value]);\n\n useEffect(() => {\n setAddress(selectedAddress);\n }, [selectedAddress]);\n\n useEffect(() => {\n if (hasTouchedInput) {\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handlePressEscape);\n }\n\n return () => {\n if (hasTouchedInput) {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n };\n }, [\n ref,\n address,\n onBlur,\n isSelected,\n selectedAddress,\n onChange,\n clearSuggestions,\n selectedAddressId,\n hasTouchedInput,\n ]);\n\n function overrideOnBlur(element) {\n if (!isEmpty(element) && typeof clearSuggestions !== 'function') {\n setClearSuggestions(() => element.clearSuggestions);\n element.handleInputOnBlur = () => {};\n }\n }\n\n const handleChange = (addressValue) => {\n setAddress(addressValue);\n setHasTouchedInput(true);\n };\n\n const handleSelect = (selectedValue, selectedPlaceId) => {\n const formatedAddress = removeLastComma(selectedValue);\n\n setSelectedAddress(formatedAddress);\n setSelectedAddressId(selectedPlaceId);\n setIsSelected(true);\n setAddress(formatedAddress);\n };\n\n const handleError = (_status, _clearSuggestions) => _clearSuggestions();\n\n return {\n address,\n selectedAddress,\n selectedAddressId,\n isSelected,\n overrideOnBlur,\n onChange: handleChange,\n onError: handleError,\n onSelect: handleSelect,\n };\n}\n\nexport default useAddressAutocomplete;\n","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport PlacesAutocomplete from 'react-places-autocomplete';\n\nimport { DEFAULT_DEBOUNCE_TIME } from 'utils/constants/intervals';\nimport { DEFAULT_BIAS_RADIUS, DEFAULT_BIAS_LAT, DEFAULT_BIAS_LNG } from 'utils/constants/placesAutocomplete';\n\nimport Input from './components/Input';\nimport Dropdown from './components/Dropdown';\nimport useAddressAutocomplete from './useAddressAutocomplete';\nimport styles from './styles.module.scss';\n\nfunction AddressAutocomplete({\n placeId,\n value,\n onChange,\n onBlur,\n placeType,\n inputClassName,\n placeholder,\n withFromGroup,\n withInputSelect,\n isError,\n allowInternationalSearch,\n ...restProps\n}) {\n const ref = useRef(null);\n\n const {\n address,\n onChange: handleChange,\n onError: handleError,\n onSelect: handleSelect,\n overrideOnBlur,\n } = useAddressAutocomplete({ value, placeId, onChange, onBlur, ref });\n\n function renderSearchOptions() {\n const options = {\n location: new google.maps.LatLng(DEFAULT_BIAS_LAT, DEFAULT_BIAS_LNG),\n radius: DEFAULT_BIAS_RADIUS,\n types: placeType ? [placeType] : [],\n };\n\n if (allowInternationalSearch) return options;\n\n return {\n ...options,\n componentRestrictions: {\n country: 'us',\n },\n };\n }\n\n const classes = classNames(\n styles.addressAutocomplete,\n withFromGroup && 'form-group',\n );\n\n return (\n <PlacesAutocomplete\n value={address}\n onChange={handleChange}\n onSelect={handleSelect}\n onError={handleError}\n searchOptions={renderSearchOptions()}\n debounce={DEFAULT_DEBOUNCE_TIME}\n highlightFirstSuggestion\n ref={overrideOnBlur}\n >\n {({ getInputProps, suggestions, getSuggestionItemProps, loading }) => (\n <div className={classes} ref={ref}>\n <Input\n {...restProps}\n getInputProps={getInputProps}\n isLoading={loading}\n className={inputClassName}\n placeholder={placeholder}\n withInputSelect={withInputSelect}\n isError={isError}\n />\n <Dropdown\n items={suggestions}\n getSuggestionItemProps={getSuggestionItemProps}\n />\n </div>\n )}\n </PlacesAutocomplete>\n );\n}\n\nAddressAutocomplete.defaultProps = {\n value: '',\n withFromGroup: false,\n withInputSelect: false,\n allowInternationalSearch: false,\n};\n\nAddressAutocomplete.propTypes = {\n placeId: PropTypes.string,\n value: PropTypes.string,\n inputClassName: PropTypes.string,\n placeholder: PropTypes.string,\n // https://developers.google.com/places/supported_types#table3\n placeType: PropTypes.string,\n withFromGroup: PropTypes.bool,\n withInputSelect: PropTypes.bool,\n isError: PropTypes.bool,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n allowInternationalSearch: PropTypes.bool,\n};\n\nexport default AddressAutocomplete;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\n\nimport styles from './styles.module.scss';\n\nfunction EmptyTablePlaceholder({ title, description, className }) {\n return (\n <div className={classNames(styles.placeholderContainer, className)}>\n <EmptyPlaceholder\n title={title}\n description={description}\n />\n </div>\n );\n}\n\nEmptyTablePlaceholder.propTypes = {\n title: PropTypes.string,\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n className: PropTypes.string,\n};\nexport default EmptyTablePlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport Loader from 'components/core/Loader';\n\nimport styles from './styles.module.scss';\n\nfunction LoadingPlaceholder({ placeholderClassName, ...restProps }) {\n return (\n <DataCard title=\"\" {...restProps}>\n <div className={classNames(styles.chartPlaceholder, placeholderClassName)}>\n <Loader message=\"Loading information ...\" />\n </div>\n </DataCard>\n );\n}\n\nLoadingPlaceholder.propTypes = {\n placeholderClassName: PropTypes.string,\n};\n\nexport default LoadingPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport EmptyTablePlaceholder from 'components/core/Profile/components/Placeholders/EmptyTable';\n\nimport styles from './styles.module.scss';\n\nfunction ClearableEmptyPlaceholder({\n areFiltersApplied,\n emptyDescription,\n emptyDescriptionFiltering,\n}) {\n const description = (\n <div className={styles.placeholderContainer}>\n <div className={styles.textContent}>{(areFiltersApplied && emptyDescriptionFiltering) || emptyDescription}</div>\n </div>\n );\n\n return <EmptyTablePlaceholder description={description} />;\n}\n\nClearableEmptyPlaceholder.propTypes = {\n areFiltersApplied: PropTypes.bool,\n emptyDescription: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n emptyDescriptionFiltering: PropTypes.string,\n};\n\nexport default ClearableEmptyPlaceholder;\n","import EmptyTablePlaceholder from './EmptyTable';\nimport LoadingPlaceholder from './Loading';\nimport ClearableEmptyPlaceholder from './ClearableEmptyPlaceholder';\n\nexport { EmptyTablePlaceholder, LoadingPlaceholder, ClearableEmptyPlaceholder };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"styles-module__input___2Dm6F\",\"default\":\"styles-module__default___3NiJX\",\"small\":\"styles-module__small___1eX0h\",\"invalid\":\"styles-module__invalid___3GcVo\",\"withInputTypes\":\"styles-module__withInputTypes___2-hdn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"badgeContainer\":\"styles-module__badgeContainer___3U7rb\",\"largeBadge\":\"styles-module__largeBadge___28EFQ\",\"badge\":\"styles-module__badge___3hBNs\",\"leftItems\":\"styles-module__leftItems___2JBwV\",\"expiredBadge\":\"styles-module__expiredBadge___Rog4p\",\"rightItems\":\"styles-module__rightItems___3iNGG\",\"roundBadge\":\"styles-module__roundBadge___Rtak2\",\"houseBadge\":\"styles-module__houseBadge___1Qobp\",\"senateBadge\":\"styles-module__senateBadge___LyrXc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableCard\":\"styles-module__tableCard___1pmTH\",\"headerNodes\":\"styles-module__headerNodes___f6YOS\",\"selectEnabled\":\"styles-module__selectEnabled___45Sjr\",\"table\":\"styles-module__table___2wukP\",\"actionBar\":\"styles-module__actionBar___2LCJl\",\"barBtn\":\"styles-module__barBtn___36Pco\",\"mobileCard\":\"styles-module__mobileCard___3WSIK\",\"loadingBtn\":\"styles-module__loadingBtn___3UueY\",\"actionBtn\":\"styles-module__actionBtn___3Hqqv\",\"customTable\":\"styles-module__customTable___3E06T\",\"containerTable\":\"styles-module__containerTable___15GU2\",\"btnGroup\":\"styles-module__btnGroup___32m41\",\"activeBtn\":\"styles-module__activeBtn___NZrJv\",\"modalActions\":\"styles-module__modalActions___23xLy\",\"truncate\":\"styles-module__truncate___2yAAe\",\"actions\":\"styles-module__actions___398R4\",\"tooltipWrapper\":\"styles-module__tooltipWrapper___1N_ZX\",\"tooltipContainer\":\"styles-module__tooltipContainer___2unE_\",\"tooltipText\":\"styles-module__tooltipText___3awhT\",\"customFields\":\"styles-module__customFields___1-eRR\"};","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nfunction Logo() {\n return (\n <img\n className={styles.logo}\n src=\"/images/intelligence-icon-dark.png\"\n alt=\"Intelligence Logo\"\n />\n );\n}\n\nexport default Logo;\n","import PropTypes from 'prop-types';\n\nexport const linkShape = PropTypes.shape({\n value: PropTypes.string,\n href: PropTypes.string,\n isExternal: PropTypes.bool,\n});\n\nexport const historyShape = PropTypes.shape({\n action: PropTypes.string,\n block: PropTypes.func,\n createHref: PropTypes.func,\n go: PropTypes.func,\n goBack: PropTypes.func,\n goForward: PropTypes.func,\n length: PropTypes.number,\n listen: PropTypes.func,\n location: PropTypes.shape({\n pathname: PropTypes.string,\n search: PropTypes.string,\n hash: PropTypes.string,\n }),\n push: PropTypes.func,\n replace: PropTypes.func,\n});\n\nexport const matchShape = PropTypes.shape({\n isExact: PropTypes.bool,\n params: PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n path: PropTypes.string,\n url: PropTypes.string,\n});\n","function getNavigationElements() {\n const navigationElement = document.getElementById('navigation');\n const mainContainerElement = document.getElementById('main');\n\n return {\n navigationElement,\n mainContainerElement,\n };\n}\n\nexport function pushLayoutForProductBar() {\n const { navigationElement, mainContainerElement } = getNavigationElements();\n\n if (navigationElement) {\n navigationElement.classList.add('with-product-bar');\n }\n\n if (mainContainerElement) {\n mainContainerElement.classList.add('with-product-bar');\n }\n}\n\nexport function pullLayoutForProductBar() {\n const { navigationElement, mainContainerElement } = getNavigationElements();\n\n if (navigationElement) {\n navigationElement.classList.remove('with-product-bar');\n }\n\n if (mainContainerElement) {\n mainContainerElement.classList.remove('with-product-bar');\n }\n}\n\nexport function canRenderTopBar(isMobile = false) {\n const { currentUser } = gon || {};\n const { has_p2a_account } = currentUser || {};\n\n return has_p2a_account && !isMobile;\n}\n","import { backgroundErrorColor, borderError } from 'components/core/Select/settings.scss';\n\nimport {\n disabledTagBackground,\n tagBackground,\n textColor,\n boxShadowColor,\n fontFamily,\n controlBackground,\n menuBoxShadow,\n borderRadius,\n} from './settings.scss';\n\nexport const tagStyle = {\n multiValueLabel: (base, state) => ({\n ...base,\n color: textColor,\n fontSize: 12,\n padding: '2px 4px',\n ...(state.data.isFixed && {\n fontWeight: 'bold',\n color: 'white',\n }),\n }),\n multiValueRemove: (base, state) => ({\n ...base,\n border: 'none',\n backgroundColor: tagBackground,\n color: textColor,\n minWidth: '20px',\n marginLeft: 8,\n borderRadius,\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: tagBackground,\n color: textColor,\n },\n ...(state.data.isFixed && {\n display: 'none',\n }),\n }),\n multiValue: (base, state) => ({\n ...base,\n backgroundColor: tagBackground,\n borderRadius,\n padding: 2,\n margin: 3,\n maxWidth: 300,\n ...(state.data.isFixed && {\n backgroundColor: disabledTagBackground,\n }),\n }),\n singleValue: base => ({\n ...base,\n padding: '0 10px',\n margin: 0,\n }),\n};\n\nconst getStyle = ({ isMobile, withDisclaimer, withOverflow, isError } = {}) => ({\n ...tagStyle,\n control: base => ({\n ...base,\n ...(withOverflow && {\n maxHeight: '40vh',\n overflowY: 'auto',\n }),\n boxShadow: `inset 0 1px 3px 0 ${boxShadowColor}`,\n backgroundImage: controlBackground,\n border: 'none',\n padding: 0,\n borderRadius,\n fontWeight: 300,\n fontFamily,\n minHeight: 42,\n ...(isError && {\n background: backgroundErrorColor,\n border: borderError,\n boxShadow: 'none',\n '&:hover': {\n border: borderError,\n },\n }),\n }),\n valueContainer: base => ({\n ...base,\n padding: '1px 3px',\n minHeight: 'inherit',\n }),\n dropdownIndicator: base => ({\n ...base,\n position: 'relative',\n }),\n clearIndicator: base => ({\n ...base,\n ...(withDisclaimer && ({\n paddingRight: isMobile ? 50 : 165,\n })),\n }),\n placeholder: base => ({\n ...base,\n paddingLeft: 8,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n width: '100%',\n paddingRight: 10,\n fontStyle: 'italic',\n }),\n input: base => ({\n ...base,\n paddingLeft: 8,\n }),\n menu: base => ({\n ...base,\n fontSize: 14,\n color: textColor,\n boxShadow: menuBoxShadow,\n width: '99%',\n marginLeft: '0.5%',\n border: 'none',\n fontFamily,\n fontWeight: 300,\n zIndex: 99,\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n padding: '5px',\n },\n }),\n option: base => ({\n ...base,\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n }),\n});\n\nexport default getStyle;\n","import React from 'react';\nimport { upperFirst, toLower, get, uniq, sortBy, map } from 'lodash';\n\nimport { LinkColumn } from 'components/core/Profile/components/Table';\nimport { getValidPhones } from 'components/core/Profile/utils';\nimport { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { getStateName } from '../../utils';\n\nexport const getPhoneLabel = ({ type, displayOrder } = {}) => (\n `${upperFirst(toLower(type))} ${displayOrder}`\n);\n\nexport const getPhone = ({ phoneNumber, areaCode } = {}) => joinCompact(\n [getParenthesisItem(areaCode), phoneNumber],\n ' ',\n);\n\nconst formatOrganizations = organizations => map(sortBy(organizations, 'level'), 'name');\n\nexport const getPositionDescription = (position) => {\n const { title, role, organizations, additionalInfo } = position || {};\n const { branch, department } = additionalInfo || {};\n\n return (\n <>\n <div data-testid=\"title-role\">{joinCompact(uniq([title, role]))}</div>\n <div data-testid=\"position-details\">\n {joinCompact(uniq([branch, department, ...formatOrganizations(organizations)]))}\n </div>\n </>\n );\n};\n\nexport const getPositionDescriptionForPdf = (position) => {\n const { title, role, organizations, additionalInfo } = position || {};\n const { branch, department, county, municipal, district } = additionalInfo || {};\n\n const areaInfo = getParenthesisItem(\n joinCompact(uniq([county, municipal, district]))\n );\n\n const formattedBranch = joinCompact([branch, areaInfo], ' ');\n\n return joinCompact(\n uniq([title, role, ...formatOrganizations(organizations), department, formattedBranch])\n );\n};\n\nexport const getName = (fullName, mainPosition) => {\n const { additionalInfo } = mainPosition || {};\n const { county, municipal, district } = additionalInfo || {};\n const additionalInfoText = getParenthesisItem(\n joinCompact(uniq([county, municipal, district]))\n );\n\n return joinCompact([fullName, additionalInfoText], ' ');\n};\n\nexport const getAddress = ({ zipCode, street, city, state = {} } = {}) => {\n const stateName = getStateName(get(state, 'name'));\n const address = joinCompact([street, city, stateName, zipCode]);\n\n return address || undefined;\n};\n\nexport const getAddressTable = ({ building, ...address } = {}) => {\n const displayedAddress = getAddress(address);\n\n return {\n id: 'location',\n data: [\n {\n id: 'address',\n label: 'Address',\n content: displayedAddress,\n },\n {\n id: 'building',\n label: 'Building',\n content: building,\n },\n ],\n };\n};\n\nexport const getPhoneTable = phones => ({\n id: 'phone',\n columns: [{\n id: 'link',\n component: LinkColumn,\n getUrl: getPhone,\n }],\n data: getValidPhones(phones),\n getLabel: getPhoneLabel,\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"styles-module__loader___1yWQ4\",\"tooltipWrapper\":\"styles-module__tooltipWrapper___2iL1-\",\"tooltipContainer\":\"styles-module__tooltipContainer___n_iGy\",\"multiStepModal\":\"styles-module__multiStepModal___2XSFW\",\"header\":\"styles-module__header___3TvCz\",\"body\":\"styles-module__body___1iDFf\",\"footer\":\"styles-module__footer___3OlDC\",\"step\":\"styles-module__step____qWvp\",\"isActive\":\"styles-module__isActive___HFRQo\",\"stepNavigation\":\"styles-module__stepNavigation___19NJ9\",\"buttons\":\"styles-module__buttons___3D7-m\",\"stepNavigationBtn\":\"styles-module__stepNavigationBtn___3T-jS\",\"cancelBtn\":\"styles-module__cancelBtn___36P9h\",\"modalActionBtn\":\"styles-module__modalActionBtn___aq92d\",\"loaderContainer\":\"styles-module__loaderContainer___1JSCY\"};","import PropTypes from 'prop-types';\n\nexport const sortOptionShape = PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n});\n\nexport const sortShape = PropTypes.shape({\n sort: PropTypes.string,\n direction: PropTypes.string,\n toReset: PropTypes.bool,\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipContent\":\"styles-module__tooltipContent___2CAT0\",\"tooltipLink\":\"styles-module__tooltipLink___3UB_V\",\"buttonContainer\":\"styles-module__buttonContainer___3xUMU\",\"badge\":\"styles-module__badge___2ZM1P\",\"label\":\"styles-module__label___3rQJe\",\"tooltipWrapper\":\"styles-module__tooltipWrapper___cOYEy\",\"tooltipContainer\":\"styles-module__tooltipContainer___ZwYk9\",\"tooltipItem\":\"styles-module__tooltipItem___ZdlGQ\",\"activeTitle\":\"styles-module__activeTitle___cJ9KN\",\"subItem\":\"styles-module__subItem___1e0QC\",\"tableLink\":\"styles-module__tableLink___uiupW\",\"flexContent\":\"styles-module__flexContent___1GoFG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardGroup\":\"styles-module__cardGroup___2zzDA\",\"isMarked\":\"styles-module__isMarked___2JkGn\",\"checkbox\":\"styles-module__checkbox___3zAqg\",\"actions\":\"styles-module__actions___34Xq6\",\"content\":\"styles-module__content___1Qa3E\",\"header\":\"styles-module__header___1nmTh\",\"headerContent\":\"styles-module__headerContent___3GQle\",\"hintBtn\":\"styles-module__hintBtn___24leA\",\"hint\":\"styles-module__hint___OOkDB\",\"contextualMenu\":\"styles-module__contextualMenu___1j69-\",\"icon\":\"styles-module__icon___1I7J2\"};","import styles from './styles.module.scss';\n\nexport const inputSizes = {\n default: styles.default,\n small: styles.small,\n};\n\nconst applyPhoneMask = (number) => {\n number = number\n .replace(/[^0-9]/g, '')\n .slice(-10);\n\n const a = number.slice(0, 3);\n const b = number.slice(3, 6);\n const c = number.slice(6);\n\n const numberWithMask = `+1 (${a}) ${b}-${c}`;\n\n return numberWithMask;\n};\n\nexport const handlePasteAutofill = (conformedValue, { rawValue }) => {\n const conformedNumber = conformedValue.replace(/[^0-9]/g, '');\n const rawNumber = rawValue.replace(/[^0-9]/g, '');\n\n if (rawNumber.length > 11) {\n return conformedValue;\n }\n\n // When the mask bug happens\n if (conformedNumber.indexOf(rawNumber) === -1) {\n return applyPhoneMask(rawValue);\n }\n\n return conformedValue;\n};\n","import createNumberMask from 'text-mask-addons/dist/createNumberMask';\n\nconst usPhoneNumberWithCountryCodeMask = [\n '+',\n '1',\n ' ',\n '(',\n /[1-9]/,\n /\\d/,\n /\\d/,\n ')',\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n '-',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n];\n\nconst dateMask = [\n /\\d/,\n /\\d/,\n '/',\n /\\d/,\n /\\d/,\n '/',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n];\n\nconst dateTimeMask = [\n ...dateMask,\n ' ',\n /0|1/,\n /\\d/,\n ':',\n /[0-5]/,\n /\\d/,\n ' ',\n /a|p/,\n 'm',\n];\n\nconst integerMask = createNumberMask({\n prefix: '',\n});\n\nconst maskMapping = {\n us_phone_number_with_country_code: {\n mask: usPhoneNumberWithCountryCodeMask,\n placeholder: '+1 (555) 555-5555',\n },\n integer: {\n mask: integerMask,\n placeholder: 'Number',\n },\n date: {\n mask: dateMask,\n placeholder: 'mm/dd/yyyy',\n },\n date_time: {\n mask: dateTimeMask,\n placeholder: 'mm/dd/yyyy hh:tt',\n },\n};\n\nexport default maskMapping;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ReactTextMask from 'react-text-mask';\n\nimport ErrorMessage from 'components/core/ErrorMessage';\n\nimport { inputSizes, handlePasteAutofill } from './helpers';\nimport maskMapping from './mask-mapping';\n\nimport styles from './styles.module.scss';\n\nexport default function MaskedInput({ isError, maskSlug, placeholder, errorMessage, className, size, pipe, ...restProps }) {\n const maskMapper = maskMapping[maskSlug];\n\n const inputClassName = classNames(\n className,\n styles.input,\n inputSizes[size],\n errorMessage && styles.invalid\n );\n\n // Workaround to deal with know bug (paste, autofill)\n // https://github.com/text-mask/text-mask/issues/689\n\n let pipeHandler = pipe;\n\n if (maskSlug === 'us_phone_number_with_country_code') {\n pipeHandler = handlePasteAutofill;\n }\n\n return (\n <Fragment>\n <ReactTextMask\n {...restProps}\n className={classNames(inputClassName, isError && styles.invalid)}\n mask={maskMapper.mask}\n placeholder={placeholder || maskMapper.placeholder}\n pipe={pipeHandler}\n />\n <ErrorMessage message={errorMessage} />\n </Fragment>\n );\n}\n\nMaskedInput.propTypes = {\n maskSlug: PropTypes.oneOf(\n Object.keys(maskMapping)\n ).isRequired,\n size: PropTypes.oneOf(\n Object.keys(inputSizes),\n ),\n errorMessage: PropTypes.string,\n placeholder: PropTypes.string,\n className: PropTypes.string,\n pipe: PropTypes.func,\n isError: PropTypes.bool,\n};\n\nMaskedInput.defaultProps = {\n size: 'default',\n guide: true,\n placeholderChar: '_',\n keepCharPositions: false,\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nexport default function Content({ header, title, children, onClick, className }) {\n const editButton = onClick && (\n <Fragment>\n (\n <Button theme=\"light\" className={styles.link} onClick={onClick}>\n Edit {title}\n </Button>\n )\n </Fragment>\n );\n\n return (\n <section className={styles.container}>\n {header && (\n <header className={styles.header}>\n <p className={styles.infoText}>\n {header} {editButton}\n </p>\n </header>\n )}\n\n <div className={classNames(styles.content, className)}>{children}</div>\n </section>\n );\n}\n\nContent.defaultProps = {\n title: 'section',\n};\n\nContent.propTypes = {\n title: PropTypes.string,\n header: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func,\n className: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction Info({\n label,\n value,\n href,\n isPrimary,\n isExternal,\n labelClassName,\n valueClassName,\n onlyLabel,\n customAdditionalValue,\n}) {\n const valueStyle = classNames(styles.spacing, styles.value, valueClassName);\n const labelStyle = classNames(styles.spacing, styles.label, labelClassName);\n\n function renderContent() {\n if (isEmpty(href)) {\n return value || EMPTY_VALUE;\n }\n\n return (\n <Link\n theme=\"light\"\n href={href}\n className={styles.link}\n isExternal={isExternal}\n >\n {value || href}\n </Link>\n );\n }\n\n return (\n <div className={styles.info}>\n {label && <div className={labelStyle}>{label}</div>}\n\n {!onlyLabel && (\n <div className={valueStyle}>\n {renderContent()}\n {isPrimary && <span> (primary)</span>}\n {customAdditionalValue}\n </div>\n )}\n </div>\n );\n}\n\nInfo.defaultProps = {\n showIcon: false,\n isPrimary: false,\n onlyLabel: false,\n};\n\nInfo.propTypes = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.number]),\n href: PropTypes.string,\n isPrimary: PropTypes.bool,\n isExternal: PropTypes.bool,\n labelClassName: PropTypes.string,\n valueClassName: PropTypes.string,\n onlyLabel: PropTypes.bool,\n customAdditionalValue: PropTypes.node,\n};\n\nexport default Info;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport Info from './Info';\n\nfunction ArrayInfo({ label, values, emptyValue, isMobile }) {\n if (isEmpty(values)) {\n return <Info label={label} value={emptyValue} />;\n }\n\n const isMultipleValues = values.length > 1;\n\n function getMultipleFieldLabel(index, title, category, className) {\n return (\n <span>\n {title} {isMultipleValues && index + 1}\n {category && !isMobile && (\n <span className={className}> ({category})</span>\n )}\n </span>\n );\n }\n\n function renderInfo(valueItem, index) {\n const { category, value, ...restProps } = valueItem;\n\n return (\n <Info\n {...restProps}\n key={`${label}-${index}`}\n label={getMultipleFieldLabel(index, label, category)}\n value={value}\n />\n );\n }\n\n return values.map(renderInfo);\n}\n\nArrayInfo.defaultProps = {\n emptyValue: EMPTY_VALUE,\n isMobile: false,\n};\n\nArrayInfo.propTypes = {\n label: PropTypes.string.isRequired,\n values: PropTypes.array,\n emptyValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n isMobile: PropTypes.bool,\n};\n\nexport default ArrayInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { withRouter } from 'react-router-dom';\n\nimport Button from 'components/core/Button';\nimport { handleClickFilter } from 'components/Stakeholder/Profile/utils';\nimport joinComponents from 'utils/joinComponents';\n\nimport Info from './Info';\nimport styles from './styles.module.scss';\n\nfunction LinkList({ label, items, itemType, history }) {\n function makeLink(item) {\n return (\n <Button\n theme=\"light\"\n className={styles.link} key={item.name}\n onClick={handleClickFilter(item, itemType, history)}\n >\n {item.name}\n </Button>\n );\n }\n\n const links = items.map(item => makeLink(item));\n const value = isEmpty(links) ? 'N/A' : joinComponents(links);\n\n return <Info label={label} value={value} />;\n}\n\nLinkList.propTypes = {\n label: PropTypes.string,\n items: PropTypes.array.isRequired,\n itemType: PropTypes.string.isRequired,\n history: PropTypes.object,\n};\n\nexport default withRouter(LinkList);\n","import Content from './components/Content';\nimport Info from './components/Info';\nimport ArrayInfo from './components/ArrayInfo';\nimport LinkList from './components/LinkList';\n\nexport {\n Content,\n Info,\n ArrayInfo,\n LinkList,\n};\n","import React from 'react';\nimport { View, Text } from '@react-pdf/renderer';\nimport { truncate, map, isEmpty, size, replace } from 'lodash';\n\nimport { LabelLink, LabelText, LegislatorName } from 'components/core/ExportDocument';\nimport { splitHighlightText } from 'utils/highlightText';\nimport { NEW_LINE_REGEX, NON_PRINTABLE_ASCII } from 'utils/string';\n\nimport styles from './styles';\n\nconst maxTextLength = 1000;\n\nfunction getHighlightedWord(text = '') {\n if (isEmpty(text)) {\n return '';\n }\n\n return map(splitHighlightText(text), ({ textContent, isHighlight }, index) => (\n <Text key={`export-text-${index}`} style={isHighlight && styles.emphasizedText}>\n {textContent}\n </Text>\n ));\n}\n\nexport function transformSnippet(snippet) {\n const trimmedSnippet = replace(replace(snippet, NEW_LINE_REGEX, ' '), NON_PRINTABLE_ASCII, '');\n\n return getHighlightedWord(trimmedSnippet);\n}\n\nexport function renderSnippet(snippet) {\n return (\n <View>\n <LabelText\n textStyle={styles.billDescriptionText}\n labelStyle={styles.billLabelText}\n value={transformSnippet(snippet)}\n label=\"Snippet\"\n />\n </View>\n );\n}\n\nexport function getDescriptionItem(itemValue, itemLabel, billLink, maxTextLengthLimit = maxTextLength) {\n /*\n * Fixes react-pdf issue when Text tag length is over 2 pages\n * https://github.com/diegomura/react-pdf/issues/685\n */\n const truncatedValue = truncate(itemValue, { length: maxTextLengthLimit, separator: ' ' });\n const displayViewAllText = size(itemValue) > maxTextLengthLimit;\n\n return (\n <View>\n <LabelText\n textStyle={styles.billDescriptionText}\n labelStyle={styles.billLabelText}\n value={truncatedValue}\n label={itemLabel}\n />\n {displayViewAllText && (\n <LabelLink\n value=\"View all text on bill page\"\n href={billLink}\n linkStyle={styles.billDescriptionLink}\n emptyTextStyle={styles.billEmptyLink}\n />\n )}\n </View>\n );\n}\n\nexport function renderLegislator(legislator) {\n const { id, partyShort } = legislator;\n const keyName = partyShort ? id : `committee-${id}`;\n\n return (\n <View key={keyName} style={styles.billLegislatorContainer}>\n <LegislatorName\n hideAvatar\n nameStyle={styles.billLegislator}\n partyIconStyle={styles.billLegislatorIcon}\n {...legislator}\n />\n </View>\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"styles-module__options___2r363\",\"preview\":\"styles-module__preview___3gGlc\",\"card\":\"styles-module__card___VJkkw\",\"content\":\"styles-module__content___1yHo2\",\"placeholder\":\"styles-module__placeholder___2zQFj\",\"label\":\"styles-module__label___1YYy1\",\"optionPlaceholder\":\"styles-module__optionPlaceholder___3md9o\",\"previewOption\":\"styles-module__previewOption___Q-kTH\",\"listOptions\":\"styles-module__listOptions___2xhdJ\",\"textPlaceholder\":\"styles-module__textPlaceholder___3nPp9\",\"datePicker\":\"styles-module__datePicker___2HGv7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___30oau\",\"container\":\"styles-module__container___3sJO2\",\"itemsContainer\":\"styles-module__itemsContainer___3SwUk\",\"title\":\"styles-module__title___3whhW\",\"viewMoreButton\":\"styles-module__viewMoreButton___39Foa\",\"button\":\"styles-module__button___1KLEF\",\"loadingIcon\":\"styles-module__loadingIcon___3tOOR\",\"firstItem\":\"styles-module__firstItem___1e9-o\",\"loaderContainer\":\"styles-module__loaderContainer___2qhP4\",\"loader\":\"styles-module__loader___a3Tm3\",\"uppercase\":\"styles-module__uppercase___3ar-g\",\"eventTitle\":\"styles-module__eventTitle___2lz73\",\"eventText\":\"styles-module__eventText___36oHr\",\"somethingWentWrong\":\"styles-module__somethingWentWrong___1qoTr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___3HW6N\",\"container\":\"styles-module__container___358ti\",\"header\":\"styles-module__header___9zDgM\",\"body\":\"styles-module__body___DS1wF\",\"switcher\":\"styles-module__switcher___sfoAU\",\"btnGroup\":\"styles-module__btnGroup___1WMxl\",\"isActive\":\"styles-module__isActive___3sTag\",\"isLargeDown\":\"styles-module__isLargeDown___1tLut\",\"isLargeUp\":\"styles-module__isLargeUp___1y3ax\",\"info\":\"styles-module__info___kgbtE\",\"content\":\"styles-module__content___2k1rj\",\"label\":\"styles-module__label___3MQB4\",\"value\":\"styles-module__value___3w-OZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"controlBoxShadow\":\"inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(2, 102, 214, .6)\",\"controlBorderColor\":\"#0266d6\",\"controlColor\":\"#0266d6\",\"controlBackgroundColor\":\"'transparent'\",\"boxShadow\":\"0 2px 4px 0 rgba(156, 166, 217, .5)\",\"controlBackground\":\"linear-gradient(to bottom, #fbfbff, #f4f6fe)\",\"controlOpenBackground\":\"#fbfbff\",\"controlOpenBorderRadius\":\"5px 5px 0 0\",\"menuBorderRadius\":\"0 0 5px 5px\",\"controlPadding\":\"5px 2px\",\"minControlHeight\":\"32px\",\"mediumControlHeight\":\"42px\",\"backgroundErrorColor\":\"rgba(243, 117, 117, .1)\",\"borderError\":\"1px solid #f37575\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"clusterCircleGradient\":\"rgba(255, 37, 37, .5)\",\"clusterCircleBorderColor\":\"#ff2525\",\"textColor\":\"#ffffff\",\"veryHigh\":\"#fd6868\",\"high\":\"#fd8f68\",\"mediumHigh\":\"#fdb568\",\"medium\":\"#f4fc68\",\"mediumLow\":\"#68fd6f\",\"low\":\"#68fde3\",\"veryLow\":\"#7886ed\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Kbd({ children, className }) {\n return (\n <div className={classNames(styles.container, className)}>\n <span className={styles.value}>\n {children}\n </span>\n </div>\n );\n}\n\nKbd.propTypes = {\n children: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default Kbd;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction TipMessage({\n children,\n className,\n isVisible,\n}) {\n if (!isVisible) return null;\n\n return (\n <span className={classNames(styles.tip, className)}>\n <span className={styles.tipLabel}>TIP:</span>\n {children}\n </span>\n );\n}\n\nTipMessage.defaultProps = {\n isVisible: true,\n};\n\nTipMessage.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]).isRequired,\n className: PropTypes.string,\n isVisible: PropTypes.bool,\n};\n\nexport { default as Kbd } from './components/Kbd';\nexport default TipMessage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder({ className }) {\n return <TextPlaceholder className={classNames(styles.placeholder, className)} />;\n}\n\nPlaceholder.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Placeholder;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, map, filter, some } from 'lodash';\n\nimport Modal from 'components/core/Modal';\nimport Button from 'components/core/Button';\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\nimport { getMyFeed } from 'components/Dashboard/utils';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\n\nimport styles from '../styles.module.scss';\n\n// TODO: remove once workspaces are out of beta\nconst initialSelectedFeeds = gon.isWorkspacesEnabled ? [] : [getMyFeed()];\n\nfunction UntrackModal({\n isOpenModal,\n toggleModal,\n onRemove,\n isLoading,\n title,\n description,\n trackings,\n hasTrackings,\n withWorkspacesOptions,\n}) {\n const [selectedFeeds, setSelectedFeeds] = useState(initialSelectedFeeds);\n\n useEffect(() => {\n isOpenModal && setSelectedFeeds(initialSelectedFeeds);\n }, [isOpenModal]);\n\n const handleSelectFeed = ({ target }) => {\n const selectedFeed = { name: target.name, token: target.value };\n\n const selectFeed = () => setSelectedFeeds(prevSelection => [...prevSelection, selectedFeed]);\n const removeFeed = () => setSelectedFeeds(\n prevSelection => filter(prevSelection, ({ token }) => token !== selectedFeed.token)\n );\n\n target.checked ? selectFeed() : removeFeed();\n };\n\n const handleConfirmation = () => onRemove(selectedFeeds);\n\n const buttons = (\n <>\n <Button\n theme=\"light\"\n size=\"small\"\n onClick={toggleModal}\n >\n Cancel\n </Button>\n <Button\n size=\"small\"\n onClick={handleConfirmation}\n isLoading={isLoading}\n disabled={hasTrackings && isEmpty(selectedFeeds)}\n >\n Confirm\n </Button>\n </>\n );\n\n const renderFeedItem = ({ feed }) => {\n const isChecked = some(selectedFeeds, ({ token }) => token === feed.token);\n\n return (\n <Checkbox\n key={feed.token}\n name={feed.name}\n label={feed.name}\n value={feed.token}\n isChecked={isChecked}\n className={styles.checkbox}\n onChange={handleSelectFeed}\n />\n );\n };\n\n return (\n <Modal\n title={title}\n isOpen={isOpenModal}\n className={styles.modal}\n footerClassName={styles.footer}\n bodyClassName={styles.modalBody}\n toggleOpen={toggleModal}\n buttons={buttons}\n theme=\"scrollableBody\"\n >\n <p>\n {description}\n </p>\n {withWorkspacesOptions && (\n <LabelGroup>\n {map(trackings, renderFeedItem)}\n </LabelGroup>\n )}\n </Modal>\n );\n}\n\nUntrackModal.defaultProps = {\n title: 'Untrack item',\n description: 'Are you sure you would like to untrack this item? Doing so will also remove it from your tracked items tab. You will also no longer receive email updates for this item. Any feed item previously populated will not be removed.',\n};\n\nUntrackModal.propTypes = {\n isOpenModal: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n title: PropTypes.string,\n description: PropTypes.string,\n trackings: PropTypes.arrayOf(trackingShape),\n hasTrackings: PropTypes.bool.isRequired,\n withWorkspacesOptions: PropTypes.bool.isRequired,\n};\n\nexport default UntrackModal;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, over } from 'lodash';\n\nimport TrackModal from 'components/Dashboard/common/TrackModal';\nimport { listSubscriptionShape } from 'components/Dashboard/utils/shapes';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\nimport { isMyFeed } from 'components/Dashboard/utils';\nimport Button from 'components/core/Button';\nimport { stringNumberType } from 'utils/shapes';\n\nimport Placeholder from './components/Placeholder';\nimport UntrackModal from './components/UntrackModal';\nimport useTrackButton from './utils/useTrackButton';\nimport {\n subscriptionInfoShape,\n subscriptionShape,\n apiShape,\n} from './shapes';\nimport styles from './styles.module.scss';\n\nfunction TrackButton({\n isCommittee,\n isLoadingTracking,\n isTracking,\n isMobile,\n isOpen,\n className,\n placeholderClassName,\n documentType,\n recordId,\n recordType,\n subscriptionInfo,\n itemType,\n itemTitle,\n defaultSubscription: initialFrequency,\n updateDataItem,\n updateParams,\n shouldDisplayIcon,\n searchId,\n listSubscriptions,\n updateCommitteeSubscriptions,\n withHeaderNode,\n frequencyTitle,\n untrackTitle,\n untrackDescription,\n customIcon,\n iconClassName,\n withButtonContent,\n api,\n onClick,\n feedToken,\n feedName,\n trackings,\n withSelectedWorkspace,\n id,\n shouldTrack,\n}) {\n const {\n sendWeekAheadEmail: initialSendWeekAheadEmail,\n withWeekAheadEmail,\n } = subscriptionInfo || {};\n\n const {\n sendWeekAheadEmail,\n isOpenModal,\n isLoading,\n frequency,\n toggleModal,\n onChange,\n onChangeSendEmail,\n onSaveMobile,\n onSaveTrackCommittee,\n onSave,\n onRemove,\n workspaces,\n onCancel,\n } = useTrackButton({\n withSelectedWorkspace,\n isCommittee,\n feedToken,\n feedName,\n listSubscriptions,\n subscriptionInfo,\n recordId,\n recordType,\n itemType,\n itemTitle,\n updateDataItem,\n initialFrequency,\n initialSendWeekAheadEmail,\n withWeekAheadEmail,\n initialModalOpen: isOpen,\n searchId,\n api,\n trackings,\n updateCommitteeSubscriptions,\n });\n\n const shouldToggleModal = !feedToken || isMyFeed(feedToken) || isTracking;\n const handleButtonClick = shouldToggleModal ? toggleModal : onSave;\n\n useEffect(() => {\n if (!isLoadingTracking) {\n shouldTrack && handleButtonClick();\n }\n }, [shouldTrack, isLoadingTracking]);\n\n if (isLoadingTracking) {\n return <Placeholder className={placeholderClassName} />;\n }\n\n const iconClassNames = classNames(\n 'fas fa-check-circle',\n isTracking && styles.iconTracked,\n );\n const icon = customIcon || <i className={iconClassNames} />;\n const buttonContent = isTracking ? 'Tracking' : 'Track';\n\n function renderModal() {\n const modalProps = {\n withWeekAheadEmail,\n sendWeekAheadEmail,\n isCommittee,\n isLoading,\n isMobile,\n isOpenModal,\n documentType,\n recordType,\n itemType,\n frequency,\n listSubscriptions,\n updateParams,\n toggleModal,\n onChange,\n onChangeSendEmail,\n onSaveMobile,\n onSave,\n onRemove,\n onUpdateTrackCommittee: onSaveTrackCommittee,\n onCancel,\n trackings,\n };\n\n if (isTracking) {\n const workspacesDescription = 'Are you sure you would like to untrack this item? Doing so will also remove it from your tracked items tab. You will also no longer receive email updates for this item. Any feed item previously populated will not be removed. Please select the feed you\\'d like to untrack the item from:';\n const hasTrackings = !isEmpty(trackings);\n const withWorkspacesOptions = hasTrackings && gon.isWorkspacesEnabled;\n const defaultDescription = withWorkspacesOptions ? workspacesDescription : undefined;\n const description = untrackDescription || defaultDescription;\n\n return (\n <UntrackModal\n {...modalProps}\n title={untrackTitle}\n description={description}\n hasTrackings={hasTrackings}\n withWorkspacesOptions={withWorkspacesOptions}\n />\n );\n }\n\n return (\n <TrackModal\n {...modalProps}\n withHeaderNode={withHeaderNode}\n frequencyTitle={frequencyTitle}\n feedToken={feedToken}\n workspaces={workspaces}\n withSelectedWorkspace={withSelectedWorkspace}\n withSlideUp={withSelectedWorkspace}\n />\n );\n }\n\n return (\n <>\n {renderModal()}\n <Button\n size=\"small\"\n theme=\"secondary\"\n className={classNames(styles.button, className)}\n iconClassName={classNames(styles.icon, iconClassName)}\n disabled={isLoading}\n customIcon={shouldDisplayIcon && icon}\n onClick={over(handleButtonClick, onClick)}\n id={id}\n >\n {withButtonContent && buttonContent}\n </Button>\n </>\n );\n}\n\nTrackButton.defaultProps = {\n shouldDisplayIcon: true,\n withButtonContent: false,\n onClick: () => {},\n isOpen: false,\n shouldTrack: false,\n isLoadingTracking: false,\n};\n\nTrackButton.propTypes = {\n isMobile: PropTypes.bool,\n isLoadingTracking: PropTypes.bool,\n isCommittee: PropTypes.bool,\n isTracking: PropTypes.bool,\n isOpen: PropTypes.bool,\n shouldDisplayIcon: PropTypes.bool,\n className: PropTypes.string,\n placeholderClassName: PropTypes.string,\n recordId: stringNumberType,\n documentType: PropTypes.string,\n recordType: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n itemType: PropTypes.string,\n itemTitle: PropTypes.string,\n defaultSubscription: PropTypes.string,\n subscriptionInfo: subscriptionInfoShape,\n updateParams: PropTypes.shape({\n modelId: stringNumberType,\n id: stringNumberType,\n }),\n listSubscriptions: PropTypes.arrayOf(listSubscriptionShape),\n updateDataItem: PropTypes.func,\n searchId: stringNumberType,\n withHeaderNode: PropTypes.bool,\n frequencyTitle: PropTypes.string,\n untrackTitle: PropTypes.string,\n untrackDescription: PropTypes.string,\n customIcon: PropTypes.node,\n iconClassName: PropTypes.string,\n withButtonContent: PropTypes.bool,\n api: apiShape,\n onClick: PropTypes.func,\n feedToken: PropTypes.string,\n feedName: PropTypes.string,\n trackings: PropTypes.arrayOf(trackingShape),\n withSelectedWorkspace: PropTypes.bool,\n id: PropTypes.string,\n updateCommitteeSubscriptions: PropTypes.func,\n shouldTrack: PropTypes.bool,\n};\n\nexport { subscriptionInfoShape, subscriptionShape };\nexport default TrackButton;\n","export const MOBILE_LABEL_LENGTH = 30;\n\nexport const DESKTOP_LABEL_LENGTH = 60;\n\nexport const SIZES = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n};\n\nexport const TAGS_DISPLAY_LENGTH = 4;\n","export const PANEL_LIMIT = 4;\nexport const MOBILE_PANEL_LIMIT = 5;\nexport const MY_FEED_LINK = '/dashboard_v2';\nexport const TASK_BOARD_LINK = '/grm/tasks';\nexport const BADGE_CONTENT_LIMIT = 99;\n\nexport const NOTIFICATIONS_DOM_ID = 'notifications-container';\nexport const NAVIGATION_NOTIFICATIONS_DOM_ID = 'notifications-nav-container';\n","const SENATE_COMMITTEE = 'senate';\nconst HOUSE_COMMITTEE = 'house';\nconst JOINT_COMMITTEE = 'joint';\nconst FEDERAL = 'federal';\nconst STATE = 'state';\n\nexport default {\n SENATE_COMMITTEE,\n HOUSE_COMMITTEE,\n JOINT_COMMITTEE,\n FEDERAL,\n STATE,\n};\n","import moment from 'moment';\nimport map from 'lodash/map';\n\nimport constants from './constants';\n\nconst { SINGLE_CHAR_WEEKDAY_FORMAT } = constants;\n\n// Transform moment's min day format of 2 characters 'dd', eg. 'Mo', 'Tu', 'We' etc., to single character - 'M', 'T', 'W' etc. to proper display new designs\nexport const setDayFormatToSingleChar = () => moment.updateLocale('en', { weekdaysMin: SINGLE_CHAR_WEEKDAY_FORMAT.split('_') });\n\nexport const normalizeDate = date => ((date && date.toDate) ? date.toDate() : date);\n\nconst normalizeCustomHighlights = highlightDates => (\n map(highlightDates, (highlights) => {\n const [highlightsKey] = Object.keys(highlights);\n\n return { [highlightsKey]: map(highlights[highlightsKey], normalizeDate) };\n })\n);\n\nexport const normalizeHighlightDates = (highlightDates) => {\n if (!highlightDates) return [];\n\n const [highlightsHead] = highlightDates;\n\n if (moment.isMoment(highlightsHead) || highlightsHead instanceof Date) {\n return map(highlightDates, normalizeDate);\n }\n\n return normalizeCustomHighlights(highlightDates);\n};\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst { addNotification } = GlobalNotifier;\n\nconst success = message => addNotification({ message, level: 'success' });\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static customFieldSaved = () => success('Custom Fields successfully saved.');\n\n static customFieldUpdated = () => success('Custom Fields successfully updated.');\n\n static customFieldFailed = () => error('An error occurred. Please try again.');\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"exportAll\":\"styles-module__exportAll___2MPuN\",\"emailAll\":\"styles-module__emailAll___1-JNa\",\"textButton\":\"styles-module__textButton___9uEEB\",\"textButtonWithIconWrap\":\"styles-module__textButtonWithIconWrap___1dsTw\",\"icon\":\"styles-module__icon___14L4n\",\"loader\":\"styles-module__loader___DBCeh\",\"withIconWrap\":\"styles-module__withIconWrap___1CI64\",\"tooltipNone\":\"styles-module__tooltipNone___1oxdX\",\"tooltipWrapper\":\"styles-module__tooltipWrapper___2V38w\",\"tooltipContainer\":\"styles-module__tooltipContainer___V0cC3\",\"tooltipText\":\"styles-module__tooltipText___1dQ8E\"};","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction ActionBarDescription({ title, description }) {\n return (\n <Fragment>\n { title && <span className={styles.title}>{ title }</span> }\n { description && (\n <Fragment>\n <span className={styles.separator}> | </span>\n <span className={styles.description}>{ description }</span>\n </Fragment>\n )}\n </Fragment>\n );\n}\n\nActionBarDescription.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n};\n\nActionBarDescription.defaultProps = {\n title: 'Actions',\n description: 'Select the record(s) you wish to alter and then perform action',\n};\n\nexport default ActionBarDescription;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction OpenIcon({ isOpen }) {\n function renderIcon() {\n if (isOpen) {\n return <i className=\"fal fa-times\" />;\n }\n return <i className={'fal fa-chevron-double-up'} />;\n }\n\n return (\n <span className={styles.openIcon}>\n {renderIcon()}\n </span>\n );\n}\n\nOpenIcon.propTypes = {\n isOpen: PropTypes.bool,\n};\n\nOpenIcon.defaultProp = {\n isOpen: false,\n};\n\nexport default OpenIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CSSTransition } from 'react-transition-group';\n\nimport styles from './styles.module.scss';\nimport { animationTransitionDuration } from './settings.scss';\n\nfunction ActionBarTransition({ children, id, transitionDuration, enable }) {\n const transitionClassNames = {\n enterActive: styles.transitionEntering,\n exitActive: styles.transitionExiting,\n };\n\n return (\n <CSSTransition\n key={id}\n timeout={transitionDuration}\n classNames={transitionClassNames}\n in={enable}\n >\n {children}\n </CSSTransition>\n );\n}\n\nActionBarTransition.propTypes = {\n id: PropTypes.string,\n transitionDuration: PropTypes.number,\n enable: PropTypes.bool,\n children: PropTypes.object,\n};\n\nActionBarTransition.defaultProps = {\n transitionDuration: parseInt(animationTransitionDuration, 10),\n enable: true,\n};\n\nexport default ActionBarTransition;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEqual, isEmpty, isFunction } from 'lodash';\nimport { pluralize } from 'utils/string';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport Description from './components/Description';\nimport OpenIcon from './components/OpenIcon';\nimport ActionBarTransition from './components/Transition';\nimport useChatPosition from './useChatPosition';\nimport { defaultDescription } from './utils';\n\nimport styles from './styles.module.scss';\n\nconst themes = {\n default: styles.default,\n light: styles.light,\n};\n\nfunction ActionBar({\n isDefaultOpen,\n children,\n title,\n description,\n isFixed,\n selectedItems,\n persist,\n className,\n contentClassName,\n theme,\n withChatOffset,\n}) {\n const [isOpen, setIsOpen] = useState(isDefaultOpen);\n const areItemsEmpty = isEmpty(selectedItems);\n const { isMobile, isDesktop } = useMediaQuery();\n const MOBILE_CLOSED_ACTION_BAR_DESCRIPTION = 'Click to reveal options';\n\n /**\n * Action bar must always be rendered for this hook to work properly.\n */\n useChatPosition(areItemsEmpty, withChatOffset, persist);\n\n if (!isMobile && isOpen) setIsOpen(false);\n\n const isDescriptionsChanged = !isEqual(description, ActionBar.defaultProps.description);\n const descriptions = isDescriptionsChanged || areItemsEmpty ? description : {\n default: `${selectedItems.length} ${pluralize('record', 'records', selectedItems.length)} selected`,\n };\n\n const getDescriptionPerBreakpoint = () => {\n if (isMobile && descriptions.mobile && isOpen) return descriptions.mobile;\n if (isMobile && !isOpen) return MOBILE_CLOSED_ACTION_BAR_DESCRIPTION;\n if (isDesktop && descriptions.desktop) return descriptions.desktop;\n\n return descriptions.default;\n };\n\n const openActionBar = () => isMobile && setIsOpen(!isOpen);\n const content = isFunction(children) ? children({ toggleVisibility: setIsOpen }) : children;\n const contentClassNames = classNames(\n contentClassName,\n styles.content,\n );\n\n return (\n <ActionBarTransition id=\"action-bar-transition\" enable={isOpen}>\n <section\n id=\"action-bar\"\n className={classNames(\n 'action-bar',\n styles.actionBar,\n themes[theme],\n className,\n isOpen && styles.isOpen,\n isFixed && styles.isFixed,\n !isFixed && styles.isRelative,\n )}\n >\n <div className={contentClassNames}>\n <div className={styles.headerContent} onClick={openActionBar}>\n <Description title={title} description={getDescriptionPerBreakpoint()} />\n {isMobile && <OpenIcon isOpen={isOpen} />}\n </div>\n <div className={styles.childrenContent}>\n {content}\n </div>\n </div>\n </section>\n </ActionBarTransition>\n );\n}\n\nActionBar.propTypes = {\n title: PropTypes.string,\n isFixed: PropTypes.bool,\n description: PropTypes.object,\n selectedItems: PropTypes.array,\n persist: PropTypes.bool,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n theme: PropTypes.string,\n isDefaultOpen: PropTypes.bool,\n withChatOffset: PropTypes.bool,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n};\n\nActionBar.defaultProps = {\n title: 'Actions',\n isFixed: true,\n isDefaultOpen: false,\n withChatOffset: false,\n description: defaultDescription,\n persist: false,\n selectedItems: [],\n theme: 'default',\n};\n\nexport default ActionBar;\n","export const desktopNavOpenStyle = `<style>\n @media only screen and (min-width: 768px) {\n .wrap-main.moved,\n .wrap-main.moved .action-bar {\n padding-left: 375px;\n }\n }\n \n .mobile-nav-mock.moved {\n width: 332px;\n }\n</style>`;\n\nexport const borderBoxFixStyle = '<style>.action-bar { box-sizing: border-box; }}</style>';\n\nexport const withNavBarStyle = `<style>\n .mobile-nav-mock {\n background: linear-gradient(72deg, #0a5cd5 0%, #215fe6 100%);\n z-index: 52;\n position: fixed;\n display: flex;\n width: 100%;\n bottom: 0;\n left: 0;\n height: 60px;\n color: #fff;\n justify-content: center;\n align-items: center;\n transition: width 300ms cubic-bezier(0.2, 0, 0, 1) 0s;\n }\n\n .wrap-main {\n max-width: 1920px;\n width: 100%;\n background-color: color(white);\n padding: 42px 20px 120px;\n flex: 1;\n margin: 0 auto;\n justify-self: center;\n }\n\n @media only screen and (min-width: 768px) {\n .mobile-nav-mock {\n top: 0;\n width: 64px;\n height: 100%;\n }\n \n .wrap-main {\n padding-left: 84px;\n }\n }\n</style>`;\n\nexport const defaultBodyStyle = `<style>\n body {\n font-family: -apple-system, \"BlinkMacSystemFont\", \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", \"Arial\", \"sans-serif\", \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 14px;\n line-height: 1.428571429;\n color: #222222;\n background-color: #f7f8fa;\n };\n</style>`;\n\nexport const defaultDescription = {\n default: 'Select your actions',\n mobile: 'Select your actions',\n desktop: 'Select the record(s) you wish to alter and then perform action',\n};\n","import React from 'react';\n\nexport const SmartSearchContext = React.createContext();\n\nfunction withSmartSearch(Component) {\n return function SmartSearchComponent(props) {\n return (\n <SmartSearchContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </SmartSearchContext.Consumer>\n );\n };\n}\n\nexport default withSmartSearch;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Checkbox from 'components/core/Checkbox';\nimport Card from 'components/core/Card';\n\nimport styles from './styles.module.scss';\n\nfunction BaseCard({ children, className, displayCheckbox, onChange, isChecked }) {\n return (\n <Card className={classNames(styles.container, className)}>\n <article className={styles.article}>\n {displayCheckbox && (\n <div className={styles.checkboxContainer}>\n <Checkbox\n className={styles.checkbox}\n isChecked={isChecked}\n onChange={onChange}\n />\n </div>\n )}\n <div className={styles.content}>\n {children}\n </div>\n </article>\n </Card>\n );\n}\n\nBaseCard.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n displayCheckbox: PropTypes.bool,\n onChange: PropTypes.func,\n isChecked: PropTypes.bool,\n};\n\nexport default BaseCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction FooterContainer({ children, className }) {\n return (\n <footer className={classNames(styles.footer, className)}>\n {children}\n </footer>\n );\n}\n\nFooterContainer.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nexport default FooterContainer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Sentiment({ type, percentage, className, showType }) {\n const sentimenClassNames = classNames(\n styles.sentiment,\n styles[type],\n className,\n );\n\n return (\n <div className={sentimenClassNames}>\n {showType && (\n <div className={styles.type}>{type}</div>\n )}\n {percentage}\n </div>\n );\n}\n\nSentiment.propTypes = {\n type: PropTypes.oneOf([\n 'positive',\n 'negative',\n 'neutral',\n ]),\n percentage: PropTypes.string,\n showType: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Sentiment;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, map } from 'lodash';\n\nimport { getBackToParams } from 'components/core/Link/components/BackTo/utils';\nimport Link from 'components/core/Link';\nimport Badge from 'components/core/Badge';\nimport { mentionShape, selectedFeedShape } from 'components/News/utils/shapes';\nimport { MENTIONS_BASE_URL } from 'components/core/News/utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction Mentions({\n selectedFeed,\n mentions,\n className,\n customButton,\n isExternalComponent,\n isRouterLink,\n isContainerless,\n badgeClassName,\n backTo,\n backToQuery,\n}) {\n if (isEmpty(mentions)) {\n return null;\n }\n\n function renderMention(mention, index) {\n const { text, types } = mention || {};\n const params = `?text=${text}&types=${types}${getBackToParams({ backTo, backToQuery })}`;\n const mentionLink = {\n pathname: MENTIONS_BASE_URL,\n search: params,\n state: { selectedFeed },\n };\n const href = `${MENTIONS_BASE_URL}${params}`;\n\n const content = <Badge className={classNames(styles.badge, badgeClassName)}>{text}</Badge>;\n const commonProps = {\n key: `${text}-${index}`,\n className: styles.mention,\n theme: 'light',\n size: 'none',\n };\n\n if (isExternalComponent) {\n return (\n <Link\n {...commonProps}\n isExternal\n href={href}\n displayExternalIcon={false}\n >\n {content}\n </Link>\n );\n }\n\n return (\n <Link\n {...commonProps}\n to={mentionLink}\n href={href}\n isRouterLink={isRouterLink}\n >\n {content}\n </Link>\n );\n }\n\n const content = (\n <>\n {map(mentions, renderMention)}\n {customButton}\n </>\n );\n\n if (isContainerless) {\n return content;\n }\n\n return (\n <div className={classNames(styles.mentions, className)}>\n {content}\n </div>\n );\n}\n\nMentions.defaultProps = {\n isExternalComponent: false,\n isRouterLink: false,\n isContainerless: false,\n};\n\nMentions.propTypes = {\n mentions: PropTypes.arrayOf(mentionShape),\n className: PropTypes.string,\n selectedFeed: selectedFeedShape,\n customButton: PropTypes.element,\n isExternalComponent: PropTypes.bool,\n isRouterLink: PropTypes.bool,\n isContainerless: PropTypes.bool,\n badgeClassName: PropTypes.string,\n backTo: PropTypes.string,\n backToQuery: PropTypes.string,\n};\n\nexport default Mentions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport styles from './styles.module.scss';\n\nfunction SourceLabel({ author, source, className, publishedAt }) {\n const { name: sourceTitle } = source || {};\n\n const sourceDescription = (sourceTitle && author)\n ? `${sourceTitle} by ${author}`\n : sourceTitle || author;\n const publishedAtNode = !isEmpty(publishedAt) && ` - ${publishedAt}`;\n\n return (\n <span className={classNames(styles.source, className)}>\n {sourceDescription}\n {publishedAtNode}\n </span>\n );\n}\n\nSourceLabel.propTypes = {\n author: PropTypes.string,\n source: PropTypes.shape({\n name: PropTypes.string,\n }),\n className: PropTypes.string,\n publishedAt: PropTypes.string,\n};\n\nexport default SourceLabel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, get } from 'lodash';\n\nimport Link from 'components/core/Link';\nimport ViewTags from 'components/core/ViewTags';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport {\n selectedFeedShape,\n mentionShape,\n sourceShape,\n publishedAtShape,\n sentimentShape,\n} from 'components/News/utils/shapes';\nimport { workspaceShape } from 'redux/events/utils/shapes';\n\nimport Sentiment from '../Sentiment';\nimport Mentions from '../Mentions';\nimport SourceLabel from '../SourceLabel';\nimport styles from './styles.module.scss';\n\nfunction Header({\n imageUrl,\n source,\n author,\n href,\n title,\n mentions,\n publishedAt,\n isMobile,\n displaySource,\n rightContent,\n className,\n selectedFeed,\n isExternalComponent,\n isLoadingTags,\n tags,\n onTagClick,\n storyInfoClassName,\n isRouterLink,\n isLoadingMyFeedDocuments,\n sentiment,\n summary,\n withSummary,\n backTo,\n backToQuery,\n markAsReadLinkNode,\n sharings,\n}) {\n const displayBadges = !(isEmpty(mentions) && isEmpty(tags) && isEmpty(sharings));\n\n function renderTitle() {\n const content = (\n <>\n <span className={styles.linkTitle}>{title}</span>\n {isMobile && <Sentiment className={styles.sentiment} {...sentiment} />}\n </>\n );\n\n if (!href) {\n return (\n <>\n <h2 className={styles.link}>{content}</h2>\n {markAsReadLinkNode}\n </>\n );\n }\n\n return (\n <>\n <Link\n isExternal\n theme=\"default\"\n className={styles.link}\n iconClassName={styles.icon}\n href={href}\n >\n {content}\n </Link>\n {markAsReadLinkNode}\n </>\n );\n }\n\n const badgesNode = displayBadges ? (\n <div className={styles.badgesContainer}>\n <Mentions\n mentions={mentions}\n selectedFeed={selectedFeed}\n isExternalComponent={isExternalComponent}\n isRouterLink={isRouterLink}\n backTo={backTo}\n backToQuery={backToQuery}\n isContainerless\n />\n\n <ViewTags\n isLoading={isLoadingTags || isLoadingMyFeedDocuments}\n tags={tags}\n isContainerless\n onClick={onTagClick}\n isLink={!onTagClick}\n isRouterLink={isRouterLink}\n routerLinkState={{ selectedFeed }}\n tileClassName={styles.tag}\n backTo={backTo}\n backToQuery={backToQuery}\n wrapperClassName={styles.myFeedTile}\n sharings={sharings}\n />\n </div>\n ) : null;\n\n return (\n <header className={classNames(styles.header, className)}>\n {imageUrl && <img className={styles.image} src={imageUrl} alt=\"Story thumbnail\" />}\n <div className={styles.title}>\n {renderTitle()}\n\n <div className={styles.titleInfo}>\n {displaySource && (\n <SourceLabel\n source={source}\n author={author}\n publishedAt={get(publishedAt, 'full')}\n />\n )}\n\n {!isMobile && badgesNode}\n </div>\n </div>\n\n {isMobile && badgesNode}\n\n {rightContent && (\n <div className={classNames(styles.storyInfo, storyInfoClassName)}>\n {rightContent}\n </div>\n )}\n\n {withSummary && summary}\n </header>\n );\n}\n\nHeader.defaultProps = {\n withSummary: false,\n};\n\nHeader.propTypes = {\n imageUrl: PropTypes.string,\n source: sourceShape,\n author: PropTypes.string,\n title: PropTypes.string,\n href: PropTypes.string,\n mentions: PropTypes.arrayOf(mentionShape),\n publishedAt: publishedAtShape,\n rightContent: PropTypes.node,\n isMobile: PropTypes.bool,\n displaySource: PropTypes.bool,\n className: PropTypes.string,\n selectedFeed: selectedFeedShape,\n isExternalComponent: PropTypes.bool,\n isLoadingTags: PropTypes.bool,\n tags: PropTypes.arrayOf(tagShape),\n onTagClick: PropTypes.func,\n storyInfoClassName: PropTypes.string,\n isRouterLink: PropTypes.bool,\n isLoadingMyFeedDocuments: PropTypes.bool,\n sentiment: sentimentShape,\n summary: PropTypes.node,\n withSummary: PropTypes.bool,\n backTo: PropTypes.string,\n backToQuery: PropTypes.string,\n markAsReadLinkNode: PropTypes.node,\n sharings: PropTypes.arrayOf(workspaceShape),\n};\n\nexport default Header;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { getBackToParams } from 'components/core/Link/components/BackTo/utils';\nimport Link from 'components/core/Link';\nimport Button from 'components/core/Button';\nimport { selectedFeedShape } from 'components/News/utils/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction ShowClusterLink({\n id,\n className,\n selectedFeed,\n isExternalComponent,\n onShowCluster,\n isDesktop,\n isRouterLink,\n backTo,\n backToQuery,\n}) {\n const backToParams = getBackToParams({ backTo, backToQuery, isFirstParam: true });\n const href = `/news/cluster/${id}${backToParams}`;\n const clusterLink = {\n pathname: href,\n state: { selectedFeed },\n };\n\n const customIcon = <i className=\"fas fa-expand-alt\" />;\n const commonProps = {\n theme: 'default',\n iconClassName: styles.icon,\n customIcon,\n };\n\n const title = isDesktop ? 'More coverage' : '';\n\n if (isExternalComponent) {\n return (\n <Button\n {...commonProps}\n onClick={onShowCluster}\n className={classNames(styles.showClusterButton, className)}\n >\n {title}\n </Button>\n );\n }\n\n return (\n <Link\n {...commonProps}\n isRouterLink={isRouterLink}\n className={classNames(styles.showClusterLink, className)}\n to={clusterLink}\n href={href}\n >\n {title}\n </Link>\n );\n}\n\nShowClusterLink.defaultProps = {\n isExternalComponent: false,\n isRouterLink: false,\n};\n\nShowClusterLink.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedFeed: selectedFeedShape,\n className: PropTypes.string,\n isExternalComponent: PropTypes.bool,\n onShowCluster: PropTypes.func,\n isDesktop: PropTypes.bool.isRequired,\n isRouterLink: PropTypes.bool,\n backTo: PropTypes.string,\n backToQuery: PropTypes.string,\n};\n\nexport default ShowClusterLink;\n","import BaseCard from './BaseCard';\nimport FooterContainer from './FooterContainer';\nimport Header from './Header';\nimport Mentions from './Mentions';\nimport Sentiment from './Sentiment';\nimport ShowClusterLink from './ShowClusterLink';\nimport SourceLabel from './SourceLabel';\n\nexport {\n BaseCard,\n FooterContainer,\n Header,\n Mentions,\n Sentiment,\n ShowClusterLink,\n SourceLabel,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Tooltip from 'components/core/Table/components/Header/components/Tooltip';\n\nimport styles from './styles.module.scss';\n\nexport default function TitleWithTooltip({\n title,\n description,\n className,\n titleClassName,\n rightItems,\n}) {\n return (\n <div className={classNames(styles.container, className)}>\n <span className={titleClassName}>\n {title}\n </span>\n <Tooltip content={description} />\n {rightItems && <div>{rightItems}</div>}\n </div>\n );\n}\n\nTitleWithTooltip.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n className: PropTypes.string,\n titleClassName: PropTypes.string,\n rightItems: PropTypes.node,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport TitleWithTooltip from 'components/core/TitleWithTooltip';\nimport Tooltip from 'components/core/Table/components/Header/components/Tooltip';\n\nimport styles from './styles.module.scss';\n\nfunction Title({\n title,\n detail,\n description,\n className,\n titleClassName,\n descriptionClassName,\n rightItems,\n questionText,\n questionTooltipTheme,\n enableTooltip,\n titleContainerClassName,\n}) {\n if (enableTooltip) {\n return (\n <TitleWithTooltip\n title={title}\n description={description}\n className={className}\n titleClassName={titleClassName}\n rightItems={rightItems}\n />\n );\n }\n\n return (\n <div className={classNames(styles.container, className)}>\n <div className={classNames(styles.titleContainer, titleContainerClassName)}>\n <div className={styles.flexItem}>\n {title && (\n <h2 className={classNames(styles.title, titleClassName)}>\n {title}\n {detail && <span className={styles.detail}>{detail}</span>}\n </h2>\n )}\n {questionText && (\n <Tooltip\n content={<div className={styles.tooltipContent}>{questionText}</div>}\n theme={questionTooltipTheme}\n />\n )}\n </div>\n\n {rightItems && <div>{rightItems}</div>}\n </div>\n\n {description && (\n <div className={classNames(styles.description, descriptionClassName)}>{description}</div>\n )}\n </div>\n );\n}\n\nTitle.propTypes = {\n title: PropTypes.string,\n detail: PropTypes.node,\n description: PropTypes.node,\n className: PropTypes.string,\n titleClassName: PropTypes.string,\n descriptionClassName: PropTypes.string,\n rightItems: PropTypes.node,\n questionText: PropTypes.string,\n questionTooltipTheme: PropTypes.string,\n enableTooltip: PropTypes.bool,\n titleContainerClassName: PropTypes.string,\n};\n\nexport default Title;\n","import React from 'react';\n\nexport const HearingCalendarContext = React.createContext();\n\nfunction withCalendar(Component) {\n return function CalendarDataComponent(props) {\n return (\n <HearingCalendarContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </HearingCalendarContext.Consumer>\n );\n };\n}\n\nexport default withCalendar;\n","import { startCase, toLower } from 'lodash';\n\nimport { getParenthesisItem } from 'utils/string';\n\nconst CURRENT_YEAR = 'CURR';\n\nexport const getEndDate = (endDate) => {\n if (!endDate || endDate === CURRENT_YEAR) {\n return 'Present';\n }\n\n return endDate;\n};\n\nexport const getDate = (start, end) => {\n if (!(start || end)) {\n return '';\n }\n\n const date = start ? `${start}-${getEndDate(end)}` : getEndDate(end);\n\n return getParenthesisItem(date);\n};\n\nexport const getStateName = (state) => {\n const isFederal = state === 'All';\n\n if (isFederal) {\n return null;\n }\n\n return startCase(toLower(state));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___zH3D-\",\"header\":\"styles-module__header___2SJgk\",\"icon\":\"styles-module__icon___1nvXg\",\"title\":\"styles-module__title___3PRsH\",\"linkIcon\":\"styles-module__linkIcon___3l2CP\",\"content\":\"styles-module__content___1bNY1\",\"list\":\"styles-module__list___22Qp0\",\"footer\":\"styles-module__footer___3fymw\",\"popup\":\"styles-module__popup___395DG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mobileOptions\":\"styles-module__mobileOptions___17cV7\",\"mobileSearchBtn\":\"styles-module__mobileSearchBtn___1mv1d\",\"clearAll\":\"styles-module__clearAll___1UXmL\",\"content\":\"styles-module__content___7X7Pg\",\"listContainer\":\"styles-module__listContainer___3JZhe\",\"list\":\"styles-module__list___G-QiT\",\"listItem\":\"styles-module__listItem___10Vj-\",\"btnWrap\":\"styles-module__btnWrap___2Wgs4\",\"selectedItem\":\"styles-module__selectedItem___1PdRJ\",\"btn\":\"styles-module__btn___XTTk2\",\"paginator\":\"styles-module__paginator___3bsbN\",\"nameInput\":\"styles-module__nameInput___3XO27\",\"emptyMessage\":\"styles-module__emptyMessage___1VxWG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3OS9O\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___1TsdS\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___EM6bx\",\"notifications\":\"styles-module__notifications___15N2P\",\"closeNotifications\":\"styles-module__closeNotifications___2df0S\",\"icon\":\"styles-module__icon___1dgKb\",\"isDisabled\":\"styles-module__isDisabled___1IPiV\",\"pulse\":\"styles-module__pulse___2xWsZ\",\"badge\":\"styles-module__badge___1FDAS\",\"badgeV2\":\"styles-module__badgeV2___xch4A\",\"tooltip\":\"styles-module__tooltip___2ylcG\",\"tooltipBox\":\"styles-module__tooltipBox___2JAZq\",\"modal\":\"styles-module__modal___Zs790\",\"overlay\":\"styles-module__overlay___3Coq-\",\"v2\":\"styles-module__v2___1mO-e\",\"modalBody\":\"styles-module__modalBody___3JC1h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___2ZmWK\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3qFEC\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___7sDHk\",\"content\":\"styles-module__content___XZ-Dm\",\"v2\":\"styles-module__v2___q2f7V\",\"header\":\"styles-module__header____kuXN\",\"clearButton\":\"styles-module__clearButton___usSmg\",\"mobileHeader\":\"styles-module__mobileHeader___3egwq\",\"title\":\"styles-module__title___yngGs\",\"closeButton\":\"styles-module__closeButton___ARFSd\",\"icon\":\"styles-module__icon___11Ndc\",\"notifications\":\"styles-module__notifications___Ci0Bq\",\"emptyPanel\":\"styles-module__emptyPanel___wvz7v\",\"overLimit\":\"styles-module__overLimit___13dxU\",\"myFeedLink\":\"styles-module__myFeedLink___2HIph\",\"notification\":\"styles-module__notification___6RuYG\",\"body\":\"styles-module__body___3hZfB\",\"type\":\"styles-module__type___YvecC\",\"actions\":\"styles-module__actions___3AaOL\",\"markAllAsRead\":\"styles-module__markAllAsRead___1w-Mk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2cVsr\",\"description\":\"styles-module__description___C_2Qa\",\"boldText\":\"styles-module__boldText___R-WKp\",\"about\":\"styles-module__about___2SENa\",\"arrowContainer\":\"styles-module__arrowContainer___UQqIO\",\"pagesContainer\":\"styles-module__pagesContainer___1cVI8\",\"iconButton\":\"styles-module__iconButton___1B4vm\",\"pageButton\":\"styles-module__pageButton___2Waj3\",\"active\":\"styles-module__active___3tZUf\",\"buttonContainer\":\"styles-module__buttonContainer___34dwF\",\"containerBox\":\"styles-module__containerBox___2QxD8\",\"show\":\"styles-module__show___9T9SI\",\"hide\":\"styles-module__hide___2ylQX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"styles-module__placeholder___3pPeN\",\"box\":\"styles-module__box___1iOFx\",\"calendar\":\"styles-module__calendar___23_oM\",\"calendarHeader\":\"styles-module__calendarHeader___2wm4N\",\"headerText\":\"styles-module__headerText___2Fonk\",\"navButtons\":\"styles-module__navButtons___1Dhiu\",\"month\":\"styles-module__month___vUUac\",\"headerWeek\":\"styles-module__headerWeek___1g12-\",\"week\":\"styles-module__week___2oW-T\",\"legend\":\"styles-module__legend___PJo09\",\"header\":\"styles-module__header___nJtp3\",\"senate\":\"styles-module__senate___2JHW8\",\"house\":\"styles-module__house___28yHg\",\"text\":\"styles-module__text___2VLam\",\"item\":\"styles-module__item___kkMUF\"};","export const NO_POSITION_ID = 'no_position';\nexport const MONITOR_ID = 'monitor';\nexport const SUPPORT_ID = 'support';\nexport const OPPOSE_ID = 'oppose';\n\nconst basePath = '/images/positions/';\n\nexport const positions = {\n [NO_POSITION_ID]: {\n color: 'grey',\n label: 'No position',\n icon: 'fas fa-times-circle',\n image: `${basePath}no_position.png`,\n },\n [MONITOR_ID]: {\n color: 'orange',\n label: 'Monitor',\n icon: 'fas fa-eye',\n image: `${basePath}monitor.png`,\n },\n [SUPPORT_ID]: {\n color: 'green',\n label: 'Support',\n icon: 'fas fa-thumbs-up',\n image: `${basePath}support.png`,\n },\n [OPPOSE_ID]: {\n color: 'red',\n label: 'Oppose',\n icon: 'fas fa-thumbs-down',\n image: `${basePath}oppose.png`,\n },\n};\n\nexport const positionsAligned = {\n [SUPPORT_ID]: positions[SUPPORT_ID],\n [NO_POSITION_ID]: positions[NO_POSITION_ID],\n [MONITOR_ID]: positions[MONITOR_ID],\n [OPPOSE_ID]: positions[OPPOSE_ID],\n};\n\nexport const POSITION_LOOKUP_OPTIONS = [\n { value: SUPPORT_ID, label: positions[SUPPORT_ID].label },\n { value: OPPOSE_ID, label: positions[OPPOSE_ID].label },\n { value: MONITOR_ID, label: positions[MONITOR_ID].label },\n { value: NO_POSITION_ID, label: positions[NO_POSITION_ID].label },\n];\n\nexport const getPosition = position => positionsAligned[position];\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { QuestionMark } from 'components/core/Icons';\nimport { TOOLTIP_OFFSET } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nexport default function TooltipComponent({ content, iconClassName, contentClassName, theme }) {\n if (isEmpty(content)) {\n return null;\n }\n\n const tooltipContent = (\n <div className={contentClassName}>\n {content}\n </div>\n );\n\n return (\n <Tooltip\n content={tooltipContent}\n placement=\"bottom\"\n offset={TOOLTIP_OFFSET}\n theme={theme}\n >\n <QuestionMark className={classNames(styles.icon, iconClassName)} />\n </Tooltip>\n );\n}\n\nTooltipComponent.propTypes = {\n content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n iconClassName: PropTypes.string,\n contentClassName: PropTypes.string,\n theme: PropTypes.string,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Input from 'components/core/Input';\n\nimport styles from './styles.module.scss';\n\nclass DatePickerInput extends Component {\n render() {\n const { onClick, iconPosition, ...restProps } = this.props;\n\n return (\n <span>\n <i\n onClick={onClick}\n className={classNames('far fa-calendar', styles.icon, styles[iconPosition])}\n />\n <Input\n {...restProps}\n onClick={onClick}\n className={classNames(styles.input, styles[iconPosition])}\n />\n </span>\n );\n }\n}\n\nDatePickerInput.defaultProps = {\n iconPosition: 'left',\n};\n\nDatePickerInput.propTypes = {\n onClick: PropTypes.func,\n iconPosition: PropTypes.oneOf(['left', 'right']),\n};\n\nexport default DatePickerInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction navigationButton({\n onClick,\n disabled,\n isNext,\n}) {\n const chevronDirection = isNext ? 'right' : 'left';\n\n return (\n <button type=\"button\" className={styles.button} onClick={onClick} disabled={disabled}>\n <i className={`fa fa-chevron-${chevronDirection}`} />\n </button>\n );\n}\n\nnavigationButton.propTypes = {\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n isNext: PropTypes.bool,\n};\n\nnavigationButton.defaultProps = {\n disabled: false,\n isNext: false,\n};\n\nexport default navigationButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport moment from 'moment';\n\nimport constants from 'components/core/DatePicker/constants';\n\nimport styles from '../../styles.module.scss';\n\nconst { MONTHS, MONTH_FORMAT } = constants;\n\nfunction MonthsRange({ date, onMonthChange }) {\n const selectedMonth = moment(date).format(MONTH_FORMAT);\n\n function handleMonthChange(e) {\n const { value } = e.target;\n onMonthChange(MONTHS.indexOf(value));\n }\n\n return (\n <div className={styles.container}>\n <select\n className={styles.select}\n value={selectedMonth}\n onChange={handleMonthChange}\n >\n {MONTHS.map(option => (\n <option key={option} value={option}>{option}</option>\n ))}\n </select>\n\n <i className={classNames('icon', 'fas', 'fa-caret-down', styles.dropdownIcon)} />\n </div>\n );\n}\n\nMonthsRange.propTypes = {\n date: PropTypes.instanceOf(Date).isRequired,\n onMonthChange: PropTypes.func,\n};\n\nexport default MonthsRange;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport range from 'lodash/range';\nimport classNames from 'classnames';\n\nimport constants from 'components/core/DatePicker/constants';\n\nimport styles from '../../styles.module.scss';\n\nconst { YEAR_FORMAT, START_YEAR_RANGE } = constants;\n\nfunction YearsRange({ date, onYearChange }) {\n const years = range(START_YEAR_RANGE, moment().year() + 1, 1);\n const selectedYear = moment(date).format(YEAR_FORMAT);\n\n function handleYearChange(e) {\n const { value } = e.target;\n onYearChange(value);\n }\n\n return (\n <div className={styles.container}>\n <select\n className={styles.select}\n value={selectedYear}\n onChange={handleYearChange}\n >\n {years.map(option => (\n <option key={option} value={option}>{option}</option>\n ))}\n </select>\n <i className={classNames('icon', 'fas', 'fa-caret-down', styles.dropdownIcon)} />\n </div>\n );\n}\n\nYearsRange.propTypes = {\n date: PropTypes.instanceOf(Date).isRequired,\n onYearChange: PropTypes.func,\n};\n\nexport default YearsRange;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\n\nimport constants from 'components/core/DatePicker/constants';\n\nimport NavigationButton from '../NavigationButton';\nimport MonthsRange from './components/MonthsRange';\nimport YearsRange from './components/YearsRange';\n\nimport styles from './styles.module.scss';\n\nconst {\n DATEPICKER_HEADER_DATE_FORMAT,\n MONTH_FORMAT,\n YEAR_FORMAT,\n} = constants;\n\nfunction Header({\n date,\n changeYear,\n changeMonth,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled,\n showMonthDropdown,\n showYearDropdown,\n}) {\n const onlyYearFormat = showMonthDropdown ? YEAR_FORMAT : '';\n const onlyMonthFormat = showYearDropdown ? MONTH_FORMAT : '';\n\n const withCustomDropdown = showYearDropdown || showMonthDropdown;\n const withBothCustomDropdowns = showYearDropdown && showMonthDropdown;\n\n const dateFormat = withCustomDropdown ? `${onlyMonthFormat} ${onlyYearFormat}` : DATEPICKER_HEADER_DATE_FORMAT;\n\n const formattedDate = moment(date).format(dateFormat);\n\n return (\n <header className={styles.header}>\n <div className={styles.dropdownContainer}>\n\n {showMonthDropdown && (\n <MonthsRange date={date} onMonthChange={changeMonth} />\n )}\n\n {!withBothCustomDropdowns && (\n <div className={styles.title}>{formattedDate}</div>\n )}\n\n {showYearDropdown && (\n <YearsRange date={date} onYearChange={changeYear} />\n )}\n </div>\n <div className={styles.navigation}>\n <NavigationButton onClick={decreaseMonth} disabled={prevMonthButtonDisabled} />\n <NavigationButton onClick={increaseMonth} disabled={nextMonthButtonDisabled} isNext />\n </div>\n </header>\n );\n}\n\nHeader.propTypes = {\n date: PropTypes.instanceOf(Date),\n changeYear: PropTypes.func,\n changeMonth: PropTypes.func,\n decreaseMonth: PropTypes.func,\n increaseMonth: PropTypes.func,\n prevMonthButtonDisabled: PropTypes.bool,\n nextMonthButtonDisabled: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n};\n\nexport default Header;\n","import React, { FC } from 'react';\nimport ReactDatePicker, { ReactDatePickerCustomHeaderProps } from 'react-datepicker';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nimport { DatePickerProps } from './types';\nimport DatePickerInput from './components/DatePickerInput';\nimport Header from './components/Header';\nimport { setDayFormatToSingleChar, normalizeDate, normalizeHighlightDates } from './utils';\nimport constants from './constants';\nimport styles from './styles.module.scss';\n\nconst { DATE_FORMAT, MIN_DAY_FORMAT } = constants;\n\nconst DatePicker: FC<DatePickerProps> = ({\n placeholder,\n selected = null,\n highlightDates = [],\n onChange,\n onMonthChange,\n inline = false,\n className,\n forwardRef,\n iconPosition,\n dateFormat = DATE_FORMAT,\n showMonthDropdown = false,\n showYearDropdown = false,\n ...restProps\n}) => {\n setDayFormatToSingleChar();\n const handleFormatWeekDay = (date: Date) => moment(date).format(MIN_DAY_FORMAT);\n\n const renderCustomHeader = (props: ReactDatePickerCustomHeaderProps) => (\n <Header\n {...props}\n {...restProps}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n />\n );\n const dayClassName = () => styles.day;\n\n return (\n <div className={classNames('calendar', styles.calendar, className)}>\n <ReactDatePicker\n inline={inline}\n customInput={<DatePickerInput iconPosition={iconPosition} />}\n placeholderText={placeholder}\n selected={normalizeDate(selected)}\n onChange={onChange}\n onMonthChange={onMonthChange}\n popperClassName={styles.popper}\n highlightDates={normalizeHighlightDates(highlightDates)}\n renderCustomHeader={renderCustomHeader}\n formatWeekNumber={handleFormatWeekDay}\n dayClassName={dayClassName}\n ref={forwardRef}\n dateFormat={dateFormat}\n {...restProps}\n />\n </div>\n );\n};\n\nexport default DatePicker;\n","// https://stackoverflow.com/questions/15900485/correct-way-to-convert-size-in-bytes-to-kb-mb-gb-in-javascript\nexport function formatBytes(bytes = 0, decimals = 2) {\n if (bytes === 0) return '0 Bytes';\n\n const k = 1024;\n const sizes = ['bt', 'kb', 'mb', 'gb', 'tb'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(decimals))} ${sizes[i]}`;\n}\n\nexport function createFileId({ name, size }) {\n return `${name}_${size}`;\n}\n\nexport function getProgress(progress, { name, size }) {\n const fileId = createFileId({ name, size });\n return progress[fileId];\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___1tMHG\",\"header\":\"styles-module__header___35V4m\",\"title\":\"styles-module__title___3CBXY\",\"footer\":\"styles-module__footer___4CWW0\",\"left\":\"styles-module__left___2ev28\",\"right\":\"styles-module__right___1F1Ed\",\"center\":\"styles-module__center___pCwH_\",\"default\":\"styles-module__default___-v6Pn\",\"dark\":\"styles-module__dark___1-DWn\",\"light\":\"styles-module__light___2kn4w\",\"white\":\"styles-module__white___XIVHB\",\"medium\":\"styles-module__medium___3uYd5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tagBackground\":\"#d5e4fe\",\"disabledTagBackground\":\"#a8a8ba\",\"textColor\":\"#26334b\",\"boxShadowColor\":\"#b0c3e0\",\"fontFamily\":\"\\\"Roboto\\\", sans-serif\",\"controlBackground\":\"linear-gradient(to bottom, #fbfbff, #f4f6fe)\",\"menuBoxShadow\":\"0 -1px 4px 0 rgba(156, 166, 217, .51), 0 2px 4px 0 rgba(156, 166, 217, .51)\",\"borderRadius\":\"4px\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchContainer\":\"styles-module__searchContainer___XRHSc\",\"searchIcon\":\"styles-module__searchIcon___vcn40\",\"input\":\"styles-module__input___1jjJ5\",\"inputWithButton\":\"styles-module__inputWithButton___1i0rm\",\"withInsideTheme\":\"styles-module__withInsideTheme___3YFhH\",\"withIcon\":\"styles-module__withIcon___3C4NI\",\"withDisclaimer\":\"styles-module__withDisclaimer___2RwJz\",\"isClearable\":\"styles-module__isClearable___3gAGV\",\"clearBtn\":\"styles-module__clearBtn___1UB8W\",\"button\":\"styles-module__button___2pStO\",\"inside\":\"styles-module__inside___3Ky71\",\"disclaimer\":\"styles-module__disclaimer___sSeRt\",\"icon\":\"styles-module__icon___3gRSp\",\"disclaimerModal\":\"styles-module__disclaimerModal___xOyEV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1RTRa\",\"header\":\"styles-module__header___3MhRJ\",\"left\":\"styles-module__left___3rU4M\",\"right\":\"styles-module__right___7M-UV\",\"searchButton\":\"styles-module__searchButton___347rR\",\"iconWrapper\":\"styles-module__iconWrapper___3_Ozo\",\"icon\":\"styles-module__icon___1hOd5\",\"search\":\"styles-module__search___2i8jP\",\"settingsButton\":\"styles-module__settingsButton___1f7T3\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { QuestionMark } from 'components/core/Icons';\nimport { disclaimerPropsShape } from 'components/core/SearchBox/shapes';\n\nimport useModal from '../Modal/useModal';\nimport { Disclaimer } from '../Modal';\nimport Button from '../Button';\nimport Input from '../Input';\nimport styles from './styles.module.scss';\n\nconst buttonThemes = {\n inside: styles.inside,\n};\n\nexport default function SearchBox({\n className,\n inputClassName,\n withButton,\n buttonTheme,\n buttonLabel,\n withIcon,\n iconClass,\n onSubmit,\n disclaimerProps,\n withSearchDisclaimer,\n isClearable,\n value,\n onClearSearch,\n ...restProps\n}) {\n const { isOpenModal, toggleModal } = useModal();\n const modalProps = { ...disclaimerProps, isOpenModal, toggleModal, modalClassName: styles.disclaimerModal };\n const withDisclaimer = withSearchDisclaimer && !isEmpty(disclaimerProps);\n const withClear = isClearable && value;\n\n const INSIDE = 'inside';\n const withInsideTheme = buttonTheme === INSIDE;\n\n function handleSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n onSubmit(event);\n }\n\n return (\n <form onSubmit={handleSubmit} className={classNames(styles.searchContainer, className)}>\n {withIcon && (\n <i className={classNames(styles.searchIcon, iconClass)} />\n )}\n\n <Input\n {...restProps}\n value={value}\n type=\"text\"\n spellCheck={false}\n className={classNames(\n styles.input,\n withIcon && styles.withIcon,\n withInsideTheme && styles.withInsideTheme,\n withDisclaimer && styles.withDisclaimer,\n withButton && styles.inputWithButton,\n isClearable && styles.isClearable,\n inputClassName,\n )}\n />\n {withClear && (\n <Button\n theme=\"light\"\n size=\"none\"\n customIcon={<i className=\"fas fa-times-circle\" />}\n className={classNames(styles.clearBtn, withDisclaimer && styles.withDisclaimer)}\n onClick={onClearSearch}\n />\n )}\n {withDisclaimer && (\n <>\n <Button\n theme=\"light\"\n size=\"none\"\n customIcon={<QuestionMark className={styles.icon} />}\n className={styles.disclaimer}\n iconClassName={styles.icon}\n onClick={toggleModal}\n />\n <Disclaimer {...modalProps} />\n </>\n )}\n\n {withButton && (\n <Button\n onClick={onSubmit}\n className={classNames(\n styles.button,\n buttonThemes[buttonTheme],\n )}\n >\n <i className=\"fal fa-search\" />\n {buttonLabel}\n </Button>\n )}\n </form>\n );\n}\n\nSearchBox.defaultProps = {\n withIcon: false,\n withButton: false,\n withSearchDisclaimer: false,\n iconClass: 'fal fa-search',\n buttonLabel: 'Search',\n disclaimerProps: {},\n isClearable: false,\n};\n\nSearchBox.propTypes = {\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n placeholder: PropTypes.string,\n withButton: PropTypes.bool,\n buttonLabel: PropTypes.string,\n buttonTheme: PropTypes.string,\n withIcon: PropTypes.bool,\n iconClass: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n value: PropTypes.string,\n disclaimerProps: disclaimerPropsShape,\n withSearchDisclaimer: PropTypes.bool,\n isClearable: PropTypes.bool,\n onClearSearch: PropTypes.func,\n};\n","import { useEffect, useState } from 'react';\nimport { isEmpty, isEqual, isFunction, isUndefined, map, pick } from 'lodash';\n\nimport useModal from 'components/core/Modal/useModal';\nimport useLoader from 'utils/useLoader';\n\nimport { transformTag, transformFixedTags } from './utils';\nimport { fetchTags } from './api';\n\nfunction useTagManager({\n initialTags = [],\n isMultipleItems,\n onSaveTags,\n updateDataItem,\n recordId,\n recordType,\n itemType,\n isOpen,\n ids,\n customIsOpenModal,\n customToggleModal,\n}) {\n const { isOpenModal: defaultIsOpenModal, toggleModal: defaultToggleModal } = useModal(isOpen);\n const { isLoading, stopLoading, startLoading } = useLoader();\n const [defaultTags, setDefaultTags] = useState(initialTags);\n const [tags, setTags] = useState(defaultTags);\n const shouldFetchOnLoad = !isMultipleItems\n && isEmpty(initialTags)\n && !!recordId\n && !isEmpty(recordType);\n\n function handleDefaultFetchSuccess(responseTags) {\n setDefaultTags(transformFixedTags(responseTags, isMultipleItems));\n }\n\n const isOpenModal = isUndefined(customIsOpenModal) ? defaultIsOpenModal : customIsOpenModal;\n const toggleModal = isFunction(customToggleModal) ? customToggleModal : defaultToggleModal;\n\n useEffect(() => {\n shouldFetchOnLoad\n && isOpenModal\n && fetchTags({ recordId, recordType, onSuccess: handleDefaultFetchSuccess });\n\n !shouldFetchOnLoad && setDefaultTags(initialTags);\n }, [isOpenModal]);\n\n useEffect(() => {\n /** When editing multiple items, user should not be able to remove the initial tags * */\n const fixedTags = transformFixedTags(defaultTags, isMultipleItems);\n\n setTags(fixedTags);\n }, [isOpenModal, defaultTags]);\n\n function handleChange(items) {\n setTags(map(items, transformTag));\n }\n\n function handleSave() {\n const initTags = map(defaultTags, tag => pick(tag, ['label', 'value']));\n const finalTags = map(tags, tag => pick(tag, ['label', 'value']));\n\n if (isEqual(initTags, finalTags)) {\n return toggleModal();\n }\n\n function onFinally() {\n stopLoading();\n toggleModal();\n }\n\n startLoading();\n\n return onSaveTags({\n ids,\n tags,\n itemType,\n recordId,\n recordType,\n onSuccess: updateDataItem,\n }).finally(onFinally);\n }\n\n return {\n tags,\n isOpenModal,\n toggleModal,\n isLoading,\n onChange: handleChange,\n onSave: handleSave,\n };\n}\n\nexport default useTagManager;\n","import toString from 'lodash/toString';\n\nimport {\n getFilteredTags,\n saveTagsAndUpdateRecords,\n transformNewTagsForUI,\n transformTagsForBE,\n} from 'redux/tags/utils';\nimport {\n fetchTagsByRecordIdsNoDispatch,\n updateTagRecordsForRecordNoDispatch,\n} from 'redux/tags/actions';\nimport notifications from 'components/Dashboard/utils/notifications';\nimport { notifyAddTags } from 'components/Dashboard/common/UserNotifications';\n\nexport function fetchTags({ recordId, recordType, onSuccess: onFetchSuccess }) {\n function onSuccess(response) {\n const [record] = response;\n const { tags: transformedInitialTags } = record || {};\n\n onFetchSuccess(transformedInitialTags);\n }\n\n function onFailure(error) {\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return fetchTagsByRecordIdsNoDispatch([{ recordId, documentType: recordType }])\n .then(onSuccess)\n .catch(onFailure);\n}\n\nexport function onSaveTags({\n tags,\n itemType,\n recordId,\n recordType,\n onSuccess: handleSuccess,\n}) {\n const { newTags, existingTags } = getFilteredTags(tags);\n\n function onSuccess(response) {\n handleSuccess && handleSuccess({\n recordId,\n recordType,\n tags: transformNewTagsForUI(response),\n });\n\n notifyAddTags({ itemType });\n }\n\n function onFailure(error) {\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n function saveTagsForRecord(responseNewTags) {\n return updateTagRecordsForRecordNoDispatch({\n tagIds: transformTagsForBE(existingTags, responseNewTags),\n recordId: toString(recordId),\n recordType,\n }).then(onSuccess)\n .catch(onFailure);\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport useTagManager from 'components/core/ButtonTagManager/useTagManager';\nimport BaseOption from 'components/core/AdvancedSearch/components/Options/components/BaseOption';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { stringNumberType } from 'utils/shapes';\n\nimport { formatCreateLabel, getNewOptionData } from './utils';\nimport { onSaveTags as defaultSaveTags } from './api';\nimport styles from './styles.module.scss';\n\nexport const tagsLabelNode = <><div><i className=\"far fa-tag\" /></div>Tag</>;\n\nexport const getAddAllTagsLabelNode = isDesktop => (\n isDesktop\n ? <><div><i className=\"fas fa-share\" /></div>Tag all</>\n : <div><i className=\"far fa-share\" /></div>\n);\n\nfunction ButtonTagManager({\n recordId,\n recordType,\n ids,\n label,\n buttonClassName,\n tags: initialTags = [],\n onSaveTags,\n isMultipleItems,\n isLoading: isLoadingRedux,\n withAjaxAbort,\n autoload,\n updateDataItem,\n isOpen,\n CustomButtonComponent,\n disabled,\n customIsOpenModal,\n customToggleModal,\n ...restProps\n}) {\n const {\n tags,\n isLoading,\n isOpenModal,\n onSave,\n onChange,\n toggleModal,\n } = useTagManager({\n ...restProps,\n ids,\n isOpen,\n recordId,\n recordType,\n onSaveTags,\n initialTags,\n isMultipleItems,\n updateDataItem,\n customIsOpenModal,\n customToggleModal,\n });\n\n const buttons = (\n <>\n <Button\n theme=\"light\"\n size=\"small\"\n className={styles.cancelButton}\n onClick={toggleModal}\n >\n Cancel\n </Button>\n <Button\n size=\"small\"\n isLoading={isLoading || isLoadingRedux}\n onClick={onSave}\n type=\"button\"\n >\n Save\n </Button>\n </>\n );\n\n const title = isMultipleItems ? 'Add tags' : 'Manage tags';\n const ButtonComponent = CustomButtonComponent || Button;\n\n return (\n <>\n <ButtonComponent\n {...restProps}\n className={buttonClassName}\n disabled={isLoading || isLoadingRedux || disabled}\n onClick={toggleModal}\n >\n {label}\n </ButtonComponent>\n <Modal\n title={title}\n isOpen={isOpenModal}\n className={styles.modal}\n footerClassName={styles.footer}\n toggleOpen={toggleModal}\n buttons={buttons}\n >\n <BaseOption\n title=\"Tag name\"\n asyncCreatable\n clearIndicator={!isMultipleItems}\n isClearable={!isMultipleItems}\n strategy=\"tag\"\n createOptionPosition=\"last\"\n formatCreateLabel={formatCreateLabel}\n getNewOptionData={getNewOptionData}\n defaultSelections={tags}\n overrideValue={tags}\n onChange={onChange}\n withAjaxAbort={withAjaxAbort}\n autoload={autoload}\n withOverflow\n />\n </Modal>\n </>\n );\n}\n\nButtonTagManager.defaultProps = {\n label: 'Tag',\n onSaveTags: defaultSaveTags,\n disabled: false,\n};\n\nButtonTagManager.propTypes = {\n isMultipleItems: PropTypes.bool,\n isLoading: PropTypes.bool,\n recordType: PropTypes.string,\n recordId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n ids: PropTypes.arrayOf(stringNumberType),\n tags: PropTypes.arrayOf(tagShape),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n buttonClassName: PropTypes.string,\n onSaveTags: PropTypes.func,\n updateDataItem: PropTypes.func,\n autoload: PropTypes.bool,\n withAjaxAbort: PropTypes.bool,\n isOpen: PropTypes.bool,\n CustomButtonComponent: PropTypes.elementType,\n disabled: PropTypes.bool,\n customIsOpenModal: PropTypes.bool,\n customToggleModal: PropTypes.func,\n itemType: PropTypes.string,\n};\n\nexport default ButtonTagManager;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport styles from '../styles.module.scss';\n\nfunction FooterActions({\n currentStepIndex,\n steps,\n isLastStep,\n onSubmit,\n onStepClick,\n onNextStep,\n onPrevStep,\n onCloseModal,\n CustomButtons,\n isLoading,\n isSaving,\n}) {\n if (CustomButtons) {\n return (\n <CustomButtons\n steps={steps}\n currentStepIndex={currentStepIndex}\n isLoading={isLoading || isSaving}\n isLastStep={isLastStep}\n onSubmit={onSubmit}\n onStepClick={onStepClick}\n onNextStep={onNextStep}\n onPrevStep={onPrevStep}\n onCloseModal={onCloseModal}\n />\n );\n }\n\n function getTooltipNode(title) {\n return <span>{title}</span>;\n }\n\n const stepNavigation = (\n <nav className={styles.stepNavigation}>\n {steps.map(({ index, title }) => (\n <Tooltip\n key={`step-nav-${index}`}\n content={getTooltipNode(title)}\n placement=\"top\"\n zIndex=\"10001\"\n className={classNames(\n 'step-button',\n styles.tooltipWrapper,\n styles.tooltipContainer,\n )}\n >\n <span>\n <Button\n size=\"small\"\n theme=\"light\"\n type=\"button\"\n className={classNames(\n styles.stepNavigationBtn,\n currentStepIndex === index && styles.isActive\n )}\n onClick={onStepClick(index)}\n />\n </span>\n </Tooltip>\n ))}\n </nav>\n );\n\n return (\n <Fragment>\n {stepNavigation}\n\n <div className={styles.buttons}>\n <Button\n size=\"small\"\n theme=\"light\"\n disabled={isLoading}\n onClick={onCloseModal}\n className={classNames(styles.modalActionBtn, styles.cancelBtn)}\n >\n Cancel\n </Button>\n\n {!isLastStep && (\n <Fragment>\n <Button\n theme=\"tertiary\"\n size=\"small\"\n disabled={isLoading}\n onClick={onSubmit}\n className={styles.modalActionBtn}\n >\n {isLoading\n ? <Loader size=\"small\" theme=\"light\" className={styles.loader} />\n : <Fragment>Save & finish</Fragment>\n }\n </Button>\n <Button\n size=\"small\"\n disabled={isLoading}\n onClick={onNextStep}\n className={styles.modalActionBtn}\n >\n Next\n </Button>\n </Fragment>\n )}\n\n {isLastStep && (\n <Button\n size=\"small\"\n disabled={isLoading}\n onClick={onSubmit}\n className={styles.modalActionBtn}\n >\n {isLoading\n ? <Loader size=\"small\" theme=\"light\" className={styles.loader} />\n : <span>Save</span>\n }\n </Button>\n )}\n </div>\n </Fragment>\n );\n}\n\nFooterActions.propTypes = {\n currentStepIndex: PropTypes.number.isRequired,\n steps: PropTypes.array.isRequired,\n isLastStep: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool,\n isSaving: PropTypes.bool,\n onSubmit: PropTypes.func,\n onStepClick: PropTypes.func.isRequired,\n onNextStep: PropTypes.func.isRequired,\n onPrevStep: PropTypes.func.isRequired,\n onCloseModal: PropTypes.func.isRequired,\n CustomButtons: PropTypes.elementType,\n};\n\nexport default FooterActions;\n","import { useState } from 'react';\n\nfunction useCloseConfirmModal(initialState = false, toggleMainModal, handleResetModal) {\n const [isOpen, setIsOpen] = useState(initialState);\n\n function handleToggleModal() {\n setIsOpen(!isOpen);\n }\n\n function handleOpenModal() {\n setIsOpen(true);\n }\n\n function handleCloseModal() {\n setIsOpen(false);\n handleResetModal();\n }\n\n function handleReturn() {\n toggleMainModal();\n handleToggleModal();\n }\n\n return {\n isCloseConfirmOpen: isOpen,\n toggleCloseConfirm: handleToggleModal,\n exitCloseConfirm: handleCloseModal,\n openCloseConfirm: handleOpenModal,\n returnCloseConfirm: handleReturn,\n };\n}\n\nexport default useCloseConfirmModal;\n","import { useEffect, useState } from 'react';\nimport { isEmpty, isNumber } from 'lodash';\n\nimport useCloseConfirmModal from 'components/core/Modal/components/CloseConfirmation/useCloseConfirmModal';\n\nfunction useMultiStepModal({\n initialStep = 0,\n steps,\n toggleOpen,\n withCloseConfirmation,\n onReset,\n onClose,\n currentStep,\n resetStep,\n onChangeCurrentStep,\n title,\n isOpen,\n shouldResetStepOnClose,\n}) {\n const [currentStepIndex, setCurrentStepIndex] = useState(initialStep);\n\n useEffect(() => {\n const isCurrentStepValid = isNumber(currentStep) && currentStep >= 0;\n\n isCurrentStepValid && setCurrentStepIndex(currentStep);\n }, [currentStep, resetStep]);\n\n function handleChangeStep(index) {\n setCurrentStepIndex(index);\n onChangeCurrentStep && onChangeCurrentStep(index);\n }\n\n useEffect(() => {\n (!isOpen && shouldResetStepOnClose) && handleChangeStep(initialStep);\n }, [isOpen, shouldResetStepOnClose]);\n\n function handleResetModal() {\n onReset && onReset();\n handleChangeStep(initialStep);\n }\n\n const modalTitle = !isEmpty(title) ? title :\n `Step ${currentStepIndex + 1}: ${steps[currentStepIndex].title}`;\n\n const {\n isCloseConfirmOpen,\n exitCloseConfirm,\n openCloseConfirm,\n returnCloseConfirm,\n } = useCloseConfirmModal(false, toggleOpen, handleResetModal);\n\n const isLastStep = currentStepIndex === steps.length - 1;\n\n function handleCloseModal() {\n toggleOpen();\n onClose && onClose();\n withCloseConfirmation && openCloseConfirm();\n }\n\n function handleStepClick(index) {\n return () => {\n handleChangeStep(index);\n };\n }\n\n function handleNextStep() {\n const index = isLastStep ? currentStepIndex : currentStepIndex + 1;\n\n handleChangeStep(index);\n }\n\n function handlePrevStep() {\n const index = currentStepIndex ? currentStepIndex - 1 : initialStep;\n\n handleChangeStep(index);\n }\n\n return {\n isLastStep,\n isCloseConfirmOpen,\n currentStepIndex,\n modalTitle,\n exitCloseConfirm,\n returnCloseConfirm,\n handleCloseModal,\n handleChangeStep,\n handleStepClick,\n handleNextStep,\n handlePrevStep,\n };\n}\n\nexport default useMultiStepModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Loader from 'components/core/Loader';\n\nimport Modal from '../Modal';\nimport CloseConfirmation from '../CloseConfirmation';\nimport FooterActions from './components/FooterActions';\nimport useMultiStepModal from './useMultiStepModal';\nimport styles from './styles.module.scss';\n\nfunction MultiStepModal({\n isOpen,\n toggleOpen,\n handleAction,\n steps,\n isLoading,\n withCloseConfirmation,\n customCloseMessage,\n onClose,\n onReset,\n currentStep,\n resetStep,\n onChangeCurrentStep,\n CustomButtons,\n title,\n theme,\n className,\n isSaving,\n shouldResetStepOnClose,\n modalStepClassName,\n modalHeaderClassName,\n modalBodyClassName,\n modalFooterClassName,\n showLoadingPlaceholder,\n}) {\n const {\n modalTitle,\n isLastStep,\n currentStepIndex,\n isCloseConfirmOpen,\n handleStepClick,\n handleCloseModal,\n handleNextStep,\n handlePrevStep,\n exitCloseConfirm,\n returnCloseConfirm,\n } = useMultiStepModal({\n steps,\n toggleOpen,\n withCloseConfirmation,\n onClose,\n onReset,\n currentStep,\n resetStep,\n onChangeCurrentStep,\n title,\n isOpen,\n shouldResetStepOnClose,\n });\n\n function renderModalContent() {\n if (showLoadingPlaceholder && isLoading) {\n return (\n <div className={styles.loaderContainer}>\n <Loader message=\"Loading ...\" />\n </div>\n );\n }\n\n return steps.map(({ index, component }) => {\n const isActive = currentStepIndex === index;\n\n return (\n <div\n key={`step-${index}`}\n className={classNames(styles.step, isActive && styles.isActive, modalStepClassName)}\n role=\"tab\"\n >\n {component}\n </div>\n );\n });\n }\n\n const buttons = (\n <FooterActions\n steps={steps}\n currentStepIndex={currentStepIndex}\n isLoading={isLoading}\n isSaving={isSaving}\n isLastStep={isLastStep}\n onSubmit={handleAction}\n onStepClick={handleStepClick}\n onNextStep={handleNextStep}\n onPrevStep={handlePrevStep}\n onCloseModal={handleCloseModal}\n CustomButtons={CustomButtons}\n />\n );\n\n return (\n <>\n <Modal\n isOpen={isOpen}\n title={modalTitle}\n buttons={buttons}\n toggleOpen={handleCloseModal}\n theme={theme}\n bodyClassName={classNames(styles.body, modalBodyClassName)}\n headerClassName={classNames(styles.header, modalHeaderClassName)}\n footerClassName={classNames(styles.footer, modalFooterClassName)}\n className={classNames(styles.multiStepModal, className)}\n >\n {renderModalContent()}\n </Modal>\n\n {withCloseConfirmation && (\n <CloseConfirmation\n toggleOpen={exitCloseConfirm}\n onReturn={returnCloseConfirm}\n isOpen={isCloseConfirmOpen}\n customMessage={customCloseMessage}\n />\n )}\n </>\n );\n}\n\nMultiStepModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool,\n withCloseConfirmation: PropTypes.bool,\n toggleOpen: PropTypes.func,\n handleAction: PropTypes.func,\n onChangeCurrentStep: PropTypes.func,\n onClose: PropTypes.func,\n onReset: PropTypes.func,\n currentStep: PropTypes.number,\n resetStep: PropTypes.number,\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n index: PropTypes.number,\n component: PropTypes.node,\n })\n ).isRequired,\n title: PropTypes.string,\n CustomButtons: PropTypes.elementType,\n theme: PropTypes.string,\n className: PropTypes.string,\n modalStepClassName: PropTypes.string,\n modalHeaderClassName: PropTypes.string,\n modalBodyClassName: PropTypes.string,\n modalFooterClassName: PropTypes.string,\n isSaving: PropTypes.bool.isRequired,\n customCloseMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.element,\n ]),\n shouldResetStepOnClose: PropTypes.bool,\n showLoadingPlaceholder: PropTypes.bool,\n};\n\nMultiStepModal.defaultProps = {\n withCloseConfirmation: false,\n showLoadingPlaceholder: true,\n theme: 'scrollable',\n};\n\nexport default MultiStepModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, map } from 'lodash';\n\nimport Link from 'utils/Link';\nimport Button from 'components/core/Button';\nimport { toShape } from 'utils/shapes/routerLink';\n\nimport styles from './styles.module.scss';\n\nconst themes = {\n darkBlue: styles.darkBlue,\n green: styles.green,\n altGreen: styles.altGreen,\n red: styles.red,\n blue: styles.blue,\n};\n\nfunction ButtonTag({\n isOnMyFeed,\n theme,\n checkedBadge,\n letterBadge,\n children,\n onClick,\n className,\n isLink,\n href,\n isRouterLink,\n to,\n}) {\n const renderBadges = () => {\n if (!checkedBadge && isEmpty(letterBadge)) {\n return null;\n }\n\n return (\n <>\n {checkedBadge && (\n <div className={styles.circle}>\n <i className=\"far fa-check\" />\n </div>\n )}\n {map(letterBadge, item => (\n <div className={styles.circle}>\n <span>{item}</span>\n </div>\n ))}\n </>\n );\n };\n\n const content = (\n <>\n {children}\n {renderBadges()}\n </>\n );\n\n const tagClassName = classNames(\n styles.tagButton,\n themes[isOnMyFeed ? 'green' : 'blue'],\n themes[theme],\n className,\n );\n\n const commonProps = {\n className: tagClassName,\n theme: 'tertiary',\n size: 'small',\n };\n\n if (isLink || isRouterLink) {\n return (\n <Link {...commonProps} href={href} isRouterLink={isRouterLink} to={to}>\n {content}\n </Link>\n );\n }\n\n return (\n <Button\n {...commonProps}\n onClick={onClick}\n >\n {content}\n </Button>\n );\n}\n\nButtonTag.defaultProps = {\n isLink: false,\n isRouterLink: false,\n};\n\nButtonTag.propTypes = {\n isOnMyFeed: PropTypes.bool,\n theme: PropTypes.string,\n checkedBadge: PropTypes.bool,\n letterBadge: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func,\n className: PropTypes.string,\n isLink: PropTypes.bool,\n href: PropTypes.string,\n isRouterLink: PropTypes.bool,\n to: toShape,\n};\n\nexport default ButtonTag;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport { map, reduce, find, slice, size } from 'lodash';\n\nimport ButtonTag from 'components/core/ButtonTag';\nimport Link from 'components/core/Link';\nimport { workspaceShape } from 'redux/events/utils/shapes';\nimport { TagsPlaceholder } from 'components/core/Placeholder';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\nimport { TAGS_DISPLAY_LENGTH } from 'components/core/ViewTags/constants';\n\nimport { getTileUrl } from '../WorkspaceTile/utils';\nimport WorkspaceTile from '../WorkspaceTile';\nimport tagsStyles from '../ViewTags/styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction WorkspaceTiles({\n className,\n wrapperClassName,\n sharings,\n isLoading,\n trackings,\n maxLength,\n displayAll,\n}) {\n if (isLoading) {\n return <TagsPlaceholder className={wrapperClassName} itemsNumber={1} />;\n }\n\n const workspaces = reduce(sharings, (acc, sharing) => {\n const tracking = find(trackings, ({ feed }) => feed.token === sharing.token);\n\n if (!tracking) acc.push({ feed: sharing });\n\n return acc;\n }, [...trackings]);\n const displayedWorkspaces = displayAll ? workspaces : slice(workspaces, 0, maxLength);\n const remainingWorkspaces = slice(workspaces, maxLength);\n const workspacesSize = size(workspaces);\n const showTooltip = !displayAll && (workspacesSize > maxLength);\n\n const renderTile = ({ feed, subscription, subscriptions }) => (\n <WorkspaceTile\n key={feed.token}\n className={className}\n wrapperClassName={wrapperClassName}\n workspace={feed}\n subscription={subscription}\n subscriptions={subscriptions}\n isLoading={isLoading}\n />\n );\n\n const renderWorkspaceLink = ({ feed }) => (\n <Link\n href={getTileUrl(feed.token)}\n key={feed.token}\n theme=\"tableLink\"\n className={styles.workspaceLink}\n >\n {feed.name}\n </Link>\n );\n const tooltipContent = (\n <div className={tagsStyles.tooltipContainer}>\n {map(remainingWorkspaces, renderWorkspaceLink)}\n </div>\n );\n\n return (\n <>\n {map(displayedWorkspaces, renderTile)}\n {showTooltip && (\n <Tooltip\n theme=\"dark\"\n content={tooltipContent}\n placement=\"bottom\"\n arrow\n interactive\n maxWidth={380}\n >\n <span className={tagsStyles.remainingTags}>\n <ButtonTag theme=\"green\">\n +{workspacesSize - maxLength}\n </ButtonTag>\n </span>\n </Tooltip>\n )}\n </>\n );\n}\n\nWorkspaceTiles.defaultProps = {\n trackings: [],\n maxLength: TAGS_DISPLAY_LENGTH,\n displayAll: false,\n};\n\nWorkspaceTiles.propTypes = {\n className: PropTypes.string,\n wrapperClassName: PropTypes.string,\n sharings: PropTypes.arrayOf(workspaceShape),\n isLoading: PropTypes.bool,\n trackings: PropTypes.arrayOf(trackingShape),\n maxLength: PropTypes.number,\n displayAll: PropTypes.bool,\n};\n\nexport default WorkspaceTiles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport {\n isEmpty,\n size as length,\n map,\n slice,\n truncate,\n isFunction,\n} from 'lodash';\n\nimport Button from 'components/core/Button';\nimport { getBackToParams } from 'components/core/Link/components/BackTo/utils';\nimport ButtonTag from 'components/core/ButtonTag';\nimport { TagsPlaceholder } from 'components/core/Placeholder';\nimport WorkspaceTiles from 'components/core/WorkspaceTiles';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport { workspaceShape } from 'redux/events/utils/shapes';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\n\nimport {\n MOBILE_LABEL_LENGTH,\n DESKTOP_LABEL_LENGTH,\n SIZES,\n TAGS_DISPLAY_LENGTH,\n} from './constants';\nimport styles from './styles.module.scss';\n\nfunction ViewTags({\n isLoading,\n tags,\n emptyValue,\n tooltipTheme,\n className,\n onClick,\n tileClassName,\n isContainerless,\n isLink,\n customButton,\n displayAll,\n isRouterLink,\n routerLinkState,\n baseUrl,\n backTo,\n backToQuery,\n tagsDisplayLength,\n theme,\n onGetTo,\n mobileLabelLength,\n desktopLabelLength,\n size,\n sharings,\n trackings,\n displayAllWorkspaces,\n withInteractiveTags,\n}) {\n const { isMobile } = useMediaQuery();\n\n if (isLoading) {\n return <TagsPlaceholder className={className} />;\n }\n\n const truncateOptions = {\n length:\n isMobile || (size === SIZES.small)\n ? mobileLabelLength\n : desktopLabelLength,\n };\n\n const hasWorkspaceTiles = !(isEmpty(sharings) && isEmpty(trackings));\n\n if (isEmpty(tags) && !hasWorkspaceTiles) {\n return emptyValue;\n }\n\n const handleClick = tag => () => {\n onClick && onClick(tag);\n };\n\n function renderTag(tag, index) {\n const { label, value } = tag || {};\n const keyName = `${index}-${value}`;\n\n const tagLink = {\n pathname: `${baseUrl}/${value}`,\n search: `?name=${label}`,\n state: routerLinkState,\n };\n const to = isFunction(onGetTo) ? onGetTo(tag) : tagLink;\n\n const renderLabel = () => {\n const truncatedLabel = truncate(label, truncateOptions);\n\n if (length(label) > truncateOptions.length) {\n return (\n <Tooltip className={styles.truncateTooltip} content={label}>\n <span>{truncatedLabel}</span>\n </Tooltip>\n );\n }\n\n return truncatedLabel;\n };\n\n // TODO refactor so it won't render a button if it is not clickable, so it won't affect Accessibility\n return (\n <ButtonTag\n key={keyName}\n onClick={handleClick(tag)}\n theme={theme}\n isLink={isLink}\n href={`${baseUrl}/${value}?name=${label}${getBackToParams({ backTo, backToQuery })}`}\n isRouterLink={isRouterLink}\n to={to}\n className={classNames(tileClassName, !(isFunction(onClick) || isLink) && styles.notClickable)}\n >\n {renderLabel()}\n </ButtonTag>\n );\n }\n\n const sizeTags = length(tags);\n\n const renderTooltipRemainedTags = () => {\n if (displayAll) {\n return null;\n }\n\n if (sizeTags > tagsDisplayLength) {\n const remainingTags = slice(tags, tagsDisplayLength, sizeTags);\n const stringTags = map(remainingTags, 'label').join(', ');\n const interactiveTags = map(remainingTags, tag => (\n <Button\n key={`tooltip-tag-${tag.value}`}\n onClick={handleClick(tag)}\n theme=\"tableLink\"\n className={styles.tooltipTag}\n >\n {tag.label}\n </Button>\n ));\n const tooltipContent = (\n <div className={styles.tooltipContainer}>\n {withInteractiveTags ? interactiveTags : stringTags}\n </div>\n );\n\n return (\n <Tooltip\n theme={tooltipTheme}\n content={tooltipContent}\n placement=\"bottom\"\n interactive={withInteractiveTags}\n arrow\n >\n <span className={styles.remainingTags}>\n <ButtonTag theme={theme}>\n +{sizeTags - tagsDisplayLength}\n </ButtonTag>\n </span>\n </Tooltip>\n );\n }\n\n return null;\n };\n\n const displayedTags = displayAll ? tags : slice(tags, 0, tagsDisplayLength);\n\n const content = (\n <>\n <WorkspaceTiles\n isLoading={isLoading}\n className={tileClassName}\n wrapperClassName={styles.workspaceTile}\n sharings={sharings}\n trackings={trackings}\n displayAll={displayAllWorkspaces}\n />\n {map(displayedTags, renderTag)}\n {customButton}\n {renderTooltipRemainedTags()}\n </>\n );\n\n if (isContainerless) {\n return content;\n }\n\n return (\n <div className={className}>\n {content}\n </div>\n );\n}\n\nViewTags.defaultProps = {\n emptyValue: null,\n tooltipTheme: 'light',\n isContainerless: false,\n displayAll: false,\n baseUrl: '/news/tag',\n tagsDisplayLength: TAGS_DISPLAY_LENGTH,\n theme: 'darkBlue',\n mobileLabelLength: MOBILE_LABEL_LENGTH,\n desktopLabelLength: DESKTOP_LABEL_LENGTH,\n size: SIZES.large,\n displayAllWorkspaces: false,\n withInteractiveTags: false,\n};\n\nViewTags.propTypes = {\n tags: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]).isRequired,\n label: PropTypes.string.isRequired,\n }),\n ),\n onClick: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.bool,\n ]),\n isLoading: PropTypes.bool,\n tooltipTheme: PropTypes.string,\n className: PropTypes.string,\n emptyValue: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n tileClassName: PropTypes.string,\n isContainerless: PropTypes.bool,\n isLink: PropTypes.bool,\n customButton: PropTypes.node,\n displayAll: PropTypes.bool,\n isRouterLink: PropTypes.bool,\n routerLinkState: PropTypes.shape({}),\n baseUrl: PropTypes.string,\n backTo: PropTypes.string,\n backToQuery: PropTypes.string,\n tagsDisplayLength: PropTypes.number,\n mobileLabelLength: PropTypes.number,\n desktopLabelLength: PropTypes.number,\n theme: PropTypes.string,\n size: PropTypes.string,\n onGetTo: PropTypes.func,\n sharings: PropTypes.arrayOf(workspaceShape),\n trackings: PropTypes.arrayOf(trackingShape),\n displayAllWorkspaces: PropTypes.bool,\n withInteractiveTags: PropTypes.bool,\n};\n\nexport default ViewTags;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport TextareaAutosize from 'react-autosize-textarea';\n\nimport styles from './styles.module.scss';\n\nconst THEMES = {\n justContent: styles.justContent,\n default: styles.default,\n};\n\nfunction AutosizeTextarea({ className, theme, innerRef, ...restProps }) {\n return (\n <TextareaAutosize\n {...restProps}\n ref={innerRef}\n className={classNames(styles.textarea, className, THEMES[theme])}\n />\n );\n}\n\nAutosizeTextarea.defaultProps = {\n theme: 'default',\n};\n\nAutosizeTextarea.propTypes = {\n innerRef: PropTypes.object,\n className: PropTypes.string,\n theme: PropTypes.oneOf(Object.keys(THEMES)),\n};\n\nexport default AutosizeTextarea;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ErrorMessage from 'components/core/ErrorMessage';\n\nimport styles from './styles.module.scss';\n\nfunction Textarea({ className, errorMessage, isError, ...restProps }) {\n return (\n <Fragment>\n <textarea\n {...restProps}\n className={classNames(\n styles.textarea,\n className,\n isError && styles.invalid,\n errorMessage && styles.invalid,\n )}\n />\n\n <ErrorMessage message={errorMessage} />\n </Fragment>\n );\n}\n\nTextarea.defaultProps = {\n isError: false,\n};\n\nTextarea.propTypes = {\n isError: PropTypes.bool,\n className: PropTypes.string,\n errorMessage: PropTypes.string,\n};\n\nexport default Textarea;\nexport { default as AutosizeTextarea } from './components/AutosizeTextarea';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ReactModal from 'react-modal';\n\nimport { modalThemes } from './helpers';\nimport styles from './styles.module.scss';\n\nfunction Modal({\n title,\n headerTitle,\n buttons,\n children,\n bodyClassName,\n headerClassName,\n footerClassName,\n className,\n overlayClassName,\n isOpen,\n toggleOpen,\n theme,\n onRequestClose,\n onCrossBtnClick,\n shouldReturnFocusAfterClose,\n parentSelector,\n id,\n}) {\n if (!isOpen) {\n return null;\n }\n\n const handleRequestClose = onRequestClose || toggleOpen;\n const handleCrossBtnClick = onCrossBtnClick || toggleOpen;\n\n const modalTitle = headerTitle || title;\n\n ReactModal.setAppElement('body');\n return (\n <ReactModal\n id={id}\n isOpen={isOpen}\n onRequestClose={handleRequestClose}\n contentLabel={title}\n className={classNames(modalThemes[theme], className)}\n overlayClassName={classNames(styles.overlay, overlayClassName)}\n shouldReturnFocusAfterClose={shouldReturnFocusAfterClose}\n parentSelector={parentSelector}\n >\n {modalTitle && (\n <div className={classNames(styles.header, headerClassName)}>\n <h3 className={styles.modalTitle}>{modalTitle}</h3>\n {handleCrossBtnClick && (\n <button type=\"button\" onClick={handleCrossBtnClick} className={styles.closeIcon}>\n <i className={classNames('fal', 'fa-times')} />\n </button>\n )}\n </div>\n )}\n\n <div className={classNames(styles.body, bodyClassName)}>\n {children}\n </div>\n\n {buttons && (\n <div className={classNames(styles.footer, footerClassName)}>\n {buttons}\n </div>\n )}\n </ReactModal>\n );\n}\n\nModal.propTypes = {\n title: PropTypes.string,\n headerTitle: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n isOpen: PropTypes.bool,\n toggleOpen: PropTypes.func,\n buttons: PropTypes.node,\n children: PropTypes.node,\n bodyClassName: PropTypes.string,\n headerClassName: PropTypes.string,\n footerClassName: PropTypes.string,\n className: PropTypes.string,\n overlayClassName: PropTypes.string,\n theme: PropTypes.oneOf(\n Object.keys(modalThemes)\n ),\n onRequestClose: PropTypes.func,\n onCrossBtnClick: PropTypes.func,\n shouldReturnFocusAfterClose: PropTypes.bool,\n parentSelector: PropTypes.func,\n id: PropTypes.string,\n};\n\nModal.defaultProps = {\n children: (<p>Body is empty.</p>),\n theme: 'default',\n shouldReturnFocusAfterClose: true,\n id: 'modal',\n};\n\nexport default Modal;\n","import { useState, useEffect } from 'react';\n\nimport { PDF_ID, SHOW_PAGE_CUSTOMIZATION_ID } from 'utils/constants/export';\n\nfunction useExportModal({\n isOpenModal,\n defaultSectionValues = [],\n defaultCustomizationValues = [SHOW_PAGE_CUSTOMIZATION_ID],\n defaultFileFormatValues = [PDF_ID],\n onResetSummary,\n}) {\n const [sectionValues, setSectionValues] = useState([]);\n const [fileFormatValues, setFileFormatValues] = useState(defaultFileFormatValues);\n const [customizationValues, setCustomizationValues] = useState([]);\n const [customInputsValues, setCustomInputsValues] = useState({});\n\n useEffect(() => {\n /* Reset form on open */\n if (isOpenModal) {\n setSectionValues(defaultSectionValues);\n setFileFormatValues(defaultFileFormatValues);\n setCustomizationValues(defaultCustomizationValues);\n setCustomInputsValues({});\n onResetSummary();\n }\n }, [isOpenModal]);\n\n function handleChangeSections(_, values) {\n setSectionValues(values);\n }\n\n function handleChangeFileFormat(_, values) {\n setFileFormatValues(values);\n }\n\n function handleChangeCustomization(_, values) {\n setCustomizationValues(values);\n }\n\n function handleChangeCustomInput({ key, value }) {\n setCustomInputsValues({\n ...customInputsValues,\n [key]: value,\n });\n }\n\n const getFileFormatProps = ({ onChange = () => {}, ...props } = {}) => ({\n ...props,\n values: fileFormatValues,\n onChange: (...args) => {\n handleChangeFileFormat(...args);\n onChange(...args);\n },\n });\n\n const getCustomizationProps = ({ onChange = () => {}, ...props } = {}) => ({\n ...props,\n values: customizationValues,\n onChange: (...args) => {\n handleChangeCustomization(...args);\n onChange(...args);\n },\n });\n\n const getSectionsProps = ({ onChange = () => {}, ...props } = {}) => ({\n ...props,\n values: sectionValues,\n onChange: (...args) => {\n handleChangeSections(...args);\n onChange(...args);\n },\n });\n\n const getCustomInputsValues = ({ key }) => customInputsValues[key];\n\n const getCustomInputProps = ({ onChangeCallback, key, ...props } = {}) => ({\n ...props,\n value: getCustomInputsValues({ key }),\n onChange: (value) => {\n handleChangeCustomInput({ key, value });\n onChangeCallback && onChangeCallback(value);\n },\n });\n\n return {\n sectionValues,\n fileFormatValues,\n customizationValues,\n customInputsValues,\n getFileFormatProps,\n getCustomizationProps,\n getSectionsProps,\n getCustomInputProps,\n };\n}\n\nexport default useExportModal;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport { isEmpty } from 'lodash';\n\nimport Checkbox from 'components/core/Checkbox';\nimport RadioBox from 'components/core/RadioBox';\n\nimport styles from './styles.module.scss';\n\nfunction LabelItem({\n id,\n title,\n limit,\n onCheck,\n checkedItems,\n type,\n customLabel,\n isDisabled,\n isSelectAll,\n allItemsLength,\n tooltipContent,\n}) {\n const isChecked = isSelectAll\n ? checkedItems.length === (allItemsLength - 1)\n : checkedItems.includes(id);\n\n const defaultLabel = (\n <>\n {title}{limit && <span className={styles.limit}>max {limit} items</span>}\n </>\n );\n\n const radioItem = (\n <Fragment key={`item-${id}`}>\n <RadioBox\n name={id}\n value={id}\n checked={isChecked}\n disabled={isDisabled}\n label={customLabel || defaultLabel}\n onChange={onCheck}\n />\n </Fragment>\n );\n\n const checkboxItem = (\n <Checkbox\n label={customLabel || defaultLabel}\n value={id}\n name={id}\n onChange={onCheck}\n isChecked={isChecked}\n isDisabled={isDisabled}\n />\n );\n\n const item = type === 'radio' ? radioItem : checkboxItem;\n\n if (isDisabled && !isEmpty(tooltipContent)) {\n return (\n <Tooltip\n content={tooltipContent}\n theme=\"light\"\n interactive\n arrow\n >\n <div>{item}</div>\n </Tooltip>\n );\n }\n\n return item;\n}\n\nLabelItem.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.node.isRequired,\n limit: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onCheck: PropTypes.func.isRequired,\n checkedItems: PropTypes.array.isRequired,\n type: PropTypes.string,\n customLabel: PropTypes.node,\n isDisabled: PropTypes.bool,\n isSelectAll: PropTypes.bool,\n allItemsLength: PropTypes.number,\n tooltipContent: PropTypes.string,\n};\n\nexport default LabelItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useCheckedItems from 'components/core/AdvancedSearch/utils/useCheckedItems';\nimport Title from 'components/core/Profile/components/Title';\nimport LabelGroup from 'components/core/LabelGroup';\n\nimport titles from '../../utils/titles';\nimport LabelItem from '../LabelItem';\nimport styles from '../styles.module.scss';\n\nfunction Sections({\n values,\n onChange,\n title,\n description,\n exportTabItems,\n enableTooltip,\n}) {\n const allInitialValues = exportTabItems.map(tab => tab.id) || [];\n const { checkedItems, onCheckAll, onCheck, onCheckSubItem, ...restProps } = useCheckedItems(\n 'sections',\n values,\n onChange,\n allInitialValues,\n exportTabItems,\n );\n const titleClassName = {\n className: enableTooltip ? styles.titleWithTooltip : styles.container,\n titleClassName: styles.title,\n descriptionClassName: styles.description,\n };\n\n function getLabel(item) {\n const { title: itemTitle, isSelectAll, className, onCheckItem } = item || {};\n const handleCheck = onCheckItem || onCheck;\n\n return (\n <div className={className} key={`export-label-${itemTitle}`}>\n <LabelItem\n {...item}\n {...restProps}\n checkedItems={checkedItems}\n onCheck={isSelectAll ? onCheckAll : handleCheck}\n allItemsLength={allInitialValues.length}\n />\n </div>\n );\n }\n\n /** If select all/default options are present -> include subItems array in allInitialValues **/\n function renderSubItems(subItems, item) {\n if (isEmpty(subItems)) {\n return null;\n }\n\n const { id } = item || {};\n const isParentChecked = checkedItems.includes(id);\n\n if (!isParentChecked) {\n return null;\n }\n\n return (\n <div className={styles.subItemsContainer}>\n {subItems.map(props => getLabel({\n ...props,\n className: styles.subItem,\n onCheckItem: event => onCheckSubItem(event, item),\n }))}\n </div>\n );\n }\n\n function renderLabelItems(item, index) {\n const { subItems } = item || {};\n\n return (\n <Fragment key={`export-customization-${index}`}>\n {getLabel(item)}\n {renderSubItems(subItems, item)}\n </Fragment>\n );\n }\n\n return (\n <>\n <Title\n title={title}\n description={description}\n enableTooltip={enableTooltip}\n {...titleClassName}\n />\n\n <LabelGroup>\n {exportTabItems.map(renderLabelItems)}\n </LabelGroup>\n </>\n );\n}\n\nSections.defaultProps = {\n title: titles.sections.title,\n description: titles.sections.description,\n};\n\nSections.propTypes = {\n exportTabItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.node,\n })),\n values: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n title: PropTypes.string,\n description: PropTypes.string,\n enableTooltip: PropTypes.bool,\n};\n\nexport default Sections;\n","import { useState, useEffect } from 'react';\n\nexport default function useCustomNote({ onChange, disabled }) {\n const [inputValue, setInputValue] = useState([]);\n\n function resetData() {\n setInputValue([]);\n }\n\n useEffect(() => {\n disabled && resetData();\n }, [disabled]);\n\n useEffect(() => {\n onChange(inputValue);\n }, [inputValue]);\n\n function updateInputValue(newValue) {\n setInputValue(newValue);\n }\n\n return {\n inputValue,\n updateInputValue,\n };\n}\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Title from 'components/core/Profile/components/Title';\nimport TagInput from 'components/core/TagInput';\nimport theme from 'components/core/TagInput/theme';\nimport Select from 'components/core/Select';\n\nimport useSuggesterItem from './useSuggesterItem';\nimport parentStyles from '../styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction SuggesterItem({\n title,\n description,\n onChange,\n strategy,\n strategyInputs,\n disabled,\n options,\n multi,\n withRichOption,\n isVisible,\n rigthItems,\n}) {\n const inputClassName = classNames(\n disabled && styles.disabledInput\n );\n\n const selectClassName = classNames(\n styles.select,\n disabled && styles.disabledInput,\n );\n\n const {\n inputValue,\n updateInputValue,\n } = useSuggesterItem({\n onChange,\n disabled,\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <Fragment>\n <Title\n title={title}\n description={description}\n enableTooltip\n className={parentStyles.titleWithTooltip}\n titleClassName={parentStyles.title}\n rightItems={rigthItems}\n />\n\n {strategy && <TagInput\n strategy={strategy}\n strategyInputs={strategyInputs}\n onChange={updateInputValue}\n disabled={disabled}\n overrideValue={inputValue}\n shouldOverrideValue\n multiple={multi}\n withRichOption={withRichOption}\n className={inputClassName}\n />}\n\n {!strategy && <Select\n options={options}\n onChange={updateInputValue}\n isDisabled={disabled}\n customTheme={theme()}\n multi={multi}\n value={inputValue}\n className={selectClassName}\n />}\n </Fragment>\n );\n}\n\nSuggesterItem.defaultProps = {\n withRichOption: false,\n isVisible: true,\n};\n\nSuggesterItem.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n strategy: PropTypes.string,\n strategyInputs: PropTypes.shape({\n type: PropTypes.string,\n state: PropTypes.arrayOf(\n PropTypes.string,\n ),\n congressional_district: PropTypes.arrayOf(\n PropTypes.number,\n ),\n }),\n disabled: PropTypes.bool,\n multi: PropTypes.bool,\n withRichOption: PropTypes.bool,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.number,\n label: PropTypes.string,\n })),\n isVisible: PropTypes.bool,\n rigthItems: PropTypes.node,\n};\n\nexport default SuggesterItem;\n","import { useState, useEffect } from 'react';\n\nexport default function useCustomNote({ onChange, disabled }) {\n const [title, setTitle] = useState('');\n const [content, setContent] = useState('');\n\n const onTitleChange = ({ target: { value: newTitle } }) => setTitle(newTitle);\n\n const onContentChange = ({ target: { value: newContent } }) => setContent(newContent);\n\n const resetData = () => setTitle('') && setContent('');\n\n useEffect(() => {\n disabled && resetData();\n }, [disabled]);\n\n useEffect(() => {\n onChange({ title, content });\n }, [title, content]);\n\n return {\n noteTitle: title,\n noteContent: content,\n onTitleChange,\n onContentChange,\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Title from 'components/core/Profile/components/Title';\nimport Input from 'components/core/Input';\nimport { TextareaWithCharInfo } from 'components/core/CharInfo';\n\nimport useCustomNote from './useCustomNote';\nimport parentStyles from '../styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction CustomNote({\n title,\n description,\n onChange,\n contentCharactersLimit,\n titleCharactersLimit,\n className,\n disabled,\n isVisible,\n}) {\n const {\n noteTitle,\n noteContent,\n onTitleChange,\n onContentChange,\n } = useCustomNote({\n onChange,\n disabled,\n });\n\n if (!isVisible) {\n return null;\n }\n\n const titleInputClassNames = classNames(\n disabled && styles.disabled,\n styles.titleInput,\n );\n\n const contentClassNames = classNames(\n disabled && styles.disabled,\n );\n\n const wrapperClassNames = classNames(\n styles.wrapper,\n className,\n );\n\n return (\n <div className={wrapperClassNames}>\n <Title\n title={title}\n description={description}\n enableTooltip\n className={parentStyles.titleWithTooltip}\n titleClassName={parentStyles.title}\n />\n\n <Input\n disabled={disabled}\n onChange={onTitleChange}\n value={noteTitle}\n className={titleInputClassNames}\n maxLength={titleCharactersLimit}\n />\n\n <TextareaWithCharInfo\n disabled={disabled}\n onChange={onContentChange}\n charInfo={{\n limit: contentCharactersLimit,\n }}\n value={noteContent}\n className={contentClassNames}\n />\n </div>\n );\n}\n\nCustomNote.defaultProps = {\n contentCharactersLimit: 5000,\n titleCharactersLimit: 130,\n isVisible: true,\n};\n\nCustomNote.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n contentCharactersLimit: PropTypes.number,\n titleCharactersLimit: PropTypes.number,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isVisible: PropTypes.bool,\n};\n\nexport default CustomNote;\n","import { useState } from 'react';\n\nfunction useRadioGroup({ id, defaultCheckedItems, onChange }) {\n const [checkedItems, setCheckedItems] = useState(defaultCheckedItems);\n\n function handleOnCheck(event) {\n const { value: currentValue, checked } = event.target;\n const item = checked ? [currentValue] : checkedItems;\n\n setCheckedItems(item);\n onChange(id, item);\n }\n\n return {\n checkedItems,\n onCheck: handleOnCheck,\n };\n}\n\nexport default useRadioGroup;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Title from 'components/core/Profile/components/Title';\nimport useRadioGroup from 'components/core/AdvancedSearch/utils/useRadioGroup';\nimport LabelGroup from 'components/core/LabelGroup';\n\nimport titles from '../../utils/titles';\nimport LabelItem from '../LabelItem';\nimport styles from '../styles.module.scss';\n\nfunction FileFormat({\n values,\n onChange,\n title,\n description,\n exportFileItems,\n enableTooltip,\n}) {\n const checkedItemProps = useRadioGroup({\n id: 'fileFormat',\n defaultCheckedItems: values,\n onChange,\n });\n const titleClassName = {\n className: enableTooltip ? styles.titleWithTooltip : styles.container,\n titleClassName: styles.title,\n descriptionClassName: styles.description,\n };\n\n return (\n <>\n <Title\n title={title}\n description={description}\n enableTooltip={enableTooltip}\n {...titleClassName}\n />\n\n <LabelGroup>\n {exportFileItems.map((item, index) => (\n <LabelItem\n key={`file-format-${index}`}\n {...item}\n {...checkedItemProps}\n type=\"radio\"\n />\n ))}\n </LabelGroup>\n </>\n );\n}\n\nFileFormat.defaultProps = {\n title: titles.fileFormat.title,\n description: titles.fileFormat.description,\n};\n\nFileFormat.propTypes = {\n exportFileItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n })),\n values: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n title: PropTypes.string,\n description: PropTypes.string,\n enableTooltip: PropTypes.bool,\n};\n\nexport default FileFormat;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Textarea from 'components/core/Textarea';\n\nfunction DocumentSummary({\n reportHasSummary,\n onChange,\n onReset,\n value,\n}) {\n useEffect(() => {\n onReset && onReset();\n }, []);\n\n useEffect(() => {\n !reportHasSummary && onReset && onReset();\n }, [reportHasSummary]);\n\n if (!reportHasSummary) {\n return null;\n }\n\n return (\n <Textarea\n name=\"documentSummary\"\n placeholder=\"\"\n onChange={onChange}\n value={value}\n />\n );\n}\n\nDocumentSummary.propTypes = {\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n reportHasSummary: PropTypes.bool,\n value: PropTypes.string,\n};\n\nexport default DocumentSummary;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport Title from 'components/core/Profile/components/Title';\nimport useCheckedItems from 'components/core/AdvancedSearch/utils/useCheckedItems';\nimport LabelGroup from 'components/core/LabelGroup';\n\nimport titles from '../../utils/titles';\nimport LabelItem from '../LabelItem';\nimport styles from '../styles.module.scss';\nimport DocumentSummary from './components/DocumentSummary';\n\nfunction Customization({\n values,\n onChange,\n title,\n description,\n exportCustomizationItems,\n className,\n titleClassName,\n documentSummaryProps,\n enableTooltip,\n}) {\n const checkedItemProps = useCheckedItems('customization', values, onChange);\n const titleClassNames = {\n className: enableTooltip ? styles.titleWithTooltip : styles.container,\n titleClassName: classNames(styles.title, titleClassName),\n descriptionClassName: styles.description,\n };\n\n return (\n <>\n <Title\n title={title}\n description={description}\n enableTooltip={enableTooltip}\n {...titleClassNames}\n />\n\n <LabelGroup className={className}>\n {map(exportCustomizationItems, item => (\n <LabelItem\n {...item}\n {...checkedItemProps}\n key={item.title}\n />\n ))}\n </LabelGroup>\n\n <DocumentSummary {...documentSummaryProps} />\n </>\n );\n}\n\nCustomization.defaultProps = {\n title: titles.customization.title,\n description: titles.customization.description,\n};\n\nCustomization.propTypes = {\n exportCustomizationItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n })),\n documentSummaryProps: PropTypes.shape({\n reportHasSummary: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n }),\n values: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n title: PropTypes.string,\n description: PropTypes.string,\n className: PropTypes.string,\n titleClassName: PropTypes.string,\n enableTooltip: PropTypes.bool,\n};\n\nexport default Customization;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport Notifications from '../../utils/Notifications';\nimport styles from './styles.module.scss';\n\nfunction Actions({\n sectionValues,\n fileFormatValues,\n customizationValues,\n customInputsValues,\n isLoading,\n toggleModal,\n logoUrl,\n documentSummary,\n onExport,\n}) {\n const customIcon = isLoading && <Loader size=\"small\" theme=\"light\" onlyIcon />;\n\n function handleExport() {\n if (isEmpty(sectionValues)) {\n Notifications.notifyInvalidForm();\n } else {\n onExport({\n ...customInputsValues,\n sections: sectionValues,\n fileFormat: fileFormatValues,\n customization: customizationValues,\n }, logoUrl, documentSummary, toggleModal);\n }\n }\n\n return (\n <div className={styles.actionContainer}>\n <Button className={styles.actionButton} size=\"small\" theme=\"light\" onClick={toggleModal}>\n Cancel\n </Button>\n\n <Button size=\"small\" onClick={handleExport} disabled={isLoading} customIcon={customIcon}>\n Export\n </Button>\n </div>\n );\n}\n\nActions.propTypes = {\n customInputsValues: PropTypes.object,\n logoUrl: PropTypes.string,\n customizationValues: PropTypes.array,\n isLoading: PropTypes.bool,\n toggleModal: PropTypes.func.isRequired,\n onExport: PropTypes.func.isRequired,\n sectionValues: PropTypes.array,\n fileFormatValues: PropTypes.array,\n documentSummary: PropTypes.string,\n};\n\nexport default Actions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport { DEFAULT_LOGO_URL } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction ExportPreview({ logoUrl, documentTitle }) {\n const currentDate = moment().format(GLOBAL_DATE_FORMAT);\n\n return (\n <div className={styles.container}>\n <div className={styles.header}>\n <img className={styles.logoImage} src={logoUrl} alt=\"logo-custom\" />\n\n <div>\n <p className={styles.currentDate}>Report ({currentDate})</p>\n <h2 className={styles.title}>{documentTitle}</h2>\n </div>\n </div>\n </div>\n );\n}\n\nExportPreview.defaultProps = {\n logoUrl: DEFAULT_LOGO_URL,\n};\n\nExportPreview.propTypes = {\n documentTitle: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n};\n\nexport default ExportPreview;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Modal from 'components/core/Modal';\n\nimport useDocumentSummary from './utils/useDocumentSummary';\nimport useCompanyLogo from './utils/useCompanyLogo';\nimport useExportModal from './utils/useExportModal';\nimport Sections from './components/Sections';\nimport SuggesterItem from './components/SuggesterItem';\nimport CustomNote from './components/CustomNote';\nimport FileFormat from './components/FileFormat';\nimport Preview from './components/Preview';\nimport Customization from './components/Customization';\nimport Actions from './components/Actions';\nimport ExportPreview from './components/ExportPreview';\nimport styles from './styles.module.scss';\n\nfunction ExportModal({\n isLoading,\n isOpenModal,\n toggleModal,\n children,\n onExport,\n displayCompanyLogo,\n defaultSectionValues,\n defaultCustomizationValues,\n defaultFileFormatValues,\n theme,\n className,\n bodyClassName,\n}) {\n const {\n documentSummary,\n onChangeSummary,\n onResetSummary,\n } = useDocumentSummary({ isOpenModal });\n\n const {\n getFileFormatProps,\n getCustomizationProps,\n getSectionsProps,\n getCustomInputProps,\n ...values\n } = useExportModal({\n isOpenModal,\n defaultSectionValues,\n defaultCustomizationValues,\n defaultFileFormatValues,\n onResetSummary,\n });\n\n const {\n companyHasLogo,\n isLogoLoading,\n logoUrl,\n } = useCompanyLogo({ displayCompanyLogo, isOpenModal });\n\n const actionsComponent = (\n <Actions\n {...values}\n documentSummary={documentSummary}\n logoUrl={logoUrl}\n isLoading={isLoading || isLogoLoading}\n onExport={onExport}\n toggleModal={toggleModal}\n />\n );\n\n return (\n <Modal\n title=\"Export options\"\n isOpen={isOpenModal}\n toggleOpen={toggleModal}\n className={classNames(styles.modal, className)}\n bodyClassName={bodyClassName}\n buttons={actionsComponent}\n theme={theme}\n >\n <div className={styles.modalContainer}>\n {children({\n getFileFormatProps,\n getCustomizationProps,\n getSectionsProps,\n getCustomInputProps,\n onChangeSummary,\n onResetSummary,\n documentSummary,\n companyHasLogo,\n isLogoLoading,\n logoUrl,\n })}\n </div>\n </Modal>\n );\n}\n\nExportModal.defaultProps = {\n theme: 'scrollable',\n};\n\nExportModal.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onExport: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired,\n displayCompanyLogo: PropTypes.bool,\n defaultSectionValues: PropTypes.array,\n defaultCustomizationValues: PropTypes.array,\n defaultFileFormatValues: PropTypes.array,\n theme: PropTypes.string,\n className: PropTypes.string,\n bodyClassName: PropTypes.string,\n};\n\nexport {\n Sections,\n FileFormat,\n Preview,\n Customization,\n ExportPreview,\n SuggesterItem,\n CustomNote,\n};\n\nexport default ExportModal;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___GseD8\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___14rHY\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___1KlLD\",\"container\":\"styles-module__container___3Chqv\",\"title\":\"styles-module__title___1tb32\",\"dimensions\":\"styles-module__dimensions___33BcE\",\"footer\":\"styles-module__footer___l9Sjb\",\"icon\":\"styles-module__icon___3u5WX\",\"customFieldsIcon\":\"styles-module__customFieldsIcon___2yITw\",\"customFieldsLink\":\"styles-module__customFieldsLink___2ve_Y\",\"noResults\":\"styles-module__noResults___1xb_3\",\"tabContent\":\"styles-module__tabContent___XvQq2\",\"tabsContainer\":\"styles-module__tabsContainer___2pYaF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2iOdg\",\"card\":\"styles-module__card___-EZAL\",\"avatarContainer\":\"styles-module__avatarContainer___2UseF\",\"avatar\":\"styles-module__avatar___2nmjm\",\"contact\":\"styles-module__contact___2DqHc\",\"partyIcon\":\"styles-module__partyIcon___WhDlp\",\"title\":\"styles-module__title___vRAOO\",\"description\":\"styles-module__description___2ywX7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pageHeader\":\"styles-module__pageHeader___3nkEd\",\"subProductTitle\":\"styles-module__subProductTitle___2bwrF\",\"filters\":\"styles-module__filters___HOT_A\",\"filtersContent\":\"styles-module__filtersContent___3_QRp\",\"body\":\"styles-module__body___1O8IS\",\"listEvents\":\"styles-module__listEvents___3Y7pZ\",\"calendar\":\"styles-module__calendar___18QRN\",\"bottom\":\"styles-module__bottom___avIKZ\",\"paginator\":\"styles-module__paginator___2ZOcH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___YUOaV\",\"content\":\"styles-module__content___DFSjs\",\"baseOption\":\"styles-module__baseOption___1r_zL\",\"keyword\":\"styles-module__keyword___1YRbY\",\"tags\":\"styles-module__tags___2Zkn2\",\"flexNone\":\"styles-module__flexNone___3sEbq\",\"regularRecordType\":\"styles-module__regularRecordType___1oY57\",\"keywordForm\":\"styles-module__keywordForm___2Rs6S\",\"rangeDates\":\"styles-module__rangeDates___2rr-B\",\"date\":\"styles-module__date___20xR_\",\"searchContainer\":\"styles-module__searchContainer___1WgCb\",\"clearAll\":\"styles-module__clearAll___3wYtD\"};","export const transformCommentForBE = comment => (\n {\n record_id: comment.parentId,\n record_type: comment.parentType,\n text: comment.text.trim(),\n }\n);\n\nexport const transformCommentForUI = comment => ({\n user: {\n name: comment.user.full_name,\n photoUrl: comment.user.profile_img_url,\n id: comment.user.id,\n email: comment.user.email,\n },\n content: comment.text,\n id: comment.id,\n repliesCount: comment.replies_count || 0,\n createdAt: comment.created_at,\n});\n","import { error as errorNotification } from 'components/core/Notification';\n\nexport const generalFailNotification = (error) => {\n errorNotification('Something went wrong. Please try again.')();\n\n throw error;\n};\n","import { transformCommentForBE } from './transformers';\nimport { generalFailNotification } from '../utils/notifications';\n\nconst PER_PAGE = 4;\nconst MAX_PER_PAGE = 100;\n\nexport const fetchComments = ({\n parentId,\n parentType,\n createdAtBefore,\n shouldLoadAllComments,\n}) => {\n const url = '/api_web/comments';\n const method = 'GET';\n const perPage = shouldLoadAllComments ? MAX_PER_PAGE : PER_PAGE;\n\n const data = {\n record_id: parentId,\n record_type: parentType,\n created_at_before: createdAtBefore && moment(createdAtBefore).toISOString(),\n per_page: perPage,\n };\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n\nexport const saveComment = (comment) => {\n const url = '/api_web/comments';\n const method = 'POST';\n const data = transformCommentForBE(comment);\n\n const ajax = $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n\nexport const updateComment = ({ id, text }) => {\n const url = `/api_web/comments/${id}`;\n const method = 'PUT';\n const data = { text };\n\n const ajax = $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n\nexport const deleteComment = (id) => {\n const url = `/api_web/comments/${id}`;\n const method = 'DELETE';\n\n const ajax = $.ajax({\n url,\n method,\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n","import { generalFailNotification } from '../utils/notifications';\n\nconst PER_PAGE = 4;\nconst MAX_PER_PAGE = 100;\n\nexport const fetchReplies = ({ parentId, createdAtBefore, shouldLoadAllReplies }) => {\n const url = `/api_web/comments/${parentId}/replies`;\n const method = 'GET';\n const perPage = shouldLoadAllReplies ? MAX_PER_PAGE : PER_PAGE;\n const data = {\n created_at_before: createdAtBefore && moment(createdAtBefore).toISOString(),\n per_page: perPage,\n };\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n\nexport const saveReply = (parentId, text) => {\n const url = `/api_web/comments/${parentId}/replies`;\n const method = 'POST';\n const data = { text };\n\n const ajax = $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n\nexport const updateReply = (parentId, { id, text }) => {\n const url = `/api_web/comments/${parentId}/replies/${id}`;\n const method = 'PUT';\n const data = { text };\n\n const ajax = $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n\nexport const deleteReply = (parentId, id) => {\n const url = `/api_web/comments/${parentId}/replies/${id}`;\n const method = 'DELETE';\n\n const ajax = $.ajax({\n url,\n method,\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .catch(generalFailNotification);\n};\n","export {\n fetchComments,\n saveComment,\n updateComment,\n deleteComment,\n} from './comments';\n\nexport {\n fetchReplies,\n saveReply,\n updateReply,\n deleteReply,\n} from './replies';\n\nexport {\n transformCommentForBE,\n transformCommentForUI,\n} from './transformers';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardGroup\":\"styles-module__cardGroup___2QnNw\",\"checkbox\":\"styles-module__checkbox___8FGH3\",\"card\":\"styles-module__card___1ipZd\",\"content\":\"styles-module__content___27bEf\",\"image\":\"styles-module__image___3JllO\",\"text\":\"styles-module__text___1coOS\",\"sentiment\":\"styles-module__sentiment___jHNoV\",\"author\":\"styles-module__author___tfWpS\",\"date\":\"styles-module__date___20eEN\",\"share\":\"styles-module__share___2RkWv\",\"rightContent\":\"styles-module__rightContent___pQjHW\",\"title\":\"styles-module__title___3H5_d\",\"mentions\":\"styles-module__mentions___qtFu5\",\"mention\":\"styles-module__mention___2PKCx\",\"footer\":\"styles-module__footer___2O33N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"historicalContainer\":\"styles-module__historicalContainer___2ivat\",\"multiLabel\":\"styles-module__multiLabel___1E_px\",\"selectLabel\":\"styles-module__selectLabel___10iru\",\"textIncludesInput\":\"styles-module__textIncludesInput___2BfEe\",\"textExcludesInput\":\"styles-module__textExcludesInput___1-7X8\",\"allStatesSelectCheckbox\":\"styles-module__allStatesSelectCheckbox___dvFj5\",\"allStatesTitle\":\"styles-module__allStatesTitle___AkVpW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"styles-module__error___1sZQv\",\"placeholder\":\"styles-module__placeholder___tGrvT\",\"title\":\"styles-module__title___pLNMP\",\"text\":\"styles-module__text___1C2fX\",\"container\":\"styles-module__container___2sq1n\",\"errorPdf\":\"styles-module__errorPdf___1FVC-\",\"originalSource\":\"styles-module__originalSource___eLgrH\",\"iconClassName\":\"styles-module__iconClassName___3aoEW\",\"titleClassName\":\"styles-module__titleClassName___eec0g\",\"descriptionClassName\":\"styles-module__descriptionClassName____Qcv2\",\"iframe\":\"styles-module__iframe___3ysxB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___3kQD9\",\"container\":\"styles-module__container___1gz39\",\"card\":\"styles-module__card___3AYQr\",\"cardHeader\":\"styles-module__cardHeader___IXxq3\",\"cardFooter\":\"styles-module__cardFooter___1vCip\",\"content\":\"styles-module__content___3vkiF\",\"label\":\"styles-module__label___1vhQn\",\"bodyBackground\":\"styles-module__bodyBackground___biuWZ\",\"zeroState\":\"styles-module__zeroState___1mh--\",\"body\":\"styles-module__body___3trAZ\",\"spacing\":\"styles-module__spacing___1ooOV\",\"infoText\":\"styles-module__infoText___3olWK\",\"header\":\"styles-module__header___3ibs2\",\"value\":\"styles-module__value___125q2\",\"info\":\"styles-module__info___29A0s\",\"bold\":\"styles-module__bold___1RHE6\",\"capitalizedText\":\"styles-module__capitalizedText___2wK5Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___34dgP\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3ApKL\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___p7ZJe\",\"container\":\"styles-module__container___MhkbD\",\"withProductBar\":\"styles-module__withProductBar___1yXzU\",\"sidebar\":\"styles-module__sidebar___2YOd2\",\"listItem\":\"styles-module__listItem___3IZwR\",\"button\":\"styles-module__button___ZU4Z-\",\"buttonActive\":\"styles-module__buttonActive___30lsO\",\"withNavigationV2Sidebar\":\"styles-module__withNavigationV2Sidebar___1qSdF\",\"withProductBarSidebar\":\"styles-module__withProductBarSidebar___2nnzY\",\"content\":\"styles-module__content___3rIjR\",\"withNavigationV2Content\":\"styles-module__withNavigationV2Content___2OYjA\",\"closeButton\":\"styles-module__closeButton___t0gM3\",\"menuActive\":\"styles-module__menuActive___L_Csl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___vr9xA\",\"base\":\"styles-module__base___iARCw\",\"selector\":\"styles-module__selector___nl-9N\",\"value\":\"styles-module__value___2IdYs\",\"addons\":\"styles-module__addons___2Gbpb\",\"invalid\":\"styles-module__invalid___1oWyj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"controlBorder\":\"1px solid #e8ebef\",\"controlBackground\":\"linear-gradient(to bottom, #ffffff, #f4f6fe)\",\"controlOpenBackground\":\"#ffffff\",\"controlOpenBorderRadius\":\"0 5px 0 0\",\"controlBorderRadius\":\"0 5px 5px 0\",\"menuBorderRadius\":\"5px\",\"optionSelectedBackground\":\"#f4f6fe\",\"optionHoverBackground\":\"#e8ebef\",\"optionColor\":\"#080c38\",\"mediumControlHeight\":\"42px\",\"mediumErrorControlHeight\":\"42px\",\"borderError\":\"1px solid #f37575\"};","import PropTypes from 'prop-types';\n\nconst customField = PropTypes.shape({\n description: PropTypes.string.isRequired,\n fieldType: PropTypes.string.isRequired,\n token: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.string),\n required: PropTypes.bool.isRequired,\n});\n\nexport default customField;\n","import PropTypes from 'prop-types';\n\nconst controlState = PropTypes.shape({\n error: PropTypes.string,\n value: PropTypes.array,\n});\n\nexport default controlState;\n","import isEmpty from 'lodash/isEmpty';\n\nexport default function normalizeControlValue(value = []) {\n return isEmpty(value) ? '' : value[0];\n}\n","export default function normalizeEventTarget(event, targetProps) {\n const { target } = event;\n\n return {\n ...event,\n target: {\n ...target,\n ...targetProps,\n },\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\n\nimport { QuestionMark } from 'components/core/Icons';\nimport { TOOLTIP_OFFSET } from 'utils/constants';\nimport { tooltipZIndex } from 'style/global/_variables.scss';\n\nimport styles from './styles.module.scss';\n\nfunction TooltipComponent({ content, theme }) {\n if (!content) {\n return null;\n }\n\n return (\n <div className={styles.tooltip}>\n <Tooltip\n content={content}\n theme={theme}\n placement=\"bottom\"\n offset={TOOLTIP_OFFSET}\n zIndex={tooltipZIndex}\n >\n <QuestionMark className={styles.tooltipIcon} />\n </Tooltip>\n </div>\n );\n}\n\nTooltipComponent.propTypes = {\n content: PropTypes.string,\n theme: PropTypes.string,\n};\n\nexport default TooltipComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from 'components/core/Input';\nimport Label from 'components/core/Label';\nimport Asterisk from 'components/core/Asterisk';\nimport { INPUT_TYPE_SLUG, NUMERIC_TYPE_SLUG } from 'components/core/CustomFields/utils/constants';\n\nimport customFieldShape from '../../shapes/customField';\nimport controlStateShape from '../../shapes/controlState';\nimport normalizeControlValue from '../../utils/normalizeControlValue';\nimport normalizeEventTarget from '../../utils/normalizeEventTarget';\nimport Tooltip from '../../components/Tooltip';\n\nconst inputTypes = {\n [NUMERIC_TYPE_SLUG]: 'number',\n [INPUT_TYPE_SLUG]: 'text',\n};\n\nexport default function InputControl({ field, state, onChange, placeholder, tooltipTheme, ...restProps }) {\n const { token, description, fieldType, name, required } = field;\n const { value, error } = state;\n const type = inputTypes[fieldType] || inputTypes[INPUT_TYPE_SLUG];\n const controlValue = normalizeControlValue(value);\n\n function handleChange(event) {\n const { target } = event;\n const newValue = [target.value];\n const options = { value: newValue, id: token };\n const normalizedEvent = normalizeEventTarget(event, options);\n\n onChange(normalizedEvent);\n }\n\n return (\n <>\n <Label htmlFor={token}>\n {name} <Asterisk show={required} />\n <Tooltip content={description} theme={tooltipTheme} />\n </Label>\n <Input\n {...restProps}\n errorMessage={error}\n value={controlValue}\n placeholder={placeholder}\n type={type}\n onChange={handleChange}\n />\n </>\n );\n}\n\nInputControl.propTypes = {\n field: customFieldShape.isRequired,\n state: controlStateShape,\n placeholder: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n tooltipTheme: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport Checkbox from 'components/core/Checkbox';\nimport LabelGroup from 'components/core/LabelGroup';\nimport Label from 'components/core/Label';\nimport Asterisk from 'components/core/Asterisk';\n\nimport customFieldShape from '../../shapes/customField';\nimport controlStateShape from '../../shapes/controlState';\nimport normalizeEventTarget from '../../utils/normalizeEventTarget';\nimport Tooltip from '../../components/Tooltip';\nimport styles from '../styles.module.scss';\n\nexport default function CheckboxControl({ field, state, onChange, tooltipTheme, ...restProps }) {\n const { description, token, options, name, required } = field;\n const { value, error } = state;\n\n const anyAnswer = option => value.includes(option);\n\n function removeOption(option) {\n return value.filter(item => item !== option);\n }\n\n function addOption(option) {\n return [...value, option];\n }\n\n function handleChange(event) {\n const { target } = event;\n const { value: newValue, checked } = target;\n const values = checked ? addOption(newValue) : removeOption(newValue);\n const normalizedEvent = normalizeEventTarget(event, { id: token, value: values });\n\n onChange(normalizedEvent);\n }\n\n return (\n <>\n <Label htmlFor={token}>\n {name} <Asterisk show={required} />\n <Tooltip content={description} theme={tooltipTheme} />\n </Label>\n <LabelGroup containerClassName={styles.options}>\n {\n options.map(option => (\n <Checkbox\n {...restProps}\n key={`checkbox-${option}`}\n label={option}\n value={option}\n isChecked={anyAnswer(option)}\n onChange={handleChange}\n />\n ))\n }\n </LabelGroup>\n <ErrorMessage message={error} />\n </>\n );\n}\n\nCheckboxControl.propTypes = {\n field: customFieldShape.isRequired,\n state: controlStateShape,\n onChange: PropTypes.func.isRequired,\n tooltipTheme: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label from 'components/core/Label';\nimport RadioBox from 'components/core/RadioBox';\nimport LabelGroup from 'components/core/LabelGroup';\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport Asterisk from 'components/core/Asterisk';\n\nimport customFieldShape from '../../shapes/customField';\nimport controlStateShape from '../../shapes/controlState';\nimport normalizeEventTarget from '../../utils/normalizeEventTarget';\nimport Tooltip from '../../components/Tooltip';\nimport styles from '../styles.module.scss';\n\nexport default function RadioboxControl({ field, state, onChange, tooltipTheme, ...restProps }) {\n const { token, description, options, name, required } = field;\n const { value, error } = state;\n\n const anyAnswer = option => value.includes(option);\n\n function handleChange(event) {\n const { target } = event;\n const { value: newValue } = target;\n const targetOptions = { id: token, value: [newValue] };\n const normalizedEvent = normalizeEventTarget(event, targetOptions);\n\n onChange(normalizedEvent);\n }\n\n return (\n <>\n <Label htmlFor={token}>\n {name} <Asterisk show={required} />\n <Tooltip content={description} theme={tooltipTheme} />\n </Label>\n <LabelGroup containerClassName={styles.options}>\n {\n options.map(option => (\n <RadioBox\n {...restProps}\n key={`radio-box-${option}`}\n label={option}\n value={option}\n checked={anyAnswer(option)}\n onChange={handleChange}\n />\n ))\n }\n </LabelGroup>\n <ErrorMessage message={error} />\n </>\n );\n}\n\nRadioboxControl.propTypes = {\n field: customFieldShape.isRequired,\n state: controlStateShape,\n onChange: PropTypes.func.isRequired,\n tooltipTheme: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label from 'components/core/Label';\nimport Textarea from 'components/core/Textarea';\nimport Asterisk from 'components/core/Asterisk';\n\nimport customFieldShape from '../../shapes/customField';\nimport controlStateShape from '../../shapes/controlState';\nimport normalizeControlValue from '../../utils/normalizeControlValue';\nimport normalizeEventTarget from '../../utils/normalizeEventTarget';\nimport Tooltip from '../../components/Tooltip';\n\nexport default function TextareaControl({ field, state, onChange, tooltipTheme, ...restProps }) {\n const { token, description, name, required } = field;\n const { value, error } = state;\n const controlValue = normalizeControlValue(value);\n\n function handleChange(event) {\n const { target } = event;\n const newValue = [target.value];\n const targetOptions = { value: newValue, id: token };\n const normalizedEvent = normalizeEventTarget(event, targetOptions);\n\n onChange(normalizedEvent);\n }\n\n return (\n <>\n <Label htmlFor={token}>\n {name} <Asterisk show={required} />\n <Tooltip content={description} theme={tooltipTheme} />\n </Label>\n <Textarea\n {...restProps}\n value={controlValue}\n placeholder=\"\"\n errorMessage={error}\n onChange={handleChange}\n />\n </>\n );\n}\n\nTextareaControl.propTypes = {\n field: customFieldShape.isRequired,\n state: controlStateShape,\n onChange: PropTypes.func.isRequired,\n tooltipTheme: PropTypes.string,\n};\n","import moment from 'moment';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nexport default function (value) {\n if (typeof value === 'string') {\n return moment(value, GLOBAL_DATE_FORMAT);\n }\n\n return value;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport DatePicker from 'components/core/DatePicker';\nimport Label from 'components/core/Label';\nimport Asterisk from 'components/core/Asterisk';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nimport customFieldShape from '../../shapes/customField';\nimport controlStateShape from '../../shapes/controlState';\nimport normalizeEventTarget from '../../utils/normalizeEventTarget';\nimport formatStringToDate from '../../utils/formatStringToDate';\nimport Tooltip from '../../components/Tooltip';\n\nexport default function DateControl({ field, state, onChange, tooltipTheme, ...restProps }) {\n const { description, token, name, required } = field;\n const { value, error } = state;\n const formatedValue = formatStringToDate(value[0]);\n\n function handleChange(date) {\n const stringDate = date && moment(date).format(GLOBAL_DATE_FORMAT);\n const normalizedEvent = normalizeEventTarget({}, { id: token, value: [stringDate] });\n\n onChange(normalizedEvent);\n }\n\n return (\n <>\n <Label htmlFor={token}>\n {name} <Asterisk show={required} />\n <Tooltip content={description} theme={tooltipTheme} />\n </Label>\n <DatePicker\n {...restProps}\n selected={formatedValue}\n onChange={handleChange}\n />\n <ErrorMessage message={error} />\n </>\n );\n}\n\nDateControl.propTypes = {\n field: customFieldShape.isRequired,\n state: controlStateShape,\n onChange: PropTypes.func.isRequired,\n tooltipTheme: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Select from 'components/core/Select';\nimport Label from 'components/core/Label';\nimport Asterisk from 'components/core/Asterisk';\nimport getStyle from 'components/core/TagInput/theme';\n\nimport customFieldShape from '../../shapes/customField';\nimport controlStateShape from '../../shapes/controlState';\nimport Tooltip from '../../components/Tooltip';\nimport normalizeControlValue from '../../utils/normalizeControlValue';\n\nfunction Autocomplete({ field, state, tooltipTheme, onBlur, onChange, className, placeholder }) {\n const { token, name, required, description, options = [] } = field;\n\n const handleChange = (event) => {\n const normalizedEvent = {\n target: {\n id: token,\n value: event && [event.value],\n },\n };\n\n onChange(normalizedEvent);\n };\n\n const handleBlur = (event) => {\n const normalizedEvent = {\n target: {\n id: token,\n value: [event.value],\n },\n };\n\n onBlur(normalizedEvent);\n };\n\n const controlValue = normalizeControlValue(state.value);\n\n return (\n <>\n <Label>\n {name} <Asterisk show={required} />\n <Tooltip content={description} theme={tooltipTheme} />\n </Label>\n <Select\n className={className}\n errorMessage={state.error}\n value={controlValue}\n placeholder={placeholder}\n onChange={handleChange}\n onBlur={handleBlur}\n id={token}\n options={options.map(option => ({ label: option, value: option }))}\n customTheme={getStyle({ isError: state.error })}\n />\n </>\n );\n}\n\nAutocomplete.propTypes = {\n field: customFieldShape.isRequired,\n state: controlStateShape.isRequired,\n tooltipTheme: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n};\n\nexport default Autocomplete;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n CHECKBOX_TYPE_SLUG,\n RADIO_TYPE_SLUG,\n TEXTAREA_TYPE_SLUG,\n DATE_TYPE_SLUG,\n AUTOCOMPLETE_SLUG,\n} from 'components/core/CustomFields/utils/constants';\n\nimport InputControl from './controls/InputControl';\nimport CheckboxControl from './controls/CheckboxControl';\nimport RadioboxControl from './controls/RadioboxControl';\nimport TextareaControl from './controls/TextareaControl';\nimport DateControl from './controls/DateControl';\nimport Autocomplete from './controls/Autocomplete';\nimport customFieldShape from './shapes/customField';\nimport controlStateShape from './shapes/controlState';\n\nexport default function CustomField({\n field,\n controlState,\n handlers,\n styles,\n ...restProps\n}) {\n const { fieldType, token } = field;\n const { controlClass, wrapperClass } = styles;\n const { handleChange, handleBlur } = handlers;\n const commonProps = {\n onChange: handleChange,\n onBlur: handleBlur,\n className: controlClass,\n name: token,\n state: controlState,\n field,\n ...restProps,\n };\n\n function getControl() {\n switch (fieldType) {\n case CHECKBOX_TYPE_SLUG:\n return <CheckboxControl {...commonProps} />;\n\n case RADIO_TYPE_SLUG:\n return <RadioboxControl {...commonProps} />;\n\n case TEXTAREA_TYPE_SLUG:\n return <TextareaControl {...commonProps} />;\n\n case DATE_TYPE_SLUG:\n return <DateControl {...commonProps} />;\n\n case AUTOCOMPLETE_SLUG:\n return <Autocomplete {...commonProps} />;\n\n default:\n return <InputControl {...commonProps} />;\n }\n }\n\n return (\n <div key={token} className={wrapperClass}>\n {getControl()}\n </div>\n );\n}\n\nCustomField.defaultProps = {\n styles: {},\n};\n\nCustomField.propTypes = {\n field: customFieldShape,\n controlState: controlStateShape,\n handlers: PropTypes.shape({\n handleChange: PropTypes.func,\n handleBlur: PropTypes.func,\n }).isRequired,\n styles: PropTypes.shape({\n controlClass: PropTypes.string,\n wrapperClass: PropTypes.string,\n }),\n};\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport useBackToTop from './useBackToTop';\nimport styles from './styles.module.scss';\n\ntype ButtonBackToTopProps = {\n title?: string,\n className?: string,\n iconClassName?: string,\n descriptionClassName?: string,\n containerRef?: React.MutableRefObject<HTMLDivElement | null>\n};\n\nconst ButtonBackToTop: FC<ButtonBackToTopProps> = ({\n title = 'Back to the top',\n className,\n iconClassName,\n descriptionClassName,\n containerRef,\n}) => {\n const handleScrollToTop = () => {\n containerRef\n ? containerRef.current?.scrollTo({ top: 0, behavior: 'smooth' })\n : window.scrollTo({ top: 0, behavior: 'smooth' });\n };\n\n return (\n <Button\n theme=\"default\"\n size=\"none\"\n className={classNames(styles.button, className)}\n onClick={handleScrollToTop}\n >\n <div className={classNames(styles.icon, iconClassName)}>\n <i className=\"far fa-arrow-to-top\" />\n </div>\n <div className={classNames(styles.description, descriptionClassName)}>\n {title}\n </div>\n </Button>\n );\n};\n\nexport default ButtonBackToTop;\nexport { useBackToTop };\n","import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport DatePicker from 'components/core/DatePicker';\n\nimport { momentShape } from 'utils/shapes/moments';\nimport styles from './styles.module.scss';\n\nfunction DateRange({\n title,\n placeholder,\n dateFormat,\n startDate,\n maxStartDate,\n endDate,\n startDateClassName,\n endDateClassName,\n handleChangeEnd,\n handleChangeStart,\n className,\n showMonthDropdown,\n showYearDropdown,\n autoOpenEndDate,\n}) {\n const getInstanceOfDate = date => (date && date.toDate ? date.toDate() : date);\n const maxDate = getInstanceOfDate(endDate || maxStartDate);\n const minDate = getInstanceOfDate(startDate);\n const commonProps = {\n dateFormat,\n startDate: getInstanceOfDate(startDate),\n endDate: getInstanceOfDate(endDate),\n placeholder,\n showMonthDropdown,\n showYearDropdown,\n };\n\n const endCalendarRef = createRef();\n\n function onChangeStart(date) {\n handleChangeStart(date);\n autoOpenEndDate && endCalendarRef.current.setOpen(true);\n }\n\n return (\n <div className={classNames('date-range', styles.dateRange, className)}>\n {title && <span className={classNames('title', styles.text)}>{title}</span>}\n <DatePicker\n selectsStart\n selected={startDate}\n maxDate={maxDate}\n onChange={onChangeStart}\n popperPlacement=\"bottom-start\"\n className={classNames(styles.startDate, startDateClassName)}\n {...commonProps}\n />\n <span className={styles.text}>to</span>\n <DatePicker\n selected={endDate}\n selectsEnd\n onChange={handleChangeEnd}\n minDate={minDate}\n className={classNames(styles.endDate, endDateClassName)}\n popperPlacement=\"bottom-end\"\n popperClassName={styles.endDatePopper}\n forwardRef={endCalendarRef}\n {...commonProps}\n />\n </div>\n );\n}\n\nDateRange.defaultProps = {\n showMonthDropdown: false,\n showYearDropdown: false,\n startDateClassName: null,\n endDateClassName: null,\n autoOpenEndDate: true,\n};\n\nDateRange.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n dateFormat: PropTypes.string,\n startDateClassName: PropTypes.string,\n endDateClassName: PropTypes.string,\n maxStartDate: PropTypes.shape(momentShape),\n startDate: PropTypes.shape(momentShape),\n endDate: PropTypes.shape(momentShape),\n handleChangeEnd: PropTypes.func.isRequired,\n handleChangeStart: PropTypes.func.isRequired,\n className: PropTypes.string,\n showMonthDropdown: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n autoOpenEndDate: PropTypes.bool,\n};\n\nexport default DateRange;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { getIsTracking } from 'components/core/Table/components/ColumnItem/ActionsItem/utils';\nimport TrackButton, { subscriptionInfoShape } from 'components/core/TrackButton';\nimport { tagShape, listSubscriptionsShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { positions } from 'components/core/ButtonPosition/utils/constants';\nimport { notifySetPosition } from 'components/Dashboard/common/UserNotifications';\nimport PositionButton from 'components/core/ButtonPosition';\nimport ViewTags from 'components/core/ViewTags';\nimport { workspaceShape } from 'redux/events/utils/shapes';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\n\nimport { subscriptionsShape } from '../../utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction CallToActions({\n withTrack,\n withPosition,\n withWeekAheadEmail,\n isCommittee,\n isLoadingSubscription,\n isMultipleSubscription,\n isLoadingMyFeedDocuments,\n isLoadingTags,\n isMobile,\n id,\n tags = [],\n documentType,\n itemType,\n className,\n containerClassName,\n defaultSubscription,\n position,\n placeholderClassName,\n positionClassName,\n shouldDisplayIcon,\n subscriptions,\n listSubscriptions,\n onUpdateTrackings,\n updateCommitteeSubscriptions,\n onTagClick,\n emptyTagsPlaceholder,\n withBadges,\n feedToken,\n sharings,\n trackings,\n}) {\n const isTracking = getIsTracking(trackings);\n const subscriptionInfo = { withWeekAheadEmail, isMultipleSubscription };\n const commonProps = {\n recordId: id,\n recordType: documentType,\n isMobile,\n };\n\n const updateParams = {\n modelId: id,\n id,\n };\n\n function handleSetPosition(newPosition) {\n notifySetPosition({\n itemType,\n positionLabel: positions[newPosition].label,\n });\n }\n\n const isLoadingWorkspaceTags = isLoadingSubscription || isLoadingMyFeedDocuments;\n\n return (\n <div className={classNames(styles.container, containerClassName)}>\n {withBadges && (\n <div className={styles.badgesContainer}>\n <ViewTags\n subscriptions={subscriptions}\n isLoading={isLoadingTags || isLoadingWorkspaceTags}\n tags={tags}\n onClick={onTagClick}\n className={classNames(styles.badges, className)}\n emptyValue={emptyTagsPlaceholder}\n sharings={sharings}\n trackings={trackings}\n displayAllWorkspaces\n withInteractiveTags\n />\n </div>\n )}\n <div className={styles.callToActions}>\n {withTrack && (\n <TrackButton\n {...commonProps}\n isTracking={isTracking}\n isCommittee={isCommittee}\n isLoadingTracking={isLoadingSubscription}\n shouldDisplayIcon={shouldDisplayIcon}\n itemType={itemType}\n updateParams={updateParams}\n defaultSubscription={defaultSubscription}\n subscriptionInfo={subscriptionInfo}\n listSubscriptions={listSubscriptions}\n updateDataItem={onUpdateTrackings}\n updateCommitteeSubscriptions={updateCommitteeSubscriptions}\n feedToken={feedToken}\n trackings={trackings}\n withButtonContent\n />\n )}\n\n {withPosition && (\n <PositionButton\n {...commonProps}\n containerClassName={positionClassName}\n placeholderClassName={placeholderClassName}\n position={position}\n handleSetPosition={handleSetPosition}\n shouldFetchOnInit\n isLoadingPosition\n />\n )}\n </div>\n </div>\n );\n}\n\nCallToActions.defaultProps = {\n withBadges: true,\n};\n\nCallToActions.propTypes = {\n withPosition: PropTypes.bool,\n isLoadingMyFeedDocuments: PropTypes.bool,\n isCommittee: PropTypes.bool,\n isMobile: PropTypes.bool,\n isLoadingTags: PropTypes.bool,\n id: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n documentType: PropTypes.string,\n tags: PropTypes.arrayOf(tagShape),\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n itemType: PropTypes.string,\n subscription: subscriptionInfoShape,\n subscriptions: subscriptionsShape,\n listSubscriptions: listSubscriptionsShape,\n withTrack: PropTypes.bool,\n withWeekAheadEmail: PropTypes.bool,\n isLoadingSubscription: PropTypes.bool,\n isMultipleSubscription: PropTypes.bool,\n defaultSubscription: PropTypes.string,\n placeholderClassName: PropTypes.string,\n positionClassName: PropTypes.string,\n position: PropTypes.string,\n shouldDisplayIcon: PropTypes.bool,\n onUpdateTrackings: PropTypes.func,\n updateCommitteeSubscriptions: PropTypes.func,\n onTagClick: PropTypes.func,\n emptyTagsPlaceholder: PropTypes.node,\n withBadges: PropTypes.bool,\n feedToken: PropTypes.string,\n sharings: PropTypes.arrayOf(workspaceShape),\n trackings: PropTypes.arrayOf(trackingShape),\n};\n\nexport default CallToActions;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"styles-module__item___3-ixr\",\"checkboxWithStars\":\"styles-module__checkboxWithStars___1xiwb\",\"checkboxWithoutBorders\":\"styles-module__checkboxWithoutBorders___2jveA\",\"placeholder\":\"styles-module__placeholder___3MaFR\",\"removedLabel\":\"styles-module__removedLabel___gI18K\"};","import PropTypes from 'prop-types';\n\nexport const mentionDataShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n display: PropTypes.string.isRequired,\n});\n\nexport const mentionShape = PropTypes.shape({\n trigger: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(mentionDataShape),\n strategySlug: PropTypes.string,\n});\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport RichOption from 'components/core/Select/components/RichOption';\nimport fetcher from 'utils/fetcher';\n\nimport { mentionShape, mentionDataShape } from './shapes.js';\nimport styles from '../styles/styles.module.scss';\n\nexport const createFetchFunction = strategySlug => (query, callback) => {\n if (!query) return;\n\n const transformQueryResult = result => result.map(\n ({\n label,\n value,\n type,\n ...rest\n }) => ({\n id: `${type}:${value}`,\n display: label,\n type,\n ...rest,\n })\n );\n fetcher({ strategySlug, inputText: query })\n .then(transformQueryResult)\n .then(callback);\n};\n\n// react-mention compose the mention just by display and id, so in order to have\n// the whole data, the id we create for react-mention is recordType:recordId\nexport const formatMention = ({ id, display }) => ({\n display,\n type: id.split(':')[0],\n id: id.split(':')[1],\n});\n\nexport const createOnAddFunction = (prop, setFieldValue, data) => (id, label) => {\n const [type, value] = id.split(':');\n\n setFieldValue(prop, [...data, { label, value, type }]);\n};\n\nexport const renderSuggestion = (\n suggestion,\n search,\n highlightedDisplay,\n index,\n focused\n) => {\n const { display, id, ...rest } = suggestion;\n\n return (\n <div key={id} className={classNames(styles.suggestion, focused && styles.suggestionFocused)}>\n <RichOption\n label={display}\n inputValue={search}\n {...rest}\n />\n </div>\n );\n};\n\n// React-Mentions returns an empty event and we need to add a name for Formik\nexport const createFormikHandleFunction = (onFunction, name) => event => onFunction({\n ...event,\n target: {\n ...event.target,\n name,\n },\n});\n\nexport const buildMention = ({ trigger, strategySlug, data, ...restProps }) => ({\n markup: `${trigger}[__display__](__id__)`,\n trigger,\n data: data || createFetchFunction(strategySlug),\n renderSuggestion,\n displayTransform: (id, label) => `${trigger}${label}`,\n appendSpaceOnAdd: true,\n ...restProps,\n});\n\nexport const buildOnChangeEventParams = ({ event, newValue, newPlainTextValue, allMentions }) => ({\n ...event,\n target: {\n ...event.target,\n value: newValue, // it fixes a react-mentions bug https://github.com/signavio/react-mentions/issues/450#issue-752391781\n newValue,\n newPlainTextValue,\n allMentions,\n },\n});\n\nexport { mentionShape, mentionDataShape };\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport styles from '../styles/styles.module.scss';\nimport defaultTheme from '../styles/defaultTheme.module.scss';\nimport contentTheme from '../styles/contentTheme.module.scss';\nimport invalidStyles from '../styles/invalid.module.scss';\n\nexport const THEMES = {\n default: defaultTheme,\n justContent: contentTheme,\n};\n\nexport const classNamesShape = {\n mentions: PropTypes.string,\n mentionsSuggestions: PropTypes.string,\n suggestion: PropTypes.string,\n suggestionFocused: PropTypes.string,\n mentionsInput: PropTypes.string,\n mentionsHighlighter: PropTypes.string,\n mentionsControl: PropTypes.string,\n};\n\nexport const buildClassNames = (fieldClassNames, theme, isError) => ({\n mentions: classNames(\n styles.mentions,\n THEMES[theme].mentions,\n fieldClassNames.mentions,\n isError && invalidStyles.mentions,\n ),\n mentions__suggestions: classNames(\n styles.mentionsSuggestions,\n THEMES[theme].mentionsSuggestions,\n fieldClassNames.mentionsSuggestions,\n isError && invalidStyles.mentionsSuggestions,\n ),\n mentions__suggestions__list: classNames(\n styles.mentionsSuggestionsList,\n THEMES[theme].mentionsSuggestionsList,\n fieldClassNames.mentionsSuggestionsList,\n isError && invalidStyles.mentionsSuggestionsList,\n ),\n suggestion: classNames(\n styles.suggestion,\n THEMES[theme].suggestion,\n fieldClassNames.suggestion,\n isError && invalidStyles.suggestion,\n ),\n suggestionFocused: classNames(\n styles.suggestionFocused,\n THEMES[theme].suggestionFocused,\n fieldClassNames.suggestionFocused,\n isError && invalidStyles.suggestionFocused,\n ),\n mentions__input: classNames(\n styles.mentionsInput,\n THEMES[theme].mentionsInput,\n fieldClassNames.mentionsInput,\n isError && invalidStyles.mentionsInput,\n ),\n mentions__highlighter: classNames(\n styles.mentionsHighlighter,\n THEMES[theme].mentionsHighlighter,\n fieldClassNames.mentionsHighlighter,\n isError && invalidStyles.mentionsHighlighter,\n ),\n mentions__control: classNames(\n styles.mentionsControl,\n THEMES[theme].mentionsControl,\n fieldClassNames.mentionsControl,\n isError && invalidStyles.mentionsControl,\n ),\n});\n","export const URL_PER_TYPE = {\n federal_staffer: ({ recordId }) => `/federal/congressional_staffers/${recordId}`,\n federal_legislator: ({ recordId }) => `/federal/legislators/${recordId}`,\n federal_bill: ({ recordId }) => `/federal/bills/${recordId}`,\n state_staffer: ({ recordId }) => `/state/staffers/${recordId}`,\n state_bill: ({ recordId }) => `/state/bills/${recordId}`,\n state_legislator: ({ recordId }) => `/state/legislators/${recordId}`,\n colleague: () => {},\n stakeholder: ({ recordId }) => `/stakeholder_management/stakeholder/${recordId}`,\n};\n","import React from 'react';\nimport { split, map } from 'lodash';\n\nimport Link from 'components/core/Link';\nimport { customError } from 'utils/customError';\nimport { getUrlWithBase } from 'utils/url';\n\nimport { URL_PER_TYPE } from './constants';\nimport styles from './styles.module.scss';\n\nexport const defaultRenderMention = mention => (\n <Link href={mention.url} theme=\"link\" className={styles.link}>\n {`${mention.trigger}${mention.label}`}\n </Link>\n);\n\nexport const defaultBuildLink = (type, recordId) => {\n if (!URL_PER_TYPE[type]) {\n customError(`Mention link not defined for ${type} type`);\n return null;\n }\n\n const url = URL_PER_TYPE[type]({ recordId });\n return url && getUrlWithBase(url);\n};\n\nconst PLAIN_MENTION_REGEXP = /([@#]\\[[^\\]]+\\]\\([\\w-]+:[\\w-]+\\))/ig;\n// First Group => Trigger\n// Second Group => Label\n// Third Group => Type\n// Fourth Group => Id\nconst GROUPED_MENTION_REGEXP = /([@#])\\[([^\\]]+)\\]\\(([\\w-]+):([\\w-]+)\\)/i;\n\nconst textStartsWithMention = value => value.search(PLAIN_MENTION_REGEXP) === 0;\n\nexport const getParseMention = buildLink => (\n (value) => {\n if (!textStartsWithMention(value)) {\n return { text: value, isMention: false };\n }\n\n const mentionData = value.match(GROUPED_MENTION_REGEXP);\n\n const [\n text,\n trigger,\n label,\n type,\n id,\n ] = mentionData;\n\n return {\n text,\n trigger,\n label,\n type,\n id,\n url: buildLink(type, id),\n isMention: true,\n };\n }\n);\n\nexport const getContentWithParsedMentions = (content, buildLink) => {\n // split content into plain text and each group of the Regexp\n const parseMention = getParseMention(buildLink);\n const splittedContent = split(content, PLAIN_MENTION_REGEXP);\n return map(splittedContent, parseMention);\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport textToHyperLink from 'utils/textToHyperLink';\n\nimport {\n defaultRenderMention,\n defaultBuildLink,\n getContentWithParsedMentions,\n} from './utils';\nimport styles from './styles.module.scss';\n\nfunction TextWithMentions({ children, renderMention, buildLink, isPDF }) {\n const contentWithParsedMention = getContentWithParsedMentions(children, buildLink);\n\n return (\n <>\n {contentWithParsedMention.map(\n ({ isMention, ...contentSlice }, index) => (\n // In general, using index in key may cause some problems,\n // but since it is only view component, that is enough\n // eslint-disable-next-line react/no-array-index-key\n <Fragment key={`${index}:${contentSlice.text}`}>\n {(isMention || isPDF) ? renderMention(contentSlice) : textToHyperLink({ text: contentSlice.text, className: styles.hyperlink })}\n </Fragment>\n )\n )}\n </>\n );\n}\n\nTextWithMentions.defaultProps = {\n renderMention: defaultRenderMention,\n buildLink: defaultBuildLink,\n isPDF: false,\n};\n\nTextWithMentions.propTypes = {\n children: PropTypes.string.isRequired,\n renderMention: PropTypes.func,\n buildLink: PropTypes.func,\n isPDF: PropTypes.bool,\n};\n\nexport default TextWithMentions;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { MentionsInput, Mention } from 'react-mentions';\nimport {\n uniqWith,\n isEmpty,\n isEqual,\n xorWith,\n map,\n} from 'lodash';\n\nimport ErrorMessage from 'components/core/ErrorMessage';\n\nimport {\n buildMention,\n createFetchFunction,\n renderSuggestion,\n createOnAddFunction,\n createFormikHandleFunction,\n mentionShape,\n formatMention,\n buildOnChangeEventParams,\n} from './utils';\nimport { THEMES, buildClassNames, classNamesShape } from './utils/styles';\nimport TextWithMentions from './components/TextWithMentions';\n\nfunction TextareaWithMentions({\n mentionsData,\n onChange,\n onMentionsChange,\n onBlur,\n value,\n isError,\n theme,\n classNames,\n errorMessage,\n ...restProps\n}) {\n const [currentMentions, setCurrentMentions] = useState([]);\n const builtMentions = mentionsData.map(buildMention);\n const hasError = isError || !isEmpty(errorMessage);\n\n const handleChange = (event, newValue, newPlainTextValue, allMentions) => {\n onChange && onChange(\n buildOnChangeEventParams({\n event,\n newValue,\n newPlainTextValue,\n allMentions,\n })\n );\n\n const mentions = uniqWith(\n allMentions.map(formatMention),\n isEqual\n );\n const differentMentions = xorWith(mentions, currentMentions, isEqual);\n if (!isEmpty(differentMentions)) {\n onMentionsChange && onMentionsChange(mentions);\n setCurrentMentions(mentions);\n }\n };\n\n return (\n <>\n <MentionsInput\n value={value}\n onChange={handleChange}\n onBlur={onBlur}\n allowSuggestionsAboveCursor\n classNames={buildClassNames(classNames, theme, hasError)}\n {...restProps}\n >\n {\n map(builtMentions, mentionData => (\n <Mention key={mentionData.trigger} {...mentionData} />\n ))\n }\n </MentionsInput>\n <ErrorMessage message={errorMessage} />\n </>\n );\n}\n\nTextareaWithMentions.defaultProps = {\n theme: 'default',\n classNames: {},\n isError: false,\n};\n\nTextareaWithMentions.propTypes = {\n mentionsData: PropTypes.arrayOf(mentionShape).isRequired,\n onChange: PropTypes.func,\n onMentionsChange: PropTypes.func,\n onBlur: PropTypes.func,\n value: PropTypes.string.isRequired,\n errorMessage: PropTypes.string,\n isError: PropTypes.bool,\n theme: PropTypes.oneOf(Object.keys(THEMES)),\n classNames: PropTypes.shape(classNamesShape),\n};\n\nexport default TextareaWithMentions;\nexport {\n createFetchFunction,\n renderSuggestion,\n createOnAddFunction,\n createFormikHandleFunction,\n TextWithMentions,\n mentionShape,\n};\n","export const MOBILE_NUMBER_PAGES = 5;\nexport const DESKTOP_NUMBER_PAGES = 10;\nexport const DEFAULT_PAGE_SIZE = 25;\nexport const DEFAULT_INITIAL_PAGE = 1;\nexport const DEFAULT_DEBOUNCE_TIME = 100;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipLink\":\"styles-module__tooltipLink___2oLVA\",\"column\":\"styles-module__column___3isaT\",\"link\":\"styles-module__link___24KRN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3r2TR\",\"group\":\"styles-module__group___3jZzo\",\"draggable\":\"styles-module__draggable___QmS0f\",\"draggableDisabled\":\"styles-module__draggableDisabled___3TcN-\",\"draggableCopy\":\"styles-module__draggableCopy___Q593w\",\"dragging\":\"styles-module__dragging___3Hqdu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___kEQWe\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3cv7E\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___dTveF\",\"container\":\"styles-module__container___7qgez\",\"isSticky\":\"styles-module__isSticky___2b0Pm\",\"withProductBar\":\"styles-module__withProductBar___1tsam\",\"wrapper\":\"styles-module__wrapper___18Pj6\",\"content\":\"styles-module__content___VoPr8\"};","export const MOBILE_LENGTH = 80;\n\nexport const DESKTOP_LENGTH = 220;\n\nexport const SIZES = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n};\n","export function fetchLinksPreview(urls) {\n const requestUrl = '/api_web/opengraph/';\n const data = { urls };\n\n const ajax = $.ajax({\n method: 'POST',\n url: requestUrl,\n data,\n });\n\n return Promise.resolve(ajax);\n}\n","import { isEmpty, find, map, nth, omit, omitBy, pick, reduce } from 'lodash';\n\nimport extractUrls from 'utils/extract-urls';\n\nexport const transformPreviewDataToFE = items => map(items, ({ og_data: ogData, url }) => ({\n ...pick(ogData, ['image', 'description', 'title']),\n url,\n}));\n\nfunction getFirstExtractedUrl(text) {\n const extractedUrls = extractUrls(text);\n\n return nth(extractedUrls, 0);\n}\n\nexport const getCardsUrlToPreview = cards => omitBy(\n reduce(\n cards,\n (result, card) => ({\n ...result,\n [card.id]: getFirstExtractedUrl(card.description),\n }),\n {}\n ),\n isEmpty\n);\n\nexport const removeCardsLinkPreview = ({ cardsLinkPreview, updatedCards }) => {\n const cardsId = map(updatedCards, 'id');\n\n return omit(cardsLinkPreview, cardsId);\n};\n\nexport const getUpdatedLinksPreview = (\n oldLinksPreview,\n {\n cardsLink,\n linksPreview,\n repeatFetch = false,\n }\n) => {\n const newLinksPreview = reduce(cardsLink, (result, link, key) => {\n const urlPreview = find(linksPreview, { url: link });\n const isDefault = isEmpty(urlPreview) && !repeatFetch;\n\n return {\n ...result,\n [key]: isDefault ? { url: link } : urlPreview,\n };\n }, {});\n\n return {\n ...oldLinksPreview,\n ...newLinksPreview,\n };\n};\n","import React from 'react';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nconst Placeholder = () => (\n <div className={styles.container}>\n <span className={styles.img} />\n <div className={styles.content}>\n <TextPlaceholder className={styles.title} />\n <TextPlaceholder className={styles.description} />\n <TextPlaceholder className={styles.url} />\n </div>\n </div>\n);\n\nexport default Placeholder;\n","import React from 'react';\nimport { isEmpty, truncate, isEqual } from 'lodash';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport addProtocolToUrl from 'utils/addProtocolToUrl';\nimport { getUrlHostname } from 'utils/url';\n\nimport { MOBILE_LENGTH, DESKTOP_LENGTH, SIZES } from './constants';\nimport styles from './styles.module.scss';\n\nfunction LinkPreview({\n target,\n className,\n title,\n description,\n image,\n url,\n mobileSize,\n desktopSize,\n size,\n show,\n}) {\n const { isMobile } = useMediaQuery();\n\n if (!show) return null;\n\n const sizes = {\n [SIZES.large]: styles.large,\n [SIZES.medium]: styles.medium,\n [SIZES.small]: styles.small,\n };\n\n const isSmall = isEqual(size, SIZES.small) || isEqual(size, SIZES.medium) || isMobile;\n const urlWithProtocol = addProtocolToUrl(url);\n\n const truncateOptions = {\n omission: '...',\n length: isSmall ? mobileSize : desktopSize,\n };\n\n const renderImage = () => {\n if (isEmpty(image)) {\n return null;\n }\n\n return (\n <div className={styles.imgWrapper}>\n <img src={image} alt={title} />\n </div>\n );\n };\n\n const renderUrl = () => {\n if (isEmpty(url)) {\n return null;\n }\n\n const urlHostname = getUrlHostname(url);\n\n return urlHostname && (\n <div className={styles.url}>\n <i className=\"far fa-link\" />\n {urlHostname}\n </div>\n );\n };\n\n return (\n <a\n href={urlWithProtocol}\n target={target}\n className={classNames(styles.container, className)}\n >\n {renderImage()}\n <div className={classNames(styles.content, sizes[size])}>\n <div className={styles.title}>\n {title}\n </div>\n <div className={styles.description}>\n {truncate(description, truncateOptions)}\n </div>\n {renderUrl()}\n </div>\n </a>\n );\n}\n\nLinkPreview.defaultProps = {\n target: '_blank',\n size: SIZES.large,\n mobileSize: MOBILE_LENGTH,\n desktopSize: DESKTOP_LENGTH,\n show: true,\n};\n\nLinkPreview.propTypes = {\n target: PropTypes.string,\n size: PropTypes.oneOf(Object.keys(SIZES)),\n title: PropTypes.string,\n url: PropTypes.string,\n description: PropTypes.string,\n image: PropTypes.string,\n className: PropTypes.string,\n mobileSize: PropTypes.number,\n desktopSize: PropTypes.number,\n show: PropTypes.bool,\n};\n\nexport default LinkPreview;\n\nexport * from './api';\nexport * from './utils';\nexport { default as Placeholder } from './components/Placeholder';\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction Header({ title, onBackClick, onCloseClick }) {\n const emptyButton = <div />;\n\n const backButton = (\n <span className={styles.back} onClick={onBackClick} onKeyPress={onBackClick}>\n <i className=\"fal fa-angle-left\" /> Back\n </span>\n );\n\n const closeButton = (\n <span className={styles.close} onClick={onCloseClick} onKeyPress={onCloseClick}>\n <i className=\"fal fa-times\" />\n </span>\n );\n\n return (\n <div className={styles.header}>\n {onBackClick ? backButton : emptyButton}\n\n <span className={styles.title}>\n {title}\n </span>\n\n {onCloseClick ? closeButton : emptyButton}\n </div>\n );\n}\n\nHeader.propTypes = {\n title: PropTypes.string.isRequired,\n onBackClick: PropTypes.func,\n onCloseClick: PropTypes.func,\n};\n\nexport default Header;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Body({ children, className }) {\n return (\n <div className={classNames(styles.body, className)}>\n {children}\n </div>\n );\n}\n\nBody.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nexport default Body;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Footer({ children, className }) {\n return (\n <div className={classNames(styles.footer, className)}>\n {children}\n </div>\n );\n}\n\nFooter.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nexport default Footer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Header from './components/Header';\nimport Body from './components/Body';\nimport Footer from './components/Footer';\nimport styles from './styles.module.scss';\n\nfunction Drawer({ isOpen, children, 'data-test': dataTest }) {\n return (\n <div className={classNames(styles.drawer, !isOpen && styles.hideDrawer)} data-test={dataTest}>\n {children}\n </div>\n );\n}\n\nDrawer.defaultProps = {\n isOpen: false,\n 'data-test': 'drawer',\n};\n\nDrawer.propTypes = {\n isOpen: PropTypes.bool,\n children: PropTypes.node,\n 'data-test': PropTypes.string,\n};\n\nexport default Drawer;\n\nexport { Header, Body, Footer };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"styles-module__loader___tMXip\",\"loadAnimation\":\"styles-module__loadAnimation___2oe24\",\"light\":\"styles-module__light___2fjLQ\",\"dark\":\"styles-module__dark___1NDWp\",\"blue\":\"styles-module__blue___3UOgf\",\"loadingText\":\"styles-module__loadingText___2S-QS\",\"loadingTextLight\":\"styles-module__loadingTextLight___1rI28\",\"loadingTextDark\":\"styles-module__loadingTextDark___Nbaww\",\"onlyIcon\":\"styles-module__onlyIcon___2apHV\",\"medium\":\"styles-module__medium___2vSSM\",\"small\":\"styles-module__small___lxyoq\",\"xSmall\":\"styles-module__xSmall___1kIp_\",\"big\":\"styles-module__big___3WrB7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___NQVd4\",\"cardContainer\":\"styles-module__cardContainer___1n_0F\",\"legislator\":\"styles-module__legislator___kVlcf\",\"flexSection\":\"styles-module__flexSection___1Ubs1\",\"sponsorBadge\":\"styles-module__sponsorBadge___3H8k3\",\"defaultBadge\":\"styles-module__defaultBadge___2hcCd\",\"cardItems\":\"styles-module__cardItems___34L3L\",\"itemsContainer\":\"styles-module__itemsContainer___zVd8R\",\"itemLink\":\"styles-module__itemLink___2hS8T\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___10qL1\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3YEY3\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___atoi4\",\"header\":\"styles-module__header___3l1jn\",\"v2\":\"styles-module__v2___3p5VQ\",\"title\":\"styles-module__title___t-r4O\",\"homePage\":\"styles-module__homePage___W1a-y\",\"return\":\"styles-module__return___1iySg\",\"icon\":\"styles-module__icon___2-sRf\",\"titlePlaceholder\":\"styles-module__titlePlaceholder___CePkK\",\"right\":\"styles-module__right___3FdX8\",\"notifications\":\"styles-module__notifications___2UY23\",\"avatar\":\"styles-module__avatar___3dvIB\",\"headerOffset\":\"styles-module__headerOffset___2nJAN\",\"offsetV2\":\"styles-module__offsetV2___2ZMrC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___S-1Ic\",\"image\":\"styles-module__image___3EYmN\",\"title\":\"styles-module__title___2cCtj\",\"titleInfo\":\"styles-module__titleInfo___1ZHaL\",\"link\":\"styles-module__link___1ZAoy\",\"linkTitle\":\"styles-module__linkTitle___1XIhX\",\"sentiment\":\"styles-module__sentiment___1iYdo\",\"icon\":\"styles-module__icon___iyjpz\",\"badgesContainer\":\"styles-module__badgesContainer___1scaN\",\"myFeedTile\":\"styles-module__myFeedTile___kb9Ag\",\"tag\":\"styles-module__tag___2olT1\",\"storyInfo\":\"styles-module__storyInfo___1FGoR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"backgroundColor\":\"#ffffff\",\"indicatorSeparatorColor\":\"#305dff\",\"minControlHeight\":\"42\",\"color\":\"#305dff\",\"fontWeight\":\"500\",\"borderColor\":\"#305dff\"};","import { CSV_LABEL, CSV_ID } from 'utils/constants/export';\nimport {\n defaultDisclaimerProps as defaultProfileDisclaimerProps,\n} from 'components/core/Profile/utils/constants';\n\nimport styles from '../styles.module.scss';\n\nexport const EXPORT_OPTIONS = [{ label: CSV_LABEL, value: CSV_ID, defaultChecked: true }];\n\nexport const SEARCH_ID_PARAM = 'searchId';\nexport const SEARCH_QUERY_PARAM = 'search';\nexport const SEARCH_SORT_PARAM = 'sort';\nexport const SEARCH_DIRECTION_PARAM = 'direction';\nexport const SEARCH_PAGE_PARAM = 'page';\n\nexport const SEARCH_PARAMS = [\n SEARCH_QUERY_PARAM,\n SEARCH_ID_PARAM,\n SEARCH_SORT_PARAM,\n SEARCH_DIRECTION_PARAM,\n SEARCH_PAGE_PARAM,\n];\n\nexport const SORT_PARAMS = [SEARCH_SORT_PARAM, SEARCH_DIRECTION_PARAM];\n\nexport const defaultDisclaimerProps = {\n ...defaultProfileDisclaimerProps,\n modalClassName: styles.modal,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport classNames from 'classnames';\nimport { isEmpty, truncate } from 'lodash';\n\nimport styles from './styles.module.scss';\n\nfunction TrimTextItem({ textToTrim, maxTextLength, className, withTooltip }) {\n if (isEmpty(textToTrim)) {\n return null;\n }\n\n if (textToTrim.length <= maxTextLength) {\n return <span className={classNames(className)}>{textToTrim}</span>;\n }\n\n function getTooltipNode() {\n return <span className={styles.textTrim}>{textToTrim}</span>;\n }\n\n const textToDisplay = truncate(textToTrim, { length: maxTextLength, separator: /,?\\.* +/ });\n\n if (!withTooltip) {\n return (\n <div className={classNames(className)}>{textToDisplay}</div>\n );\n }\n\n return (\n <Tooltip\n content={getTooltipNode()}\n className={styles.tooltipContainer}\n placement=\"bottom\"\n >\n <span className={classNames(styles.trimText, className)}>{textToDisplay}</span>\n </Tooltip>\n );\n}\n\nTrimTextItem.defaultProps = {\n maxTextLength: 90,\n withTooltip: true,\n};\n\nTrimTextItem.propTypes = {\n textToTrim: PropTypes.string,\n className: PropTypes.string,\n maxTextLength: PropTypes.number,\n withTooltip: PropTypes.bool,\n};\n\nexport default TrimTextItem;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___2bkOm\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___M49DB\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3nfcL\",\"titles\":\"styles-module__titles___2Jm14\",\"itemButton\":\"styles-module__itemButton___1SHY2\",\"itemContent\":\"styles-module__itemContent___2O02v\",\"itemTitle\":\"styles-module__itemTitle___2RF2x\",\"itemDescription\":\"styles-module__itemDescription___1kRBh\",\"activeContainer\":\"styles-module__activeContainer___3MBU0\",\"backButton\":\"styles-module__backButton___Rlsdy\",\"arrowBack\":\"styles-module__arrowBack___3WQl0\",\"activeComponent\":\"styles-module__activeComponent___2avFd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___11pBz\",\"title\":\"styles-module__title___lNGs_\",\"select\":\"styles-module__select___3w5wB\",\"navigation\":\"styles-module__navigation___3tvOe\",\"container\":\"styles-module__container___Sum-R\",\"dropdownIcon\":\"styles-module__dropdownIcon___3BueA\",\"dropdownContainer\":\"styles-module__dropdownContainer___2Cw8H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___1PUQj\",\"itemCard\":\"styles-module__itemCard___3BGB4\",\"title\":\"styles-module__title___1Ho-N\",\"content\":\"styles-module__content___1B-B6\",\"itemPlaceholder\":\"styles-module__itemPlaceholder___1RsSZ\",\"titlePlaceholder\":\"styles-module__titlePlaceholder___3Pc3b\",\"contentPlaceholder\":\"styles-module__contentPlaceholder___2yQtg\",\"group\":\"styles-module__group___2_aCu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3Q51n\",\"tableContainer\":\"styles-module__tableContainer___a96zK\",\"tableColumn\":\"styles-module__tableColumn___2yxFx\",\"tableContent\":\"styles-module__tableContent___2oZkD\",\"fixedHeight\":\"styles-module__fixedHeight___3sc6f\",\"title\":\"styles-module__title___2BoVZ\",\"billColumn\":\"styles-module__billColumn___3STPw\",\"billColumnLink\":\"styles-module__billColumnLink___1OfqQ\",\"trimText\":\"styles-module__trimText___2I7_o\",\"placeholderContainer\":\"styles-module__placeholderContainer___26SEh\",\"clearButton\":\"styles-module__clearButton___3kZ-h\",\"voteLink\":\"styles-module__voteLink___1qq26\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listItem\":\"styles-module__listItem___3m-1R\",\"fullWidth\":\"styles-module__fullWidth___2UQ8i\",\"withHiddenItems\":\"styles-module__withHiddenItems___CgK65\",\"label\":\"styles-module__label___1XdnL\",\"content\":\"styles-module__content___GRDCu\",\"badge\":\"styles-module__badge___3Tm4Z\",\"placeholderRow\":\"styles-module__placeholderRow___2sVG-\",\"placeholderBadge\":\"styles-module__placeholderBadge___3fkaH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2QM96\",\"filterButton\":\"styles-module__filterButton___qdJRN\",\"tooltip\":\"styles-module__tooltip___d4C35\",\"checkboxGroup\":\"styles-module__checkboxGroup___1XSUi\",\"formBody\":\"styles-module__formBody___2jiQ_\",\"officeType\":\"styles-module__officeType___1joFG\",\"label\":\"styles-module__label___2MJxE\",\"modal\":\"styles-module__modal___2wAQB\",\"footer\":\"styles-module__footer___1pPHx\",\"footerButton\":\"styles-module__footerButton___324Lk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fixedContainer\":\"styles-module__fixedContainer___hQHtw\",\"fakeBanner\":\"styles-module__fakeBanner___1oz2e\",\"stickyContainer\":\"styles-module__stickyContainer___3KrRW\",\"stickyContent\":\"styles-module__stickyContent___4_gTj\",\"titles\":\"styles-module__titles___1KLKE\",\"tabsContent\":\"styles-module__tabsContent___l1RpK\",\"itemButton\":\"styles-module__itemButton___1tOww\",\"itemTitle\":\"styles-module__itemTitle___2Y3xw\",\"itemDescription\":\"styles-module__itemDescription___1u4oL\",\"greyLayoutBg\":\"styles-module__greyLayoutBg___3VrH7\",\"activeButton\":\"styles-module__activeButton___2CQ81\",\"sectionMaxWidth\":\"styles-module__sectionMaxWidth___3q7Hy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___D2w8N\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3iVDS\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___25wPo\",\"searchContainer\":\"styles-module__searchContainer___1UvPI\",\"disclaimer\":\"styles-module__disclaimer___1wNCX\",\"icon\":\"styles-module__icon___augXM\",\"clearBtn\":\"styles-module__clearBtn___3uQ9A\",\"withDisclaimer\":\"styles-module__withDisclaimer___3xpTi\",\"searchIcon\":\"styles-module__searchIcon___3dq4u\",\"input\":\"styles-module__input___2-OR2\",\"inputContainer\":\"styles-module__inputContainer___34xjW\",\"inputSearch\":\"styles-module__inputSearch___2Hfp5\",\"advancedSearchBtn\":\"styles-module__advancedSearchBtn___3U_IJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partyZone\":\"styles-module__partyZone___3G45F\",\"partyZoneDemocrat\":\"styles-module__partyZoneDemocrat___3bjcL\",\"partyZoneRepublican\":\"styles-module__partyZoneRepublican___1zLAf\",\"avatarContainer\":\"styles-module__avatarContainer___rCBuf\",\"avatar\":\"styles-module__avatar___3RzCP\",\"modal\":\"styles-module__modal___R7BDR\",\"modalHeader\":\"styles-module__modalHeader___3Mn_d\",\"modalBody\":\"styles-module__modalBody___3kEXL\",\"image\":\"styles-module__image___1kJdk\",\"cardContainer\":\"styles-module__cardContainer___13EVk\",\"container\":\"styles-module__container___2a8bR\",\"cardHeader\":\"styles-module__cardHeader___8ZLkJ\",\"info\":\"styles-module__info___2gidl\",\"badges\":\"styles-module__badges___3GdfC\",\"title\":\"styles-module__title___15Sd7\",\"nameContainer\":\"styles-module__nameContainer___1n3Li\",\"name\":\"styles-module__name___AI4TL\",\"descriptionContainer\":\"styles-module__descriptionContainer___2_N15\",\"description\":\"styles-module__description___1E2hc\",\"subtitle\":\"styles-module__subtitle___25wSw\",\"partyIcon\":\"styles-module__partyIcon___3Wxy_\",\"line\":\"styles-module__line___2wSJX\",\"infoPlaceholder\":\"styles-module__infoPlaceholder___3XzFv\",\"avatarPlaceholder\":\"styles-module__avatarPlaceholder___1zPuZ\"};","import PropTypes from 'prop-types';\n\nexport const optionsShape = PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })\n);\n\nexport const mailInfoShape = PropTypes.shape({\n subject: PropTypes.string,\n body: PropTypes.string,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport { MY_FEED, FACEBOOK, TWITTER, EMAIL_ID } from 'utils/constants/socialMedia';\nimport {\n getMailLinkFromObj,\n getTwitterShareLink,\n getFacebookDescriptionLink,\n} from 'utils/socialMedia/links';\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport useModal from 'components/core/Modal/useModal';\nimport { shareTooltipZIndex } from 'style/global/_variables.scss';\n\nimport { optionsShape, mailInfoShape } from '../../shapes';\nimport styles from '../../styles.module.scss';\n\nfunction ButtonShare({\n withOptions,\n options,\n itemName,\n linkClassName,\n tooltipPlacement,\n tooltipContentClassName,\n onShare,\n isOpen,\n fullUrl,\n mailInfo,\n ...restProps\n}) {\n const {\n isOpenModal: isVisible,\n toggleModal: toggleTooltip,\n closeModal: closeTooltip,\n } = useModal(isOpen);\n\n const commonProps = {\n theme: 'light',\n className: classNames(styles.link, linkClassName),\n };\n\n const externalLinkProps = {\n isExternal: true,\n displayExternalIcon: true,\n };\n\n const optionHref = {\n [FACEBOOK]: getFacebookDescriptionLink(fullUrl, itemName),\n [TWITTER]: getTwitterShareLink({ link: fullUrl, text: itemName }),\n [EMAIL_ID]: getMailLinkFromObj(mailInfo),\n };\n\n const tooltipContent = (\n <div className={styles.tooltipContent}>\n <h3 className={styles.tooltipTitle}>Share to...</h3>\n {map(options, ({ value, label }) => {\n if (value === MY_FEED) {\n return (\n <Button\n {...commonProps}\n key={value}\n onClick={onShare}\n >\n {label}\n </Button>\n );\n }\n\n return withOptions && (\n <Link\n {...commonProps}\n {...externalLinkProps}\n key={value}\n href={optionHref[value]}\n >\n {label}\n </Link>\n );\n })}\n </div>\n );\n\n return (\n <Tooltip\n arrow\n theme=\"light\"\n visible={isVisible}\n onHide={closeTooltip}\n onClickOutside={toggleTooltip}\n placement={tooltipPlacement}\n content={tooltipContent}\n appendTo={document.body}\n zIndex={shareTooltipZIndex}\n >\n <span className={tooltipContentClassName}>\n <Button {...restProps} onClick={toggleTooltip}>Share</Button>\n </span>\n </Tooltip>\n );\n}\n\nButtonShare.defaultProps = {\n tooltipPlacement: 'bottom-start',\n withOptions: true,\n};\n\nButtonShare.propTypes = {\n withOptions: PropTypes.bool,\n options: optionsShape,\n withShare: PropTypes.bool,\n recordId: PropTypes.string,\n recordType: PropTypes.string,\n itemType: PropTypes.string,\n itemName: PropTypes.string,\n onShare: PropTypes.func,\n tooltipPlacement: PropTypes.string,\n tooltipContentClassName: PropTypes.string,\n linkClassName: PropTypes.string,\n isOpen: PropTypes.bool,\n fullUrl: PropTypes.string,\n mailInfo: mailInfoShape,\n};\n\nexport default ButtonShare;\n","import { useEffect, useState } from 'react';\n\nimport { MY_FEED, FACEBOOK, TWITTER, EMAIL_ID } from 'utils/constants/socialMedia';\nimport {\n getFacebookDescriptionLink,\n getMailLinkFromObj,\n getTwitterShareLink,\n} from 'utils/socialMedia/links';\n\nfunction useShare({ isOpen = false, options, itemName, onShare, fullUrl, mailInfo }) {\n const { value: initialCheckedValue } = options[0] || {};\n const [isShareModalOpen, setIsShareModalOpen] = useState(isOpen);\n const [shareOption, setShareOption] = useState(initialCheckedValue);\n\n useEffect(() => {\n setShareOption(initialCheckedValue);\n }, [isShareModalOpen]);\n\n function toggleShareModal() {\n setIsShareModalOpen(prevState => !prevState);\n }\n\n function handleChangeShareItem({ target: { value } = {} } = {}) {\n setShareOption(value);\n }\n\n function handleShareSubmit() {\n if (shareOption === MY_FEED) {\n onShare();\n }\n\n if (shareOption === FACEBOOK) {\n window.open(getFacebookDescriptionLink(fullUrl, itemName));\n }\n\n if (shareOption === TWITTER) {\n window.open(getTwitterShareLink({ link: fullUrl, text: itemName }));\n }\n\n if (shareOption === EMAIL_ID) {\n window.open(getMailLinkFromObj(mailInfo));\n }\n\n toggleShareModal();\n }\n\n return {\n isShareModalOpen,\n shareOption,\n toggleShareModal,\n handleChangeShareItem,\n handleShareSubmit,\n };\n}\n\nexport default useShare;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\n\nimport { mailInfoShape, optionsShape } from 'components/core/ButtonShare/shapes';\nimport { MY_FEED } from 'utils/constants/socialMedia';\nimport LabelGroup from 'components/core/LabelGroup';\nimport RadioBox from 'components/core/RadioBox';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\n\nimport useShare from './useShare';\nimport styles from '../../styles.module.scss';\n\nfunction ShareModal({\n options,\n theme,\n className,\n onShare,\n isOpen,\n fullUrl,\n mailInfo,\n ...restProps\n}) {\n const {\n isShareModalOpen,\n shareOption,\n toggleShareModal,\n handleShareSubmit,\n handleChangeShareItem,\n } = useShare({ ...restProps, options, onShare, isOpen, fullUrl, mailInfo });\n\n const shareActions = (\n <>\n <Button\n size=\"small\"\n theme=\"light\"\n onClick={toggleShareModal}\n >\n Cancel\n </Button>\n\n <Button\n size=\"small\"\n disabled={!shareOption}\n onClick={shareOption && handleShareSubmit}\n >\n Share\n </Button>\n </>\n );\n\n return (\n <>\n <Button\n theme={theme}\n className={className}\n onClick={toggleShareModal}\n >\n Share\n </Button>\n <Modal\n isOpen={isShareModalOpen}\n title=\"Share to...\"\n buttons={shareActions}\n toggleOpen={toggleShareModal}\n >\n <LabelGroup containerClassName={styles.modalContainer}>\n {map(options, ({ value, label }) => {\n if (value === MY_FEED) {\n return (\n <RadioBox\n key={value}\n value={value}\n label={label}\n name=\"export\"\n defaultChecked={value === shareOption}\n onChange={handleChangeShareItem}\n />\n );\n }\n\n return (\n <RadioBox\n key={value}\n value={value}\n label={label}\n name=\"export\"\n defaultChecked={value === shareOption}\n onChange={handleChangeShareItem}\n />\n );\n })}\n </LabelGroup>\n </Modal>\n </>\n );\n}\n\nShareModal.propTypes = {\n itemName: PropTypes.string,\n onShare: PropTypes.func,\n className: PropTypes.string,\n theme: PropTypes.string,\n options: optionsShape,\n recordId: PropTypes.string,\n recordType: PropTypes.string,\n itemType: PropTypes.string,\n isOpen: PropTypes.bool,\n fullUrl: PropTypes.string,\n mailInfo: mailInfoShape,\n};\n\nexport default ShareModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MY_FEED, FACEBOOK, TWITTER, EMAIL_ID } from 'utils/constants/socialMedia';\nimport { getUrlWithBase, isURL } from 'utils/url';\n\nimport ShareTooltip from './components/ShareTooltip';\nimport ShareModal from './components/ShareModal';\nimport { optionsShape } from './shapes';\nimport { onShareToMyFeed } from './api';\n\nfunction ButtonShare({\n isOpen,\n withModal,\n options,\n recordId,\n recordType,\n itemType,\n onSuccess,\n itemUrl,\n itemName,\n ...restProps\n}) {\n const withShareToMyFeed = recordId && recordType;\n const withMyFeedOption = withShareToMyFeed ? [{ label: 'My feed', value: MY_FEED }] : [];\n const defaultOptions = [\n ...withMyFeedOption,\n { label: 'Facebook', value: FACEBOOK },\n { label: 'Twitter', value: TWITTER },\n { label: 'Email', value: EMAIL_ID },\n ];\n const fullUrl = isURL(itemUrl) ? itemUrl : getUrlWithBase(itemUrl);\n const body = `${itemName} ${fullUrl && `%0D URL: ${fullUrl}`}`;\n const mailInfo = { subject: `${itemName} via Intelligence`, body };\n\n function handleShareToMyFeed() {\n return onShareToMyFeed({ id: recordId, itemType, type: recordType })\n .then(() => onSuccess && onSuccess(recordId));\n }\n\n const shareProps = {\n ...restProps,\n options: options || defaultOptions,\n onShare: handleShareToMyFeed,\n isOpen,\n itemName,\n fullUrl,\n mailInfo,\n };\n\n if (withModal) {\n return <ShareModal {...shareProps} />;\n }\n\n return <ShareTooltip {...shareProps} />;\n}\n\nButtonShare.defaultProps = {\n withOptions: true,\n withModal: false,\n tooltipPlacement: 'bottom-start',\n isOpen: false,\n};\n\nButtonShare.propTypes = {\n isOpen: PropTypes.bool,\n withModal: PropTypes.bool,\n withOptions: PropTypes.bool,\n withShare: PropTypes.bool,\n options: optionsShape,\n itemUrl: PropTypes.string,\n recordId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n recordType: PropTypes.string,\n itemType: PropTypes.string,\n itemName: PropTypes.string,\n tooltipPlacement: PropTypes.string,\n linkClassName: PropTypes.string,\n onSuccess: PropTypes.func,\n};\n\nexport default ButtonShare;\n","import notifications from 'components/Dashboard/utils/notifications';\nimport { notifySharedToMyFeed } from 'components/Dashboard/common/UserNotifications';\nimport { bulkShareToMyFeed } from 'redux/dashboardV2/common/subscriptions/api';\n\nexport function onShareToMyFeed({ id, type, itemType }) {\n const data = { record_ids: [id], record_type: type };\n\n function onSuccess() {\n notifySharedToMyFeed({ itemType });\n }\n\n function onFailure(error) {\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return bulkShareToMyFeed(data)\n .then(onSuccess)\n .catch(onFailure);\n}\n","import { useState, useEffect, useRef } from 'react';\nimport debounce from 'lodash/debounce';\n\nfunction useBackToTop({ elementRef } = {}) {\n const defaultRef = useRef();\n const usedRef = elementRef || defaultRef;\n\n const [isVisible, setIsVisible] = useState(false);\n\n function handleScroll() {\n if (usedRef.current) {\n const { bottom } = usedRef.current.getBoundingClientRect() || {};\n setIsVisible(bottom < 0);\n }\n }\n\n useEffect(() => {\n window.addEventListener('scroll', debounce(handleScroll, 100));\n\n return () => window.removeEventListener('scroll', handleScroll);\n }, [usedRef]);\n\n return {\n isVisible,\n backToTopRef: defaultRef,\n };\n}\n\nexport default useBackToTop;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cheatSheetContent\":\"styles-module__cheatSheetContent___1QxRr\",\"highlight\":\"styles-module__highlight___2IHjb\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport ButtonGroup from 'components/core/ButtonGroup';\n\nimport styles from './styles.module.scss';\n\nexport default function BaseFilter({ title, options, selectedFilter, onFilterClick, isLoadingMap }) {\n function handleFilterClick(selectedOption) {\n return () => onFilterClick(selectedOption);\n }\n\n return (\n <div className={styles.filter}>\n {title && <h3 className={styles.title}>{title}</h3>}\n <ButtonGroup className={styles.options}>\n {options.map(({ value, label }, index) => (\n <Button\n key={`${value}-${index}`}\n theme=\"default\"\n className={classNames(\n styles.option,\n value === selectedFilter && styles.isActive,\n )}\n onClick={handleFilterClick(value)}\n disabled={isLoadingMap}\n >\n {label}\n </Button>\n ))}\n </ButtonGroup>\n </div>\n );\n}\n\nBaseFilter.propTypes = {\n title: PropTypes.string,\n options: PropTypes.array.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n onFilterClick: PropTypes.func.isRequired,\n isLoadingMap: PropTypes.bool.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport BaseFilter from '../BaseFilter';\nimport styles from './styles.module.scss';\n\nfunction MapType({ title, options, selectedFilter, onFilterClick, isLoadingMap, filterClassName }) {\n if (isEmpty(options)) {\n return null;\n }\n\n return (\n <div className={classNames(styles.container, filterClassName)}>\n <BaseFilter\n title={title}\n options={options}\n selectedFilter={selectedFilter}\n onFilterClick={onFilterClick}\n isLoadingMap={isLoadingMap}\n />\n </div>\n );\n}\n\nMapType.propTypes = {\n title: PropTypes.string,\n options: PropTypes.array.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n onFilterClick: PropTypes.func.isRequired,\n isLoadingMap: PropTypes.bool.isRequired,\n filterClassName: PropTypes.string,\n};\n\nexport default withMap(MapType);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { displayTypeCodes } from 'components/core/Map/utils/constants';\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport BaseFilter from '../BaseFilter';\nimport styles from './styles.module.scss';\n\nfunction Heatmap({ title, options, selectedFilter, onFilterClick, isLoadingMap }) {\n return (\n <div className={styles.container}>\n <BaseFilter\n title={title}\n options={options}\n selectedFilter={selectedFilter}\n onFilterClick={onFilterClick}\n isLoadingMap={isLoadingMap}\n />\n </div>\n );\n}\n\nHeatmap.defaultProps = {\n title: 'Stakeholder Display',\n options: [\n {\n label: 'Map Markers',\n value: displayTypeCodes.markers,\n },\n {\n label: 'Heatmap',\n value: displayTypeCodes.heatmap,\n },\n ],\n};\n\nHeatmap.propTypes = {\n title: PropTypes.string,\n options: PropTypes.array,\n selectedFilter: PropTypes.string.isRequired,\n onFilterClick: PropTypes.func.isRequired,\n isLoadingMap: PropTypes.bool.isRequired,\n};\n\nexport default withMap(Heatmap);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n veryHigh,\n high,\n mediumHigh,\n medium,\n mediumLow,\n low,\n veryLow,\n} from 'components/core/Map/utils/settings.scss';\nimport styles from './styles.module.scss';\n\nexport default function Legend({ title, options }) {\n return (\n <div className={styles.legend}>\n <h4 className={styles.title}>Legend: {title}</h4>\n <ul className={styles.options}>\n {options.map((option, index) => {\n const iconStyle = { backgroundColor: option.color };\n\n return (\n <li key={`${option.value}-${index}`} className={styles.option}>\n <span className={styles.icon} style={iconStyle} />\n <span className={styles.label}>\n {option.label}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\nLegend.defaultProps = {\n title: 'Density',\n options: [\n {\n color: veryHigh,\n label: 'Very High',\n },\n {\n color: high,\n label: 'High',\n },\n {\n color: mediumHigh,\n label: 'Medium High',\n },\n {\n color: medium,\n label: 'Medium',\n },\n {\n color: mediumLow,\n label: 'Medium Low',\n },\n {\n color: low,\n label: 'Low',\n },\n {\n color: veryLow,\n label: 'Very Low',\n },\n ],\n};\n\nLegend.propTypes = {\n title: PropTypes.string,\n options: PropTypes.array,\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { displayTypeCodes } from 'components/core/Map/utils/constants';\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport MapType from '../MapType';\nimport Heatmap from '../Heatmap';\nimport Legend from '../Heatmap/components/Legend';\nimport styles from '../../styles.module.scss';\n\nfunction DesktopView({ filters, withHeatmap, activeFilters, onFilterClick }) {\n const mapTypeKey = 'mapType';\n const heatmapKey = 'displayType';\n const showHeatmap = activeFilters[heatmapKey] === displayTypeCodes.heatmap;\n\n return (\n <Fragment>\n <div className={styles.container}>\n <MapType\n {...filters[mapTypeKey]}\n filterKey={mapTypeKey}\n onFilterClick={onFilterClick(mapTypeKey)}\n selectedFilter={activeFilters[mapTypeKey]}\n />\n {withHeatmap && (\n <Heatmap\n {...filters[heatmapKey]}\n filterKey={heatmapKey}\n onFilterClick={onFilterClick(heatmapKey)}\n selectedFilter={activeFilters[heatmapKey]}\n />\n )}\n </div>\n {showHeatmap && <Legend />}\n </Fragment>\n );\n}\n\nDesktopView.propTypes = {\n filters: PropTypes.object.isRequired,\n activeFilters: PropTypes.object.isRequired,\n onFilterClick: PropTypes.func.isRequired,\n withHeatmap: PropTypes.bool.isRequired,\n};\n\nexport default withMap(DesktopView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ActionBar from 'components/core/ActionBar';\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport MapType from '../MapType';\nimport Heatmap from '../Heatmap';\nimport styles from './styles.module.scss';\n\nfunction MobileView({ filters, withHeatmap, description, activeFilters, onFilterClick, title }) {\n const mapTypeKey = 'mapType';\n const heatmapKey = 'displayType';\n\n return (\n <ActionBar\n title={title}\n selectedItems={[1]}\n className={styles.actionBar}\n description={description}\n >\n <MapType\n {...filters[mapTypeKey]}\n filterKey={mapTypeKey}\n onFilterClick={onFilterClick(mapTypeKey)}\n selectedFilter={activeFilters[mapTypeKey]}\n />\n {withHeatmap && (\n <Heatmap\n {...filters[heatmapKey]}\n filterKey={heatmapKey}\n onFilterClick={onFilterClick(heatmapKey)}\n selectedFilter={activeFilters[heatmapKey]}\n />\n )}\n </ActionBar>\n );\n}\n\nMobileView.defaultProps = {\n title: 'Layers',\n description: {\n default: 'Hide options',\n },\n};\n\nMobileView.propTypes = {\n filters: PropTypes.object.isRequired,\n activeFilters: PropTypes.object.isRequired,\n onFilterClick: PropTypes.func.isRequired,\n withHeatmap: PropTypes.bool.isRequired,\n title: PropTypes.string,\n description: PropTypes.object,\n};\n\nexport default withMap(MobileView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport DesktopView from './components/DesktopView';\nimport MobileView from './components/MobileView';\n\nfunction Filters({ showOnlyDesktopFilters, isMobile, onChangeFilter }) {\n function handleFilterClick(keyName) {\n return selectedFilterValue => onChangeFilter(keyName, selectedFilterValue);\n }\n\n return isMobile && !showOnlyDesktopFilters\n ? <MobileView onFilterClick={handleFilterClick} />\n : <DesktopView onFilterClick={handleFilterClick} />;\n}\n\nFilters.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n showOnlyDesktopFilters: PropTypes.bool,\n onChangeFilter: PropTypes.func.isRequired,\n};\n\nexport default withMap(Filters);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport withMap from '../../utils/withMap';\nimport styles from './styles.module.scss';\n\nfunction MapPlaceholder({ loadingMessage }) {\n return (\n <div className={styles.mapPlaceholder}>\n <div className={styles.loading}>\n <p className={styles.loadingMessage}>{loadingMessage}</p>\n </div>\n </div>\n );\n}\n\nMapPlaceholder.defaultProps = {\n loadingMessage: 'Loading map',\n};\n\nMapPlaceholder.propTypes = {\n loadingMessage: PropTypes.string,\n};\n\nexport default withMap(MapPlaceholder);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport withMap from '../../utils/withMap';\nimport Filters from '../Filters';\nimport MapPlaceholder from '../Placeholder';\nimport styles from './styles.module.scss';\n\nfunction MapContainer({\n isLoadingMap,\n height,\n withFilters,\n withHeatmap,\n forwardRef,\n className,\n style,\n}) {\n return (\n <div className={classNames(styles.mapContainer, className, withHeatmap && styles.withHeatmap)}>\n {isLoadingMap && <MapPlaceholder />}\n <div ref={forwardRef} style={{ ...style, height }} />\n {withFilters && <Filters />}\n </div>\n );\n}\n\nMapContainer.propTypes = {\n isLoadingMap: PropTypes.bool.isRequired,\n withFilters: PropTypes.bool.isRequired,\n withHeatmap: PropTypes.bool.isRequired,\n height: PropTypes.string.isRequired,\n forwardRef: PropTypes.object.isRequired,\n className: PropTypes.string,\n style: PropTypes.object,\n};\n\nexport default withMap(MapContainer);\n","import {\n mapLevel1,\n mapLevel2,\n mapLevel3,\n mapLevel4,\n mapLevel5,\n highlight,\n hover,\n stroke,\n} from './settings.scss';\n\nexport const GEOGRAPHY_LINK = 'https://raw.githubusercontent.com/zcreativelabs/react-simple-maps/v0.12.x/examples/albers-usa/static/states.json';\nexport const MAP_LEGEND_RANGE = 4;\nexport const DEFAULT_INTERVAL = 1;\nexport const MAP_HEIGHT = 600;\n\nexport const PROJECTION_NAME = 'albersUsa';\nexport const PROJECTION_CONFIG = { scale: 1000 };\n\nexport const MAP_COLORS = [\n mapLevel1,\n mapLevel2,\n mapLevel3,\n mapLevel4,\n mapLevel5,\n];\n\nexport const HIGHLIGHT_COLOR = highlight;\nexport const STROKE_COLOR = stroke;\nexport const HOVER_COLOR = hover;\n","import React from 'react';\nimport { keyBy, mapValues, max, min, range } from 'lodash';\n\nimport styles from '../styles.module.scss';\nimport { DEFAULT_INTERVAL, MAP_LEGEND_RANGE } from './constants';\n\nfunction roundValueToFive(value) {\n return Math.floor(value / 5) * 5;\n}\n\nexport function getStateCounters(data) {\n return mapValues(keyBy(data, 'name'), 'count');\n}\n\nfunction getCountValues(data, stateCounters) {\n const stateCountersValues = Object.values(stateCounters);\n const highestCount = max(stateCountersValues);\n const lowestCount = min(stateCountersValues);\n\n return { highestCount, lowestCount, stateCounters };\n}\n\nfunction getInterval({ highestCount, lowestCount, isEqualInterval }) {\n if (isEqualInterval) {\n return highestCount / MAP_LEGEND_RANGE;\n }\n\n return (highestCount - roundValueToFive(lowestCount)) / MAP_LEGEND_RANGE;\n}\n\nfunction getLimits({ limitsRange, adjustedInterval, lowestCount, isEqualInterval }) {\n function getRange(index) {\n if (isEqualInterval) {\n return Math.ceil(index * adjustedInterval);\n }\n\n return index && Math.ceil((index * adjustedInterval)) + roundValueToFive(lowestCount);\n }\n\n return range(limitsRange + 1).map(getRange);\n}\n\nfunction getColorRange({ highestCount, lowestCount, isEqualInterval = false }) {\n let limits = [];\n let interval = [];\n let adjustedInterval = DEFAULT_INTERVAL;\n\n if (highestCount > 0) {\n interval = getInterval({ highestCount, lowestCount, isEqualInterval });\n adjustedInterval = interval > 1 ? interval : DEFAULT_INTERVAL;\n const limitsRange = highestCount < MAP_LEGEND_RANGE ? highestCount : MAP_LEGEND_RANGE;\n\n limits = getLimits({ limitsRange, adjustedInterval, lowestCount, isEqualInterval });\n }\n\n return { limits, interval: adjustedInterval };\n}\n\nexport function getColorLimits(data, stateCounts, isEqualInterval) {\n const { stateCounters, ...stateCountersValues } = getCountValues(data, stateCounts);\n const { limits, interval } = getColorRange({ ...stateCountersValues, isEqualInterval });\n\n return { limits, stateCounters, interval };\n}\n\nexport function colorScale(billCount, colorLimits, mapColors) {\n /* Returns range color corresponding to the bill count */\n for (let i = 0; i < colorLimits.length; i += 1) {\n if (billCount <= colorLimits[i]) return mapColors[i];\n }\n\n return mapColors[0];\n}\n\nexport function getTooltipContent(stateName = '', stateBillsCount = 0) {\n return (\n <span>\n <b>{stateName}</b>\n <p className={styles.noMargin}>Bills Count: {stateBillsCount}</p>\n </span>\n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNil from 'lodash/isNil';\n\nimport { FEDERAL_BILLS_LABELS } from 'components/state-leg-watchlist/constants';\nimport Button from 'components/core/Button';\n\nimport { HIGHLIGHT_COLOR } from '../../utils/constants';\nimport { colorScale } from '../../utils';\nimport styles from './styles.module.scss';\n\nfunction FederalBillsLegend({\n isSelectedFederalBills,\n federalBillsCount,\n limits,\n mapColors,\n onFilterFederalBills,\n}) {\n if (isNil(federalBillsCount)) {\n return null;\n }\n\n const style = {\n background: isSelectedFederalBills ? HIGHLIGHT_COLOR : colorScale(federalBillsCount, limits, mapColors),\n };\n\n function filterFederal() {\n if (federalBillsCount > 0 && onFilterFederalBills) {\n onFilterFederalBills();\n }\n }\n\n return (\n <div className={styles.federal}>\n <p className={styles.text}>{FEDERAL_BILLS_LABELS}</p>\n <Button\n style={style}\n className={styles.button}\n onClick={filterFederal}\n >\n {federalBillsCount}\n </Button>\n </div>\n );\n}\n\nFederalBillsLegend.propTypes = {\n isSelectedFederalBills: PropTypes.bool,\n federalBillsCount: PropTypes.number,\n limits: PropTypes.arrayOf(PropTypes.number).isRequired,\n mapColors: PropTypes.arrayOf(PropTypes.string).isRequired,\n onFilterFederalBills: PropTypes.func,\n};\n\nexport default FederalBillsLegend;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, compact } from 'lodash';\n\nimport FederalBillsLegend from './FederalBillsLegend';\nimport styles from './styles.module.scss';\n\nfunction Legend({ limits, mapColors, ...restProps }) {\n if (isEmpty(limits)) {\n return null;\n }\n\n const limitValues = compact(limits);\n\n function renderLegendItem(limit, index) {\n const iconStyles = { backgroundColor: mapColors[index + 1] };\n\n const minLimit = limits[index] + 1;\n const maxLimit = limit;\n const range = minLimit === maxLimit ? minLimit : `${minLimit} - ${maxLimit}`;\n\n return (\n <li key={index}>\n <span style={iconStyles} />\n {range}\n </li>\n );\n }\n\n return (\n <div className={styles.container}>\n <ul className={styles.legend}>\n {limitValues.map(renderLegendItem)}\n </ul>\n <FederalBillsLegend\n {...restProps}\n limits={limits}\n mapColors={mapColors}\n />\n </div>\n );\n}\n\nLegend.defaultProps = {\n limits: [],\n};\n\nLegend.propTypes = {\n limits: PropTypes.arrayOf(PropTypes.number),\n mapColors: PropTypes.arrayOf(PropTypes.string).isRequired,\n};\n\nexport default Legend;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Geography } from 'react-simple-maps';\n\nimport { colorScale } from '../../utils';\nimport { HIGHLIGHT_COLOR, HOVER_COLOR, STROKE_COLOR } from '../../utils/constants';\n\nfunction MapState({\n projection,\n geography,\n colorLimits,\n stateCounters,\n mapColors,\n onStateClick,\n onStateHover,\n selectedState,\n}) {\n const stateId = geography.properties && geography.properties.ID_1;\n const stateName = geography.properties && geography.properties.NAME_1;\n const stateBillsCount = stateCounters[stateName] || 0;\n const isSelected = selectedState && selectedState === stateName;\n\n const style = {\n default: {\n fill: isSelected ?\n HIGHLIGHT_COLOR :\n colorScale(+stateBillsCount, colorLimits, mapColors),\n stroke: STROKE_COLOR,\n outline: 'none',\n },\n hover: {\n fill: HOVER_COLOR,\n stroke: STROKE_COLOR,\n strokeWidth: 0.75,\n outline: 'none',\n },\n pressed: {\n fill: isSelected ? HIGHLIGHT_COLOR : HOVER_COLOR,\n stroke: STROKE_COLOR,\n strokeWidth: 0.75,\n outline: 'none',\n },\n };\n\n return (\n <Geography\n key={stateId}\n cacheId={stateId}\n geography={geography}\n projection={projection}\n onClick={onStateClick}\n style={style}\n onMouseEnter={onStateHover(stateName, stateBillsCount)}\n round\n />\n );\n}\n\nMapState.propTypes = {\n projection: PropTypes.func.isRequired,\n geography: PropTypes.object.isRequired,\n colorLimits: PropTypes.array.isRequired,\n stateCounters: PropTypes.object.isRequired,\n mapColors: PropTypes.array.isRequired,\n onStateClick: PropTypes.func,\n onStateHover: PropTypes.func,\n selectedState: PropTypes.string,\n};\n\nexport default MapState;\n","import { useState } from 'react';\nimport isFunction from 'lodash/isFunction';\n\nimport { getColorLimits, getStateCounters, getTooltipContent } from './utils';\n\nfunction useSimpleStatesMap({\n data,\n isEqualInterval,\n customColorLimits,\n customStateCounter,\n}) {\n const [tooltipContent, setTooltipContent] = useState(getTooltipContent());\n\n const stateCounts = customStateCounter && isFunction(customStateCounter) ?\n customStateCounter(data) :\n getStateCounters(data);\n\n const colorLimits = customColorLimits && isFunction(customColorLimits) ?\n customColorLimits(data, stateCounts) :\n getColorLimits(data, stateCounts, isEqualInterval);\n\n const { limits: legendLimits } = colorLimits;\n\n function handleStateHover(...args) {\n return () => setTooltipContent(getTooltipContent(...args));\n }\n\n return {\n tooltipContent,\n legendLimits,\n colorLimits,\n onStateHover: handleStateHover,\n };\n}\n\nexport default useSimpleStatesMap;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport { ComposableMap, ZoomableGroup, Geographies } from 'react-simple-maps';\n\nimport Legend from './components/Legend';\nimport MapState from './components/MapState';\nimport {\n HIGHLIGHT_COLOR,\n MAP_COLORS,\n GEOGRAPHY_LINK,\n MAP_HEIGHT,\n PROJECTION_NAME,\n PROJECTION_CONFIG,\n} from './utils/constants';\nimport useSimpleStatesMap from './useSimpleStatesMap';\nimport styles from './styles.module.scss';\n\nfunction SimpleStatesMap({\n data,\n mapColors,\n onStateClick,\n selectedState,\n customStateCounter,\n customColorLimits,\n className,\n isEqualInterval,\n federalBillsCount,\n isSelectedFederalBills,\n onFilterFederalBills,\n}) {\n const {\n tooltipContent,\n legendLimits,\n colorLimits,\n onStateHover,\n } = useSimpleStatesMap({\n isEqualInterval,\n customColorLimits,\n customStateCounter,\n data,\n });\n\n function renderStates(geographies, projection) {\n const { limits, stateCounters } = colorLimits;\n\n return geographies.map((geography, key) => (\n <Tooltip\n key={key}\n content={tooltipContent}\n className={styles.tooltipContainer}\n placement=\"bottom\"\n >\n <g>\n <MapState\n projection={projection}\n geography={geography}\n colorLimits={limits}\n selectedState={selectedState}\n stateCounters={stateCounters}\n onStateClick={onStateClick}\n mapColors={mapColors}\n onStateHover={onStateHover}\n />\n </g>\n </Tooltip>\n ));\n }\n\n return (\n <Fragment>\n <ComposableMap\n projection={PROJECTION_NAME}\n projectionConfig={PROJECTION_CONFIG}\n height={MAP_HEIGHT}\n className={classNames(styles.mapStyles, className)}\n >\n <ZoomableGroup disablePanning>\n <Geographies geography={GEOGRAPHY_LINK} disableOptimization>\n {renderStates}\n </Geographies>\n </ZoomableGroup>\n </ComposableMap>\n <Legend\n limits={legendLimits}\n mapColors={mapColors}\n selectedState={selectedState}\n onStateClick={onStateClick}\n isSelectedFederalBills={isSelectedFederalBills}\n federalBillsCount={federalBillsCount}\n onFilterFederalBills={onFilterFederalBills}\n />\n </Fragment>\n );\n}\n\nSimpleStatesMap.defaultProps = {\n mapColors: MAP_COLORS,\n mapHighlightColor: HIGHLIGHT_COLOR,\n isEqualInterval: true,\n};\n\nSimpleStatesMap.propTypes = {\n data: PropTypes.array.isRequired,\n mapColors: PropTypes.array.isRequired,\n onStateClick: PropTypes.func,\n customStateCounter: PropTypes.func,\n customColorLimits: PropTypes.func,\n selectedState: PropTypes.string,\n className: PropTypes.string,\n isEqualInterval: PropTypes.bool,\n federalBillsCount: PropTypes.number,\n isSelectedFederalBills: PropTypes.bool,\n onFilterFederalBills: PropTypes.func,\n};\n\nexport default SimpleStatesMap;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MapContext } from './utils/withMap';\nimport MapContainer from './components/Container';\nimport SimpleStatesMap from './components/SimpleStatesMap';\n\nfunction Map({ forwardRef, ...restProps }) {\n const mapContext = {\n forwardRef,\n ...restProps,\n };\n\n return (\n <MapContext.Provider value={mapContext}>\n <MapContainer forwardRef={forwardRef} />\n </MapContext.Provider>\n );\n}\n\nMap.defaultProps = {\n withFilters: true,\n withNavigation: true,\n withHeatmap: false,\n withGeoCoder: false,\n};\n\nMap.propTypes = {\n withFilters: PropTypes.bool,\n withNavigation: PropTypes.bool,\n withHeatmap: PropTypes.bool,\n withGeoCoder: PropTypes.bool,\n height: PropTypes.string.isRequired,\n defaultFilters: PropTypes.object,\n forwardRef: PropTypes.object.isRequired,\n className: PropTypes.string,\n};\n\nexport default Map;\nexport { SimpleStatesMap };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst boxThemes = {\n default: styles.default,\n};\n\nfunction Box({ text, theme, className }) {\n return (\n <div className={classNames(styles.box, boxThemes[theme], className)}>{text}</div>\n );\n}\n\nBox.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n theme: PropTypes.string,\n className: PropTypes.string,\n};\n\nBox.defaultProps = {\n text: '',\n className: '',\n theme: 'default',\n};\n\nexport default Box;\n","const titles = {\n sections: {\n title: 'Sections',\n description: 'Choose which sections to include',\n },\n fileFormat: {\n title: 'File Format',\n description: 'Choose the file format',\n },\n customization: {\n title: 'Customization',\n description: 'Brand the report with your logo',\n },\n preview: {\n title: 'Preview',\n },\n};\n\nexport default titles;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addressAutocomplete\":\"styles-module__addressAutocomplete___QMn4z\",\"dropdownContainerWrapper\":\"styles-module__dropdownContainerWrapper___130_K\",\"dropdownContainer\":\"styles-module__dropdownContainer___20xBi\",\"dropdownItem\":\"styles-module__dropdownItem___gNUhW\",\"icon\":\"styles-module__icon___1Djph\",\"isActive\":\"styles-module__isActive___3S5uB\",\"loadingIcon\":\"styles-module__loadingIcon___3ok1O\",\"withInputSelect\":\"styles-module__withInputSelect___3ZLaE\",\"mainText\":\"styles-module__mainText___3xlRG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay\":\"styles-module__overlay___AwUm7\",\"container\":\"styles-module__container___3HJTb\",\"scrollableContainer\":\"styles-module__scrollableContainer___UVjKf\",\"scrollableBody\":\"styles-module__scrollableBody___2jorQ\",\"body\":\"styles-module__body___7kp5i\",\"header\":\"styles-module__header___2ZX14\",\"modalTitle\":\"styles-module__modalTitle___3I29A\",\"closeIcon\":\"styles-module__closeIcon___85fgk\",\"footer\":\"styles-module__footer___1_bFD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mentions\":\"styles-module__mentions___1kOoM\",\"mentionsSuggestions\":\"styles-module__mentionsSuggestions___1dzzr\",\"mentionsSuggestionsList\":\"styles-module__mentionsSuggestionsList___1OFR5\",\"suggestion\":\"styles-module__suggestion___8g4mg\",\"suggestionFocused\":\"styles-module__suggestionFocused___12b3t\",\"mentionsInput\":\"styles-module__mentionsInput___1BBLX\",\"mentionsHighlighter\":\"styles-module__mentionsHighlighter___1__3P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"badge\":\"styles-module__badge___1WZHM\",\"default\":\"styles-module__default___361j3\",\"primary\":\"styles-module__primary___24T6-\",\"light\":\"styles-module__light___EHwiY\",\"active\":\"styles-module__active___HkRkU\",\"cyan\":\"styles-module__cyan___18XlR\",\"red\":\"styles-module__red___3WIHd\",\"redWithBorder\":\"styles-module__redWithBorder___1TiRj\",\"darkGrey\":\"styles-module__darkGrey___L-dlh\",\"violet\":\"styles-module__violet___SVu38\",\"isDisabled\":\"styles-module__isDisabled___3Vs3J\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nfunction ExportButton({ theme, className, customIcon, openModal }) {\n return (\n <Button\n theme={theme}\n customIcon={customIcon}\n className={className}\n onClick={openModal}\n >\n Export profile\n </Button>\n );\n}\n\nExportButton.defaultProps = {\n theme: 'secondary',\n customIcon: <i className=\"far fa-download\" />,\n};\n\nExportButton.propTypes = {\n theme: PropTypes.string,\n className: PropTypes.string,\n customIcon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n openModal: PropTypes.func.isRequired,\n};\n\nexport default ExportButton;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 20,\n },\n titleContainer: {\n marginBottom: 8,\n },\n title: {\n fontSize: 10,\n },\n description: {\n fontSize: 8,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View, Text } from '@react-pdf/renderer';\nimport { compact, map, isEmpty } from 'lodash';\n\nimport Table from './components/Table';\nimport { rowShape } from './utils/shapes';\nimport styles from './styles';\n\nexport default function TableSection({ title, description, tables }) {\n return (\n <View wrap={false} style={styles.container}>\n <View style={styles.titleContainer}>\n <Text style={styles.title}>\n {title}\n </Text>\n <Text style={styles.description}>\n {description}\n </Text>\n </View>\n {compact(map(tables, rows => (!isEmpty(rows) && <Table key={rows[0].label} rows={rows} />)))}\n </View>\n );\n}\n\nTableSection.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n tables: PropTypes.arrayOf(\n PropTypes.arrayOf(rowShape),\n ),\n};\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getAwardContent } from 'components/core/Profile/components/Cards/Awards/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction Awards({ person }) {\n const { awards } = person || {};\n\n if (isEmpty(awards)) {\n return null;\n }\n\n const tables = [\n map(awards, (award, index) => ({\n label: `Award ${index + 1}`,\n value: getAwardContent(award),\n })),\n ];\n\n return (\n <TableSection\n title=\"Awards\"\n tables={tables}\n />\n );\n}\n\nAwards.propTypes = {\n person: personShape,\n};\n\nexport default Awards;\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getEducationItemContent } from 'components/core/Profile/components/Cards/Education/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction Education({ person }) {\n const { education } = person || {};\n\n if (isEmpty(education)) {\n return null;\n }\n\n const tables = [\n map(education, (educationItem, index) => ({\n label: `Education ${index + 1}`,\n value: getEducationItemContent(educationItem),\n })),\n ];\n\n return (\n <TableSection\n title=\"Education\"\n tables={tables}\n />\n );\n}\n\nEducation.propTypes = {\n person: personShape,\n};\n\nexport default Education;\n","import React from 'react';\nimport { map, isEmpty, concat } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getEmploymentContent } from 'components/core/Profile/components/Cards/EmploymentHistory/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction EmploymentHistory({ person }) {\n const { employmentHistory, headPositions } = person || {};\n const data = concat(employmentHistory, headPositions);\n\n if (isEmpty(data)) {\n return null;\n }\n\n const tables = [\n map(data, (historyItem, index) => ({\n label: `Organization ${index + 1}`,\n value: getEmploymentContent(historyItem),\n })),\n ];\n\n return (\n <TableSection\n title=\"Employment history\"\n tables={tables}\n />\n );\n}\n\nEmploymentHistory.propTypes = {\n person: personShape,\n};\n\nexport default EmploymentHistory;\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getOrganizationContent } from 'components/core/Profile/components/Cards/Membership/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction Membership({ person }) {\n const { membership } = person || {};\n\n if (isEmpty(membership)) {\n return null;\n }\n\n const tables = [\n map(membership, (membershipItem, index) => ({\n label: `Organization ${index + 1}`,\n value: getOrganizationContent(membershipItem),\n })),\n ];\n\n return (\n <TableSection\n title=\"Membership\"\n tables={tables}\n />\n );\n}\n\nMembership.propTypes = {\n person: personShape,\n};\n\nexport default Membership;\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getBranchContent } from 'components/core/Profile/components/Cards/MilitaryService/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction MilitaryService({ person }) {\n const { militaryService } = person || {};\n\n if (isEmpty(militaryService)) {\n return null;\n }\n\n const tables = [\n map(militaryService, (militaryBranch, index) => ({\n label: `Military branch ${index + 1}`,\n value: getBranchContent(militaryBranch),\n })),\n ];\n\n return (\n <TableSection\n title=\"Military service\"\n tables={tables}\n />\n );\n}\n\nMilitaryService.propTypes = {\n person: personShape,\n};\n\nexport default MilitaryService;\n","import React from 'react';\nimport { compact, isEmpty } from 'lodash';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport TableSection from '../../TableSection';\n\nfunction PersonalDetails({ person }) {\n const {\n maritalStatus,\n spouseName,\n family,\n religion,\n ethnicity,\n residence,\n gender,\n birthInfo = {},\n } = person || {};\n\n const {\n place: birthplace,\n date: birthdate,\n } = birthInfo;\n\n const properties = compact([\n maritalStatus,\n spouseName,\n family,\n religion,\n ethnicity,\n residence,\n gender,\n birthplace,\n birthdate,\n ]);\n\n if (isEmpty(properties)) {\n return null;\n }\n\n const tables = [\n [\n {\n label: 'Birthplace',\n value: birthplace || EMPTY_VALUE,\n },\n {\n label: 'Birthdate',\n value: birthdate || EMPTY_VALUE,\n },\n {\n label: 'Marital status',\n value: maritalStatus || EMPTY_VALUE,\n },\n {\n label: 'Spouse',\n value: spouseName || EMPTY_VALUE,\n },\n {\n label: 'Family',\n value: family || EMPTY_VALUE,\n },\n {\n label: 'Religion',\n value: religion || EMPTY_VALUE,\n },\n {\n label: 'Ethnicity',\n value: ethnicity || EMPTY_VALUE,\n },\n {\n label: 'Residence',\n value: residence || EMPTY_VALUE,\n },\n {\n label: 'Gender',\n value: gender || EMPTY_VALUE,\n },\n ],\n ];\n\n return (\n <TableSection\n title=\"Personal details\"\n tables={tables}\n />\n );\n}\n\nPersonalDetails.propTypes = {\n person: personShape,\n};\n\nexport default PersonalDetails;\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getPositionContent } from 'components/core/Profile/components/Cards/PoliticalHistory/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction PoliticalHistory({ person }) {\n const { politicalHistory } = person || {};\n\n if (isEmpty(politicalHistory)) {\n return null;\n }\n\n const tables = [\n map(politicalHistory, (historyItem, index) => ({\n label: `Organization ${index + 1}`,\n value: getPositionContent(historyItem),\n })),\n ];\n\n return (\n <TableSection\n title=\"Political history\"\n tables={tables}\n />\n );\n}\n\nPoliticalHistory.propTypes = {\n person: personShape,\n};\n\nexport default PoliticalHistory;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, get } from 'lodash';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { joinCompact } from 'utils/string';\nimport { getValidPhones } from 'components/core/Profile/utils';\nimport { positionShape } from 'components/core/Profile/utils/shapes';\nimport { formatUrl } from 'components/core/Profile/components/Table/components/Column/Link/utils';\nimport {\n getPhoneLabel,\n getPositionDescription,\n getPhone,\n} from 'components/core/Profile/components/Cards/Positions/utils';\nimport { getStateName } from 'components/core/Profile/components/Cards/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction Position({ position, positionIndex }) {\n const {\n address,\n phones = [],\n } = position;\n\n const {\n building,\n street,\n city,\n state,\n zipCode,\n } = address || {};\n const hasMultiplePositions = positionIndex > 1;\n\n const stateName = getStateName(get(state, 'name'));\n const displayedAddress = joinCompact([street, city, stateName, zipCode]);\n const description = hasMultiplePositions ? getPositionDescription(position) : null;\n const title = hasMultiplePositions ? `Role/Office ${positionIndex}` : 'Office';\n\n function getPhones() {\n return map(getValidPhones(phones), (phone) => {\n const { type } = phone;\n const phoneUrl = getPhone(phone);\n\n return {\n label: getPhoneLabel(phone),\n value: phoneUrl,\n href: formatUrl({ url: phoneUrl, type }),\n };\n });\n }\n\n const tables = [\n [\n {\n label: 'Address',\n value: displayedAddress || EMPTY_VALUE,\n },\n {\n label: 'Building',\n value: building || EMPTY_VALUE,\n },\n ],\n getPhones(),\n ];\n\n return (\n <TableSection\n title={title}\n description={description}\n tables={tables}\n />\n );\n}\n\nPosition.propTypes = {\n position: positionShape,\n positionIndex: PropTypes.number,\n};\n\nexport default Position;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, isEmpty } from 'lodash';\n\nimport { positionShape } from 'components/core/Profile/utils/shapes';\n\nimport Position from '../Position';\n\nfunction Positions({ positions }) {\n if (isEmpty(positions)) {\n return null;\n }\n\n function renderPosition(position, index) {\n return (\n <Position\n positionIndex={index + 1}\n position={position}\n title={`Role/Office ${index + 1}`}\n key={`role-office-${index}`}\n />\n );\n }\n\n return map(positions, renderPosition);\n}\n\nPositions.propTypes = {\n positions: PropTypes.arrayOf(positionShape),\n};\n\nexport default Positions;\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getPublicationContent } from 'components/core/Profile/components/Cards/Publications/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction Publications({ person }) {\n const { publications } = person || {};\n\n if (isEmpty(publications)) {\n return null;\n }\n\n const tables = [\n map(publications, (publication, index) => ({\n label: `Publication ${index + 1}`,\n value: getPublicationContent(publication),\n })),\n ];\n\n return (\n <TableSection\n title=\"Publications\"\n tables={tables}\n />\n );\n}\n\nPublications.propTypes = {\n person: personShape,\n};\n\nexport default Publications;\n","import React from 'react';\nimport { map, isEmpty } from 'lodash';\n\nimport getLabel from 'components/core/Profile/components/Cards/WebAddresses/getLabel';\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { formatUrl } from 'components/core/Profile/components/Table/components/Column/Link/utils';\n\nimport TableSection from '../../TableSection';\n\nfunction WebAddresses({ person }) {\n const { urls } = person || {};\n\n if (isEmpty(urls)) {\n return null;\n }\n\n const tables = [\n map(urls, ({ url, type }) => ({\n label: getLabel({ type }),\n value: url,\n href: formatUrl({ url, type }),\n })),\n ];\n\n return (\n <TableSection\n title=\"Web addresses\"\n tables={tables}\n />\n );\n}\n\nWebAddresses.propTypes = {\n person: personShape,\n};\n\nexport default WebAddresses;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash/isFunction';\n\nimport useModal from 'components/core/Modal/useModal';\n\nimport { sectionShape } from './utils/shapes';\nimport Modal from './components/Modal';\nimport Button from './components/Button';\n\nexport * from './components/Sections';\n\nfunction Export({\n customIcon,\n buttonClassName,\n buttonTheme,\n customExportButton,\n documentComponent,\n fileName,\n fetchComponentData,\n defaultSectionValues,\n sections,\n previewDocumentTitle,\n onFileExport,\n trackingActions,\n}) {\n const { isOpenModal, openModal, toggleModal, closeModal } = useModal(false);\n\n function openExportModal() {\n const { trackOpenExportModal } = trackingActions || {};\n\n openModal();\n trackOpenExportModal && trackOpenExportModal();\n }\n\n const commonProps = {\n isOpenModal,\n closeModal,\n toggleModal,\n openModal: openExportModal,\n };\n\n function renderButton() {\n if (isFunction(customExportButton)) {\n return customExportButton(commonProps);\n }\n\n return (\n <Button\n {...commonProps}\n theme={buttonTheme}\n customIcon={customIcon}\n className={buttonClassName}\n />\n );\n }\n\n return (\n <>\n {renderButton()}\n <Modal\n {...commonProps}\n documentComponent={documentComponent}\n fileName={fileName}\n fetchComponentData={fetchComponentData}\n defaultSectionValues={defaultSectionValues}\n sections={sections}\n previewDocumentTitle={previewDocumentTitle}\n onFileExport={onFileExport}\n trackingActions={trackingActions}\n />\n </>\n );\n}\n\nExport.propTypes = {\n documentComponent: PropTypes.node.isRequired,\n fileName: PropTypes.string.isRequired,\n defaultSectionValues: PropTypes.arrayOf(PropTypes.string),\n sections: PropTypes.arrayOf(sectionShape).isRequired,\n previewDocumentTitle: PropTypes.string.isRequired,\n customIcon: PropTypes.node,\n buttonTheme: PropTypes.string,\n buttonClassName: PropTypes.string,\n customExportButton: PropTypes.func,\n fetchComponentData: PropTypes.func,\n onFileExport: PropTypes.func,\n trackingActions: PropTypes.shape({\n trackOpenExportModal: PropTypes.func,\n trackGeneratedExport: PropTypes.func,\n }),\n};\n\nexport default Export;\n","import moment from 'moment';\n\nexport function extractAllEvents(events) {\n return events.flatMap(dayEvents => dayEvents.events);\n}\n\nexport function getCalendarEventsByType(events, type) {\n return events\n .filter(event => event.status[type])\n .map(event => moment(event.date));\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"styles-module__item___1jXZd\",\"flexItem\":\"styles-module__flexItem___2oXNS\",\"questionIcon\":\"styles-module__questionIcon___1WyoU\",\"questionContent\":\"styles-module__questionContent___oHO7z\",\"itemTitle\":\"styles-module__itemTitle___xPL17\",\"currentData\":\"styles-module__currentData___2mOuH\",\"labelPlaceholder\":\"styles-module__labelPlaceholder___QXcHU\",\"valuePlaceholder\":\"styles-module__valuePlaceholder___1JI7q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonPlaceholder\":\"styles-module__buttonPlaceholder___SmLCo\",\"notColumn\":\"styles-module__notColumn___3nnC3\",\"button\":\"styles-module__button___2b44J\",\"icon\":\"styles-module__icon___3ct9o\",\"iconTracked\":\"styles-module__iconTracked___grvMZ\",\"withRightMargin\":\"styles-module__withRightMargin___33wvy\",\"tooltip\":\"styles-module__tooltip___j6nEH\",\"container\":\"styles-module__container___2gMHs\",\"placeholder\":\"styles-module__placeholder___3e3jt\",\"positionsContainer\":\"styles-module__positionsContainer___3UKKT\",\"no_position\":\"styles-module__no_position___2Owl5\",\"grey\":\"styles-module__grey___2UbAK\",\"monitor\":\"styles-module__monitor___1Gbiz\",\"orange\":\"styles-module__orange___pNpgL\",\"support\":\"styles-module__support___CXAVx\",\"green\":\"styles-module__green___2mmTg\",\"oppose\":\"styles-module__oppose___1P9Hb\",\"red\":\"styles-module__red___33Ly8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___1MaQU\",\"loadingBtn\":\"styles-module__loadingBtn___MFaln\",\"modalActions\":\"styles-module__modalActions___3eTe3\",\"formGroup\":\"styles-module__formGroup___2LX-4\",\"row\":\"styles-module__row___1FOph\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3Ko-s\",\"badge\":\"styles-module__badge___3tbcS\",\"cosponsorItem\":\"styles-module__cosponsorItem___3b_zs\",\"tooltipContent\":\"styles-module__tooltipContent___3_7S_\",\"tooltipItem\":\"styles-module__tooltipItem___2hQF5\",\"linkLabel\":\"styles-module__linkLabel___20znS\",\"legislatorItem\":\"styles-module__legislatorItem___1Jpqz\",\"buttonTopicSaver\":\"styles-module__buttonTopicSaver___2dy29\",\"tooltipWrapper\":\"styles-module__tooltipWrapper___3Qu3n\",\"tooltipContainer\":\"styles-module__tooltipContainer___21HsP\",\"hover\":\"styles-module__hover___Cbmv8\",\"tooltipHoverItem\":\"styles-module__tooltipHoverItem___3Kjn1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"advancedSearch\":\"styles-module__advancedSearch___tG3FM\",\"button\":\"styles-module__button___1hBPK\",\"text\":\"styles-module__text___1Lci_\",\"clearAll\":\"styles-module__clearAll___2wa5U\",\"iconWrapper\":\"styles-module__iconWrapper___3HY2b\",\"icon\":\"styles-module__icon___1LgOu\",\"badge\":\"styles-module__badge___1v4Zb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3jP3e\",\"container\":\"styles-module__container___SJ67F\",\"cardHeader\":\"styles-module__cardHeader___6BIhD\",\"info\":\"styles-module__info___2fORY\",\"badges\":\"styles-module__badges___3NgA1\",\"title\":\"styles-module__title___1WCgf\",\"nameContainer\":\"styles-module__nameContainer___2pGwi\",\"name\":\"styles-module__name___2PmAe\",\"descriptionContainer\":\"styles-module__descriptionContainer___2-lhC\",\"description\":\"styles-module__description___Vx2Ku\",\"subtitle\":\"styles-module__subtitle___24t-l\",\"partyIcon\":\"styles-module__partyIcon___2momJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___16zdN\",\"isEmpty\":\"styles-module__isEmpty___BVz3G\",\"form\":\"styles-module__form___1EfkJ\",\"cardLoading\":\"styles-module__cardLoading___1SrFm\",\"cardContent\":\"styles-module__cardContent___3cwaj\",\"cardFooter\":\"styles-module__cardFooter___SB7Xw\",\"builder\":\"styles-module__builder___3UM-t\",\"submit\":\"styles-module__submit___3vqVF\",\"cancel\":\"styles-module__cancel___35s0p\"};","import React from 'react';\nimport orderBy from 'lodash/orderBy';\n\nimport { getLimitExceedInfo, getLimitExceedError } from 'utils/notification';\nimport {\n LIMIT_PDF_SELECTED_ITEMS,\n EXPORT_RECORD_LIMIT,\n EXPORT_DOCX_RECORD_LIMIT,\n DOCX_ID,\n} from 'utils/constants/export';\nimport useExportPDFDocument from 'components/core/ExportDocument/utils/useExportPDFDocument';\nimport useLoader from 'utils/useLoader';\nimport SORT_DIRECTIONS from 'utils/constants/sortDirections';\nimport { submitSingleExport } from 'utils/api';\n\nfunction useExportLookupModal({\n fileName,\n selectedItems,\n sort,\n toggleModal,\n documentTitle,\n documentComponent,\n slugSingleExport,\n fetchComponentData,\n customApiProps,\n perPage,\n onNotifySuccess,\n onNotifyFailure,\n}) {\n const loaders = useLoader();\n\n const sortedSelectedItems = orderBy(selectedItems, ['page', 'index'], [SORT_DIRECTIONS.ASC, SORT_DIRECTIONS.ASC]);\n const selectedItemIds = sortedSelectedItems.map(item => item.id);\n const documentProps = { documentTitle, selectedItems: sortedSelectedItems };\n\n const { isDocumentLoading, onExport: onExportPDF } = useExportPDFDocument({\n fetchComponentData,\n documentComponent: documentComponent && React.cloneElement(documentComponent, documentProps),\n onFileExported: toggleModal,\n limitExceedProps: {\n selectedItemsLength: sortedSelectedItems.length,\n limit: LIMIT_PDF_SELECTED_ITEMS,\n onLimitExceedInfo: getLimitExceedInfo,\n },\n onNotifySuccess,\n onNotifyFailure,\n fileName: `${fileName}.pdf`,\n });\n\n function handleExport(props) {\n const { fileExtension } = props;\n const exportLimit = fileExtension === DOCX_ID\n ? EXPORT_DOCX_RECORD_LIMIT\n : EXPORT_RECORD_LIMIT;\n\n return submitSingleExport({\n ...props,\n sort,\n fileName,\n loaders,\n perPage: perPage || exportLimit,\n selectedItems: selectedItemIds,\n reportSlug: slugSingleExport,\n onFileExported: toggleModal,\n customApiProps,\n limitExceedProps: {\n selectedItemsLength: selectedItemIds.length,\n limit: perPage || exportLimit,\n onLimitExceedError: getLimitExceedError,\n },\n onNotifySuccess,\n onNotifyFailure,\n });\n }\n\n return {\n onExportPDF,\n onExport: handleExport,\n isLoading: isDocumentLoading || loaders.isLoading,\n };\n}\n\nexport default useExportLookupModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { reduce, isEmpty, map } from 'lodash';\n\nimport ExportModal, {\n Customization,\n FileFormat,\n Sections,\n Preview,\n} from 'components/core/ExportDocument/components/ExportModal';\nimport Loader from 'components/core/Loader';\nimport { ReportTitlePreview } from 'components/core/ExportDocument/components/ExportModal/components/Preview';\nimport {\n CSV_ID,\n LOGO_CUSTOMIZATION_ID,\n PDF_ID,\n DOCX_ID,\n EXPORT_FILE_ITEMS,\n SUMMARY_CUSTOMIZATION_ID,\n SHOW_PAGE_CUSTOMIZATION_ID,\n} from 'utils/constants/export';\nimport { sortShape } from 'components/core/Sort/shapes';\n\nimport { customFileFormatItemsShape, customFileFormatsShape } from '../../shapes';\nimport useExportLookupModal from './utils/useExportLookupModal';\nimport { getCustomizationSectionProps, getFormatItems } from './utils';\nimport styles from './styles.module.scss';\n\nfunction ExportLookupModal({\n isOpenModal,\n toggleModal,\n fileName,\n sort,\n selectedItems,\n documentTitle,\n defaultColumnsIds,\n withExportSummary,\n exportTableColumns,\n customFileFormats,\n customFileFormatItems,\n fetchComponentData,\n documentComponent,\n slugSingleExport,\n onFileExported,\n customApiProps,\n defaultFormat,\n fileFormatDescription,\n withDocxCustomization,\n sectionsTitle,\n sectionsDescription,\n perPage,\n onTracking,\n onNotifySuccess,\n onNotifyFailure,\n defaultFileFormat,\n withGovReportToPDF,\n}) {\n const {\n onExport,\n isLoading,\n onExportPDF,\n } = useExportLookupModal({\n documentTitle,\n fetchComponentData,\n documentComponent,\n slugSingleExport,\n selectedItems,\n toggleModal,\n fileName,\n sort,\n customApiProps,\n perPage,\n onNotifySuccess,\n onNotifyFailure,\n });\n\n const tabColumns = exportTableColumns.map(tab => tab.id);\n const fileFormatItems = isEmpty(customFileFormatItems) ? getFormatItems(customFileFormats) : customFileFormatItems;\n const exportFileItems = isEmpty(fileFormatItems) ? EXPORT_FILE_ITEMS : fileFormatItems;\n\n function handleExport(props, logoUrl, documentSummary) {\n const { sections, customization, fileFormat } = props || {};\n\n const [fileExtension = defaultFormat] = fileFormat || [];\n const filterColumns = exportTableColumns.filter(\n item => !item.isSelectAll && sections.includes(item.id)\n );\n\n const visibleColumns = reduce(filterColumns, (result, item) => {\n const hasAditionalValues = !isEmpty(item.values);\n\n if (hasAditionalValues) {\n return [\n ...result,\n ...map(item.values, value => ({ value: value.id, label: value.title })),\n ];\n }\n\n return [\n ...result,\n { value: item.id, label: item.title },\n ];\n }, []);\n\n const isLogoVisible = customization.includes(LOGO_CUSTOMIZATION_ID);\n const isPageNumbersVisible = customization.includes(SHOW_PAGE_CUSTOMIZATION_ID);\n\n onFileExported && onFileExported(props);\n onTracking && onTracking(fileExtension);\n if (fileExtension === PDF_ID && !withGovReportToPDF) {\n return onExportPDF({\n ...props,\n logoUrl: isLogoVisible ? logoUrl : undefined,\n isPageNumbersVisible,\n documentSummary,\n });\n }\n\n return onExport({\n fileExtension,\n visibleColumns,\n defaultColumns: defaultColumnsIds,\n isLogoVisible,\n documentSummary,\n });\n }\n\n function renderModalContent(exportProps) {\n const {\n getFileFormatProps,\n getCustomizationProps,\n getSectionsProps,\n companyHasLogo,\n onResetSummary,\n onChangeSummary,\n documentSummary,\n isLogoLoading,\n logoUrl,\n } = exportProps;\n\n const { values } = getCustomizationProps();\n const { values: fileFormatValues } = getFileFormatProps();\n const previewCompanyLogo = values.includes(LOGO_CUSTOMIZATION_ID);\n const reportHasSummary = values.includes(SUMMARY_CUSTOMIZATION_ID);\n\n const isPDF = fileFormatValues.includes(PDF_ID);\n const displayDocxCustomization = withDocxCustomization && fileFormatValues.includes(DOCX_ID);\n const displayCustomization = isPDF || displayDocxCustomization;\n const previewLogoUrl = previewCompanyLogo ? logoUrl : undefined;\n\n const documentSummaryProps = {\n reportHasSummary,\n onReset: onResetSummary,\n onChange: onChangeSummary,\n value: documentSummary,\n };\n\n const previewComponent = (\n <ReportTitlePreview\n logoUrl={previewLogoUrl}\n documentTitle={documentTitle}\n />\n );\n\n if (isLogoLoading) {\n return (\n <div className={styles.loaderContainer}>\n <Loader message=\"Loading ...\" />\n </div>\n );\n }\n\n return (\n <>\n <div className={styles.flexItem}>\n <div className={styles.section}>\n <Sections\n {...getSectionsProps()}\n exportTabItems={exportTableColumns}\n title={sectionsTitle}\n description={sectionsDescription}\n />\n </div>\n </div>\n\n <div className={styles.flexItem}>\n <div className={styles.section}>\n <FileFormat\n {...getFileFormatProps()}\n description={fileFormatDescription}\n exportFileItems={exportFileItems}\n />\n </div>\n\n {displayCustomization && (\n <>\n <div className={styles.section}>\n <Customization\n {...getCustomizationProps()}\n {...getCustomizationSectionProps({ withExportSummary, companyHasLogo, isPDF, withGovReportToPDF })}\n onChangeSummary={onChangeSummary}\n documentSummaryProps={documentSummaryProps}\n enableTooltip\n />\n </div>\n <div className={styles.section}>\n <Preview previewComponent={previewComponent} />\n </div>\n </>\n )}\n </div>\n </>\n );\n }\n\n return (\n <ExportModal\n isOpenModal={isOpenModal}\n toggleModal={toggleModal}\n onExport={handleExport}\n defaultSectionValues={tabColumns}\n displayCompanyLogo\n isLoading={isLoading}\n theme=\"scrollableBody\"\n className={styles.modal}\n bodyClassName={styles.modalBody}\n defaultFileFormatValues={defaultFileFormat}\n >\n {renderModalContent}\n </ExportModal>\n );\n}\n\nExportLookupModal.defaultProps = {\n defaultFormat: CSV_ID,\n sectionsTitle: 'Columns',\n sectionsDescription: 'Choose which columns to include',\n withGovReportToPDF: false,\n};\n\nExportLookupModal.propTypes = {\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n fileName: PropTypes.string.isRequired,\n sort: sortShape,\n selectedItems: PropTypes.array,\n documentTitle: PropTypes.string.isRequired,\n documentComponent: PropTypes.node,\n slugSingleExport: PropTypes.string.isRequired,\n exportTableColumns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n isSelectAll: PropTypes.bool,\n isDisabled: PropTypes.bool,\n values: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n })),\n })).isRequired,\n withExportSummary: PropTypes.bool,\n defaultColumnsIds: PropTypes.arrayOf(PropTypes.string),\n fetchComponentData: PropTypes.func,\n onFileExported: PropTypes.func,\n customFileFormats: customFileFormatsShape,\n customFileFormatItems: customFileFormatItemsShape,\n defaultFileFormat: PropTypes.arrayOf(PropTypes.string),\n customApiProps: PropTypes.object,\n defaultFormat: PropTypes.string,\n fileFormatDescription: PropTypes.string,\n withDocxCustomization: PropTypes.bool,\n sectionsTitle: PropTypes.string,\n sectionsDescription: PropTypes.string,\n perPage: PropTypes.number,\n onTracking: PropTypes.func,\n onNotifySuccess: PropTypes.func,\n onNotifyFailure: PropTypes.func,\n withGovReportToPDF: PropTypes.bool,\n};\n\nexport default ExportLookupModal;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport ReactHintFactory from 'react-hint';\nimport uniqueId from 'lodash/uniqueId';\n\nimport styles from './styles.module.scss';\n\nconst basePosition = 'bottom';\n\nconst tooltipThemes = {\n dark: styles.dark,\n};\n\nconst tooltipPositions = {\n bottomRight: styles.bottomRight,\n bottomLeft: styles.bottomLeft,\n};\n\nconst tooltipSizes = {\n small: styles.smallSize,\n};\n\nconst ReactHint = ReactHintFactory(React);\n\nfunction Tooltip({\n theme,\n content,\n name,\n position,\n children,\n className,\n headerClassName,\n hintEvent,\n forwardRef,\n size,\n persist,\n ...restProps\n}) {\n function handleTooltipToggle() {\n if (!persist) {\n return;\n }\n\n const isTooltipOpen = forwardRef.current && forwardRef.current.state.target;\n\n if (isTooltipOpen) {\n setTimeout(forwardRef.current.toggleHint, 0);\n }\n }\n\n const hintName = `data-custom-${name}-${uniqueId()}`;\n const hintEvents = {\n [hintEvent]: true,\n };\n\n return (\n <span className={classNames(styles.tooltip, tooltipThemes[theme], headerClassName)}>\n <span onClick={handleTooltipToggle} className={styles.trigger} {...{ [hintName]: true }}>\n {children}\n </span>\n <ReactHint\n ref={forwardRef}\n position={basePosition}\n attribute={hintName}\n className={classNames(styles.hint, tooltipPositions[position], tooltipSizes[size], className)}\n onRenderContent={content}\n events={hintEvents}\n persist={persist}\n {...restProps}\n />\n </span>\n );\n}\n\nTooltip.propTypes = {\n theme: PropTypes.string,\n content: PropTypes.func.isRequired,\n children: PropTypes.node.isRequired,\n headerClassName: PropTypes.string,\n position: PropTypes.oneOf(\n Object.keys(tooltipPositions),\n ),\n className: PropTypes.string,\n name: PropTypes.string,\n size: PropTypes.string,\n persist: PropTypes.bool,\n delay: PropTypes.number,\n forwardRef: PropTypes.object,\n hintEvent: PropTypes.oneOf([\n 'click',\n 'focus',\n 'hover',\n ]),\n};\n\nTooltip.defaultProps = {\n persist: false,\n delay: 100,\n position: 'bottomRight',\n hintEvent: 'click',\n name: '',\n};\n\nexport default Tooltip;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___PWTHD\",\"footer\":\"styles-module__footer___2B4Em\",\"cancelButton\":\"styles-module__cancelButton___1qjy_\"};","export const NO_PRIORITY = 'no_priority';\n\nexport const priorities = {\n highest: {\n label: 'Highest',\n icon: 'fas fa-chevron-double-up',\n },\n high: {\n label: 'High',\n icon: 'fas fa-arrow-alt-up',\n },\n [NO_PRIORITY]: {\n label: 'No priority',\n icon: 'fas fa-times-circle',\n },\n low: {\n label: 'Low',\n icon: 'fas fa-arrow-alt-down',\n },\n lowest: {\n label: 'Lowest',\n icon: 'fas fa-chevron-double-down',\n },\n};\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ViewTags from 'components/core/ViewTags';\nimport { Column } from 'components/core/Table';\nimport { SIZES as TAG_SIZES } from 'components/core/ViewTags/constants';\n\nimport { itemShape } from '../utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction AddedToItem({\n isColumn,\n keyName,\n item,\n isLoading,\n className,\n isLoadingMyFeedDocuments,\n withTags,\n}) {\n const { sharings, trackings, tags } = item || {};\n\n const renderItems = () => (\n <div className={classNames(styles.badgesContainer, className)}>\n <ViewTags\n isLoading={isLoading || isLoadingMyFeedDocuments}\n size={TAG_SIZES.small}\n tileClassName={styles.tile}\n sharings={sharings}\n trackings={trackings}\n tags={withTags && tags || []}\n />\n </div>\n );\n\n if (!isColumn) {\n return renderItems();\n }\n\n return (\n <Column key={keyName} keyName={keyName} className={styles.container}>\n {renderItems}\n </Column>\n );\n}\n\nAddedToItem.defaultProps = {\n isColumn: true,\n withTags: false,\n};\n\nAddedToItem.propTypes = {\n keyName: PropTypes.string,\n item: itemShape,\n isLoading: PropTypes.bool,\n isColumn: PropTypes.bool,\n className: PropTypes.string,\n isLoadingMyFeedDocuments: PropTypes.bool,\n withTags: PropTypes.bool,\n};\n\nexport default memo(AddedToItem);\n","export const RECORD_TYPES = {\n STATE_BILL: 'state_bill',\n FEDERAL_BILL: 'federal_bill',\n STATE_REGULATIONS: 'state_regulation',\n};\n\nexport const EMPTY_SUMMARY = {\n id: null,\n content: '',\n updatedAt: null,\n};\n\nexport const LIMIT = 5000;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport themes from '../themes.module.scss';\nimport styles from '../styles.module.scss';\n\nfunction LabelDot({\n isActive,\n isLast,\n isFirst,\n isFailed,\n label,\n className,\n labelClassName,\n}) {\n const containerClassName = classNames(\n styles.labelDot,\n isFirst && styles.firstLabelDot,\n isActive && themes.activeLabelDot,\n isFailed && themes.failedDot,\n className,\n );\n const labelClassNames = classNames(\n isLast ? styles.lastLabel : styles.label,\n labelClassName,\n );\n\n return (\n <div className={containerClassName}>\n {isFailed && <i className={classNames('far fa-times-circle', styles.failedIcon)} />}\n <div className={labelClassNames}>{label}</div>\n </div>\n );\n}\n\nLabelDot.propTypes = {\n isLast: PropTypes.bool,\n isFirst: PropTypes.bool,\n isActive: PropTypes.bool,\n isFailed: PropTypes.bool,\n className: PropTypes.string,\n labelClassName: PropTypes.string,\n label: PropTypes.string.isRequired,\n};\n\nexport default LabelDot;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { getActiveItems } from './utils';\nimport LabelDot from './components/LabelDot';\nimport themes from './themes.module.scss';\nimport styles from './styles.module.scss';\n\nfunction LabeledProgressBar({\n isDesktop,\n progressList,\n currentStatus,\n className,\n theme,\n mobileComponent,\n labelClassName,\n dotClassName,\n}) {\n if (progressList.length < 2) {\n return null;\n }\n\n if (!isDesktop) {\n return mobileComponent;\n }\n\n const activeItems = getActiveItems(progressList, currentStatus);\n const firstItem = progressList[0];\n const isFirstActive = activeItems.includes(firstItem.id);\n\n function renderProgressStep(item, index) {\n const { id, label, isFailed } = item;\n\n /* splitted list last item */\n const isLast = index === progressList.length - 2;\n const shouldDisplayFirstItem = index === 0;\n const isActive = activeItems.includes(id);\n\n const progressClassName = classNames(\n styles.progressStep,\n isActive && themes.activeProgressStep,\n );\n\n return (\n <div key={id} className={progressClassName}>\n {shouldDisplayFirstItem && (\n <LabelDot\n isFirst\n isActive={isFirstActive}\n label={firstItem.label}\n className={dotClassName}\n labelClassName={labelClassName}\n />\n )}\n <LabelDot\n label={label}\n isActive={isActive}\n isLast={isLast}\n isFailed={isFailed}\n className={dotClassName}\n labelClassName={labelClassName}\n />\n </div>\n );\n }\n\n return (\n <div className={classNames(styles.container, themes[theme], className)}>\n {progressList.slice(1).map(renderProgressStep)}\n </div>\n );\n}\n\nLabeledProgressBar.defaultProps = {\n theme: 'default',\n mobileComponent: null,\n};\n\nLabeledProgressBar.propTypes = {\n theme: PropTypes.oneOf([\n 'default',\n 'light',\n ]),\n progressList: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n })).isRequired,\n currentStatus: PropTypes.string,\n className: PropTypes.string,\n dotClassName: PropTypes.string,\n labelClassName: PropTypes.string,\n isDesktop: PropTypes.bool.isRequired,\n mobileComponent: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n};\n\nexport default LabeledProgressBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport LabeledProgressBar from './components/LabeledProgressBar';\n\nimport styles from './styles.module.scss';\n\nconst themes = {\n default: styles.default,\n light: styles.light,\n};\n\nconst titleThemes = {\n success: styles.success,\n pending: styles.pending,\n failure: styles.failure,\n};\n\nexport default function ProgressBar({ percent, title, theme, titleTheme, className }) {\n const normalizedPercent = Math.min(100, Math.max(0, percent));\n const widthStyle = { width: `${normalizedPercent}%` };\n\n return (\n <div className={classNames(styles.bar, themes[theme], className)}>\n {title && (\n <div className={classNames(styles.title, titleThemes[titleTheme])}>\n {title}\n </div>\n )}\n\n <div className={styles.progress} style={widthStyle} />\n </div>\n );\n}\n\nProgressBar.propTypes = {\n percent: PropTypes.number.isRequired,\n theme: PropTypes.oneOf(['default', 'light']),\n className: PropTypes.string,\n title: PropTypes.string,\n titleTheme: PropTypes.oneOf(['success', 'pending', 'failure']),\n};\n\nProgressBar.defaultProps = {\n percent: 0,\n theme: 'default',\n title: '',\n titleTheme: 'pending',\n};\n\nexport { LabeledProgressBar };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport { getPosition } from '../../utils/constants';\nimport styles from './styles.module.scss';\n\nfunction TooltipButton({\n isDisabled,\n isLoading,\n position,\n className,\n iconClassName,\n onClick,\n}) {\n const { label, icon, color } = getPosition(position) || {};\n\n function handleClick() {\n onClick(position);\n }\n\n return (\n <Button\n customIcon={!isLoading && <i className={icon} />}\n disabled={isDisabled || isLoading}\n onClick={handleClick}\n theme=\"light\"\n iconClassName={classNames(styles[color], iconClassName)}\n className={className}\n >\n {isLoading ? <TextPlaceholder className={styles.placeholder} /> : label}\n </Button>\n );\n}\n\nTooltipButton.propTypes = {\n isDisabled: PropTypes.bool,\n isLoading: PropTypes.bool,\n position: PropTypes.string.isRequired,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n};\n\nexport default TooltipButton;\n","import { useEffect, useState } from 'react';\n\nimport useLoader from 'utils/useLoader';\n\nfunction useDropdownPosition({\n initialOption,\n isLoadingOption,\n baseParams,\n handleUpdateOption,\n onSetOption,\n}) {\n const [option, setOption] = useState(initialOption);\n const { isLoading, setIsLoading, stopLoading } = useLoader();\n\n useEffect(() => {\n initialOption && setOption(initialOption);\n }, [initialOption]);\n\n const onChange = (position) => {\n if (position !== option) {\n handleUpdateOption({\n baseParams,\n currentOption: position,\n changeOption: setOption,\n setIsLoading,\n })\n .then(() => {\n setOption(position);\n onSetOption(position);\n })\n .finally(stopLoading);\n }\n };\n\n return {\n option,\n isLoading: isLoading || isLoadingOption,\n onChange,\n };\n}\n\nexport default useDropdownPosition;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport map from 'lodash/map';\n\nimport { positionTooltipZIndex } from 'style/global/_variables.scss';\n\nimport { positionsAligned } from '../../utils/constants';\nimport TooltipButton from './TooltipButton';\nimport useDropdownPosition from './useDropdownPosition';\nimport styles from './styles.module.scss';\n\nfunction DropdownPosition({\n initialOption,\n isLoadingOption,\n baseParams,\n containerClassName,\n handleUpdateOption,\n onSetOption,\n}) {\n const { option, isLoading, onChange } = useDropdownPosition({\n initialOption,\n isLoadingOption,\n baseParams,\n handleUpdateOption,\n onSetOption,\n });\n\n const renderOption = positionOption => (\n <TooltipButton\n key={positionOption}\n position={positionOption}\n className={styles.button}\n isDisabled={isLoading}\n iconClassName={styles.icon}\n onClick={onChange}\n />\n );\n\n const content = (\n <div className={styles.positionsContainer}>\n {map(Object.keys(positionsAligned), renderOption)}\n </div>\n );\n\n return (\n <Tooltip\n theme=\"light\"\n placement=\"bottom-end\"\n content={!isLoading && content}\n disabled={isLoading}\n zIndex={positionTooltipZIndex}\n className={styles.tooltip}\n trigger=\"click\"\n >\n <span className={classNames(styles.container, containerClassName)}>\n <TooltipButton\n position={option}\n className={styles.button}\n isLoading={isLoading}\n iconClassName={styles.icon}\n onClick={onChange}\n />\n </span>\n </Tooltip>\n );\n}\n\nDropdownPosition.propTypes = {\n isLoadingOption: PropTypes.bool,\n containerClassName: PropTypes.string,\n baseParams: PropTypes.shape({\n recordId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n recordType: PropTypes.string,\n }),\n initialOption: PropTypes.string.isRequired,\n onSetOption: PropTypes.func.isRequired,\n handleUpdateOption: PropTypes.func.isRequired,\n};\n\nexport default DropdownPosition;\n","import moment from 'moment';\n\nimport api from 'redux/dashboardV2/common/positions/api';\nimport { formatDate } from 'utils/date';\n\nimport { NO_POSITION_ID, positions } from './constants';\n\n// @TODO: use this function with the hook useNewNote\n// to create a grm note in milestone 2\nexport function getNote(position) {\n const { last_name = '', first_name = '' } = gon.currentUser || {};\n const userName = `${first_name} ${last_name}`;\n const { label = '' } = positions[position];\n\n // @TODO: Check if any additional data should be sent\n return {\n title: 'New Position set',\n description: `${userName} set position to ${label}`,\n eventDate: formatDate(moment()),\n tags: [],\n };\n}\n\nexport function handleUpdatePosition({\n currentOption,\n baseParams,\n setIsLoading,\n changeOption,\n rollbackOption,\n}) {\n setIsLoading(true);\n\n if (currentOption === NO_POSITION_ID) {\n return api.deletePosition(baseParams)\n .then(() => changeOption(NO_POSITION_ID))\n .catch(rollbackOption);\n }\n\n return api.updatePosition({ ...baseParams, position: currentOption })\n .then(() => changeOption(currentOption))\n .catch(rollbackOption)\n .finally(() => setIsLoading(false));\n}\n\nexport function handleFetchData({ recordId, recordType }) {\n return () => api.fetchPosition({ recordId, recordType });\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport DropdownPosition from 'components/core/ButtonPosition/components/DropdownPosition';\nimport ButtonSlideGroup from 'components/core/ButtonSlideGroup';\n\nimport { positions, NO_POSITION_ID } from './utils/constants';\nimport { handleUpdatePosition, handleFetchData } from './utils';\n\nfunction PositionButton({\n withTooltip,\n isLoadingPosition,\n isOpen,\n size,\n recordId,\n recordType,\n handleSetPosition,\n initialPosition,\n className,\n placeholderClassName,\n containerClassName,\n shouldFetchOnInit,\n}) {\n const buttonProps = {\n isOpen,\n isLoadingOption: isLoadingPosition,\n baseParams: { recordId, recordType },\n initialOption: initialPosition || NO_POSITION_ID,\n options: positions,\n size,\n shouldFetchOnInit,\n placeholderClassName,\n containerClassName,\n className,\n fetchData: handleFetchData({ recordId, recordType }),\n handleUpdateOption: handleUpdatePosition,\n onSetOption: handleSetPosition,\n };\n\n if (withTooltip) {\n return <DropdownPosition {...buttonProps} />;\n }\n\n return <ButtonSlideGroup {...buttonProps} />;\n}\n\nPositionButton.propTypes = {\n withTooltip: PropTypes.bool,\n isOpen: PropTypes.bool,\n isLoadingPosition: PropTypes.bool,\n size: PropTypes.string,\n recordId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n recordType: PropTypes.string,\n handleSetPosition: PropTypes.func,\n initialPosition: PropTypes.string,\n shouldFetchOnInit: PropTypes.bool,\n className: PropTypes.string,\n containerClassName: PropTypes.string,\n placeholderClassName: PropTypes.string,\n};\n\nexport default PositionButton;\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst error = message => GlobalNotifier.addNotification({ level: 'error', message });\nconst success = message => GlobalNotifier.addNotification({ level: 'success', message });\n\nexport default {\n failedToSave() {\n error('Failed to save summary. Please try again.');\n },\n savedWithSuccess() {\n success('Summary successfully saved.');\n },\n};\n","import { useEffect } from 'react';\n\nfunction initBeforeUnload() {\n window.onbeforeunload = undefined;\n}\n\nfunction onBeforeUnload(onContinue) {\n window.onbeforeunload = () => {\n onContinue && onContinue();\n return '';\n };\n}\n\nfunction useConfirmBeforeLeave({ enabled, onContinue }) {\n useEffect(() => {\n enabled\n ? onBeforeUnload(onContinue)\n : initBeforeUnload();\n }, [enabled]);\n\n useEffect(() => initBeforeUnload, []);\n}\n\nexport default useConfirmBeforeLeave;\n","import { useState, useEffect, useRef } from 'react';\nimport { isNil, isEmpty, trim, size } from 'lodash';\n\nimport notification from './notification';\nimport { LIMIT, EMPTY_SUMMARY } from './constants';\nimport { getSummaryAPI } from './api';\nimport useConfirmBeforeLeave from './useConfirmBeforeLeave';\n\nfunction useSummary({ recordType, recordId, trackSaveSummary }) {\n const summaryRef = useRef(null);\n // Data\n const [summary, setSummary] = useState(EMPTY_SUMMARY);\n const [content, setContent] = useState('');\n const summaryAPI = getSummaryAPI({ recordType, recordId });\n\n // State\n const [isOpen, setIsOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const isInvalid = size(content) > LIMIT;\n const isDisabled = isInvalid || isLoading;\n\n const scrollToSummary = () => {\n summaryRef.current && summaryRef.current.scrollIntoView();\n };\n\n useConfirmBeforeLeave({\n enabled: isOpen,\n onContinue: scrollToSummary,\n });\n\n function resetSummary() {\n setSummary(EMPTY_SUMMARY);\n setContent('');\n setIsOpen(false);\n }\n\n function fetchSummary() {\n setIsLoading(true);\n\n summaryAPI.fetchSummary()\n .then(setSummary)\n .catch(() => null) // when there is no summary\n .finally(() => {\n setIsLoading(false);\n });\n }\n\n function deleteSummary() {\n if (isNil(summary.id)) {\n return Promise.resolve();\n }\n\n return summaryAPI\n .deleteSummary()\n .then(resetSummary);\n }\n\n function saveSummary() {\n const payload = {\n content,\n summaryId: summary.id,\n };\n\n return summaryAPI\n .saveSummary(payload)\n .then(setSummary);\n }\n\n function handleChange(event) {\n const { value } = event.target;\n\n setContent(value);\n }\n\n function handleUpdate() {\n if (isEmpty(trim(content))) {\n return deleteSummary();\n }\n\n return saveSummary();\n }\n\n function handleClick() {\n if (isOpen) {\n setIsLoading(true);\n\n handleUpdate()\n .then(() => {\n trackSaveSummary && trackSaveSummary();\n notification.savedWithSuccess();\n setIsOpen(false);\n })\n .catch(() => {\n notification.failedToSave();\n })\n .finally(() => {\n setIsLoading(false);\n });\n } else {\n setIsOpen(true);\n }\n }\n\n function getButtonLabel() {\n if (isOpen) {\n return 'Save summary';\n }\n\n if (isNil(summary.id)) {\n return 'Add summary';\n }\n\n return 'Edit summary';\n }\n\n useEffect(() => {\n fetchSummary();\n }, []);\n\n useEffect(() => {\n setContent(summary.content);\n }, [summary]);\n\n return {\n summaryRef,\n isOpen,\n isDisabled,\n isLoading,\n content,\n updatedAt: summary.updatedAt,\n buttonLabel: getButtonLabel(),\n onChange: handleChange,\n onClick: handleClick,\n };\n}\n\nexport default useSummary;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction SummaryButton({\n buttonLabel,\n isLoading,\n isDisabled,\n onClick,\n}) {\n const iconClass = isLoading\n ? 'fas fa-circle-notch fa-spin'\n : 'fas fa-poll-h';\n\n return (\n <Button\n className={styles.button}\n customIcon={<i className={classNames(iconClass, styles.icon)} />}\n theme=\"light\"\n onClick={onClick}\n disabled={isDisabled}\n >\n {buttonLabel}\n </Button>\n );\n}\n\nSummaryButton.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n buttonLabel: PropTypes.string.isRequired,\n isDisabled: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n};\n\nexport default SummaryButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, trim } from 'lodash';\nimport classNames from 'classnames';\n\nimport { TextareaWithCharInfo } from 'components/core/CharInfo';\n\nimport styles from './styles.module.scss';\n\nfunction SummaryContent({ isOpen, content, updatedAt, onChange, className }) {\n const editElement = (\n <div className={classNames(styles.edit, className)}>\n <TextareaWithCharInfo\n value={content}\n onChange={onChange}\n />\n </div>\n );\n\n const viewElement = (\n <div className={classNames(styles.view, className)}>\n <p>Summary</p>\n <div className={styles.content}>\n <span className={styles.updatedAt}>Last updated: {updatedAt}. </span>\n {content}\n </div>\n </div>\n );\n\n if (isOpen) {\n return editElement;\n }\n\n if (isEmpty(trim(content))) {\n return null;\n }\n\n return viewElement;\n}\n\nSummaryContent.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n updatedAt: PropTypes.string,\n content: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default SummaryContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { RECORD_TYPES } from './utils/constants';\nimport useSummary from './utils/useSummary';\nimport useConfirmBeforeLeave from './utils/useConfirmBeforeLeave';\nimport SummaryButton from './components/SummaryButton';\nimport SummaryContent from './components/SummaryContent';\nimport styles from './styles.module.scss';\n\nfunction Summary({ recordType, recordId }) {\n const {\n summaryRef,\n isOpen,\n isDisabled,\n isLoading,\n onChange,\n onClick,\n updatedAt,\n content,\n buttonLabel,\n } = useSummary({ recordType, recordId });\n\n return (\n <div className={styles.summary} ref={summaryRef}>\n <div className={styles.buttonContainer}>\n <SummaryButton\n isLoading={isLoading}\n buttonLabel={buttonLabel}\n onClick={onClick}\n disabled={isDisabled}\n />\n </div>\n <SummaryContent\n isOpen={isOpen}\n content={content}\n updatedAt={updatedAt}\n onChange={onChange}\n />\n </div>\n );\n}\n\nSummary.propTypes = {\n recordType: PropTypes.oneOf(\n Object.values(RECORD_TYPES)\n ),\n recordId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n};\n\nexport default Summary;\n\nexport { RECORD_TYPES, SummaryButton, SummaryContent, useSummary, useConfirmBeforeLeave };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___3qQRt\",\"emptyIcon\":\"styles-module__emptyIcon___39LaD\",\"optionType\":\"styles-module__optionType___2sWgt\",\"avatar\":\"styles-module__avatar___14HfY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3BSsI\",\"tooltip\":\"styles-module__tooltip___1-mk0\",\"tooltipContent\":\"styles-module__tooltipContent___SftkP\",\"tooltipItem\":\"styles-module__tooltipItem___1cNtC\",\"moreButton\":\"styles-module__moreButton___17ZY3\",\"tile\":\"styles-module__tile___Q9HoX\",\"badgesContainer\":\"styles-module__badgesContainer___3d8GN\",\"tooltipContainer\":\"styles-module__tooltipContainer___R6cMe\",\"addedToProfile\":\"styles-module__addedToProfile___ePW8E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___PctSH\",\"tableContainer\":\"styles-module__tableContainer___2G5eC\",\"tableColumn\":\"styles-module__tableColumn___1Ob_i\",\"tableContent\":\"styles-module__tableContent___2SxQN\",\"fixedHeight\":\"styles-module__fixedHeight___2NxYr\",\"linkTable\":\"styles-module__linkTable___Aulk7\",\"buttonTopicSaver\":\"styles-module__buttonTopicSaver___24Fvx\",\"snippetText\":\"styles-module__snippetText___Syrqb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3_z1K\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___1U3GE\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3v3Ed\",\"tooltip\":\"styles-module__tooltip___2e8es\",\"trigger\":\"styles-module__trigger___1rzfg\",\"bottomRight\":\"styles-module__bottomRight___3ODAr\",\"bottomLeft\":\"styles-module__bottomLeft___1jxHr\",\"hint\":\"styles-module__hint___1DFGn\",\"closeButton\":\"styles-module__closeButton___5rNjF\",\"dark\":\"styles-module__dark___27mGo\",\"smallSize\":\"styles-module__smallSize___16K03\",\"container\":\"styles-module__container___1lI8u\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___24JQQ\",\"content\":\"styles-module__content___2r4XE\",\"title\":\"styles-module__title___1anXj\",\"container\":\"styles-module__container___17iRl\",\"table\":\"styles-module__table___2O_oq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"workspaceTile\":\"styles-module__workspaceTile___3ukXN\",\"tooltipContainer\":\"styles-module__tooltipContainer___297Vj\",\"remainingTags\":\"styles-module__remainingTags___1CNu-\",\"notClickable\":\"styles-module__notClickable___313OT\",\"truncateTooltip\":\"styles-module__truncateTooltip___32iHr\",\"tooltipTag\":\"styles-module__tooltipTag___3TeZj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fieldsContainer\":\"styles-module__fieldsContainer___lZoq6\",\"formGroup\":\"styles-module__formGroup___2JS9_\",\"input\":\"styles-module__input___2PtCF\",\"availableIn\":\"styles-module__availableIn___2jAln\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"badge\":\"styles-module__badge___16ndy\",\"tooltipStyles\":\"styles-module__tooltipStyles___1hVR0\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2W5H1\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___V-2go\",\"tableContainer\":\"styles-module__tableContainer___1X6hs\",\"buttonOutline\":\"styles-module__buttonOutline___2xIiK\",\"paginator\":\"styles-module__paginator___3z8gs\",\"margin\":\"styles-module__margin___3J2xu\",\"tooltipItem\":\"styles-module__tooltipItem___w34AB\",\"nameWeight\":\"styles-module__nameWeight___3Vzpy\",\"partyIcon\":\"styles-module__partyIcon___yaKaR\",\"capitalize\":\"styles-module__capitalize___DRMSl\",\"actionBtn\":\"styles-module__actionBtn___2WVo5\",\"actionBar\":\"styles-module__actionBar___zjt6O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___38Ir5\",\"default\":\"styles-module__default___2IA40\",\"light\":\"styles-module__light___2gtNw\",\"strong\":\"styles-module__strong___zLfK5\",\"emptyLabel\":\"styles-module__emptyLabel___3bauM\",\"placeholder\":\"styles-module__placeholder___3rT3h\",\"button\":\"styles-module__button___fqJ2V\",\"labelText\":\"styles-module__labelText___1vGA4\",\"radio\":\"styles-module__radio___2AOJG\",\"radioInput\":\"styles-module__radioInput___1Mh8a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___XpvZb\",\"imgWrapper\":\"styles-module__imgWrapper___2EvIg\",\"content\":\"styles-module__content___BL1dc\",\"large\":\"styles-module__large___2KQo9\",\"medium\":\"styles-module__medium___30TSx\",\"title\":\"styles-module__title___3l9ed\",\"description\":\"styles-module__description___cKQpZ\",\"url\":\"styles-module__url___3mZTj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"animationTransitionDuration\":\"300ms\",\"tooltipStyles\":\"styles-module__tooltipStyles___2hQz_\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___1pUeC\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___duAMj\",\"actionBar\":\"styles-module__actionBar___3doWy\",\"isFixed\":\"styles-module__isFixed___2k_e2\",\"isRelative\":\"styles-module__isRelative___33U9-\",\"isOpen\":\"styles-module__isOpen___1GedG\",\"default\":\"styles-module__default___26yXw\",\"light\":\"styles-module__light___1ofB-\",\"content\":\"styles-module__content___eRcRR\",\"childrenContent\":\"styles-module__childrenContent___6w8Rv\",\"headerContent\":\"styles-module__headerContent___26q1e\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flexItem\":\"styles-module__flexItem___31Smt\",\"section\":\"styles-module__section___3Pzfq\",\"loaderContainer\":\"styles-module__loaderContainer___2EIpd\",\"modal\":\"styles-module__modal___2Awrt\",\"modalBody\":\"styles-module__modalBody___3nRLJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filters\":\"styles-module__filters___3AhmA\",\"group\":\"styles-module__group___24Vmi\",\"inputText\":\"styles-module__inputText___hOa2U\",\"inputDropdown\":\"styles-module__inputDropdown___3JX5P\",\"checkbox\":\"styles-module__checkbox___2-Znk\",\"checkboxText\":\"styles-module__checkboxText___AU4NW\",\"input\":\"styles-module__input___13pzR\",\"autosuggest\":\"styles-module__autosuggest___3yKO1\",\"selectAll\":\"styles-module__selectAll___3nw4h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerButton\":\"styles-module__footerButton___2D-Im\",\"tooltipContent\":\"styles-module__tooltipContent___1sWWk\",\"tooltipTitle\":\"styles-module__tooltipTitle___24_q6\",\"link\":\"styles-module__link___p_eH4\",\"tooltip\":\"styles-module__tooltip___2CimQ\",\"leftActions\":\"styles-module__leftActions___3dttU\",\"shareWrapper\":\"styles-module__shareWrapper___13IKq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___33T0x\",\"actionButtons\":\"styles-module__actionButtons___3iwyy\",\"exportButton\":\"styles-module__exportButton___1apr0\",\"icon\":\"styles-module__icon___3nnzw\",\"loader\":\"styles-module__loader___2MSWV\",\"contentContainer\":\"styles-module__contentContainer___mcuT9\",\"content\":\"styles-module__content___1Mk-S\",\"pdfContainer\":\"styles-module__pdfContainer___dVqKW\",\"pdfIframe\":\"styles-module__pdfIframe___3th4m\"};","export const STAFFER_TYPES = {\n FEDERAL_STAFFER: 'federal',\n STATE_STAFFER: 'staffer',\n STATE_AGENCY_STAFFER: 'state_agency',\n};\n\nexport const OFFICE_LEADERSHIP_LABEL = 'Leadership';\nexport const OFFICE_LEADERSHIP_ID = 'leadership';\n\nexport const OFFICE_MEMBER_LABEL = 'Member';\nexport const OFFICE_MEMBER_ID = 'member';\n\nexport const OFFICE_TYPE_OPTIONS = [\n {\n label: OFFICE_LEADERSHIP_LABEL,\n value: OFFICE_LEADERSHIP_ID,\n },\n {\n label: OFFICE_MEMBER_LABEL,\n value: OFFICE_MEMBER_ID,\n },\n];\n","import { useState, useEffect } from 'react';\n\nfunction useTabs({\n tabs,\n onTabChange,\n defaultActiveTabId,\n}) {\n const getTabById = (tabId, defaultTab = tabs[0]) => (\n tabs.find(tab => tab.props.id === tabId) || defaultTab\n );\n\n const getInitialActiveTab = () => getTabById(defaultActiveTabId);\n\n const [activeTab, setActiveTab] = useState(getInitialActiveTab);\n\n useEffect(() => {\n const newActiveTab = getTabById(defaultActiveTabId, activeTab);\n\n setActiveTab(newActiveTab);\n }, [defaultActiveTabId]);\n\n function handleOnTabClick(tab) {\n setActiveTab(tab);\n onTabChange && onTabChange(tab.props);\n }\n\n return {\n activeTab,\n onTabClick: handleOnTabClick,\n };\n}\n\nexport default useTabs;\n","import React from 'react';\n\nconst { Consumer, Provider } = React.createContext();\nexport { Consumer, Provider };\n","import { useEffect, useState, createRef } from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport jump from 'jump.js';\n\nimport { isBottom } from 'utils/scroll';\n\nimport { largeNavHeaderHeight } from 'style/navigation/settings.scss';\n\nconst NAV_OFFSET = -parseInt(largeNavHeaderHeight, 10);\nconst TIMEOUT_SCROLL = 500;\nconst offsetTop = 40;\n\nfunction getSelectedElement(refList) {\n return Object.keys(refList).reduce(\n (refElement, key) => {\n const value = refList[key];\n\n if (!value.current) {\n return refElement;\n }\n\n const { top } = value.current.getBoundingClientRect();\n const differenceFromTop = Math.abs(top);\n\n return window.pageYOffset > value.current.offsetTop - offsetTop\n ? { differenceFromTop, key }\n : refElement;\n },\n { differenceFromTop: 0, key: '' },\n );\n}\n\nfunction useScrollProvider({ activeId }) {\n const [selected, setSelected] = useState(activeId);\n const [currentElement, setCurrentElement] = useState();\n const [isMoving, setIsMoving] = useState(false);\n const [refList, setRefList] = useState({});\n\n function handleScroll() {\n const keys = Object.keys(refList);\n const lastItemKey = keys.pop();\n const lastItem = refList[lastItemKey];\n\n const currentSelected = isBottom(lastItem)\n ? { key: lastItemKey, differenceFromTop: 0 }\n : getSelectedElement(refList);\n\n !isEmpty(currentSelected.key) && setSelected(currentSelected.key);\n }\n\n function addScrollEvent() {\n document.addEventListener('scroll', handleScroll);\n }\n\n function removeScrollEvent() {\n document.removeEventListener('scroll', handleScroll);\n }\n\n function goToElement() {\n removeScrollEvent();\n\n const { id, element } = currentElement;\n setSelected(id);\n setIsMoving(true);\n\n jump(element, {\n duration: TIMEOUT_SCROLL,\n offset: NAV_OFFSET,\n callback: () => {\n setIsMoving(false);\n setCurrentElement();\n },\n });\n }\n\n /** Add/Remove scroll listener + Go to element */\n useEffect(() => {\n isEmpty(currentElement) ? addScrollEvent() : goToElement();\n\n return removeScrollEvent;\n }, [currentElement, refList]);\n\n function handleClickToSection(section) {\n const sectionRef = refList[section];\n if (!sectionRef) return console.warn('Section ID not recognized!');\n\n if (selected === section) {\n return null;\n }\n\n return setCurrentElement({ id: section, element: sectionRef.current });\n }\n\n function handleRegisterRef(id) {\n if (!Object.keys(refList).includes(id)) {\n const newRef = createRef();\n setRefList(prevProps => ({ ...prevProps, [id]: newRef }));\n\n return newRef;\n }\n\n return refList[id];\n }\n\n return {\n refList,\n selected,\n isMoving,\n onClickToSection: handleClickToSection,\n onRegisterRef: handleRegisterRef,\n };\n}\n\nexport default useScrollProvider;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Provider } from '../utils/scrollContext';\nimport useScrollProvider from '../utils/useScrollProvider';\n\nfunction ScrollingProvider({ activeId, children }) {\n const {\n isMoving,\n refList,\n selected,\n onRegisterRef,\n onClickToSection,\n } = useScrollProvider({ activeId });\n\n const value = {\n refList,\n selected,\n isMoving,\n registerRef: onRegisterRef,\n scrollTo: onClickToSection,\n };\n\n return <Provider value={value}>{children}</Provider>;\n}\n\nScrollingProvider.propTypes = {\n activeId: PropTypes.string,\n children: PropTypes.node,\n};\n\nexport default ScrollingProvider;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Consumer } from '../utils/scrollContext';\n\nconst Section = ({ id, children, ...rest }) => (\n <Consumer>\n {({ registerRef }) => (\n <section ref={registerRef(id)} id={id} {...rest}>\n {children}\n </section>\n )}\n </Consumer>\n);\n\nSection.propTypes = {\n id: PropTypes.string.isRequired,\n children: PropTypes.node,\n};\n\nSection.defaultProps = {\n children: null,\n};\n\nexport default Section;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Consumer } from '../utils/scrollContext';\n\nconst SectionLink = ({ section, children, onClick }) => (\n <Consumer>\n {({ scrollTo, selected, isMoving }) => {\n const handleClick = () => {\n scrollTo(section);\n onClick(section);\n };\n const isSelected = selected === section;\n\n return children({ onClick: handleClick, isSelected, isDisabled: isMoving });\n }}\n </Consumer>\n);\n\nSectionLink.defaultProps = {\n onClick: () => {},\n};\n\nSectionLink.propTypes = {\n section: PropTypes.string.isRequired,\n children: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n};\n\nexport default SectionLink;\n","import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useStickyNode from 'components/core/StickyContainer/useStickyNode';\nimport { canRenderTopBar } from 'components/core/ProductBar/utils';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport { PRODUCT_BAR_HEIGHT } from 'utils/constants';\n\nimport styles, { largeNavHeaderHeight } from './styles.module.scss';\n\nconst ref = createRef();\nconst largeNavHeaderHeightParsed = parseInt(largeNavHeaderHeight, 10);\n\nfunction StickyContainer({ children, className, contentClassName, offsetHeight = largeNavHeaderHeightParsed }) {\n const { isMobile } = useMediaQuery();\n const withProductBar = canRenderTopBar(isMobile);\n const topBarOffset = withProductBar ? PRODUCT_BAR_HEIGHT : 0;\n const isSticky = useStickyNode({ ref, offsetHeight: offsetHeight + topBarOffset });\n\n return (\n <section ref={ref} className={classNames(styles.container, className)}>\n <div className={classNames(styles.wrapper, isSticky && styles.isSticky, withProductBar && styles.withProductBar)}>\n <div className={classNames(styles.content, contentClassName)}>\n {children}\n </div>\n </div>\n </section>\n );\n}\n\nStickyContainer.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.element).isRequired,\n PropTypes.element.isRequired,\n ]),\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n offsetHeight: PropTypes.number,\n};\n\nexport default StickyContainer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nfunction MenuItem({ tab, onClick }) {\n if (isEmpty(tab)) {\n return null;\n }\n\n const { id, title, description } = tab;\n\n function handleClickItem() {\n const { onClick: onTabClick } = tab;\n\n onClick(tab);\n onTabClick && onTabClick(tab);\n }\n\n return (\n <button\n key={id}\n type=\"button\"\n className={classNames(styles.itemButton)}\n onClick={handleClickItem}\n >\n <div className={styles.itemContent}>\n <div className={styles.itemTitle}>{title}</div>\n <div className={styles.itemDescription}>{description}</div>\n </div>\n <i className=\"fas fa-caret-right\" />\n </button>\n );\n}\n\nMenuItem.propTypes = {\n tab: PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n title: PropTypes.string,\n description: PropTypes.string,\n onClick: PropTypes.func,\n }),\n onClick: PropTypes.func.isRequired,\n};\n\nexport default MenuItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport styles from '../styles.module.scss';\n\nfunction ActiveItem({ activeItem, onClick }) {\n if (isEmpty(activeItem) || isEmpty(activeItem.component)) {\n return null;\n }\n\n const { component, title } = activeItem;\n\n return (\n <div>\n <button className={styles.backButton} onClick={onClick}>\n <div className={styles.itemTitle}>{title}</div>\n <div className={styles.arrowBack}>\n <i className=\"fas fa-caret-left\" />\n Back\n </div>\n </button>\n\n <div className={styles.activeComponent}>\n {component}\n </div>\n </div>\n );\n}\n\nActiveItem.propTypes = {\n activeItem: PropTypes.shape({\n title: PropTypes.string,\n component: PropTypes.object,\n }),\n onClick: PropTypes.func.isRequired,\n};\n\nexport default ActiveItem;\n","import { useEffect, useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nfunction useMobileTabs({ activeTab, setActiveTab }) {\n const [activeItem, setActiveItem] = useState(activeTab);\n const isActiveItem = !isEmpty(activeItem);\n\n useEffect(() => {\n !isEmpty(activeTab) && setActiveItem(activeTab);\n }, [activeTab]);\n\n function handleClickMobileItem(tab) {\n setActiveItem(tab);\n setActiveTab(tab);\n }\n\n function handleClickMainMenu() {\n setActiveItem();\n }\n\n return {\n isActiveItem,\n activeItem,\n onClickItem: handleClickMobileItem,\n onClickMainMenu: handleClickMainMenu,\n };\n}\n\nexport default useMobileTabs;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { TabsPlaceholder } from 'components/core/Placeholder';\n\nimport MenuItem from './components/MenuItem';\nimport ActiveItem from './components/ActiveItem';\nimport useMobileTabs from './useMobileTabs';\nimport styles from './styles.module.scss';\n\nfunction MobileTabs({\n items,\n isLoading,\n itemsNumberPlaceholder,\n className,\n ...restProps\n}) {\n const { isActiveItem, activeItem, onClickItem, onClickMainMenu } = useMobileTabs(restProps);\n const containerClassNames = classNames(\n styles.titles,\n isActiveItem && styles.activeContainer,\n className,\n );\n\n function renderContent() {\n if (isLoading) {\n return (\n <TabsPlaceholder\n itemsNumber={itemsNumberPlaceholder}\n isDesktop={false}\n />\n );\n }\n\n if (isActiveItem) {\n return <ActiveItem activeItem={activeItem} onClick={onClickMainMenu} />;\n }\n\n return items.map((tab, index) => (\n <MenuItem\n key={`${tab.id}-${index}`}\n tab={tab}\n onClick={onClickItem}\n />\n ));\n }\n\n return (\n <div className={containerClassNames}>\n {renderContent()}\n </div>\n );\n}\n\nMobileTabs.propTypes = {\n items: PropTypes.array.isRequired,\n activeTab: PropTypes.object,\n setActiveTab: PropTypes.func.isRequired,\n isLoading: PropTypes.bool.isRequired,\n itemsNumberPlaceholder: PropTypes.number.isRequired,\n className: PropTypes.string,\n};\n\nexport default MobileTabs;\n","import { useEffect, useState } from 'react';\n\nfunction useTabs({ items, activeId, isDesktopLarge }) {\n const [activeTab, setActiveTab] = useState();\n\n /** Find default active item from list */\n useEffect(() => {\n if (activeId) {\n setActiveTab(items.find(item => item.id === activeId));\n }\n }, []);\n\n /** Reset active on mobile */\n useEffect(() => {\n if (!isDesktopLarge) {\n setActiveTab();\n }\n }, [isDesktopLarge]);\n\n return { activeTab, setActiveTab };\n}\n\nexport default useTabs;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { TabsPlaceholder } from 'components/core/Placeholder';\nimport { ScrollingProvider, Section, SectionLink } from 'components/core/ScrollSection';\nimport StickyContainer from 'components/core/StickyContainer';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport MobileTabs from './components/MobileTabs';\nimport useTabs from './useTabs';\nimport styles from './styles.module.scss';\n\nfunction FixedTabs({\n isLoading,\n items,\n activeId,\n className,\n itemsNumberPlaceholder,\n isGreyBg,\n history,\n isFullWidth,\n}) {\n const { isDesktopLarge } = useMediaQuery();\n const { activeTab, setActiveTab } = useTabs({ items, activeId, isDesktopLarge });\n\n if (isEmpty(items)) {\n return null;\n }\n\n if (!isDesktopLarge) {\n return (\n <MobileTabs\n items={items}\n className={className}\n activeTab={activeTab}\n isLoading={isLoading}\n setActiveTab={setActiveTab}\n itemsNumberPlaceholder={itemsNumberPlaceholder}\n />\n );\n }\n\n function renderTitle(tab = {}) {\n if (isEmpty(tab) || tab.isHidden) {\n return null;\n }\n\n const { id, title, description, onClick: onTabClick, isVisible = true } = tab;\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <SectionLink key={id} section={id} onClick={onTabClick}>\n {({ isSelected, onClick, isDisabled }) => (\n <button\n type=\"button\"\n className={classNames(styles.itemButton, isSelected && styles.activeButton)}\n onClick={onClick}\n disabled={isDisabled}\n >\n <div className={styles.itemTitle}>{title}</div>\n <div className={styles.itemDescription}>{description}</div>\n </button>\n )}\n </SectionLink>\n );\n }\n\n function renderContent(tab = {}) {\n if (isEmpty(tab) || tab.isHidden) {\n return null;\n }\n\n const { id, component, isVisible = true } = tab;\n const { type, props } = component;\n const Component = type;\n\n if (!isVisible) {\n return null;\n }\n\n const sectionClassName = classNames(!isFullWidth && styles.sectionMaxWidth);\n\n return (\n <Section id={id} key={id} className={sectionClassName}>\n <Component {...props} history={history} />\n </Section>\n );\n }\n\n return (\n <ScrollingProvider activeId={activeId}>\n <div className={classNames(styles.fixedContainer, className)}>\n <div className={styles.fakeBanner} />\n <StickyContainer className={styles.stickyContainer} contentClassName={styles.stickyContent}>\n <div id=\"menuFixedSection\" className={styles.titles}>\n {isLoading\n ? (\n <TabsPlaceholder\n itemsNumber={itemsNumberPlaceholder}\n isDesktop={isDesktopLarge}\n />\n )\n : items.map(renderTitle)}\n </div>\n </StickyContainer>\n\n <div className={classNames(styles.tabsContent, isGreyBg && styles.greyLayoutBg)}>\n {items.map(renderContent)}\n </div>\n </div>\n </ScrollingProvider>\n );\n}\n\nFixedTabs.defaultProps = {\n isGreyBg: true,\n isFullWidth: false,\n};\n\nFixedTabs.propTypes = {\n history: PropTypes.object,\n isLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n activeId: PropTypes.string,\n className: PropTypes.string,\n itemsNumberPlaceholder: PropTypes.number,\n isGreyBg: PropTypes.bool,\n isFullWidth: PropTypes.bool,\n};\n\nexport default FixedTabs;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function Tab({ children, ...restProps }) {\n return <section {...restProps}>{children}</section>;\n}\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport styles from '../../styles.module.scss';\n\nexport default function Header({ isOpen, toggle, tab, onTabClick }) {\n function handleTabClick() {\n onTabClick(tab);\n toggle();\n }\n\n return (\n <header className={styles.header} onClick={handleTabClick} role=\"button\">\n <span className={styles.title}>{tab.props.title}</span>\n <Button theme=\"link\" className={styles.link}>\n {isOpen ? 'See less' : 'See more'}\n </Button>\n </header>\n );\n}\n\nHeader.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggle: PropTypes.func.isRequired,\n tab: PropTypes.object.isRequired,\n onTabClick: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Accordion, { Item } from 'components/core/Accordion';\n\nimport Header from './components/Header';\nimport styles from './styles.module.scss';\n\nfunction renderTitle({ tab, isOpen, toggle, onTabClick }) {\n return (\n <Header\n tab={tab}\n isOpen={isOpen}\n toggle={toggle}\n onTabClick={onTabClick}\n />\n );\n}\n\nfunction renderContent({ tabContent, tabContentClassName }) {\n return <div className={classNames(styles.content, tabContentClassName)}>{tabContent}</div>;\n}\n\nexport default function AccordionLayout({ className, tabs, onTabClick, tabContentClassName }) {\n return (\n <Accordion\n className={className}\n renderTitle={renderTitle}\n renderContent={renderContent}\n multi={false}\n >\n {tabs.map((tab) => {\n const { id, title, children } = tab.props;\n\n return (\n <Item\n className={styles.tab}\n key={`${title}-${id}`}\n tab={tab}\n tabContent={children}\n onTabClick={onTabClick}\n tabContentClassName={tabContentClassName}\n />\n );\n })}\n </Accordion>\n );\n}\n\nAccordionLayout.propTypes = {\n className: PropTypes.string,\n tabs: PropTypes.array.isRequired,\n onTabClick: PropTypes.func.isRequired,\n tabContentClassName: PropTypes.string,\n};\n\nrenderTitle.propTypes = {\n tab: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggle: PropTypes.func.isRequired,\n onTabClick: PropTypes.func.isRequired,\n};\n\nrenderContent.propTypes = {\n tabContent: PropTypes.node.isRequired,\n tabContentClassName: PropTypes.string,\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nexport default function Header({ tabs, activeTab, onTabClick, buttonClassName }) {\n function handleClick(tab) {\n return () => onTabClick(tab);\n }\n\n return (\n <ButtonGroup theme=\"light\" className={styles.header}>\n {tabs.map((tab) => {\n const { id, title } = tab.props;\n const isActive = activeTab.props.id === id;\n\n return (\n <Button\n key={`header-${title}-${id}`}\n theme=\"default\"\n className={classNames(isActive && styles.active, buttonClassName)}\n onClick={handleClick(tab)}\n >\n {title}\n </Button>\n );\n })}\n </ButtonGroup>\n );\n}\n\nHeader.propTypes = {\n activeTab: PropTypes.object,\n tabs: PropTypes.array.isRequired,\n onTabClick: PropTypes.func.isRequired,\n buttonClassName: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Header from './components/Header';\n\nexport default function TabsLayout({\n activeTab,\n className,\n tabs,\n onTabClick,\n tabContentClassName,\n buttonClassName,\n}) {\n const { id: activeId } = activeTab.props;\n return (\n <section className={className}>\n <Header\n activeTab={activeTab}\n tabs={tabs}\n onTabClick={onTabClick}\n buttonClassName={buttonClassName}\n />\n <div className={tabContentClassName}>\n {tabs.map(({ props: { id, children } }) => id === activeId && children)}\n </div>\n </section>\n );\n}\n\nTabsLayout.propTypes = {\n activeTab: PropTypes.object,\n className: PropTypes.string,\n tabs: PropTypes.array.isRequired,\n onTabClick: PropTypes.func.isRequired,\n tabContentClassName: PropTypes.string,\n buttonClassName: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport AccordionLayout from './components/AccordionLayout';\nimport TabsLayout from './components/TabsLayout';\n\nexport default function MobileView({\n activeTab,\n className,\n tabs,\n onTabClick,\n tabContentClassName,\n mobileLayout,\n buttonClassName,\n}) {\n const commonProps = {\n activeTab,\n className,\n tabs,\n onTabClick,\n tabContentClassName,\n buttonClassName,\n };\n\n if (mobileLayout === 'tabs') {\n return <TabsLayout {...commonProps} />;\n }\n\n return <AccordionLayout {...commonProps} />;\n}\n\nMobileView.propTypes = {\n mobileLayout: PropTypes.string.isRequired,\n activeTab: PropTypes.object,\n className: PropTypes.string,\n tabs: PropTypes.array.isRequired,\n onTabClick: PropTypes.func.isRequired,\n tabContentClassName: PropTypes.string,\n buttonClassName: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from '../../styles.module.scss';\n\nexport default function Header({ activeTab, tabs, onTabClick, sideContent, className }) {\n function handleOnClick(tab) {\n return () => onTabClick(tab);\n }\n\n function renderTitle(tab) {\n const { title, id } = tab.props;\n const tabClassName = classNames(styles.listItem, activeTab.props.id === id && styles.listItemActive);\n\n return (\n <li\n key={`header-${title}-${id}`}\n className={classNames(tabClassName, className)}\n onClick={handleOnClick(tab)}\n role=\"button\"\n >\n {title}\n </li>\n );\n }\n\n return (\n <ul className={styles.list}>\n {tabs.map(renderTitle)}\n <li className={styles.sideContent}>\n {sideContent}\n </li>\n </ul>\n );\n}\n\nHeader.propTypes = {\n activeTab: PropTypes.object.isRequired,\n tabs: PropTypes.array.isRequired,\n onTabClick: PropTypes.func.isRequired,\n sideContent: PropTypes.node,\n className: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Header from './components/Header';\nimport styles from './styles.module.scss';\n\nexport default function DesktopView({\n className,\n activeTab,\n tabs,\n onTabClick,\n tabHeaderClassName,\n tabContentClassName,\n sideContent,\n}) {\n return (\n <section className={classNames(styles.container, className)}>\n <Header\n activeTab={activeTab}\n tabs={tabs}\n onTabClick={onTabClick}\n sideContent={sideContent}\n className={tabHeaderClassName}\n />\n\n <div className={classNames(styles.tabContent, tabContentClassName)}>\n {tabs.map(tab => tab.props.id === activeTab.props.id && tab.props.children)}\n </div>\n </section>\n );\n}\n\nDesktopView.propTypes = {\n activeTab: PropTypes.object,\n tabs: PropTypes.array.isRequired,\n onTabClick: PropTypes.func,\n className: PropTypes.string,\n tabHeaderClassName: PropTypes.string,\n tabContentClassName: PropTypes.string,\n sideContent: PropTypes.node,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport useTabs from './useTabs';\nimport FixedTabs from './components/FixedTabs';\nimport Tab from './components/Tab';\nimport MobileView from './components/MobileView';\nimport DesktopView from './components/DesktopView';\n\nexport default function Tabs({\n className,\n defaultActiveTabId,\n children,\n tabHeaderClassName,\n tabContentClassName,\n onTabChange,\n sideContent,\n mobileLayout,\n buttonClassName,\n}) {\n const { isMobile } = useMediaQuery();\n const tabs = React.Children.toArray(children);\n const { activeTab, onTabClick } = useTabs({\n tabs,\n onTabChange,\n defaultActiveTabId,\n });\n\n const props = {\n activeTab,\n onTabClick,\n tabs,\n className,\n tabHeaderClassName,\n tabContentClassName,\n sideContent,\n mobileLayout,\n buttonClassName,\n };\n\n return isMobile\n ? <MobileView {...props} />\n : <DesktopView {...props} />;\n}\n\nTabs.defaultProps = {\n defaultActiveTabId: 0,\n mobileLayout: 'accordion',\n};\n\nTabs.propTypes = {\n mobileLayout: PropTypes.string,\n defaultActiveTabId: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n tabHeaderClassName: PropTypes.string,\n tabContentClassName: PropTypes.string,\n onTabChange: PropTypes.func,\n sideContent: PropTypes.node,\n buttonClassName: PropTypes.string,\n};\n\nexport { Tab, FixedTabs };\n","// TODO: change once backend cluster grouping is introduced\nexport const PAGE_SIZE = 30;\n\nexport function getUrl(location, profileType, id) {\n return `/api_web/${location}/${profileType}/${id}/news/lookup`;\n}\n\nexport const LEGISLATOR_PROFILE_TYPE = 'legislators';\nexport const BILL_PROFILE_TYPE = 'bills';\nexport const EXECUTIVE_PROFILE_TYPE = 'executives';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty } from 'lodash';\n\nimport { isURL } from 'utils/url';\nimport CoreLink from 'components/core/Link';\n\nimport { formatUrl } from './utils';\nimport styles from './styles.module.scss';\n\nfunction Link({ item, urlKeyPath, className, defaultValue, getUrl }) {\n const { type } = item;\n const url = getUrl ? getUrl(item) : item[urlKeyPath];\n\n const renderLink = () => {\n if (isEmpty(url)) {\n return defaultValue || null;\n }\n\n const formattedUrl = formatUrl({ url, type });\n const isExternalLink = isURL(url);\n\n return (\n <CoreLink\n theme=\"tableLink\"\n href={formattedUrl}\n isExternal={isExternalLink}\n displayExternalIcon={isExternalLink}\n className={styles.link}\n iconClassName={styles.icon}\n >\n <span className={styles.url}>{url}</span>\n </CoreLink>\n );\n };\n\n return (\n <span className={className}>\n {renderLink()}\n </span>\n );\n}\n\nLink.defaultProps = {\n urlKeyPath: 'url',\n};\n\nLink.propTypes = {\n item: PropTypes.shape({\n url: PropTypes.string,\n type: PropTypes.string,\n }),\n urlKeyPath: PropTypes.string,\n defaultValue: PropTypes.node,\n className: PropTypes.string,\n getUrl: PropTypes.func,\n};\n\nexport default Link;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { get, isEmpty } from 'lodash';\n\nfunction Default({ item, keyPath, getContent, className }) {\n const content = getContent\n ? getContent(item)\n : get(item, keyPath);\n\n if (isEmpty(content)) {\n return null;\n }\n\n return (\n <span className={className}>\n {content}\n </span>\n );\n}\n\nDefault.propTypes = {\n item: PropTypes.shape({}),\n keyPath: PropTypes.string,\n getContent: PropTypes.func,\n className: PropTypes.string,\n};\n\nexport default Default;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { map, size, isEmpty } from 'lodash';\n\nimport ListField from 'components/core/Profile/components/KeyDetailsFields/ListField';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { tableShape } from '../../utils/shapes';\nimport LinkColumn from './components/Column/Link';\nimport Default from './components/Column/Default';\nimport styles from './styles.module.scss';\n\nfunction Table({ table, className, isLoading }) {\n const { isMobile } = useMediaQuery();\n const { label, columns, data, getLabel, placeholderSize } = table;\n\n function getItem(item, index) {\n const { id: itemId, label: itemLabel, content: itemContent } = item;\n\n function renderColumn({ id: columnId, component: Component, ...restProps }) {\n const commonProps = {\n ...restProps,\n item,\n key: columnId,\n };\n\n if (!Component) {\n return <Default {...commonProps} />;\n }\n\n return <Component {...commonProps} />;\n }\n\n const displayedColumns = !isEmpty(columns) && (\n <Fragment key={`content-${itemId || index}`}>\n {map(columns, renderColumn)}\n </Fragment>\n );\n\n const customLabel = getLabel ? getLabel(item) : itemLabel;\n const defaultLabel = `${label} ${index + 1}`;\n\n return {\n id: itemId,\n label: customLabel || defaultLabel,\n content: displayedColumns || itemContent,\n };\n }\n\n const items = map(data, getItem);\n\n const listFieldClassNames = classNames(styles.container, className);\n const placeholderItemsCount = placeholderSize || size(items);\n\n return (\n <ListField\n items={items}\n className={listFieldClassNames}\n placeholderClassName={listFieldClassNames}\n listItemClassName={classNames(styles.listItem, isMobile && styles.mobileListItem)}\n listLabelClassName={classNames(isMobile && styles.itemLabel)}\n listContentClassName={styles.itemContent}\n badgeClassName={styles.badge}\n isSimpleLabel={isMobile}\n isLoading={isLoading}\n placeholderItemsCount={placeholderItemsCount}\n />\n );\n}\n\nTable.propTypes = {\n table: tableShape.isRequired,\n className: PropTypes.string,\n isLoading: PropTypes.bool,\n};\n\nexport { LinkColumn };\n\nexport default Table;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dayEvent\":\"styles-module__dayEvent___hKwZL\",\"details\":\"styles-module__details___JiAT8\",\"title\":\"styles-module__title___2uAOV\",\"expired\":\"styles-module__expired___1HcxU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerTextPlaceholder\":\"styles-module__headerTextPlaceholder___2vY8t\",\"checkboxPlaceholder\":\"styles-module__checkboxPlaceholder___2arM9\",\"checkbox\":\"styles-module__checkbox___bIyzd\",\"headerPlaceholder\":\"styles-module__headerPlaceholder___-m-NV\",\"headerRow\":\"styles-module__headerRow___18M6S\",\"isFixed\":\"styles-module__isFixed___zQ_I9\",\"checkboxWrapper\":\"styles-module__checkboxWrapper___3d9DN\",\"tableCell\":\"styles-module__tableCell___2n7Cj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2jiTB\",\"progressStep\":\"styles-module__progressStep___1skeP\",\"labelDot\":\"styles-module__labelDot___2HM6P\",\"firstLabelDot\":\"styles-module__firstLabelDot___1znWx\",\"label\":\"styles-module__label___35Ihh\",\"lastLabel\":\"styles-module__lastLabel___3D4S2\",\"failedIcon\":\"styles-module__failedIcon___HoIsw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"labelGroupContainer\":\"styles-module__labelGroupContainer___Jtur_\",\"fullWidth\":\"styles-module__fullWidth___11NXP\",\"inputText\":\"styles-module__inputText___2hmSG\",\"searchInputContainer\":\"styles-module__searchInputContainer___17cfK\",\"multipleColumn\":\"styles-module__multipleColumn___1vuHU\",\"labelGroup\":\"styles-module__labelGroup___3f6FC\",\"labelGroupItem\":\"styles-module__labelGroupItem___1FGMA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipContainer\":\"styles-module__tooltipContainer___t927S\",\"textTrim\":\"styles-module__textTrim___20r6G\",\"highlightedText\":\"styles-module__highlightedText___1W-4R\",\"trimText\":\"styles-module__trimText___lxY3-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___3UsCN\",\"items\":\"styles-module__items___3im-3\",\"itemsAll\":\"styles-module__itemsAll___2htRs\",\"viewMore\":\"styles-module__viewMore___MEsUZ\",\"viewMoreText\":\"styles-module__viewMoreText___2a9Us\",\"viewMoreButton\":\"styles-module__viewMoreButton___19ARF\",\"comma\":\"styles-module__comma___3SvX4\",\"stripedLines\":\"styles-module__stripedLines___23alw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___1Z7KZ\",\"icon\":\"styles-module__icon___1o3ku\",\"iconTracked\":\"styles-module__iconTracked___g5Mxx\",\"buttonGroup\":\"styles-module__buttonGroup___1YXUl\",\"frequencyButton\":\"styles-module__frequencyButton___1DVAX\",\"modal\":\"styles-module__modal___6HY_A\",\"modalBody\":\"styles-module__modalBody___2UKjX\",\"checkbox\":\"styles-module__checkbox___1eNJ9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fieldsInteraction\":\"styles-module__fieldsInteraction___2IfxK\",\"input\":\"styles-module__input___2c1_U\",\"formGroup\":\"styles-module__formGroup___1XOW6\",\"error\":\"styles-module__error___1hwZM\",\"options\":\"styles-module__options___nK_sm\",\"option\":\"styles-module__option___3s9bU\",\"optionForm\":\"styles-module__optionForm___S5Wub\",\"fieldWrap\":\"styles-module__fieldWrap___3huIj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___2Z5S0\",\"label\":\"styles-module__label___373zM\",\"triangle\":\"styles-module__triangle___O_teY\",\"large\":\"styles-module__large___2Gp46\",\"tooltipContent\":\"styles-module__tooltipContent___27wvs\",\"link\":\"styles-module__link___24tDW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___14SqG\",\"modal\":\"styles-module__modal___K11M9\",\"contentModalBody\":\"styles-module__contentModalBody___1iGoz\",\"icon\":\"styles-module__icon___3C24n\",\"activeIcon\":\"styles-module__activeIcon___1Nd-5\",\"button\":\"styles-module__button___J7V1W\",\"text\":\"styles-module__text___3oVUu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bar\":\"styles-module__bar___1plDB\",\"progress\":\"styles-module__progress___t6DTh\",\"default\":\"styles-module__default___3c1PS\",\"light\":\"styles-module__light___3l9iC\",\"title\":\"styles-module__title___3294d\",\"pending\":\"styles-module__pending___3lmuR\",\"success\":\"styles-module__success___2kKxh\",\"failure\":\"styles-module__failure___mNB84\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipContent\":\"styles-module__tooltipContent___3lfsq\",\"tooltipLink\":\"styles-module__tooltipLink___cDObi\",\"badge\":\"styles-module__badge___qWF7H\",\"buttonOutline\":\"styles-module__buttonOutline___248Z8\",\"linkLabel\":\"styles-module__linkLabel___3J6Zo\",\"tooltipWrapper\":\"styles-module__tooltipWrapper___3GO4-\",\"tooltipContainer\":\"styles-module__tooltipContainer___6Jq4E\",\"flexContent\":\"styles-module__flexContent___1dEuu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2-UPq\",\"mark\":\"styles-module__mark___3VIq_\",\"blue\":\"styles-module__blue___12D3b\",\"violet\":\"styles-module__violet___6KB1Z\",\"green\":\"styles-module__green___3Rf1y\",\"red\":\"styles-module__red___2rLi1\",\"title\":\"styles-module__title___23SR7\",\"description\":\"styles-module__description___2giYd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mentionsControl\":\"invalid-module__mentionsControl___3k1ow\",\"mentionsInput\":\"invalid-module__mentionsInput___frAKo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___q8yTW\",\"repliesInfo\":\"styles-module__repliesInfo___3jZBI\",\"loadMore\":\"styles-module__loadMore___2dqS2\",\"loader\":\"styles-module__loader___3lBYm\",\"button\":\"styles-module__button___3zmGI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___32-m8\",\"avatar\":\"styles-module__avatar___2AjRD\",\"column\":\"styles-module__column___D6kpe\",\"content\":\"styles-module__content___2rxXu\",\"user\":\"styles-module__user___2mWI6\",\"smallLine\":\"styles-module__smallLine___1dmDa\",\"bigLine\":\"styles-module__bigLine___3hjMK\",\"reply\":\"styles-module__reply___1II0j\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tagButton\":\"styles-module__tagButton___3OTXe\",\"circle\":\"styles-module__circle___8uSy1\",\"blue\":\"styles-module__blue___3Gn9W\",\"green\":\"styles-module__green___26Nfb\",\"altGreen\":\"styles-module__altGreen___BfOGv\",\"red\":\"styles-module__red___2tj7D\",\"darkBlue\":\"styles-module__darkBlue___1NgV4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___3Yb9R\",\"section\":\"styles-module__section___29hMB\",\"link\":\"styles-module__link___342wm\",\"logOut\":\"styles-module__logOut___3cztv\",\"body\":\"styles-module__body___1CDeD\",\"links\":\"styles-module__links___2KcGo\",\"title\":\"styles-module__title___1qI7N\",\"icon\":\"styles-module__icon___M5Gtt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___xK0zf\",\"content\":\"styles-module__content___kzG7B\",\"title\":\"styles-module__title___3bYOo\",\"item\":\"styles-module__item___16fgw\",\"icon\":\"styles-module__icon___3e_ps\",\"settingsButton\":\"styles-module__settingsButton___1Uuss\",\"trigger\":\"styles-module__trigger___B2i1U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapLevel1\":\"#dfe2e5\",\"mapLevel2\":\"#ea9f8b\",\"mapLevel3\":\"#fe8029\",\"mapLevel4\":\"#ef471a\",\"mapLevel5\":\"#721b04\",\"highlight\":\"#31a8ff\",\"hover\":\"#b0c3e0\",\"stroke\":\"#ffffff\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonPlaceholder\":\"styles-module__buttonPlaceholder___26Zwo\",\"notColumn\":\"styles-module__notColumn___-zg3w\",\"button\":\"styles-module__button___2WspU\",\"icon\":\"styles-module__icon___1hvUf\",\"iconTracked\":\"styles-module__iconTracked___ClS67\",\"withRightMargin\":\"styles-module__withRightMargin___ZGbcc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1LBYk\",\"advancedSearchHeader\":\"styles-module__advancedSearchHeader___Nozo6\",\"header\":\"styles-module__header___24U_R\",\"left\":\"styles-module__left___2Ogbi\",\"right\":\"styles-module__right___14xiV\",\"search\":\"styles-module__search___3sg-l\",\"settingsButton\":\"styles-module__settingsButton___1YpDA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatarGroup\":\"styles-module__avatarGroup___2pyk6\",\"avatars\":\"styles-module__avatars___y8OdF\",\"tooltipSpan\":\"styles-module__tooltipSpan___2zW9B\",\"avatar\":\"styles-module__avatar___2E6nV\",\"avatarTooltip\":\"styles-module__avatarTooltip___1uZfx\",\"isMultiple\":\"styles-module__isMultiple___3JYDc\",\"badge\":\"styles-module__badge___20Jrs\",\"header\":\"styles-module__header___15UY6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3_oiV\",\"accordion\":\"styles-module__accordion___2UhF1\",\"icon\":\"styles-module__icon___3TCoT\",\"title\":\"styles-module__title___2I-bo\",\"placeholder\":\"styles-module__placeholder___2Ybek\",\"content\":\"styles-module__content___1fV9i\",\"filter\":\"styles-module__filter___3mNyJ\"};","import { useEffect } from 'react';\n\nimport useMap from 'components/core/Map/utils/useMap';\nimport { addDefaultLayers, addFocusZoom, addStateHighlight } from 'components/core/Map/utils';\n\nfunction useMapProfile({\n mapRef,\n data,\n defaultFilters,\n withFilters,\n withNavigation,\n isLoadingMap,\n center,\n kwDistrictId,\n latitude,\n longitude,\n}) {\n const mapProps = {\n mapRef,\n data,\n defaultFilters,\n withNavigation,\n withFilters,\n isLoadingMap,\n center,\n };\n\n const { mapType } = defaultFilters;\n const { map, setFilters } = useMap(mapProps);\n\n function getFocusState(mapInstance) {\n mapInstance.once('styledata', () => {\n addDefaultLayers(mapInstance);\n setFilters(mapType);\n addFocusZoom({\n map: mapInstance,\n latitude,\n longitude,\n options: {\n maxZoom: 7,\n duration: 0,\n padding: 120,\n },\n });\n addStateHighlight({ map: mapInstance, kwDistrictId, mapType });\n });\n }\n\n useEffect(() => {\n if (map && center) {\n map.scrollZoom.disable();\n getFocusState(map);\n }\n }, [map, center]);\n\n return { map };\n}\n\nexport default useMapProfile;\n","import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { mapTypeCodes } from 'components/core/Map/utils/constants';\nimport MapContainer from 'components/core/Map';\n\nimport useMapProfile from '../utils/useMapProfile';\nimport styles from '../styles.module.scss';\n\nconst mapRef = createRef();\n\nfunction MapContent({ mapLocation, isMobile }) {\n const mapProps = {\n ...mapLocation,\n data: mapLocation,\n isMobile,\n mapRef,\n isLoadingMap: false,\n withFilters: false,\n withNavigation: true,\n loadingMessage: 'Loading data..',\n defaultFilters: {\n mapType: mapTypeCodes.congressional,\n },\n };\n\n const mapProfileProps = useMapProfile({ mapRef, ...mapProps });\n const profileContext = {\n height: '400px',\n forwardRef: mapRef,\n ...mapProps,\n ...mapProfileProps,\n };\n\n return (\n <div className={classNames(styles.container, 'chart-overflow')}>\n <MapContainer {...profileContext} />\n </div>\n );\n}\n\n\nMapContent.propTypes = {\n mapLocation: PropTypes.object.isRequired,\n isMobile: PropTypes.bool.isRequired,\n};\n\nexport default MapContent;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { LoadingPlaceholder } from 'components/core/Profile/components/Placeholders';\n\nimport MapContent from './components/MapContent';\n\nfunction DistrictMap({\n isLoading,\n mapLocation,\n isMobile,\n title,\n description,\n emptyDescription,\n}) {\n const titleInfo = { title, description, emptyDescription };\n\n if (isLoading) {\n return <LoadingPlaceholder {...titleInfo} />;\n }\n\n return (\n <DataCard\n {...titleInfo}\n showPlaceholder={isEmpty(mapLocation)}\n >\n <MapContent mapLocation={mapLocation} isMobile={isMobile} />\n </DataCard>\n );\n}\n\nDistrictMap.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n isMobile: PropTypes.bool.isRequired,\n mapLocation: PropTypes.object.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n emptyDescription: PropTypes.string,\n};\n\nexport default memo(DistrictMap);\n","import reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/publicRecords/actions';\n\nimport Container from './components/Container';\n\nconst connectStore = reduxConnect('publicRecords', actions);\n\nexport default connectStore(Container);\n","import PropTypes from 'prop-types';\n\nimport { addressShape, phoneShape } from 'components/core/Profile/utils/shapes';\n\nconst positionShape = PropTypes.shape({\n title: PropTypes.string,\n role: PropTypes.string,\n address: addressShape,\n phone: phoneShape,\n});\n\nconst executiveStafferShape = PropTypes.shape({\n positions: PropTypes.arrayOf(positionShape),\n});\n\nexport const stafferShape = PropTypes.oneOfType([\n executiveStafferShape,\n PropTypes.shape({}), // TODO: add other staffer shapes\n]);\n\nexport const uiShape = PropTypes.shape({\n isLoading: PropTypes.bool,\n});\n","import isEmpty from 'lodash/isEmpty';\n\nimport useSortTable from 'utils/useSortTable';\nimport { getColumnLabelBySortingKey } from 'utils/table';\n\nfunction useTable({ onSearch, paginator, trackingActions, tableColumns }) {\n const sort = useSortTable();\n const isPaginatorPresent = !isEmpty(paginator);\n const {\n trackStaffersPageVisited,\n trackStaffersResultsSorted,\n } = trackingActions;\n\n function handleSortColumn(column) {\n const { getDirection } = sort;\n const direction = getDirection(column);\n const columnLabel = getColumnLabelBySortingKey(tableColumns, column);\n\n onSearch({ sort: column, direction });\n trackStaffersResultsSorted(columnLabel, direction);\n }\n\n function handleChangePage(page) {\n const { sortData = {} } = sort;\n const { column, direction } = sortData;\n\n onSearch({ page, sort: column, direction });\n trackStaffersPageVisited(page);\n }\n\n return {\n ...sort,\n isPaginatorPresent,\n onSortColumn: handleSortColumn,\n onChangePage: handleChangePage,\n };\n}\n\nexport default useTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Column } from 'components/core/Table';\nimport Link from 'components/core/Link';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { STAFFER_TYPES } from 'components/core/Profile/components/Cards/Staffers/utils/constants';\nimport { stafferShape } from 'components/core/Profile/components/Cards/Staffers/utils/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction StafferColumn({ stafferType, keyName, item, onClick }) {\n const { id, name } = item || {};\n\n function getUrl() {\n if (!id) return null;\n\n const { [stafferType]: url } = {\n [STAFFER_TYPES.FEDERAL_STAFFER]: '/federal/congressional_staffers',\n [STAFFER_TYPES.STATE_STAFFER]: '/state/staffers',\n [STAFFER_TYPES.STATE_AGENCY_STAFFER]: '/state/agency_staffers',\n };\n\n return url ? `${url}/${id}` : null;\n }\n\n const handleClick = () => onClick && onClick(item);\n\n function renderTitle() {\n if (isEmpty(name)) {\n return EMPTY_VALUE;\n }\n\n return (\n <Link\n className={styles.stafferColumn}\n theme=\"default\"\n href={getUrl()}\n onClick={handleClick}\n >\n {name}\n </Link>\n );\n }\n\n return (\n <Column key={keyName} keyName={keyName}>{renderTitle}</Column>\n );\n}\n\nStafferColumn.defaultProps = {\n item: {},\n};\n\nStafferColumn.propTypes = {\n stafferType: PropTypes.string,\n keyName: PropTypes.string.isRequired,\n item: stafferShape,\n onClick: PropTypes.func,\n};\n\nexport default StafferColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\n\nfunction IssueAreaColumn({ keyName, item }) {\n const { issues } = item;\n\n const isEmptyData = isEmpty(issues);\n\n return (\n <ViewMoreItem\n keyName={keyName}\n dataList={issues.sort()}\n isEmptyData={isEmptyData}\n />\n );\n}\n\nIssueAreaColumn.defaultProps = {\n item: {},\n};\n\nIssueAreaColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.object,\n};\n\nexport default IssueAreaColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { get, isEmpty, map, flatten, uniq, compact } from 'lodash';\n\nimport { joinCompact } from 'utils/string';\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\nimport { stafferShape } from 'components/core/Profile/components/Cards/Staffers/utils/shapes';\nimport { getStateName } from 'components/core/Profile/components/Cards/utils';\n\nfunction AddressColumn({ keyName, item }) {\n const { positions } = item || {};\n const addresses = flatten(map(positions, 'address'));\n const dataList = uniq(compact(map(addresses, ({ street, city, state, zipCode } = {}) => {\n const stateName = getStateName(get(state, 'name'));\n\n return joinCompact([street, city, stateName, zipCode]);\n })));\n\n return (\n <ViewMoreItem\n keyName={keyName}\n dataList={dataList}\n isEmptyData={isEmpty(dataList)}\n />\n );\n}\n\nAddressColumn.propTypes = {\n keyName: PropTypes.string,\n item: stafferShape,\n};\n\nexport default AddressColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, isEmpty, uniq } from 'lodash';\n\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\nimport { stafferShape } from 'components/core/Profile/components/Cards/Staffers/utils/shapes';\n\nfunction TitlesColumn({ keyName, item }) {\n const { positions } = item || {};\n const titles = uniq(map(positions, 'title'));\n\n return (\n <ViewMoreItem\n keyName={keyName}\n dataList={titles}\n isEmptyData={isEmpty(titles)}\n />\n );\n}\n\nTitlesColumn.propTypes = {\n keyName: PropTypes.string,\n item: stafferShape,\n};\n\nexport default TitlesColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, map, uniq } from 'lodash';\n\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\nimport { stafferShape } from 'components/core/Profile/components/Cards/Staffers/utils/shapes';\n\nfunction RoleColumn({ keyName, item }) {\n const { positions } = item || {};\n const roles = uniq(map(positions, 'role'));\n\n return (\n <ViewMoreItem\n keyName={keyName}\n dataList={roles}\n isEmptyData={isEmpty(roles)}\n />\n );\n}\n\nRoleColumn.propTypes = {\n keyName: PropTypes.string,\n item: stafferShape,\n};\n\nexport default RoleColumn;\n","import React from 'react';\n\nimport { stafferShape } from 'components/core/Profile/components/Cards/Staffers/utils/shapes';\n\nimport { OFFICE_LEADERSHIP_LABEL, OFFICE_MEMBER_LABEL } from '../../utils/constants';\n\nfunction OfficeColumn({ item }) {\n const { isLeadership } = item || {};\n\n return (\n <td>\n { isLeadership ? OFFICE_LEADERSHIP_LABEL : OFFICE_MEMBER_LABEL }\n </td>\n );\n}\n\nOfficeColumn.propTypes = {\n item: stafferShape,\n};\n\nexport default OfficeColumn;\n","import React from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { ClearableEmptyPlaceholder } from 'components/core/Profile/components/Placeholders';\nimport { EmailItem, PhoneItem } from 'components/core/Table/components/ColumnItem';\nimport { PAGE_SIZE } from 'components/core/Profile/utils';\nimport Table, { Column } from 'components/core/Table';\nimport Paginator from 'components/core/Paginator';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport { tableColumnShape } from 'components/core/Profile/components/Cards/utils/shapes';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport {\n stafferShape,\n uiShape,\n} from 'components/core/Profile/components/Cards/Staffers/utils/shapes';\n\nimport { federalTableColumns } from '../../utils/tableColumns';\nimport useTable from '../../utils/useTable';\nimport StafferColumn from '../StafferColumn';\nimport IssueAreaColumn from '../IssueAreaColumn';\nimport AddressColumn from '../AddressColumn';\nimport TitlesColumn from '../TitlesColumn';\nimport RoleColumn from '../RoleColumn';\nimport OfficeColumn from '../OfficeColumn';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n ui: { isLoading },\n paginator,\n staffers,\n trackingActions,\n tableColumns,\n onSearch,\n areFiltersApplied,\n emptyDescription,\n stafferType,\n}) {\n const {\n isPaginatorPresent,\n sortData,\n onSortColumn,\n onChangePage,\n } = useTable({ onSearch, paginator, trackingActions, tableColumns });\n const { isMobile } = useMediaQuery();\n\n if (!isLoading && isEmpty(staffers)) {\n return (\n <ClearableEmptyPlaceholder\n areFiltersApplied={areFiltersApplied}\n emptyDescription={emptyDescription}\n emptyDescriptionFiltering=\"There are no results that match the applied filters.\"\n />\n );\n }\n\n const handleEmailClick = (item = {}) => trackingActions.trackStafferEmailed(item.name);\n\n const handleNameClick = (item = {}) => trackingActions.trackStafferVisited(item.name);\n\n const handlePhoneClick = (item = {}) => trackingActions.trackStafferPhoned(item.name);\n\n function renderColumn(column, data = {}) {\n function getColumn(value) {\n return <div className={styles.tableColumn}>{value}</div>;\n }\n\n const { keyName } = column;\n const commonProps = {\n ...data,\n key: keyName,\n keyName,\n };\n\n const columns = {\n name: <StafferColumn {...commonProps} onClick={handleNameClick} stafferType={stafferType} />,\n issues: <IssueAreaColumn {...commonProps} />,\n email: <EmailItem {...commonProps} onClick={handleEmailClick} />,\n phone: <PhoneItem {...commonProps} onClick={handlePhoneClick} />,\n titles: <TitlesColumn {...commonProps} />,\n address: <AddressColumn {...commonProps} />,\n role: <RoleColumn {...commonProps} />,\n office: <OfficeColumn {...commonProps} />,\n };\n\n return columns[keyName] || <Column key={keyName} keyName={keyName}>{getColumn}</Column>;\n }\n\n function renderPagination() {\n if (!isPaginatorPresent) {\n return null;\n }\n\n const { current, total, totalCount, pageSize } = paginator;\n\n return (\n <Paginator\n isLoading={isLoading}\n isMobile={isMobile}\n current={current}\n total={total}\n pageSize={pageSize}\n totalItems={totalCount}\n onChange={onChangePage}\n />\n );\n }\n\n const tableClassName = classNames(\n styles.tableContent,\n paginator\n && paginator.current > 1\n && paginator.current === paginator.total\n && styles.fixedHeight\n );\n\n return (\n <div className={styles.tableContainer}>\n <Table\n isLoading={isLoading}\n rowLengthPlaceholder={PAGE_SIZE}\n uniqueKey=\"id\"\n columns={tableColumns}\n containerStyle={tableClassName}\n data={staffers}\n sortColumn={sortData.column}\n sortDirection={sortData.direction}\n onSort={onSortColumn}\n isPaginatorPresent={isPaginatorPresent}\n isMobile={isMobile}\n isFixed\n >\n {tableColumns.map(renderColumn)}\n </Table>\n\n {renderPagination()}\n </div>\n );\n}\n\nTableView.defaultProps = {\n trackingActions: {},\n tableColumns: federalTableColumns,\n};\n\nTableView.propTypes = {\n ui: uiShape.isRequired,\n paginator: paginatorShape.isRequired,\n staffers: PropTypes.arrayOf(stafferShape).isRequired,\n onSearch: PropTypes.func.isRequired,\n tableColumns: PropTypes.arrayOf(tableColumnShape),\n trackingActions: PropTypes.shape({\n trackStafferEmailed: PropTypes.func,\n trackStafferVisited: PropTypes.func,\n trackStafferPhoned: PropTypes.func,\n trackStaffersPageVisited: PropTypes.func,\n trackStaffersResultsSorted: PropTypes.func,\n }),\n areFiltersApplied: PropTypes.bool.isRequired,\n emptyDescription: PropTypes.node.isRequired,\n stafferType: PropTypes.string,\n};\n\nexport default TableView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport LegislativeIssueArea from 'components/Rolodex/StafferLookup/components/Header/components/Options/components/LegislativeIssueArea';\nimport Title from 'components/core/Table/components/Dimensions/components/Title';\nimport { StafferTitle } from 'components/core/PageLookup/components/Options';\nimport Button from 'components/core/Button';\nimport Select from 'components/core/Select';\nimport Label from 'components/core/Label';\n\nimport { OFFICE_TYPE_OPTIONS } from '../../../utils/constants';\nimport styles from '../styles.module.scss';\n\nfunction TooltipContent({\n onClose,\n onSubmit,\n stafferTitles,\n issuesArea,\n officeType,\n onChangeOfficeType,\n onChangeStafferTitle,\n onChangeIssueArea,\n isFederal,\n isMobile,\n id,\n}) {\n const strategyInputs = { legislator_ids: [id] };\n const stafferTitleInputs = isFederal ? strategyInputs : { state_offices: [`legislator_${id}`] };\n\n function handleSubmit() {\n onSubmit();\n onClose();\n }\n\n return (\n <div>\n {!isMobile && <Title title=\"Additional filters\" onClose={onClose} />}\n\n <div className={styles.formBody}>\n <StafferTitle\n keyName=\"stafferTitles\"\n value={stafferTitles}\n isFederal={isFederal}\n strategyInputs={stafferTitleInputs}\n onChange={onChangeStafferTitle}\n withAjaxAbort={false}\n autoload\n cacheOptions\n />\n {isFederal && (\n <>\n <Label className={styles.label}>\n Office type\n </Label>\n <Select\n value={officeType}\n options={OFFICE_TYPE_OPTIONS}\n onChange={onChangeOfficeType}\n hasNewStyle\n className={styles.officeType}\n />\n <LegislativeIssueArea\n value={issuesArea}\n className={styles.legislativeIssueArea}\n onChange={onChangeIssueArea}\n strategyInputs={strategyInputs}\n withAjaxAbort={false}\n autoload\n cacheOptions\n />\n </>\n )}\n </div>\n\n <div className={styles.footer}>\n <Button className={styles.footerButton} theme=\"light\" onClick={onClose}>\n Cancel\n </Button>\n <Button className={styles.footerButton} onClick={handleSubmit}>\n Apply\n </Button>\n </div>\n </div>\n );\n}\n\nTooltipContent.propTypes = {\n onClose: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n issuesArea: PropTypes.array.isRequired,\n stafferTitles: PropTypes.array.isRequired,\n officeType: PropTypes.string.isRequired,\n onChangeOfficeType: PropTypes.func.isRequired,\n onChangeStafferTitle: PropTypes.func.isRequired,\n onChangeIssueArea: PropTypes.func.isRequired,\n isFederal: PropTypes.bool,\n isMobile: PropTypes.bool,\n id: PropTypes.string,\n};\n\nexport default TooltipContent;\n","import React from 'react';\nimport Tooltip from '@tippyjs/react';\n\nimport Modal from 'components/core/Modal';\nimport Button from 'components/core/Button';\nimport useModal from 'components/core/Modal/useModal';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport TooltipContent from './components/TooltipContent';\nimport styles from './styles.module.scss';\n\nfunction FilterButton(props) {\n const { isOpenModal, toggleModal, closeModal } = useModal();\n const { isMobile } = useMediaQuery();\n\n const button = (\n <div className={styles.container}>\n <Button\n onClick={toggleModal}\n theme=\"tertiary\"\n className={styles.filterButton}\n customIcon={<i className=\"fas fa-filter\" />}\n >\n Filters\n </Button>\n </div>\n );\n\n const tooltipContent = isOpenModal && <TooltipContent {...props} isMobile={isMobile} onClose={closeModal} />;\n\n if (isMobile) {\n return (\n <>\n {button}\n <Modal\n className={styles.modal}\n theme=\"scrollable\"\n title=\"Additional filters\"\n isOpen={isOpenModal}\n toggleOpen={toggleModal}\n onRequestClose={closeModal}\n >\n {tooltipContent}\n </Modal>\n </>\n );\n }\n\n return (\n <Tooltip\n content={tooltipContent}\n visible={isOpenModal}\n onHide={closeModal}\n onClickOutside={toggleModal}\n interactive\n className={styles.tooltip}\n placement=\"bottom-end\"\n maxWidth=\"none\"\n theme=\"light\"\n zIndex={2}\n >\n {button}\n </Tooltip>\n );\n}\n\nexport default FilterButton;\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static defaultFetchDataFailed = () => error('Could not load staffers. Please try again.');\n}\n","import { useState, useEffect } from 'react';\nimport { every, isEmpty } from 'lodash';\n\nimport Notifications from './Notifications';\n\nfunction useStaffers({ id, fetchStaffers, slug, customTransformers }) {\n const [keywordSearch, setKeywordSearch] = useState('');\n const [stafferTitles, setStafferTitles] = useState([]);\n const [officeType, setOfficeType] = useState('');\n const [issuesArea, setIssuesArea] = useState([]);\n const [searchData, setSearchData] = useState({});\n const filters = [keywordSearch, stafferTitles, officeType, issuesArea];\n const areFiltersApplied = !every(filters, isEmpty);\n\n function handleSearch(customData) {\n if (id) {\n fetchStaffers({\n id,\n slug,\n stafferTitles,\n issuesArea,\n officeType,\n ...searchData,\n ...customData,\n }, customTransformers)\n .catch((error) => {\n Notifications.defaultFetchDataFailed();\n throw error;\n });\n }\n }\n\n function handleChangeKeywordSearch(event) {\n const { value } = event.target;\n setKeywordSearch(value);\n }\n\n function handleChangeStafferTitle(_, value) {\n setStafferTitles(value);\n }\n\n function handleChangeIssueArea(_, value) {\n setIssuesArea(value);\n }\n\n function handleChangeOfficeType(option) {\n const { value = '' } = option || {};\n\n setOfficeType(value);\n }\n\n function handleSubmit() {\n setSearchData({ keywordSearch, stafferTitles });\n }\n\n function handleClearAll() {\n setKeywordSearch('');\n setStafferTitles([]);\n setIssuesArea([]);\n setSearchData({});\n setOfficeType('');\n }\n\n useEffect(handleSearch, [searchData, id]);\n\n return {\n handleSearch,\n keywordSearch,\n stafferTitles,\n issuesArea,\n officeType,\n areFiltersApplied,\n onChangeKeywordSearch: handleChangeKeywordSearch,\n onChangeStafferTitle: handleChangeStafferTitle,\n onChangeIssueArea: handleChangeIssueArea,\n onChangeOfficeType: handleChangeOfficeType,\n onSubmit: handleSubmit,\n onClearAll: handleClearAll,\n };\n}\n\nexport default useStaffers;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport SearchBox from 'components/core/SearchBox';\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport { defaultDisclaimerProps } from 'components/core/Profile/utils/constants';\n\nimport TableView from './components/TableView';\nimport FilterButton from './components/FilterButton';\nimport { uiShape, stafferShape } from './utils/shapes';\nimport { getTrackingActions as getFederalTrackingActions } from './utils/trackingActions';\nimport useStaffers from './utils/useStaffers';\nimport styles from './styles.module.scss';\n\nfunction Container({\n title,\n description,\n emptyDescription,\n trackingContext,\n ui,\n staffers,\n getTrackingActions,\n isFederal,\n id,\n withSearchFilters,\n ...restProps\n}) {\n const {\n handleSearch,\n keywordSearch,\n stafferTitles,\n issuesArea,\n officeType,\n onChangeOfficeType,\n onChangeKeywordSearch,\n onChangeStafferTitle,\n onChangeIssueArea,\n onSubmit,\n onClearAll,\n areFiltersApplied,\n } = useStaffers({ ...restProps, id });\n\n function renderSearchForm() {\n if (!withSearchFilters) {\n return null;\n }\n\n const searchComponent = (\n <SearchBox\n withButton\n value={keywordSearch}\n onChange={onChangeKeywordSearch}\n onSubmit={onSubmit}\n withSearchDisclaimer\n disclaimerProps={defaultDisclaimerProps}\n />\n );\n\n return (\n <div className={styles.formBody}>\n <div className={styles.searchContainer}>\n <BaseOption\n title=\"Search\"\n questionText=\"Type to refine the table's results.\"\n customComponent={searchComponent}\n className={styles.baseOption}\n />\n {areFiltersApplied && (\n <Button\n theme=\"link\"\n onClick={onClearAll}\n className={styles.clearAll}\n >\n Clear all filters\n </Button>\n )}\n </div>\n <div className={styles.baseOption}>\n <FilterButton\n id={id}\n stafferTitles={stafferTitles}\n issuesArea={issuesArea}\n officeType={officeType}\n isFederal={isFederal}\n onSubmit={onSubmit}\n onChangeStafferTitle={onChangeStafferTitle}\n onChangeIssueArea={onChangeIssueArea}\n onChangeOfficeType={onChangeOfficeType}\n />\n </div>\n </div>\n );\n }\n\n return (\n <DataCard\n title={title}\n description={description}\n emptyDescription={emptyDescription}\n >\n {renderSearchForm()}\n\n <TableView\n {...restProps}\n ui={ui}\n staffers={staffers}\n onSearch={handleSearch}\n onClearAll={onClearAll}\n areFiltersApplied={areFiltersApplied}\n emptyDescription={emptyDescription}\n trackingActions={getTrackingActions(trackingContext)}\n />\n </DataCard>\n );\n}\n\nContainer.defaultProps = {\n getTrackingActions: getFederalTrackingActions,\n withSearchFilters: false,\n};\n\nContainer.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n emptyDescription: PropTypes.node,\n staffers: PropTypes.arrayOf(stafferShape).isRequired,\n ui: uiShape.isRequired,\n id: PropTypes.string,\n trackingContext: PropTypes.string.isRequired,\n getTrackingActions: PropTypes.func,\n withSearchFilters: PropTypes.bool,\n isFederal: PropTypes.bool,\n};\n\nexport default Container;\n","import {\n trackCongressionalStafferEmailed,\n trackCongressionalStafferVisited,\n trackCongressionalStaffersPageVisited,\n trackCongressionalStaffersResultsSorted,\n} from 'utils/tracking/profile';\n\nexport function getTrackingActions(context) {\n return {\n trackStafferEmailed: trackCongressionalStafferEmailed(context),\n trackStafferVisited: trackCongressionalStafferVisited(context),\n trackStaffersPageVisited: trackCongressionalStaffersPageVisited(context),\n trackStaffersResultsSorted: trackCongressionalStaffersResultsSorted(context),\n };\n}\n","import reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/staffers/actions';\n\nimport Container from './Container';\n\nexport default reduxConnect('staffers', actions)(Container);\n","import { useEffect, useState } from 'react';\nimport { groupBy, isEmpty } from 'lodash';\n\nimport moment from 'moment';\n\nimport { DAY_YEAR_DATE_FORMAT } from 'utils/constants/date';\n\nexport const VIEW_MORE_LIMIT = 3;\n\nfunction groupAllItemsByDate(groupedData) {\n const formatData = [];\n\n Object.keys(groupedData).forEach(item => formatData.push({\n date: item,\n events: groupedData[item],\n }));\n\n return formatData;\n}\n\nfunction useTimeline({ items, isLoading, limit }) {\n const showPlaceholder = !isLoading && isEmpty(items);\n const currentLimit = limit || VIEW_MORE_LIMIT;\n const isHiddenEvents = items && items.length > currentLimit;\n\n const [isOpenMore, setIsOpenMore] = useState(false);\n const [visibleItems, setVisibleItems] = useState([]);\n\n useEffect(() => {\n const currentItems = isOpenMore ? items : items.slice(0, currentLimit);\n const groupedData = groupBy(currentItems, item => moment(item.date).format(DAY_YEAR_DATE_FORMAT));\n\n setVisibleItems(groupAllItemsByDate(groupedData));\n }, [isOpenMore, items]);\n\n function toggleViewMore() {\n setIsOpenMore(!isOpenMore);\n }\n\n return {\n isHiddenEvents,\n isOpenMore,\n visibleItems,\n toggleViewMore,\n showPlaceholder,\n };\n}\n\nexport default useTimeline;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Card from 'components/core/Card';\n\nimport styles from '../styles.module.scss';\n\nfunction ItemCards({\n isFirstCard,\n isUpperCaseItemTitle,\n events,\n renderCustomCardContent,\n renderCustomTitle,\n}) {\n if (isEmpty(events)) {\n return (\n <Card className={styles.cardContainer}>\n The requested data is currently unavailable\n </Card>\n );\n }\n\n function renderContent(event, index) {\n const { text } = event || {};\n\n if (renderCustomCardContent) {\n return renderCustomCardContent(event, index);\n }\n\n return text;\n }\n\n function renderTitle(isFirstElement, event, index, className) {\n if (renderCustomTitle) {\n return renderCustomTitle(event, index, className);\n }\n\n const { title } = event || {};\n const eventTitle = isFirstElement ? 'Last action' : title;\n\n if (isEmpty(eventTitle)) {\n return null;\n }\n\n return <div className={className}>{eventTitle}</div>;\n }\n\n function renderCard(event, index) {\n const keyName = `${index}-event`;\n const isFirstElement = isFirstCard && index === 0;\n const isUpperCase = isFirstElement || isUpperCaseItemTitle;\n const titleClassNames = classNames(styles.eventTitle, isUpperCase && styles.uppercase);\n\n return (\n <Card key={keyName} className={classNames(styles.cardContainer, isFirstElement && styles.firstItem)}>\n {renderTitle(isFirstElement, event, index, titleClassNames)}\n <div className={styles.eventText}>\n {renderContent(event, index)}\n </div>\n </Card>\n );\n }\n\n return events.map(renderCard);\n}\n\nItemCards.propTypes = {\n isUpperCaseItemTitle: PropTypes.bool,\n isFirstCard: PropTypes.bool,\n events: PropTypes.array,\n renderCustomCardContent: PropTypes.func,\n renderCustomTitle: PropTypes.func,\n};\n\nexport default ItemCards;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash/isFunction';\n\nimport Box from 'components/core/Box';\n\nimport ItemCards from './ItemCards';\nimport styles from '../styles.module.scss';\n\nfunction TimeGroup({\n timeGroupItem,\n isFirstCard,\n renderCustomTitle,\n isUpperCaseItemTitle,\n renderCustomCardContent,\n disableFirstCardStyle,\n renderCustomBoxText,\n}) {\n const { date, events } = timeGroupItem;\n\n function renderBoxText() {\n if (isFunction(renderCustomBoxText)) {\n return renderCustomBoxText({ isFirstCard, date, events });\n }\n\n return date;\n }\n\n return (\n <Fragment>\n <Box text={renderBoxText()} className={styles.title} />\n <ItemCards\n isFirstCard={!disableFirstCardStyle && isFirstCard}\n renderCustomTitle={renderCustomTitle}\n isUpperCaseItemTitle={isUpperCaseItemTitle}\n events={events}\n renderCustomCardContent={renderCustomCardContent}\n />\n </Fragment>\n );\n}\n\nTimeGroup.propTypes = {\n timeGroupItem: PropTypes.object,\n isUpperCaseItemTitle: PropTypes.bool,\n renderCustomCardContent: PropTypes.func,\n isFirstCard: PropTypes.bool,\n renderCustomTitle: PropTypes.func,\n disableFirstCardStyle: PropTypes.bool,\n renderCustomBoxText: PropTypes.func,\n};\n\nexport default TimeGroup;\n","import { useEffect, useRef } from 'react';\n\nimport useTimeline from '../../utils/useTimeline';\n\nfunction useAsyncTimeline({ paginator, items, isLoading, fetchTimeline, limit }) {\n const timelineContainerRef = useRef(null);\n const {\n showPlaceholder,\n isHiddenEvents,\n isOpenMore,\n visibleItems,\n toggleViewMore,\n } = useTimeline({ items, isLoading, limit });\n const { current, total } = paginator || {};\n const isFirstPageView = current === 1 && !isOpenMore;\n const isLastPage = !isFirstPageView && current === total;\n\n useEffect(() => {\n fetchTimeline({ page: 1 });\n }, []);\n\n function handleCollapse() {\n if (timelineContainerRef.current) {\n timelineContainerRef.current.scrollIntoView();\n }\n\n toggleViewMore();\n }\n\n function handleClickViewMore() {\n if (isFirstPageView) {\n return toggleViewMore();\n }\n\n if (isLastPage) {\n return fetchTimeline({ page: 1, isInitialData: true })\n .then(handleCollapse);\n }\n\n return fetchTimeline({ page: current + 1 });\n }\n\n return {\n timelineContainerRef,\n isHiddenEvents,\n isOpenMore: isLastPage,\n visibleItems,\n onClickViewMore: handleClickViewMore,\n showPlaceholder,\n };\n}\n\nexport default useAsyncTimeline;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { LoadingPlaceholder } from 'components/core/Profile/components/Placeholders';\nimport ViewMoreButton from 'components/core/ViewMoreButton';\n\nimport TimeGroup from '../TimeGroup';\nimport useAsyncTimeline from './useAsyncTimeline';\nimport styles from '../../styles.module.scss';\n\nfunction AsyncTimeline({\n title,\n description,\n emptyDescription,\n className,\n items,\n paginator,\n fetchTimeline,\n isLoading,\n isInitialLoading,\n isUpperCaseItemTitle,\n renderCustomCardContent,\n disableFirstCardStyle,\n hideLastAction,\n renderCustomBoxText,\n renderCustomTitle,\n limit,\n}) {\n const commonProps = { title, description, emptyDescription };\n const {\n timelineContainerRef,\n isOpenMore,\n visibleItems,\n onClickViewMore,\n isHiddenEvents,\n showPlaceholder,\n } = useAsyncTimeline({ paginator, items, isLoading, fetchTimeline, limit });\n\n if (isInitialLoading) {\n return <LoadingPlaceholder {...commonProps} />;\n }\n\n function renderTimeGroup(item, index) {\n const { date } = item;\n\n return (\n <TimeGroup\n key={`card-action-${date}-${index}`}\n timeGroupItem={item}\n isUpperCaseItemTitle={isUpperCaseItemTitle}\n renderCustomCardContent={renderCustomCardContent}\n renderCustomBoxText={renderCustomBoxText}\n renderCustomTitle={renderCustomTitle}\n disableFirstCardStyle={disableFirstCardStyle}\n hideLastAction={hideLastAction}\n isFirstCard={index === 0}\n />\n );\n }\n\n function renderLoadingIcon() {\n if (isLoading) {\n return (\n <Fragment>\n Loading\n <i className={classNames('fas fa-circle-notch fa-spin', styles.loadingIcon)} />\n </Fragment>\n );\n }\n\n return null;\n }\n\n return (\n <div ref={timelineContainerRef}>\n <DataCard\n {...commonProps}\n showPlaceholder={showPlaceholder}\n className={classNames(styles.container, className)}\n >\n <div className={styles.itemsContainer}>\n {visibleItems.map(renderTimeGroup)}\n </div>\n\n <ViewMoreButton\n theme=\"grey\"\n openText=\"View more\"\n closeText=\"Collapse\"\n className={styles.viewMoreButton}\n buttonClassName={styles.button}\n isVisible={isHiddenEvents}\n isOpen={isOpenMore}\n onClick={onClickViewMore}\n disabled={isLoading}\n customContent={renderLoadingIcon()}\n />\n </DataCard>\n </div>\n );\n}\n\nAsyncTimeline.defaultProps = {\n isDesktop: true,\n};\n\nAsyncTimeline.propTypes = {\n isInitialLoading: PropTypes.bool,\n className: PropTypes.string,\n isLoading: PropTypes.bool,\n isUpperCaseItemTitle: PropTypes.bool,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n emptyDescription: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string,\n date: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n })).isRequired,\n paginator: PropTypes.object,\n renderCustomCardContent: PropTypes.func,\n renderCustomTitle: PropTypes.func,\n fetchTimeline: PropTypes.func.isRequired,\n disableFirstCardStyle: PropTypes.bool,\n hideLastAction: PropTypes.bool,\n renderCustomBoxText: PropTypes.func,\n limit: PropTypes.number,\n};\n\nexport default AsyncTimeline;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty } from 'lodash';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { LoadingPlaceholder } from 'components/core/Profile/components/Placeholders';\nimport ViewMoreButton from 'components/core/ViewMoreButton';\nimport SomethingWentWrong from 'components/Errors/SomethingWentWrong';\n\nimport useTimeline from './utils/useTimeline';\nimport AsyncTimeline from './components/AsyncTimeline';\nimport TimeGroup from './components/TimeGroup';\nimport styles from './styles.module.scss';\n\nfunction Timeline({\n title,\n description,\n emptyDescription,\n className,\n items,\n renderCustomTitle,\n isUpperCaseItemTitle,\n renderCustomCardContent,\n limit,\n timelineStatus,\n}) {\n const commonProps = { title, description, emptyDescription };\n const isLoading = timelineStatus === 'loading';\n const {\n isHiddenEvents,\n isOpenMore,\n visibleItems,\n toggleViewMore,\n } = useTimeline({ items, isLoading, limit });\n const hasLoadingError = timelineStatus === 'error';\n const showPlaceholder = !hasLoadingError && isEmpty(items);\n\n if (isLoading) {\n return <LoadingPlaceholder {...commonProps} />;\n }\n\n function renderTimeGroup(item, index) {\n const { date } = item;\n\n return (\n <TimeGroup\n key={`card-action-${date}-${index}`}\n renderCustomTitle={renderCustomTitle}\n timeGroupItem={item}\n isUpperCaseItemTitle={isUpperCaseItemTitle}\n renderCustomCardContent={renderCustomCardContent}\n isFirstCard={index === 0}\n />\n );\n }\n\n return (\n <DataCard\n {...commonProps}\n showPlaceholder={showPlaceholder}\n className={classNames(styles.container, className)}\n >\n {hasLoadingError ? (\n <div className={styles.somethingWentWrong}>\n <SomethingWentWrong />\n </div>\n ) : (\n <>\n <div className={styles.itemsContainer}>\n {visibleItems.map(renderTimeGroup)}\n </div>\n <ViewMoreButton\n theme=\"grey\"\n openText=\"Show all\"\n closeText=\"Show less\"\n className={styles.viewMoreButton}\n isVisible={isHiddenEvents}\n isOpen={isOpenMore}\n onClick={toggleViewMore}\n />\n </>\n )}\n </DataCard>\n );\n}\n\nTimeline.propTypes = {\n className: PropTypes.string,\n timelineStatus: PropTypes.string.isRequired,\n renderCustomTitle: PropTypes.func,\n isUpperCaseItemTitle: PropTypes.bool,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n emptyDescription: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string,\n date: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n })).isRequired,\n renderCustomCardContent: PropTypes.func,\n limit: PropTypes.number,\n};\n\nexport { AsyncTimeline };\nexport default Timeline;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nexport default function Separator({ className }) {\n return <hr className={classNames(styles.separator, className)} />;\n}\n\nSeparator.propTypes = {\n className: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { DataField } from 'components/core/Profile/components/KeyDetailsFields';\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport Card from 'components/core/Card';\n\nimport Separator from '../../Separator';\nimport Summary from './components/Summary';\nimport styles from './styles.module.scss';\n\nfunction ItemName({\n isLoading,\n name,\n label,\n withSummary,\n recordType,\n recordId,\n customContent,\n}) {\n function renderContent() {\n if (isLoading) {\n return <TextPlaceholder />;\n }\n\n if (customContent) {\n return customContent;\n }\n\n return (\n <DataField\n label={label}\n value={name}\n containerClassName={styles.titleContainer}\n className={styles.title}\n />\n );\n }\n\n function renderSummary() {\n if (!withSummary) {\n return null;\n }\n\n return (\n <>\n <Separator className={styles.separator} />\n <Summary recordType={recordType} recordId={recordId} />\n </>\n );\n }\n\n const cardClassNames = classNames(\n styles.card,\n withSummary && styles.cardWithSummary,\n );\n\n return (\n <Card className={cardClassNames}>\n {renderContent()}\n {renderSummary()}\n </Card>\n );\n}\n\nItemName.propTypes = {\n isLoading: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string,\n withSummary: PropTypes.bool,\n recordType: PropTypes.string,\n recordId: PropTypes.string,\n customContent: PropTypes.node,\n};\n\nexport default ItemName;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from 'components/core/Modal';\n\nimport styles from './styles.module.scss';\n\nfunction ImageModal({ isOpen, title, image, partyIcon, toggleOpen, isLoading }) {\n if (isLoading) {\n return null;\n }\n\n return (\n <Modal\n title={title}\n isOpen={isOpen}\n toggleOpen={toggleOpen}\n headerTitle={<>{title} {partyIcon}</>}\n className={styles.modal}\n headerClassName={styles.modalHeader}\n bodyClassName={styles.modalBody}\n >\n <img\n src={image}\n alt={title}\n className={styles.image}\n />\n </Modal>\n );\n}\n\nImageModal.propTypes = {\n isOpen: PropTypes.bool,\n title: PropTypes.string,\n image: PropTypes.string,\n partyIcon: PropTypes.node,\n toggleOpen: PropTypes.func,\n isLoading: PropTypes.bool.isRequired,\n};\n\nexport default ImageModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport useModal from 'components/core/Modal/useModal';\nimport CoreAvatar from 'components/core/Avatar';\nimport useAvatar from 'components/core/Profile/utils/useAvatar';\n\nimport ImageModal from './ImageModal';\nimport styles from './styles.module.scss';\n\nexport default function Avatar({ isLoadingProfile, avatarUrl, name, partyIcon, onError }) {\n const { isOpenModal, toggleModal } = useModal();\n const { hasAvatar, onAvatarError } = useAvatar();\n\n function handleError() {\n onAvatarError();\n onError && onError();\n }\n\n const avatarUrlProps = avatarUrl && {\n photoUrl: avatarUrl,\n onClick: toggleModal,\n onError: handleError,\n isClickable: hasAvatar,\n };\n\n return (\n <div className={styles.avatarContainer}>\n <ImageModal\n isOpen={isOpenModal}\n title={name}\n image={avatarUrl}\n partyIcon={partyIcon}\n toggleOpen={toggleModal}\n isLoading={isLoadingProfile}\n />\n\n <CoreAvatar\n {...avatarUrlProps}\n name={name}\n className={styles.avatar}\n />\n </div>\n );\n}\n\nAvatar.propTypes = {\n isLoadingProfile: PropTypes.bool,\n avatarUrl: PropTypes.string,\n name: PropTypes.string,\n partyIcon: PropTypes.node,\n onError: PropTypes.func,\n};\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder() {\n return (\n <div className={styles.container}>\n <TextPlaceholder className={styles.partyZone} />\n\n <header className={styles.cardHeader}>\n <div className={classNames(styles.info, styles.infoPlaceholder)}>\n <TextPlaceholder className={classNames(styles.avatar, styles.avatarPlaceholder)} />\n\n <div className={styles.title}>\n <TextPlaceholder className={styles.line} />\n <TextPlaceholder className={styles.line} />\n </div>\n </div>\n\n <div className={styles.badges}>\n <TextPlaceholder className={styles.line} />\n </div>\n </header>\n </div>\n );\n}\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Badge from 'components/core/Badge';\n\nimport { getStateName } from '../../../utils';\nimport styles from './styles.module.scss';\n\nexport default function StateBadge({ state }) {\n const stateName = getStateName(state);\n\n if (isEmpty(stateName)) {\n return null;\n }\n\n return (\n <Badge className={styles.stateBadge}>\n {stateName}\n </Badge>\n );\n}\n\nStateBadge.propTypes = {\n state: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { isDemocrat, isRepublican } from 'utils/parties';\n\nimport styles from './styles.module.scss';\n\nexport default function PartyColorBar({ partyShort }) {\n return (\n <div\n className={classNames(styles.partyZone, {\n [styles.partyZoneDemocrat]: isDemocrat(partyShort),\n [styles.partyZoneRepublican]: isRepublican(partyShort),\n })}\n />\n );\n}\n\nPartyColorBar.propTypes = {\n partyShort: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useModal from 'components/core/Modal/useModal';\nimport Button from 'components/core/Button';\nimport { ConfirmationModal as Modal } from 'components/core/Modal';\n\nimport styles from './styles.module.scss';\n\nfunction ViewBiography({ biography }) {\n const { isOpenModal, toggleModal, openModal } = useModal();\n\n if (isEmpty(biography)) {\n return null;\n }\n\n return (\n <span className={styles.viewBiography}>\n (\n <Button\n theme=\"tableLink\"\n onClick={openModal}\n className={styles.modalTrigger}\n >\n view biography\n </Button>\n )\n\n <Modal\n theme=\"scrollable\"\n title=\"Biography\"\n isOpen={isOpenModal}\n toggle={toggleModal}\n messageContinue=\"Close\"\n bodyClassName={styles.modalBody}\n className={styles.modal}\n hideCancel\n >\n {biography}\n </Modal>\n </span>\n );\n}\n\nViewBiography.propTypes = {\n biography: PropTypes.node,\n};\n\nexport default ViewBiography;\n","import React from 'react';\n\nimport { joinCompact } from 'utils/string';\nimport { electionInfoShape } from 'components/core/Profile/utils/shapes';\n\nimport styles from './styles.module.scss';\n\nexport default function ElectionInfo({ electionInfo }) {\n const { percentVote, term } = electionInfo || {};\n\n const hasPercentVote = Boolean(Number(percentVote));\n\n if (!hasPercentVote && !term) return null;\n\n const numberSuffix = { 1: 'st', 2: 'nd', 3: 'rd' }[term] || 'th';\n\n const termInfo = term && `${term}${numberSuffix} term`;\n const percentageInfo = hasPercentVote && `${percentVote}% of vote`;\n\n return (\n <span className={styles.electionInfo}>\n ({joinCompact([termInfo, percentageInfo])})\n </span>\n );\n}\n\nElectionInfo.propTypes = {\n electionInfo: electionInfoShape,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport toLower from 'lodash/toLower';\n\nimport Card from 'components/core/Card';\nimport PartyIcon from 'components/shared/party-icon';\nimport { electionInfoShape } from 'components/core/Profile/utils/shapes';\n\nimport Avatar from './components/Avatar';\nimport Placeholder from './components/Placeholder';\nimport StateBadge from './components/StateBadge';\nimport PartyColorBar from './components/PartyColorBar';\nimport ViewBiography from './components/ViewBiography';\nimport ElectionInfo from './components/ElectionInfo';\nimport CustomBadge from './components/CustomBadge';\nimport styles from './styles.module.scss';\n\nfunction LargerPhoto({\n isLoadingProfile,\n children,\n className,\n description,\n state,\n avatarUrl,\n name,\n partyShort,\n partySlug,\n biography,\n electionInfo,\n customBadge,\n customBadgeNode,\n onAvatarError,\n}) {\n const partyIcon = partyShort && partySlug && (\n <PartyIcon\n partyShort={partyShort}\n partySlug={toLower(partySlug)}\n className={styles.partyIcon}\n />\n );\n\n const renderContent = () => {\n if (isLoadingProfile) {\n return <Placeholder />;\n }\n\n return (\n <div className={styles.container}>\n <PartyColorBar partyShort={partyShort} />\n\n <header className={styles.cardHeader}>\n <div className={styles.info}>\n <Avatar\n isLoadingProfile={isLoadingProfile}\n avatarUrl={avatarUrl}\n name={name}\n partyIcon={partyIcon}\n onError={onAvatarError}\n />\n\n <div className={styles.title}>\n <div className={styles.nameContainer}>\n <span className={styles.name}>{name}</span>\n {partyIcon}\n <ViewBiography biography={biography} />\n </div>\n <div className={styles.descriptionContainer}>\n <span className={styles.description}>{description}</span>\n <ElectionInfo electionInfo={electionInfo} />\n </div>\n </div>\n </div>\n\n <div className={styles.badges}>\n <StateBadge state={state} />\n <CustomBadge content={customBadge} />\n {customBadgeNode}\n </div>\n </header>\n </div>\n );\n };\n\n return (\n <Card className={className}>\n {renderContent()}\n {children}\n </Card>\n );\n}\n\nLargerPhoto.propTypes = {\n isLoadingProfile: PropTypes.bool.isRequired,\n className: PropTypes.string,\n children: PropTypes.node,\n description: PropTypes.node,\n state: PropTypes.string,\n avatarUrl: PropTypes.string,\n name: PropTypes.string,\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n biography: PropTypes.node,\n electionInfo: electionInfoShape,\n customBadge: PropTypes.node,\n customBadgeNode: PropTypes.node,\n onAvatarError: PropTypes.func,\n};\n\nexport default LargerPhoto;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Separator({ className }) {\n return (\n <hr className={classNames(styles.separator, className)} />\n );\n}\n\nSeparator.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Separator;\n","import React from 'react';\n\nexport const StakeholderContext = React.createContext();\n\nfunction withStakeholders(Component) {\n return function StakeholderDataComponent(props) {\n return (\n <StakeholderContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </StakeholderContext.Consumer>\n );\n };\n}\n\nexport default withStakeholders;\n","import PropTypes from 'prop-types';\n\nexport const uiShape = PropTypes.shape({\n isInitialLoading: PropTypes.bool.isRequired,\n isLoadingData: PropTypes.bool.isRequired,\n isLoadingMapData: PropTypes.bool.isRequired,\n isLoadingLists: PropTypes.bool.isRequired,\n isLoadingAllEmails: PropTypes.bool.isRequired,\n isApplyingLists: PropTypes.bool.isRequired,\n isApplyingTags: PropTypes.bool.isRequired,\n toResetSelectedItems: PropTypes.bool.isRequired,\n isResetFilters: PropTypes.bool.isRequired,\n isLoadingDistrictStakeholdersMetadata: PropTypes.bool.isRequired,\n});\n\nexport const stakeholderShape = PropTypes.shape({\n id: PropTypes.number,\n first_name: PropTypes.string,\n last_name: PropTypes.string,\n middle_name: PropTypes.string,\n email: PropTypes.string,\n address: PropTypes.string,\n organization: PropTypes.string,\n party_code: PropTypes.string,\n phone: PropTypes.string,\n tags: PropTypes.string,\n lists: PropTypes.string,\n custom_fields: PropTypes.string,\n facebook_profile: PropTypes.string,\n twitter_username: PropTypes.string,\n url: PropTypes.string,\n});\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static defaultFetchDataFailed = () => error('Could not load staffers. Please try again.');\n}\n","import { useEffect, useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils/constants';\nimport useSortTable from 'utils/useSortTable';\nimport { getColumnLabelBySortingKey } from 'utils/table';\nimport getDistrictFilters from 'components/Stakeholder/common/utils/getDistrictFilters';\n\nimport Notifications from './Notifications';\n\nfunction useTable({\n id,\n sort: sortRedux,\n paginator,\n fetchStakeholders,\n slug,\n trackingActions,\n customTransformers,\n tableColumns,\n defaultHiddenColumns,\n toResetSelectedItems,\n districtInfo,\n chamberCategory,\n isFederalSenator,\n}) {\n const sort = useSortTable();\n\n const { id: districtId, name: districtName, state, stateName } = districtInfo;\n const { pageSize = PAGE_SIZE } = paginator || {};\n\n /** Fix default sort */\n useEffect(() => {\n if (!isEmpty(sortRedux)) {\n const { sort: reduxColumn, direction } = sortRedux;\n\n sort && sort.setSortData({ direction, column: reduxColumn });\n }\n }, [sortRedux]);\n\n const isPaginatorPresent = !isEmpty(paginator);\n const {\n trackStakeholdersPageVisited,\n trackStakeholdersResultsSorted,\n } = trackingActions;\n\n const [selectedItems, setSelectedItems] = useState([]);\n const [hiddenColumns, setHiddenColumns] = useState(defaultHiddenColumns);\n\n const isSelectedItemsPresent = selectedItems.length > 0;\n\n function handleSelectItems(items) {\n setSelectedItems(items);\n }\n\n function handleClearItems() {\n setSelectedItems([]);\n }\n\n function handleHideColumn(columnKeyName, isHidden) {\n setHiddenColumns(prevState => ({\n ...prevState,\n [columnKeyName]: isHidden,\n }));\n }\n\n useEffect(() => {\n toResetSelectedItems && handleClearItems();\n }, [toResetSelectedItems]);\n\n function handleSearch(customData) {\n if (id) {\n const searchData = getDistrictFilters({\n chamberCategory,\n districtId,\n districtName,\n isFederalSenator,\n state,\n stateName,\n });\n\n fetchStakeholders({ ...customData, searchData, id, slug, perPage: pageSize }, customTransformers)\n .catch((error) => {\n Notifications.defaultFetchDataFailed();\n throw error;\n });\n }\n }\n\n useEffect(() => {\n const anyFilterValue = districtId || (state && isFederalSenator);\n\n anyFilterValue && handleSearch();\n }, [districtId, state, isFederalSenator, id]);\n\n function handleSortColumn(column) {\n const { getDirection } = sort;\n const direction = getDirection(column);\n const columnLabel = getColumnLabelBySortingKey(tableColumns, column);\n\n handleSearch({ sort: column, direction });\n trackStakeholdersResultsSorted && trackStakeholdersResultsSorted(columnLabel, direction);\n }\n\n function handleChangePage(page) {\n const { sortData = {} } = sort;\n const { column, direction } = sortData;\n\n handleSearch({ page, sort: column, direction });\n trackStakeholdersPageVisited && trackStakeholdersPageVisited(page);\n }\n\n return {\n ...sort,\n isPaginatorPresent,\n isSelectedItemsPresent,\n hiddenColumns,\n selectedItems,\n perPage: pageSize,\n onSortColumn: handleSortColumn,\n onChangePage: handleChangePage,\n onHideColumn: handleHideColumn,\n onClearItems: handleClearItems,\n onSelectItems: handleSelectItems,\n };\n}\n\nexport default useTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport FooterActions from 'components/Stakeholder/Lookup/components/TableColumnsView/components/FooterActions';\nimport TableColumnsView from 'components/Stakeholder/Lookup/components/TableColumnsView';\nimport initialTableColumns from 'components/Stakeholder/Lookup/utils/tableColumns';\nimport { PAGE_SIZE } from 'components/core/Profile/utils';\nimport { tableColumnShape } from 'components/core/Profile/components/Cards/utils/shapes';\nimport Table from 'components/core/Table';\nimport Paginator from 'components/core/Paginator';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport { sortShape } from 'utils/shapes';\n\nimport { stakeholderShape, uiShape } from '../../utils/shapes';\nimport withStakeholders from '../../utils/withStakeholders';\nimport useTable from '../../utils/useTable';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n id,\n ui,\n isMobile,\n sort,\n paginator,\n stakeholders,\n fetchStakeholders,\n districtInfo,\n chamberCategory,\n trackingActions,\n tableColumns,\n customTransformers,\n defaultHiddenColumns,\n isFederalSenator,\n ...restProps\n}) {\n const { isLoadingData, toResetSelectedItems } = ui;\n const {\n selectedItems,\n isPaginatorPresent,\n isSelectedItemsPresent,\n sortData,\n perPage,\n onSortColumn,\n onChangePage,\n onClearItems,\n onSelectItems,\n } = useTable({\n id,\n sort,\n paginator,\n fetchStakeholders,\n trackingActions,\n customTransformers,\n tableColumns,\n defaultHiddenColumns,\n toResetSelectedItems,\n districtInfo,\n chamberCategory,\n isFederalSenator,\n });\n\n function renderColumn(column) {\n return TableColumnsView({\n ...column,\n trackingActions,\n isLookupTable: false,\n fetchData: fetchStakeholders,\n });\n }\n\n function renderPagination() {\n if (!isPaginatorPresent) return null;\n\n const { current, total, totalCount, pageSize = perPage } = paginator;\n\n return (\n <Paginator\n isLoading={isLoadingData}\n isMobile={isMobile}\n current={current}\n total={total}\n pageSize={pageSize}\n totalItems={totalCount}\n onChange={onChangePage}\n />\n );\n }\n\n const footerProps = {\n ui,\n data: stakeholders,\n sortData,\n onClear: onClearItems,\n actionsMap: {\n modalProps: {\n ...restProps,\n ui,\n fetchStakeholders,\n },\n },\n paginator: {\n ...paginator,\n pageSize: paginator.pageSize || perPage,\n },\n trackingFunctions: trackingActions,\n isFixed: false,\n selectedItems,\n };\n\n function renderTableComponents() {\n return (\n <>\n {isSelectedItemsPresent && (\n <FooterActions\n {...footerProps}\n allowEditing={false}\n />\n )}\n {renderPagination()}\n </>\n );\n }\n\n const tableClassName = classNames(\n styles.tableContent,\n paginator\n && paginator.current > 1\n && paginator.current === paginator.total\n && styles.fixedHeight\n );\n\n return (\n <div className={styles.tableContainer}>\n <Table\n isLoading={isLoadingData}\n rowLengthPlaceholder={PAGE_SIZE}\n uniqueKey=\"id\"\n columns={tableColumns}\n containerStyle={tableClassName}\n data={stakeholders}\n sortColumn={sortData.column}\n sortDirection={sortData.direction}\n onSort={onSortColumn}\n isPaginatorPresent={isPaginatorPresent}\n isMobile={isMobile}\n selectedItems={selectedItems}\n onSelectItems={onSelectItems}\n customEmptyMessage=\"stakeholders\"\n isCheckboxPresent\n preserveCheckboxes\n isDefaultTable\n isFixed\n >\n {tableColumns.map(renderColumn)}\n </Table>\n\n {renderTableComponents()}\n </div>\n );\n}\n\nTableView.defaultProps = {\n trackingActions: {},\n tableColumns: initialTableColumns,\n isFederalSenator: false,\n defaultHiddenColumns: {\n middle_name: true,\n },\n};\n\nTableView.propTypes = {\n id: PropTypes.string,\n ui: uiShape.isRequired,\n sort: sortShape.isRequired,\n paginator: paginatorShape.isRequired,\n stakeholders: PropTypes.arrayOf(stakeholderShape).isRequired,\n fetchStakeholders: PropTypes.func.isRequired,\n isMobile: PropTypes.bool,\n customTransformers: PropTypes.shape({\n [PropTypes.string]: PropTypes.func,\n }),\n tableColumns: PropTypes.arrayOf(tableColumnShape),\n defaultHiddenColumns: PropTypes.shape({\n [PropTypes.string]: PropTypes.bool,\n }),\n districtInfo: PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n name: PropTypes.string,\n state: PropTypes.string,\n }),\n isFederalSenator: PropTypes.bool,\n chamberCategory: PropTypes.string,\n trackingActions: PropTypes.shape({\n trackStakeholderEmailed: PropTypes.func,\n trackStakeholderVisited: PropTypes.func,\n trackStakeholderPhoned: PropTypes.func,\n trackStakeholdersPageVisited: PropTypes.func,\n trackStakeholderResultsSorted: PropTypes.func,\n }),\n};\n\nexport default withStakeholders(TableView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\nimport { TYPES } from 'components/Stakeholder/Lookup/components/Options/utils/constants';\nimport { queryStringify } from 'utils/query-string';\nimport getDistrictFilters from 'components/Stakeholder/common/utils/getDistrictFilters';\n\nimport styles from '../../styles.module.scss';\n\nexport default function LookupLink({\n districtName,\n districtId,\n chamberCategory,\n state,\n stateName,\n isFederalSenator,\n}) {\n const anyFilterValue = districtId || (state && isFederalSenator);\n\n if (!anyFilterValue) return null;\n\n const { options } = getDistrictFilters({\n chamberCategory,\n districtId,\n districtName,\n isFederalSenator,\n state,\n stateName,\n });\n const filterParam = queryStringify({\n filters: JSON.stringify(options),\n });\n\n return (\n <Link\n href={`/stakeholder_management/directory?${filterParam}`}\n theme=\"default\"\n className={styles.lookupLink}\n >\n View in lookup\n </Link>\n );\n}\n\nLookupLink.propTypes = {\n districtId: PropTypes.node,\n districtName: PropTypes.string,\n chamberCategory: PropTypes.oneOf(\n Object.keys(TYPES),\n ),\n state: PropTypes.string,\n stateName: PropTypes.string,\n isFederalSenator: PropTypes.bool,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport DataCard from 'components/core/Profile/components/DataCard';\n\nimport { StakeholderContext } from './utils/withStakeholders';\nimport { getTrackingActions as getDefaultTrackingActions } from './utils/trackingActions';\nimport TableView from './components/TableView';\nimport LookupLink from './components/LookupLink';\nimport styles from './styles.module.scss';\n\nconst { isStakeholderMgmtEnabled } = gon;\n\nfunction Container({\n sectionId,\n title,\n description,\n questionText,\n emptyTitle,\n emptyDescription,\n trackingContext,\n getTrackingActions,\n stakeholderLookup,\n fetchStakeholders,\n districtInfo,\n chamberCategory,\n noSubscriptionTitle,\n noSubscriptionDescription,\n isFederalSenator,\n ...restProps\n}) {\n const noSubscription = !isStakeholderMgmtEnabled;\n const placeholderTitle = noSubscription ? noSubscriptionTitle : emptyTitle;\n const placeholderDescription = noSubscription ? noSubscriptionDescription : emptyDescription;\n const { id: districtId, name: districtName, state, stateName } = districtInfo;\n\n const { isMobile } = useMediaQuery();\n\n const {\n stakeholder,\n customFields,\n stakeholderLookup: stakeholderLookupData,\n exportReport,\n } = stakeholderLookup;\n\n const {\n stakeholders,\n sort,\n paginator,\n stakeholderLists,\n tableColumns,\n } = stakeholderLookupData;\n\n const commonUi = { ...stakeholder.ui, ...stakeholderLookupData.ui, ...customFields.ui };\n const isEmptyData = !commonUi.isLoadingData && isEmpty(stakeholders);\n\n const context = {\n ...restProps,\n ...stakeholderLookup,\n ...customFields,\n districtInfo,\n chamberCategory,\n stakeholderLists,\n stakeholders,\n exportReport,\n trackingActions: getTrackingActions(trackingContext),\n tableColumns,\n isMobile,\n sort,\n paginator,\n ui: commonUi,\n fetchStakeholders,\n isFederalSenator,\n };\n\n const rightItems = isStakeholderMgmtEnabled && (\n <LookupLink\n districtId={districtId}\n chamberCategory={chamberCategory}\n districtName={districtName}\n isFederalSenator={isFederalSenator}\n state={state}\n stateName={stateName}\n />\n );\n\n return (\n <StakeholderContext.Provider value={context}>\n <DataCard\n id={sectionId}\n title={title}\n description={description}\n questionText={questionText}\n emptyTitle={placeholderTitle}\n emptyDescription={placeholderDescription}\n showPlaceholder={noSubscription || isEmptyData}\n className={styles.stakeholders}\n titleClassName={styles.title}\n rightItems={rightItems}\n >\n <TableView />\n </DataCard>\n </StakeholderContext.Provider>\n );\n}\n\nContainer.defaultProps = {\n getTrackingActions: getDefaultTrackingActions,\n chamberCategory: 'congressional',\n};\n\nContainer.propTypes = {\n sectionId: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n questionText: PropTypes.string,\n emptyTitle: PropTypes.string,\n emptyDescription: PropTypes.string,\n isMobile: PropTypes.bool,\n isLoading: PropTypes.bool,\n sort: PropTypes.object,\n paginator: PropTypes.object,\n tableColumns: PropTypes.array,\n trackingContext: PropTypes.string,\n getTrackingActions: PropTypes.func,\n stakeholderLookup: PropTypes.object,\n fetchStakeholders: PropTypes.func,\n districtInfo: PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n name: PropTypes.string,\n state: PropTypes.string,\n stateName: PropTypes.string,\n }),\n isFederalSenator: PropTypes.bool,\n chamberCategory: PropTypes.string,\n noSubscriptionTitle: PropTypes.string,\n noSubscriptionDescription: PropTypes.node.isRequired,\n};\n\nexport default Container;\n","import {\n trackStakeholderEmailed,\n trackStakeholderPhoned,\n trackStakeholderVisited,\n trackStakeholdersPageVisited,\n trackStakeholderResultsSorted,\n} from 'utils/tracking/profile';\n\nexport function getTrackingActions(context) {\n return {\n trackStakeholderEmailed: trackStakeholderEmailed(context),\n trackStakeholderVisited: trackStakeholderVisited(context),\n trackStakeholderPhoned: trackStakeholderPhoned(context),\n trackStakeholdersPageVisited: trackStakeholdersPageVisited(context),\n trackStakeholderResultsSorted: trackStakeholderResultsSorted(context),\n };\n}\n","import reduxConnect from 'utils/redux-connect';\nimport { fetchStakeholders } from 'redux/stakeholder/Lookup/actions/data';\nimport { submitExport } from 'redux/stakeholder/Lookup/actions/export';\nimport * as tagActions from 'redux/stakeholder/Lookup/actions/tags';\nimport * as listActions from 'redux/stakeholder/Lookup/actions/lists';\nimport * as commonActions from 'redux/stakeholder/common/actions';\nimport * as customFieldsActions from 'redux/customFields/actions';\n\nimport Container from './Container';\n\nconst actions = {\n ...tagActions,\n ...listActions,\n ...commonActions,\n ...customFieldsActions,\n fetchStakeholders,\n submitExport,\n};\n\nexport default reduxConnect('stakeholder', actions)(Container);\n","import PropTypes from 'prop-types';\n\nimport { tableShape } from 'components/core/Profile/utils/shapes';\n\nexport const sectionShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n titleDetail: PropTypes.string,\n titleDescription: PropTypes.node,\n tables: PropTypes.arrayOf(tableShape).isRequired,\n tablesClassName: PropTypes.string,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport Title from 'components/core/Profile/components/Title';\nimport Table from 'components/core/Profile/components/Table';\nimport Card from 'components/core/Card';\n\nimport { sectionShape } from './shapes';\nimport styles from './styles.module.scss';\n\nfunction Details({ sections, className, tableClassName, isLoading }) {\n function renderTable(table) {\n return (\n <Table\n table={table}\n key={table.id}\n className={tableClassName}\n isLoading={isLoading}\n />\n );\n }\n\n function renderSection({ id, title, titleDetail, titleDescription, tables, tablesClassName }) {\n return (\n <section key={id} className={styles.section}>\n <Title\n title={title}\n detail={titleDetail}\n description={titleDescription}\n titleContainerClassName={styles.titleContainer}\n titleClassName={styles.title}\n descriptionClassName={styles.description}\n />\n <div className={classNames(styles.tables, tablesClassName)}>\n {map(tables, renderTable)}\n </div>\n </section>\n );\n }\n\n return (\n <Card className={classNames(styles.card, className)}>\n {map(sections, renderSection)}\n </Card>\n );\n}\n\nDetails.propTypes = {\n sections: PropTypes.arrayOf(sectionShape),\n className: PropTypes.string,\n tableClassName: PropTypes.string,\n isLoading: PropTypes.bool,\n};\n\nexport default Details;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { LinkColumn } from 'components/core/Profile/components/Table';\n\nimport Details from '../Details';\nimport getLabel from './getLabel';\n\nfunction WebAddresses({ person, isLoading, hideOnEmptyData }) {\n const { urls = [] } = person || {};\n\n const sections = [{\n id: 'webAddresses',\n title: 'Web addresses',\n tables: [{\n id: 'links',\n placeholderSize: 2,\n columns: [{\n id: 'link',\n component: LinkColumn,\n defaultValue: EMPTY_VALUE,\n }],\n getLabel,\n data: urls,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(urls)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nWebAddresses.defaultProps = {\n hideOnEmptyData: true,\n};\n\nWebAddresses.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(WebAddresses);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getPositionContent } from './utils';\n\nfunction PoliticalHistory({ person, isLoading, hideOnEmptyData }) {\n const { politicalHistory = [] } = person || {};\n\n const sections = [{\n id: 'politicalHistory',\n title: 'Political history',\n tables: [{\n id: 'organizations',\n label: 'Organization',\n placeholderSize: 2,\n columns: [{\n id: 'organization',\n getContent: getPositionContent,\n }],\n data: politicalHistory,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(politicalHistory)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nPoliticalHistory.defaultProps = {\n hideOnEmptyData: true,\n};\n\nPoliticalHistory.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(PoliticalHistory);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, concat } from 'lodash';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getEmploymentContent } from './utils';\n\nfunction EmploymentHistory({ person, isLoading, hideOnEmptyData }) {\n const { employmentHistory = [], headPositions = [] } = person || {};\n const data = concat(employmentHistory, headPositions);\n\n const sections = [{\n id: 'employmentHistory',\n title: 'Employment history',\n tables: [{\n id: 'organizations',\n label: 'Organization',\n placeholderSize: 2,\n columns: [{\n id: 'organization',\n getContent: getEmploymentContent,\n }],\n data,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(data)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nEmploymentHistory.defaultProps = {\n hideOnEmptyData: true,\n};\n\nEmploymentHistory.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(EmploymentHistory);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getEducationItemContent } from './utils';\n\nfunction Education({ person, isLoading, hideOnEmptyData }) {\n const { education = [] } = person || {};\n\n const sections = [{\n id: 'education',\n title: 'Education',\n tables: [{\n id: 'educationItems',\n label: 'Education',\n placeholderSize: 2,\n columns: [{\n id: 'educationItem',\n getContent: getEducationItemContent,\n }],\n data: education,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(education)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nEducation.defaultProps = {\n hideOnEmptyData: true,\n};\n\nEducation.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(Education);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ConfirmationModal as Modal } from 'components/core/Modal';\nimport useModal from 'components/core/Modal/useModal';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction Medals({ medals }) {\n const { toggleModal, isOpenModal } = useModal();\n\n if (isEmpty(medals)) { return null; }\n\n return (\n <>\n <Button\n onClick={toggleModal}\n className={styles.medalButton}\n theme=\"light\"\n size=\"none\"\n >\n <i className=\"far fa-medal\" />\n </Button>\n\n <Modal\n title=\"Medals\"\n isOpen={isOpenModal}\n toggle={toggleModal}\n message={medals}\n messageContinue=\"Close\"\n hideCancel\n />\n </>\n );\n}\n\nMedals.propTypes = {\n medals: PropTypes.string,\n};\n\nexport default Medals;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport Medals from './Medals';\nimport { getBranchContent } from './utils';\n\nfunction MilitaryService({ person, isLoading, hideOnEmptyData }) {\n const { militaryService = [] } = person || {};\n\n const getMilitaryBranchContent = ({ medals, ...restProps }) => (\n <span>\n {getBranchContent(restProps)}\n <Medals medals={medals} />\n </span>\n );\n\n const sections = [{\n id: 'militaryService',\n title: 'Military service',\n tables: [{\n id: 'militaryBranchs',\n label: 'Military branch',\n placeholderSize: 2,\n columns: [{\n id: 'militaryBranch',\n getContent: getMilitaryBranchContent,\n }],\n data: militaryService,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(militaryService)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nMilitaryService.defaultProps = {\n hideOnEmptyData: true,\n};\n\nMilitaryService.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(MilitaryService);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getOrganizationContent } from './utils';\n\nfunction Membership({ person, isLoading, hideOnEmptyData }) {\n const { membership = [] } = person || {};\n\n const sections = [{\n id: 'membership',\n title: 'Membership',\n tables: [{\n id: 'organizations',\n label: 'Organization',\n placeholderSize: 2,\n columns: [{\n id: 'organization',\n getContent: getOrganizationContent,\n }],\n data: membership,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(membership)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nMembership.defaultProps = {\n hideOnEmptyData: true,\n};\n\nMembership.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(Membership);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getPublicationContent } from './utils';\n\nfunction Publications({ person, isLoading, hideOnEmptyData }) {\n const { publications = [] } = person || {};\n\n const sections = [{\n id: 'publicationsSection',\n title: 'Publications',\n tables: [{\n id: 'publicationsTable',\n label: 'Publication',\n placeholderSize: 2,\n columns: [{\n id: 'publication',\n getContent: getPublicationContent,\n }],\n data: publications,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(publications)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nPublications.defaultProps = {\n hideOnEmptyData: true,\n};\n\nPublications.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(Publications);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getAwardContent } from './utils';\n\nfunction Awards({ person, isLoading, hideOnEmptyData }) {\n const { awards = [] } = person || {};\n\n const sections = [{\n id: 'awardsSection',\n title: 'Awards',\n tables: [{\n id: 'awardsTable',\n label: 'Award',\n placeholderSize: 2,\n columns: [{\n id: 'award',\n getContent: getAwardContent,\n }],\n data: awards,\n }],\n }];\n\n if (!isLoading && hideOnEmptyData && isEmpty(awards)) {\n return null;\n }\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nAwards.defaultProps = {\n hideOnEmptyData: true,\n};\n\nAwards.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n hideOnEmptyData: PropTypes.bool,\n};\n\nexport default withProfile(Awards);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { compact, isEmpty } from 'lodash';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\n\nfunction PersonalDetails({ person, isLoading }) {\n const {\n maritalStatus,\n spouseName,\n family,\n religion,\n ethnicity,\n residence,\n gender,\n birthInfo = {},\n } = person || {};\n\n const {\n place: birthplace,\n date: birthdate,\n } = birthInfo;\n\n const properties = compact([\n maritalStatus,\n spouseName,\n family,\n religion,\n ethnicity,\n residence,\n gender,\n birthplace,\n birthdate,\n ]);\n\n if (isEmpty(properties)) {\n return null;\n }\n\n const sections = [{\n id: 'personalDetails',\n title: 'Personal details',\n tables: [\n {\n id: 'leftPersonalDetailsTable',\n data: [\n {\n id: 'birthplace',\n label: 'Birthplace',\n content: birthplace,\n },\n {\n id: 'birthdate',\n label: 'Birthdate',\n content: birthdate,\n },\n {\n id: 'maritalStatus',\n label: 'Marital status',\n content: maritalStatus,\n },\n {\n id: 'spouseName',\n label: 'Spouse',\n content: spouseName,\n },\n {\n id: 'family',\n label: 'Family',\n content: family,\n },\n ],\n },\n {\n id: 'rightPersonalDetailsTable',\n data: [\n {\n id: 'religion',\n label: 'Religion',\n content: religion,\n },\n {\n id: 'ethnicity',\n label: 'Ethnicity',\n content: ethnicity,\n },\n {\n id: 'residence',\n label: 'Residence',\n content: residence,\n },\n {\n id: 'gender',\n label: 'Gender',\n content: gender,\n },\n ],\n },\n ],\n }];\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n />\n );\n}\n\nPersonalDetails.propTypes = {\n person: personShape,\n isLoading: PropTypes.bool,\n};\n\nexport default withProfile(PersonalDetails);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { positionShape } from 'components/core/Profile/utils/shapes';\n\nimport Details from '../Details';\nimport { getPositionDescription, getAddressTable, getPhoneTable } from './utils';\nimport styles from './styles.module.scss';\n\nfunction Position({ position, positionIndex, isLoading }) {\n const {\n address = {},\n phones = [],\n } = position || {};\n\n const addressTable = getAddressTable(address);\n const phoneTable = getPhoneTable(phones);\n\n const sections = [{\n id: 'publicationsSection',\n title: `Role/Office ${positionIndex}`,\n titleDescription: getPositionDescription(position),\n tables: [addressTable, phoneTable],\n tablesClassName: styles.tablesContainer,\n }];\n\n return (\n <Details\n sections={sections}\n isLoading={isLoading}\n tableClassName={styles.table}\n />\n );\n}\n\nPosition.propTypes = {\n position: positionShape,\n positionIndex: PropTypes.number,\n isLoading: PropTypes.bool,\n};\n\nexport default Position;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { slice, get, filter } from 'lodash';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape, roleTypePropType } from 'components/core/Profile/utils/shapes';\n\nimport Position from './Position';\n\nfunction Positions({ person, isLoading, roleType }) {\n const { positions } = person || {};\n const secondaryPositions = slice(positions, 1);\n const filteredPositions = roleType\n ? filter(secondaryPositions, { roleType })\n : secondaryPositions;\n\n return filteredPositions.map((position, index) => (\n <Position\n position={position}\n positionIndex={index + 2}\n isLoading={isLoading}\n key={`${get(position, 'title')}-${index + 2}`}\n />\n ));\n}\n\nPositions.propTypes = {\n person: personShape.isRequired,\n isLoading: PropTypes.bool,\n roleType: roleTypePropType,\n};\n\nexport default withProfile(Positions);\n","import React from 'react';\nimport { isEmpty, map } from 'lodash';\n\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { joinCompact } from 'utils/string';\n\nimport styles from './styles.module.scss';\n\nexport default function Biography({ person }) {\n const {\n facts,\n interests,\n narrativeBiography,\n } = person || {};\n\n const { infoText } = narrativeBiography || {};\n\n const renderBiographySection = (title, data, textKey, separator) => {\n if (isEmpty(data)) return null;\n\n const itemsList = map(data, ({ [textKey]: text }) => text);\n\n return (\n <>\n <b className={styles.sectionTitle}>\n {title}\n </b>\n <p className={styles.sectionText}>\n {joinCompact(itemsList, separator)}\n </p>\n </>\n );\n };\n\n return (\n <div className={styles.biography}>\n {!isEmpty(infoText) && <p dangerouslySetInnerHTML={{ __html: infoText }} />}\n {renderBiographySection('Interests', interests, 'description')}\n {renderBiographySection('Other facts', facts, 'text', '\\n')}\n </div>\n );\n}\n\nBiography.propTypes = {\n person: personShape,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { head, isEmpty } from 'lodash';\n\nimport { getFullName } from 'components/core/Profile/utils';\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport LargerPhoto from 'components/core/Profile/components/Cards/LargerPhoto';\nimport { getPositionDescription, getName } from 'components/core/Profile/components/Cards/Positions/utils';\n\nimport Biography from './Biography';\nimport styles from './styles.module.scss';\n\nfunction Card({ person, isLoading, children, customBadge, customBadgeNode, onAvatarError }) {\n const {\n avatarUrl,\n positions,\n party,\n facts,\n interests,\n narrativeBiography = {},\n } = person || {};\n const fullName = getFullName(person);\n const { infoText } = narrativeBiography || {};\n\n const mainPosition = head(positions) || {};\n const description = getPositionDescription(mainPosition);\n const name = getName(fullName, mainPosition);\n\n const {\n electionInfo,\n address,\n } = mainPosition || {};\n\n const { state: { name: stateName } = {} } = address || {};\n const { code: partyShort, name: partySlug } = party || {};\n\n const isInfoTextEmpty = isEmpty(infoText);\n const isInterestsEmpty = isEmpty(interests);\n const isFactsEmpty = isEmpty(facts);\n const hasBiography = !(isInfoTextEmpty && isInterestsEmpty && isFactsEmpty);\n\n const biography = hasBiography && <Biography person={person} />;\n\n return (\n <LargerPhoto\n isLoadingProfile={isLoading}\n className={styles.container}\n description={description}\n avatarUrl={avatarUrl}\n name={name}\n partyShort={partyShort}\n partySlug={partySlug}\n biography={biography}\n electionInfo={electionInfo}\n state={stateName}\n customBadge={customBadge}\n customBadgeNode={customBadgeNode}\n onAvatarError={onAvatarError}\n >\n {children}\n </LargerPhoto>\n );\n}\n\nCard.propTypes = {\n person: personShape.isRequired,\n isLoading: PropTypes.bool.isRequired,\n children: PropTypes.node,\n customBadge: PropTypes.node,\n customBadgeNode: PropTypes.node,\n onAvatarError: PropTypes.func,\n};\n\nexport default withProfile(Card);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { head, isEmpty } from 'lodash';\n\nimport Table from 'components/core/Profile/components/Table';\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport { getAddressTable, getPhoneTable } from 'components/core/Profile/components/Cards/Positions/utils';\n\nimport styles from './styles.module.scss';\n\nfunction Tables({ isLoading, person }) {\n const { positions } = person || {};\n\n if (isEmpty(positions)) return null;\n\n const { address = {}, phones = [] } = head(positions) || {};\n\n const addressTable = getAddressTable(address);\n const phoneTable = getPhoneTable(phones);\n\n return (\n <div className={styles.tables}>\n <Table\n table={addressTable}\n isLoading={isLoading}\n className={styles.table}\n />\n <Table\n table={phoneTable}\n isLoading={isLoading}\n className={styles.table}\n />\n </div>\n );\n}\n\nTables.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n person: personShape.isRequired,\n};\n\nexport default withProfile(Tables);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport CallToActions from 'components/core/Profile/components/CallToActions';\nimport { redirectToGlobalSearch } from 'components/GlobalAdvancedSearch/utils';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction Actions({ isLoadingTags, tags }) {\n return (\n <CallToActions\n isLoadingTags={isLoadingTags}\n tags={tags}\n onTagClick={redirectToGlobalSearch}\n containerClassName={styles.tracking}\n className={styles.tags}\n />\n );\n}\n\nActions.propTypes = {\n isLoadingTags: PropTypes.bool.isRequired,\n tags: PropTypes.arrayOf(tagShape).isRequired,\n};\n\nexport default withProfile(Actions);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport OverviewCard from './components/Card';\nimport OverviewTables from './components/Tables';\nimport Actions from './components/Actions';\n\nfunction Overview({ customBadge, customBadgeNode }) {\n return (\n <OverviewCard\n customBadge={customBadge}\n customBadgeNode={customBadgeNode}\n >\n <Actions />\n <OverviewTables />\n </OverviewCard>\n );\n}\n\nOverview.propTypes = {\n customBadge: PropTypes.node,\n customBadgeNode: PropTypes.node,\n};\n\nexport default Overview;\n","import { map, sortBy, uniq } from 'lodash';\n\nimport { FEDERAL_ROLE, LOCAL_ROLE, STATE_ROLE } from 'utils/transformers/profile/constants';\nimport { joinCompact } from 'utils/string';\n\nexport function getProfileUrl(roleType, id) {\n const baseUrls = {\n [FEDERAL_ROLE]: '/federal',\n [STATE_ROLE]: '/state',\n [LOCAL_ROLE]: '/local',\n };\n\n return `${baseUrls[roleType]}/executives/${id}`;\n}\n\nexport const getPositionDescription = (position) => {\n const { title, role, organizations, additionalInfo } = position || {};\n const { branch, department } = additionalInfo || {};\n const formattedOrganizations = uniq(map(sortBy(organizations, 'level'), 'name'));\n\n return joinCompact(uniq([title, role, ...formattedOrganizations, department, branch]));\n};\n","import React, { Fragment } from 'react';\nimport { reject, isEmpty, map } from 'lodash';\n\nimport Card from 'components/core/Card';\nimport Link from 'components/core/Link';\nimport withProfile from 'components/core/Profile/utils/withProfile';\nimport { personShape, roleTypePropType } from 'components/core/Profile/utils/shapes';\nimport { pluralize } from 'utils/string';\n\nimport { getProfileUrl, getPositionDescription } from './utils';\nimport styles from './styles.module.scss';\n\nfunction OtherPositions({ person, roleType }) {\n const otherPositions = reject(person.positions, { roleType });\n const otherPositionsCount = otherPositions.length;\n\n if (isEmpty(otherPositions)) {\n return null;\n }\n\n const renderSeparator = (index) => {\n if (index === 0) return null;\n if (index === otherPositionsCount - 1) return otherPositionsCount > 2 ? ', and ' : ' and ';\n return ', ';\n };\n\n const renderPositionLink = (position, index) => (\n <Fragment key={position.title}>\n {renderSeparator(index)}\n <Link\n href={getProfileUrl(position.roleType, person.personId)}\n theme=\"tableLink\"\n className={styles.positionLink}\n >\n {getPositionDescription(position)}\n </Link>\n </Fragment>\n );\n\n const positionsLinks = map(otherPositions, renderPositionLink);\n\n const otherPositionLabel = pluralize(\n 'another position',\n `${otherPositionsCount} other positions`,\n otherPositionsCount\n );\n\n return (\n <Card className={styles.card}>\n This executive has {otherPositionLabel}: {positionsLinks}\n </Card>\n );\n}\n\nOtherPositions.propTypes = {\n person: personShape.isRequired,\n roleType: roleTypePropType.isRequired,\n};\n\nexport default withProfile(OtherPositions);\n","import Bills from './Bills';\nimport DistrictMap from './DistrictMap';\nimport PublicRecord from './PublicRecord';\nimport VotingRecord from './VotingRecord';\nimport Staffers from './Staffers';\nimport Timeline, { AsyncTimeline } from './Timeline';\nimport ItemName from './ItemName';\nimport LargerPhoto from './LargerPhoto';\nimport Separator from './Separator';\nimport Stakeholders from './Stakeholders';\nimport Details from './Details';\nimport WebAddresses from './WebAddresses';\nimport PoliticalHistory from './PoliticalHistory';\nimport EmploymentHistory from './EmploymentHistory';\nimport Education from './Education';\nimport MilitaryService from './MilitaryService';\nimport Membership from './Membership';\nimport Publications from './Publications';\nimport Awards from './Awards';\nimport PersonalDetails from './PersonalDetails';\nimport Positions from './Positions';\nimport Overview from './Overview';\nimport OtherPositions from './OtherPositions';\n\nexport {\n Bills,\n DistrictMap,\n VotingRecord,\n PublicRecord,\n Staffers,\n Timeline,\n AsyncTimeline,\n ItemName,\n LargerPhoto,\n Separator,\n Stakeholders,\n Details,\n WebAddresses,\n PoliticalHistory,\n EmploymentHistory,\n Education,\n MilitaryService,\n Membership,\n Publications,\n Awards,\n PersonalDetails,\n Positions,\n Overview,\n OtherPositions,\n};\n","import React, { cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction Actions({\n linkClassName,\n buttonClassName,\n tooltipPlacement,\n buttonWrapperClassName,\n tooltipContentClassName,\n options,\n label,\n large,\n ...restProps\n}) {\n const tooltipContent = (\n <div className={classNames(styles.tooltipContent, tooltipContentClassName)}>\n {options.map(({ id, component }) => cloneElement(component, { key: id }))}\n </div>\n );\n\n const buttonClassNames = classNames(\n styles.button,\n buttonClassName,\n large && styles.large,\n );\n\n return (\n <Tooltip\n arrow\n theme=\"light\"\n trigger=\"click\"\n placement={tooltipPlacement}\n content={tooltipContent}\n appendTo={document.body}\n zIndex={2}\n >\n <span className={buttonWrapperClassName}>\n <Button {...restProps} className={buttonClassNames}>\n {label}\n </Button>\n </span>\n </Tooltip>\n );\n}\n\nActions.defaultProps = {\n label: (\n <>\n <span className={styles.label}>Actions</span>\n <i className={styles.triangle} />\n </>\n ),\n tooltipPlacement: 'bottom-end',\n options: [],\n large: false,\n};\n\nActions.propTypes = {\n buttonClassName: PropTypes.string,\n linkClassName: PropTypes.string,\n buttonWrapperClassName: PropTypes.string,\n tooltipContentClassName: PropTypes.string,\n tooltipPlacement: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n component: PropTypes.node,\n })\n ),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n large: PropTypes.bool,\n};\n\nexport default Actions;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport TrackButton from 'components/core/TrackButton';\nimport ButtonTagManager from 'components/core/ButtonTagManager';\nimport ButtonShare from 'components/core/ButtonShare';\nimport { Column } from 'components/core/Table';\nimport { getMyFeed } from 'components/Dashboard/utils';\n\nimport { itemShape } from '../utils/shapes';\nimport { getIsTracking, getSendWeekAheadEmail } from './utils';\nimport styles from './styles.module.scss';\n\nfunction ActionsItem({\n item,\n isMobile,\n isColumn,\n keyName,\n itemNameBy,\n onSaveTags,\n shareItemUrl,\n updateDataItem,\n defaultSubscription,\n shouldDisplayTrackIcon,\n isLoadingSubscriptions,\n customUpdateParams,\n updateCommitteeSubscriptions,\n}) {\n const {\n id,\n url,\n billUrl,\n documentType,\n trackingType,\n title,\n itemType,\n tags = [],\n [itemNameBy]: name,\n trackings,\n withTrack,\n isCommittee,\n listSubscriptions,\n withWeekAheadEmail,\n } = item || {};\n\n const isTracking = getIsTracking(trackings);\n const sendWeekAheadEmail = getSendWeekAheadEmail(trackings);\n // TODO: Fix federal committees subscription\n const subscriptionInfo = { sendWeekAheadEmail, withWeekAheadEmail };\n\n const updateParams = {\n ...customUpdateParams,\n modelId: id,\n id,\n };\n\n function handleSubscriptionUpdate({\n recordId,\n listSubscriptions: newListSubscriptions,\n trackings: newTrackings,\n }) {\n const data = isCommittee\n ? { recordId, listSubscriptions: newListSubscriptions, trackings: newTrackings }\n : { recordId, trackings: newTrackings };\n\n return updateDataItem && updateDataItem(data);\n }\n\n function handleShareSuccess(recordId) {\n return updateDataItem && updateDataItem({\n recordId,\n sharings: [getMyFeed()],\n });\n }\n\n const renderActions = () => {\n if (!id) {\n return null;\n }\n\n return (\n <>\n {withTrack && (\n <TrackButton\n isCommittee={isCommittee}\n subscriptionInfo={subscriptionInfo}\n defaultSubscription={defaultSubscription}\n updateDataItem={handleSubscriptionUpdate}\n isMobile={isMobile}\n isTracking={isTracking || !isEmpty(listSubscriptions)}\n isLoadingTracking={isLoadingSubscriptions}\n recordId={id}\n recordType={trackingType || documentType}\n itemType={itemType}\n itemTitle={title || name}\n className={classNames(styles.button, styles.withRightMargin)}\n shouldDisplayIcon={shouldDisplayTrackIcon}\n placeholderClassName={styles.buttonPlaceholder}\n listSubscriptions={listSubscriptions}\n updateParams={updateParams}\n trackings={trackings}\n updateCommitteeSubscriptions={updateCommitteeSubscriptions}\n withButtonContent\n />\n )}\n\n <ButtonShare\n size=\"small\"\n theme=\"secondary\"\n tooltipPlacement=\"bottom-end\"\n recordId={id}\n recordType={documentType}\n itemType={itemType}\n itemName={title || name}\n itemUrl={shareItemUrl && `${shareItemUrl}${id}` || url || billUrl}\n className={classNames(styles.button, styles.withRightMargin, !isColumn && styles.notColumn)}\n onSuccess={handleShareSuccess}\n />\n\n <ButtonTagManager\n autoload\n size=\"small\"\n theme=\"secondary\"\n tags={tags}\n recordId={id}\n recordType={documentType}\n itemType={itemType}\n buttonClassName={classNames(styles.button, !isColumn && styles.notColumn)}\n onSaveTags={onSaveTags}\n updateDataItem={updateDataItem}\n />\n </>\n );\n };\n\n if (!isColumn) {\n return renderActions();\n }\n\n return (\n <Column key={keyName} keyName={keyName}>{renderActions}</Column>\n );\n}\n\nActionsItem.defaultProps = {\n isColumn: true,\n shouldDisplayTrackIcon: true,\n keyName: 'actions',\n customUpdateParams: {},\n};\n\nActionsItem.propTypes = {\n keyName: PropTypes.string,\n item: itemShape.isRequired,\n itemNameBy: PropTypes.string,\n isMobile: PropTypes.bool,\n isColumn: PropTypes.bool,\n isLoadingSubscriptions: PropTypes.bool,\n shouldDisplayTrackIcon: PropTypes.bool,\n shareItemUrl: PropTypes.string,\n defaultSubscription: PropTypes.string,\n onSaveTags: PropTypes.func,\n updateDataItem: PropTypes.func,\n customUpdateParams: PropTypes.shape({\n priority: PropTypes.string,\n isSaved: PropTypes.bool,\n }),\n updateCommitteeSubscriptions: PropTypes.func,\n};\n\nexport default memo(ActionsItem);\n","import React from 'react';\nimport Tooltip from '@tippyjs/react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Checkbox from 'components/core/Checkbox';\nimport Card from 'components/core/Card';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport { ContextualMenu } from 'components/core/Icons';\nimport { cardGroupTooltipZIndex } from 'style/global/_variables.scss';\n\nimport styles from './styles.module.scss';\n\nfunction CardGroup({\n isMarked,\n isChecked,\n isCheckboxDisabled,\n name,\n toggleCheckbox,\n children,\n className,\n tooltipContent,\n headerContent,\n isCheckboxPresent,\n contentClassName,\n headerContentClassName,\n checkboxClassName,\n id,\n}) {\n const cardGroupClassNames = classNames(styles.cardGroup, className, isMarked && styles.isMarked);\n const { isMobile } = useMediaQuery();\n\n function renderCardCheckbox() {\n if (!isCheckboxPresent) {\n return null;\n }\n\n return (\n <div className={classNames(styles.checkbox, checkboxClassName)}>\n <Checkbox\n name={name}\n isChecked={isChecked}\n onChange={toggleCheckbox}\n isDisabled={isCheckboxDisabled}\n />\n </div>\n );\n }\n\n function renderCardActions() {\n if (!tooltipContent) {\n return null;\n }\n\n return (\n <div className={styles.actions}>\n <Tooltip\n content={tooltipContent}\n theme=\"light\"\n trigger=\"click\"\n placement=\"bottom-end\"\n interactive\n className={styles.hint}\n zIndex={cardGroupTooltipZIndex}\n >\n <span className={styles.hintBtn}>\n <ContextualMenu\n theme=\"none\"\n position=\"none\"\n className={styles.contextualMenu}\n iconClassName={classNames('fa-ellipsis-v', styles.icon)}\n iconSizeClassName=\"far\"\n isDefaultStyle={false}\n />\n </span>\n </Tooltip>\n </div>\n );\n }\n\n if (isMobile) {\n const hasHeader = isCheckboxPresent || tooltipContent || headerContent;\n\n return (\n <div className={cardGroupClassNames} id={id}>\n {hasHeader && (\n <Card className={styles.header}>\n {renderCardCheckbox()}\n\n <div className={classNames(styles.headerContent, headerContentClassName)}>\n {headerContent}\n </div>\n\n {renderCardActions()}\n </Card>\n )}\n\n <Card className={classNames(styles.content, contentClassName)}>\n {children}\n </Card>\n </div>\n );\n }\n\n return (\n <div className={cardGroupClassNames} id={id}>\n {renderCardCheckbox()}\n\n <Card theme=\"none\" className={classNames(styles.content, contentClassName)}>\n {children}\n </Card>\n\n {renderCardActions()}\n </div>\n );\n}\n\nCardGroup.defaultProps = {\n isChecked: false,\n isCheckboxPresent: true,\n};\n\nCardGroup.propTypes = {\n children: PropTypes.node,\n headerContent: PropTypes.node,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n headerContentClassName: PropTypes.string,\n checkboxClassName: PropTypes.string,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n isChecked: PropTypes.bool,\n toggleCheckbox: PropTypes.func.isRequired,\n tooltipContent: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n PropTypes.element,\n ]),\n isCheckboxPresent: PropTypes.bool,\n isCheckboxDisabled: PropTypes.bool,\n isMarked: PropTypes.bool,\n id: PropTypes.string,\n};\n\nexport default CardGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Label from 'components/core/Label';\nimport TagInput from 'components/core/TagInput';\nimport theme from 'components/core/TagInput/theme';\nimport Select from 'components/core/Select';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport { Disclaimer } from 'components/core/Modal';\nimport Button from 'components/core/Button';\nimport useModal from 'components/core/Modal/useModal';\nimport Tooltip from 'components/core/Table/components/Header/components/Tooltip';\nimport Asterisk from 'components/core/Asterisk';\n\nimport styles from './styles.module.scss';\n\nfunction BaseOption({\n isMobile,\n title,\n placeholder,\n questionText,\n tagInputPlaceholder,\n className,\n customComponent,\n isRequired,\n withDisclaimer,\n withOverflow,\n disclaimerProps,\n isSelect,\n onChange,\n options,\n headerClassName,\n labelClassName,\n errorMessage,\n ...restProps\n}) {\n const { isOpenModal, toggleModal } = useModal();\n const { title: disclaimerTitle, isDisabled } = disclaimerProps;\n const modalProps = { ...disclaimerProps, isOpenModal, toggleModal };\n\n function renderField() {\n if (isSelect) {\n return (\n <Select\n {...restProps}\n placeholder=\"\"\n customTheme={theme({ withDisclaimer, isMobile, isError: !isEmpty(errorMessage) })}\n onChange={onChange}\n options={options}\n errorMessage={errorMessage}\n />\n );\n }\n\n return (\n <TagInput\n {...restProps}\n onChange={onChange}\n placeholder={tagInputPlaceholder}\n withDisclaimer={withDisclaimer}\n withOverflow={withOverflow}\n isMobile={isMobile}\n errorMessage={errorMessage}\n shouldOverrideValue\n />\n );\n }\n\n function renderComponent() {\n if (!isEmpty(customComponent)) {\n return customComponent;\n }\n\n return (\n <div className={styles.optionWrapper}>\n {renderField()}\n\n {withDisclaimer && (\n <Button\n theme=\"tertiary\"\n size=\"none\"\n customIcon={<i className=\"fas fa-question-circle\" />}\n className={styles.disclaimer}\n iconClassName={styles.icon}\n onClick={toggleModal}\n disabled={isDisabled}\n >\n {!isMobile && disclaimerTitle}\n </Button>\n )}\n </div>\n );\n }\n\n return (\n <div className={className}>\n <div className={classNames(styles.header, headerClassName)}>\n {title && (\n <Label className={classNames(styles.label, labelClassName)}>\n {title}\n <Asterisk show={isRequired} />\n {questionText && <Tooltip content={<div className={styles.tooltipContent}>{questionText}</div>} />}\n </Label>\n )}\n\n {placeholder && (\n <TextInputPlaceholder className={styles.placeholder}>{placeholder}</TextInputPlaceholder>\n )}\n </div>\n\n {renderComponent()}\n\n {withDisclaimer && <Disclaimer {...modalProps} />}\n </div>\n );\n}\n\nBaseOption.defaultProps = {\n tagInputPlaceholder: '',\n withDisclaimer: false,\n withOverflow: false,\n isMobile: false,\n disclaimerProps: {},\n isSelect: false,\n options: [],\n};\n\nBaseOption.propTypes = {\n headerClassName: PropTypes.string,\n labelClassName: PropTypes.string,\n title: PropTypes.string,\n tagInputPlaceholder: PropTypes.string,\n placeholder: PropTypes.string,\n questionText: PropTypes.string,\n className: PropTypes.string,\n customComponent: PropTypes.node,\n isRequired: PropTypes.bool,\n isMobile: PropTypes.bool,\n withDisclaimer: PropTypes.bool,\n withOverflow: PropTypes.bool,\n disclaimerProps: PropTypes.shape({\n title: PropTypes.string,\n content: PropTypes.node,\n isDisabled: PropTypes.bool,\n }),\n isSelect: PropTypes.bool,\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape({})),\n errorMessage: PropTypes.string,\n};\n\nexport default BaseOption;\n","import { useEffect } from 'react';\nimport { toggleActionsOffset } from 'utils/freshchat';\n\nfunction useChatPosition(areItemsEmpty, withOffset = false, persist = false) {\n function fixChatPosition() {\n const bodyClassList = document.body.classList;\n const className = 'frame-bottom';\n\n if (persist) {\n return bodyClassList.add(className);\n }\n\n return areItemsEmpty\n ? bodyClassList.remove(className)\n : bodyClassList.add(className);\n }\n\n useEffect(() => {\n withOffset && toggleActionsOffset(persist || !areItemsEmpty);\n fixChatPosition();\n }, [areItemsEmpty, persist]);\n}\n\nexport default useChatPosition;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Textarea from 'components/core/Textarea';\nimport CharInfo from 'components/core/CharInfo';\n\nimport styles from './styles.module.scss';\n\nfunction TextareaWithCharInfo({ charInfo, value, ...restProps }) {\n return (\n <div className={styles.container}>\n <Textarea {...restProps} value={value} />\n <CharInfo {...charInfo} content={value} />\n </div>\n );\n}\n\nTextareaWithCharInfo.propTypes = {\n value: PropTypes.string,\n charInfo: PropTypes.object,\n};\n\nexport default TextareaWithCharInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from 'components/core/Input';\nimport CharInfo from 'components/core/CharInfo';\n\nimport styles from './styles.module.scss';\n\nfunction InputWithCharInfo({ charInfo, ...props }) {\n return (\n <div className={styles.container}>\n <Input {...props} />\n <CharInfo\n content={props.value}\n {...charInfo}\n />\n </div>\n );\n}\n\nInputWithCharInfo.propTypes = {\n value: PropTypes.string,\n charInfo: PropTypes.object,\n};\n\nexport default InputWithCharInfo;\n","import { pluralize } from 'utils/string';\n\nimport styles from './styles.module.scss';\n\nfunction getCharsMessage(charsLeft, charsLeftAbs) {\n const characters = pluralize('character', 'characters', charsLeftAbs);\n\n if (charsLeft < 0) {\n return `${characters} beyond the limit`;\n }\n\n return `${characters} left`;\n}\n\nfunction getCharsClassName(charsLeft) {\n if (charsLeft < 10) {\n return styles.danger;\n }\n\n return null;\n}\n\nfunction getCharInfo({ content, limit }) {\n const chars = content.length;\n const charsLeft = limit - chars;\n const charsLeftAbs = Math.abs(charsLeft);\n\n return {\n charsLeft: charsLeftAbs,\n charsMessage: getCharsMessage(charsLeft, charsLeftAbs),\n charsClassName: getCharsClassName(charsLeft),\n };\n}\n\nexport default getCharInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport TextareaWithCharInfo from './components/TextareaWithCharInfo';\nimport InputWithCharInfo from './components/InputWithCharInfo';\nimport getCharInfo from './getCharInfo';\nimport styles from './styles.module.scss';\n\nfunction CharInfo({ content, limit, className }) {\n const {\n charsLeft,\n charsMessage,\n charsClassName,\n } = getCharInfo({ content, limit });\n\n return (\n <div className={classNames(styles.container, className)}>\n <span>\n {`Maximum ${limit} characters limit`}\n </span>\n <span className={charsClassName}>\n <b>{charsLeft}</b> {charsMessage}\n </span>\n </div>\n );\n}\n\nCharInfo.defaultProps = {\n limit: 5000,\n content: '',\n};\n\nCharInfo.propTypes = {\n content: PropTypes.string.isRequired,\n className: PropTypes.string,\n limit: PropTypes.number,\n};\n\nexport default CharInfo;\n\nexport { TextareaWithCharInfo, InputWithCharInfo };\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport parentStyles from '../../styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction LegislatorPlaceholder({ className }) {\n return (\n <section className={classNames(parentStyles.card, styles.card, className)}>\n <div className={classNames(parentStyles.avatarContainer, styles.avatar)} />\n <div className={styles.content}>\n <TextPlaceholder className={classNames(parentStyles.title, styles.title)} />\n <TextPlaceholder className={classNames(parentStyles.description, styles.description)} />\n <TextPlaceholder className={classNames(parentStyles.contact, styles.contact)} />\n <TextPlaceholder className={classNames(parentStyles.partyIcon, styles.icon)} />\n </div>\n </section>\n );\n}\n\nLegislatorPlaceholder.propTypes = {\n className: PropTypes.string,\n};\n\nexport default LegislatorPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport Avatar from 'components/core/Avatar';\nimport { mapTypeCodes } from 'components/core/Map/utils/constants';\nimport { PartyIcon } from 'components/core/Icons';\nimport { getLegislatorProfileUrl } from 'components/Stakeholder/Profile/utils';\nimport { TWITTER_LINK } from 'utils/constants/socialMedia';\n\nimport { transformLegislator } from './utils';\nimport Placeholder from './components/Placeholder';\nimport styles from './styles.module.scss';\n\nexport default function Legislator({ legislator, mapType, className }) {\n const {\n id,\n role,\n twitterName,\n phone,\n party,\n photoUrl,\n title,\n name,\n } = transformLegislator(legislator);\n\n if (isEmpty(legislator)) {\n return <Placeholder />;\n }\n\n const isFederal = mapType === mapTypeCodes.congressional;\n\n function getContact() {\n const isTwitterNameEmpty = isEmpty(twitterName);\n const isPhoneEmpty = isEmpty(phone);\n\n if (isTwitterNameEmpty && isPhoneEmpty) {\n return null;\n }\n\n function getTwitterLink() {\n if (isTwitterNameEmpty) {\n return null;\n }\n\n return (\n <Link\n size=\"none\"\n theme=\"link\"\n href={`${TWITTER_LINK}/${twitterName}`}\n className={styles.link}\n >\n @{twitterName}\n </Link>\n );\n }\n\n function getPhone() {\n if (isPhoneEmpty) {\n return null;\n }\n\n return (\n <Link\n size=\"none\"\n theme=\"link\"\n href={`tel:${phone}`}\n className={styles.link}\n >\n {phone}\n </Link>\n );\n }\n\n return (\n <div className={styles.contact}>\n {getTwitterLink()}\n {twitterName && phone && ' | '}\n {getPhone()}\n </div>\n );\n }\n\n return (\n <section className={classNames(styles.card, className)}>\n <Avatar\n name={name}\n photoUrl={photoUrl}\n className={styles.avatar}\n />\n <div>\n <Link\n size=\"none\"\n theme=\"light\"\n className={styles.title}\n href={getLegislatorProfileUrl(isFederal, id)}\n >\n {title}\n </Link>\n\n <p className={styles.description}>{role}</p>\n\n {getContact()}\n <PartyIcon party={party} className={styles.partyIcon} />\n </div>\n </section>\n );\n}\n\nconst legislatorShape = PropTypes.shape({\n full_role: PropTypes.string,\n twitter_screen_name: PropTypes.string,\n phone: PropTypes.string,\n party: PropTypes.string,\n photo_url: PropTypes.string,\n long_moniker: PropTypes.string.isRequired,\n});\n\nLegislator.propTypes = {\n legislator: legislatorShape,\n mapType: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nexport { Placeholder, legislatorShape };\n","import { last, split, isEmpty } from 'lodash';\n\nexport function getTitle(district) {\n if (isEmpty(district)) {\n return 'No district found';\n }\n\n return `${district.label} district ${district.value}`;\n}\n\nexport function transformLegislator({\n full_role,\n twitter_screen_name,\n photo_url,\n long_moniker,\n twitter_url,\n full_name,\n ...restProps\n}) {\n // TODO: Remove splitting twitterName when this will be done on BE or solved on data side\n const twitterName = last(split(twitter_screen_name, 'twitter.com/'));\n\n return {\n ...restProps,\n role: full_role,\n twitterName,\n photoUrl: photo_url,\n title: long_moniker,\n twitterUrl: twitter_url,\n name: full_name,\n };\n}\n","export const PREVIEW_TITLE_LENGTH = 50;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport truncate from 'lodash/truncate';\n\nimport {\n PREVIEW_TITLE_LENGTH,\n} from 'components/core/ExportDocument/components/ExportModal/utils/constants';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport { DEFAULT_LOGO_URL } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction ReportTitlePreview({ logoUrl, documentTitle, children }) {\n const truncatedTitle = truncate(documentTitle, { length: PREVIEW_TITLE_LENGTH });\n const currentDate = moment().format(GLOBAL_DATE_FORMAT);\n\n return (\n <div className={styles.container}>\n <div className={styles.header}>\n <img className={styles.logoImage} src={logoUrl} alt=\"logo-custom\" />\n\n <div className={styles.reportTitle}>\n <p className={styles.currentDate}>Report ({currentDate})</p>\n <h2 className={styles.title}>{truncatedTitle}</h2>\n </div>\n </div>\n\n {children}\n </div>\n );\n}\n\nReportTitlePreview.defaultProps = {\n logoUrl: DEFAULT_LOGO_URL,\n};\n\nReportTitlePreview.propTypes = {\n children: PropTypes.node,\n documentTitle: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n};\n\nexport default ReportTitlePreview;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Title from 'components/core/Profile/components/Title';\n\nimport titles from '../../utils/titles';\nimport ReportTitlePreview from './components/ReportTitlePreview';\nimport styles from '../styles.module.scss';\n\nfunction Preview({ title, description, previewComponent }) {\n const titleClassName = {\n className: styles.container,\n titleClassName: styles.title,\n descriptionClassName: styles.description,\n };\n\n return (\n <Fragment>\n <Title\n title={title}\n description={description}\n {...titleClassName}\n />\n {previewComponent}\n </Fragment>\n );\n}\n\nPreview.defaultProps = {\n title: titles.preview.title,\n description: titles.preview.description,\n};\n\nPreview.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n previewComponent: PropTypes.node.isRequired,\n};\n\nexport { ReportTitlePreview };\nexport default Preview;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport uniqueId from 'lodash/uniqueId';\n\nimport TextPlaceholder from '../Text';\nimport styles from './styles.module.scss';\n\nfunction TablePlaceholder({ rows, columns, className, contentClassName }) {\n function getHeaderContent() {\n return (\n <div key={`tr-${uniqueId()}`} className={styles.titleContent}>\n <TextPlaceholder className={styles.headerTitle} />\n </div>\n );\n }\n\n function getColumnContent() {\n return (\n <div key={`text-${uniqueId()}`} className={styles.colText}>\n <TextPlaceholder />\n </div>\n );\n }\n\n return (\n <div className={className}>\n <div className={classNames(styles.header, contentClassName)}>\n {Array(columns).fill(0).map(getHeaderContent)}\n </div>\n\n {Array(rows).fill(0).map(() => (\n <div key={`td-${uniqueId()}`} className={classNames(styles.colContent, contentClassName)}>\n {Array(columns).fill(0).map(getColumnContent)}\n </div>\n ))}\n </div>\n );\n}\n\nTablePlaceholder.defaultProps = {\n rows: 3,\n columns: 3,\n};\n\nTablePlaceholder.propTypes = {\n rows: PropTypes.number,\n columns: PropTypes.number,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n};\n\nexport default TablePlaceholder;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport CoreModal from '../Modal';\nimport styles from './styles.module.scss';\n\nexport const DEFAULT_SLIDE_DURATION = 300;\n\nfunction SlideUpModal({\n isOpen,\n toggleOpen,\n children,\n slideDurationMillis,\n className,\n ...restProps\n}) {\n const [isSlidingOpen, setIsSlidingOpen] = useState(false);\n const [isModalOpen, setIsModalOpen] = useState(isOpen);\n\n function handleModalToggle() {\n if (isOpen) {\n setIsModalOpen(true);\n\n return setTimeout(() => setIsSlidingOpen(true), 0);\n }\n setIsSlidingOpen(false);\n\n return setTimeout(() => setIsModalOpen(false), slideDurationMillis);\n }\n\n useEffect(() => {\n const timer = handleModalToggle();\n\n return () => {\n clearTimeout(timer);\n };\n }, [isOpen]);\n\n const modalClassNames = classNames(\n styles.modal,\n isSlidingOpen && styles.modalOpen,\n className,\n );\n\n return (\n <CoreModal\n {...restProps}\n isOpen={isModalOpen}\n className={modalClassNames}\n toggleOpen={toggleOpen}\n >\n {children}\n </CoreModal>\n );\n}\n\nSlideUpModal.defaultProps = {\n slideDurationMillis: DEFAULT_SLIDE_DURATION,\n};\n\nSlideUpModal.propTypes = {\n children: PropTypes.node.isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n slideDurationMillis: PropTypes.number,\n className: PropTypes.string,\n};\n\nexport default SlideUpModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Provider } from 'react-redux';\n\nimport store from 'redux/store';\n\nimport Container from './components/Container';\nimport { NOTIFICATIONS_DOM_ID } from './utils/constants';\n\nfunction Notifications({ id, ...restProps }) {\n return (\n <div id={id}>\n <Provider store={store}>\n <Container {...restProps} />\n </Provider>\n </div>\n );\n}\n\nNotifications.defaultProps = {\n id: NOTIFICATIONS_DOM_ID,\n};\n\nNotifications.propTypes = {\n id: PropTypes.string,\n};\n\nexport default Notifications;\n","import { useEffect, useState } from 'react';\nimport { isEqual, union, isEmpty, pullAll, find, intersection, filter } from 'lodash';\n\nfunction getSubItemsIds(checkedItem) {\n const { subItems = [] } = checkedItem || {};\n\n if (isEmpty(subItems)) {\n return [];\n }\n\n return subItems.map(subItem => subItem.id);\n}\n\nfunction useCheckedItems(id, value, onChange, allValues = [], exportTabItems) {\n const [checkedItems, setCheckedItems] = useState([]);\n const [selectAll] = exportTabItems ? exportTabItems.filter(item => item.isSelectAll) : [];\n\n useEffect(() => {\n const filteredValues = selectAll ? value.filter(val => val !== selectAll.id) : value;\n !isEqual(filteredValues, checkedItems) && setCheckedItems(filteredValues);\n }, [value]);\n\n function handleCheck({ isChecked, currentValue, parentValue }) {\n const subItems = getSubItemsIds(find(exportTabItems, { id: currentValue }));\n\n const items = isChecked\n ? union([...checkedItems], [currentValue, ...subItems])\n : pullAll([...checkedItems], [currentValue, parentValue, ...subItems]);\n\n setCheckedItems(items);\n onChange(id, items);\n }\n\n function handleOnCheck(event) {\n handleCheck({\n isChecked: event.target.checked,\n currentValue: event.target.value,\n });\n }\n\n function handleOnCheckAll(event) {\n const disabledItems = !isEmpty(exportTabItems)\n ? exportTabItems\n .filter(item => item.isDisabled)\n .map(item => item.id)\n : [];\n\n const allValuesFiltered = selectAll\n ? allValues.filter(item => item !== selectAll.id)\n : allValues;\n\n const defaultValues = !isEmpty(allValuesFiltered)\n ? allValuesFiltered.filter(item => disabledItems.includes(item))\n : [];\n const items = event.target.checked ? allValuesFiltered : defaultValues;\n\n setCheckedItems(items);\n onChange(id, items);\n }\n\n function handleCheckSubItem(event, item) {\n const isChecked = event.target.checked;\n const currentValue = event.target.value;\n const commonProps = { isChecked, currentValue };\n\n if (isChecked) {\n return handleCheck(commonProps);\n }\n\n const { id: parentId } = item || {};\n const subItems = getSubItemsIds(item);\n const checkItems = filter(checkedItems, subItem => subItem !== currentValue);\n const isParentUnchecked = intersection(subItems, checkItems).length === 0;\n\n return handleCheck({\n ...(isParentUnchecked && { parentValue: parentId }),\n ...commonProps,\n });\n }\n\n return {\n checkedItems,\n onCheck: handleOnCheck,\n onCheckAll: handleOnCheckAll,\n onCheckSubItem: handleCheckSubItem,\n };\n}\n\nexport default useCheckedItems;\n","import { useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const REQUIRED_ERROR = 'Please add a workspace.';\n\nfunction useWorkspaces(initialCheckState = true) {\n const [workspaces, setWorkspaces] = useState([]);\n const [saveToWorkspaces, setSaveToWorkspaces] = useState(initialCheckState);\n const [saveToMyFeed, setSaveToMyFeed] = useState(initialCheckState);\n const [errorMessage, setErrorMessage] = useState('');\n\n const handleCheckWorkspaces = ({ target }) => setSaveToWorkspaces(target.checked);\n const handleCheckMyFeed = ({ target }) => setSaveToMyFeed(target.checked);\n\n const reset = () => {\n setWorkspaces([]);\n setSaveToWorkspaces(initialCheckState);\n setSaveToMyFeed(initialCheckState);\n setErrorMessage('');\n };\n\n const validateWorkspaces = () => {\n const isValid = !(saveToWorkspaces && isEmpty(workspaces));\n\n isValid ? setErrorMessage('') : setErrorMessage(REQUIRED_ERROR);\n\n return isValid;\n };\n\n return {\n values: workspaces,\n onChangeValues: setWorkspaces,\n isWorkspacesChecked: saveToWorkspaces,\n onCheckWorkspaces: handleCheckWorkspaces,\n isMyFeedChecked: saveToMyFeed,\n onCheckMyFeed: handleCheckMyFeed,\n reset,\n errorMessage,\n validateWorkspaces,\n };\n}\n\nexport default useWorkspaces;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\nimport Button from 'components/core/Button';\nimport { trackHelpCenterPageVisited } from 'utils/tracking';\nimport { openFreshChat } from 'utils/freshchat';\n\nimport { GENERAL_HELP_URL, pageHelpLinks } from './constants';\nimport styles from './styles.module.scss';\n\nexport default function TooltipContent({ page, pageName, isMobile, onOpenLiveSupport }) {\n const hasPageHelpCenter = pageHelpLinks[page] && pageName;\n const handleClick = visitedPage => () => {\n trackHelpCenterPageVisited(visitedPage);\n };\n\n const commonProps = {\n displayExternalIcon: !isMobile,\n isExternal: true,\n theme: 'light',\n className: styles.helpOption,\n iconClassName: styles.externalLinkIcon,\n };\n\n return (\n <div className={styles.container}>\n {hasPageHelpCenter && (\n <Link\n {...commonProps}\n href={pageHelpLinks[page]}\n onClick={handleClick('product specific help')}\n >\n {pageName} help\n </Link>\n )}\n <Link\n {...commonProps}\n href={GENERAL_HELP_URL}\n onClick={handleClick('general help')}\n >\n General help\n </Link>\n {isMobile && (\n <Button\n theme=\"light\"\n onClick={onOpenLiveSupport}\n className={styles.helpOption}\n >\n Live support\n </Button>\n )}\n </div>\n );\n}\n\nTooltipContent.defaultProps = {\n onOpenLiveSupport: openFreshChat,\n};\n\nTooltipContent.propTypes = {\n page: PropTypes.string,\n pageName: PropTypes.string,\n isMobile: PropTypes.bool,\n onOpenLiveSupport: PropTypes.func,\n};\n","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport MenuToggleButton from 'components/Navigation/MenuToggleButton';\nimport useModal from 'components/core/Modal/useModal';\nimport Tooltip from 'components/core/Tooltip';\n\nimport TooltipContent from '../TooltipContent';\nimport styles from './styles.module.scss';\n\nfunction MobileView({ page, pageName, className }) {\n const tooltipRef = useRef(null);\n const {\n isOpenModal: isOpen,\n toggleModal: toggleTooltip,\n closeModal: closeTooltip,\n } = useModal();\n\n const getTooltipContent = () => (\n <TooltipContent isMobile page={page} pageName={pageName} />\n );\n\n function handleClose() {\n closeTooltip();\n setTimeout(tooltipRef.current.toggleHint, 0);\n }\n\n return (\n <div className={classNames(styles.container, className)}>\n <Tooltip\n delay={0}\n className={styles.tooltip}\n forwardRef={tooltipRef}\n content={getTooltipContent}\n >\n <MenuToggleButton\n inactiveContent=\"?\"\n onBlur={handleClose}\n onClick={toggleTooltip}\n inactiveClassName={styles.helpButton}\n isActive={isOpen}\n />\n </Tooltip>\n </div>\n );\n}\n\nMobileView.propTypes = {\n page: PropTypes.string,\n pageName: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default MobileView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport TippyTooltip from '@tippyjs/react';\n\nimport Button from 'components/core/Button';\nimport { trackHelpCenterDialogOpen } from 'utils/tracking';\n\nimport TooltipContent from '../TooltipContent';\nimport styles from './styles.module.scss';\n\nexport default function HelpButton({ page, pageName, className, triggerClassName }) {\n const tooltipContent = (\n <TooltipContent\n page={page}\n pageName={pageName}\n />\n );\n\n return (\n <TippyTooltip\n content={tooltipContent}\n className={styles.menuTooltip}\n placement=\"bottom-end\"\n trigger=\"click\"\n theme=\"light\"\n interactive\n appendTo={document.body}\n >\n <div className={classNames(styles.trigger, triggerClassName)}>\n <Button\n theme=\"light\"\n size=\"small\"\n onClick={trackHelpCenterDialogOpen}\n customIcon={<i className={'fas fa-question'} />}\n className={classNames(styles.helpButton, className)}\n iconClassName={styles.questionMarkIcon}\n />\n </div>\n </TippyTooltip>\n );\n}\n\nHelpButton.propTypes = {\n page: PropTypes.string,\n pageName: PropTypes.string,\n className: PropTypes.string,\n triggerClassName: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport MobileView from './components/MobileView';\nimport DesktopView from './components/DesktopView';\n\nexport default function HelpButton({ isMobile, ...restProps }) {\n return isMobile ? <MobileView {...restProps} /> : <DesktopView {...restProps} />;\n}\n\nHelpButton.propTypes = {\n isMobile: PropTypes.bool,\n};\n","export const GENERAL_HELP_URL = 'https://govpredict.zendesk.com/hc';\n\nexport const pageHelpLinks = {\n moneyball: 'https://govpredict.zendesk.com/hc/en-us/categories/360003190791-Moneyball',\n hill_day: 'https://govpredict.zendesk.com/hc/en-us/categories/360003190871-Hill-Day',\n rolodex: 'https://govpredict.zendesk.com/hc/en-us/categories/360003190811-Federal-State-and-Local-Intelligence',\n advocacy: 'https://govpredict.zendesk.com/hc',\n};\n","import { compact, flatten, isEmpty } from 'lodash';\n\nimport { getMyFeed } from 'components/Dashboard/utils';\n\nimport { transformWorkspacesForTiles } from './transformers';\n\nexport const getWorkspacesToTrack = (workspaces, payload = {}) => {\n const { isHearing, isStaffer, workspacesData } = payload;\n const formattedWorkspaces = transformWorkspacesForTiles(workspaces.values);\n\n const hasWorkspacesData = !isEmpty(workspacesData);\n\n const isCommitteeDataValid = (\n hasWorkspacesData && (workspacesData.isHearing || workspacesData.isStaffer)\n );\n const isWorkspacesDataValid = !hasWorkspacesData || isCommitteeDataValid;\n const isWorkspacesValid = workspaces.isWorkspacesChecked && isWorkspacesDataValid;\n\n const isMyFeedDataValid = !hasWorkspacesData || (isHearing || isStaffer);\n const isMyFeedValid = workspaces.isMyFeedChecked && isMyFeedDataValid;\n\n const compactedWorkspaces = compact(flatten([\n isMyFeedValid && getMyFeed(),\n isWorkspacesValid && formattedWorkspaces,\n ]));\n\n return compactedWorkspaces;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2zznI\",\"list\":\"styles-module__list___1Q5Dx\",\"listItem\":\"styles-module__listItem___3JOLd\",\"listItemActive\":\"styles-module__listItemActive___1YO-y\",\"tabContent\":\"styles-module__tabContent___17NRK\",\"sideContent\":\"styles-module__sideContent___3nLy2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2WjPy\",\"card\":\"styles-module__card___1Yb9p\",\"success\":\"styles-module__success___2Ehs4\",\"error\":\"styles-module__error___3m7If\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1RPPF\",\"input\":\"styles-module__input___1Z8E7\",\"valid\":\"styles-module__valid___1yh74\",\"invalid\":\"styles-module__invalid___1GKkV\",\"borderLeft\":\"styles-module__borderLeft___2iyQn\",\"noBorderRight\":\"styles-module__noBorderRight___3Znhl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3MraW\",\"button\":\"styles-module__button___329s9\",\"icon\":\"styles-module__icon___1hpMT\",\"view\":\"styles-module__view___c9ML7\",\"edit\":\"styles-module__edit___Ze2wQ\",\"label\":\"styles-module__label___1A5Yy\",\"content\":\"styles-module__content___2g-zN\",\"updatedAt\":\"styles-module__updatedAt___iL8ZO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3lazf\",\"placeholder\":\"styles-module__placeholder___3Itu8\",\"titleContainer\":\"styles-module__titleContainer___2IxI3\",\"title\":\"styles-module__title___ywayj\",\"viewText\":\"styles-module__viewText___UvkCO\",\"summaryButton\":\"styles-module__summaryButton___2HHxG\",\"summaryText\":\"styles-module__summaryText___2VGLj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatarContainer\":\"styles-module__avatarContainer___iW_Gz\",\"avatar\":\"styles-module__avatar___1IRAb\",\"modal\":\"styles-module__modal___QGOBI\",\"modalHeader\":\"styles-module__modalHeader___21lzl\",\"modalBody\":\"styles-module__modalBody___KTqZj\",\"image\":\"styles-module__image___2Geut\"};","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst error = message => addNotification({ message, level: 'error' });\nconst success = message => addNotification({ message, level: 'success' });\n\nexport default class Notifications {\n static defaultSavedItemSuccess = () => success('Recent search was successfully saved.');\n static defaultSavedItemFailed = () => error('Could not save recent search. Please try again.');\n static defaultRemoveSavedItemFailed = () => error('Could not remove saved search. Please try again.');\n static defaultRemoveSavedItemSuccess = () => success('Saved search removed successfully.');\n static exportEventSuccess = () => success('Data was exported successfully.');\n static exportEventFailed = () => error('Data export failed. Please try again.');\n}\n","export const PLACEHOLDER_TYPES = {\n draggedIn: 'draggedInPlaceholder',\n draggedOut: 'draggedOutPlaceholder',\n};\n","import React, { cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { PLACEHOLDER_TYPES } from '../../constants';\nimport styles from './styles.module.scss';\n\nconst THEMES = {\n [PLACEHOLDER_TYPES.draggedIn]: styles.draggedInPlaceholder,\n [PLACEHOLDER_TYPES.draggedOut]: styles.draggedOutPlaceholder,\n};\n\nfunction CardPlaceholder({ placeholder, type }) {\n // Workaround to resize react-beaultiful-dnd placeholder, so the border of this component won't resize the column\n const placeholderClone = cloneElement(placeholder, {\n ...placeholder.props,\n on: {\n ...placeholder.props.on,\n client: {\n ...placeholder.props.on.client,\n borderBox: { ...placeholder.props.on.client.borderBox, height: placeholder.props.on.client.borderBox.height - 2 },\n contentBox: { ...placeholder.props.on.client.contentBox, height: placeholder.props.on.client.contentBox.height - 2 },\n marginBox: { ...placeholder.props.on.client.marginBox, height: placeholder.props.on.client.marginBox.height - 2 },\n paddingBox: { ...placeholder.props.on.client.paddingBox, height: placeholder.props.on.client.paddingBox.height - 2 },\n },\n },\n });\n\n return (\n <div className={classNames(styles.placeholder, THEMES[type])}>\n {placeholderClone}\n </div>\n );\n}\n\nCardPlaceholder.defaultProps = {\n type: PLACEHOLDER_TYPES.draggedIn,\n};\n\nCardPlaceholder.propTypes = {\n placeholder: PropTypes.node.isRequired,\n type: PropTypes.oneOf(Object.values(PLACEHOLDER_TYPES)),\n};\n\nexport default CardPlaceholder;\n","import { PLACEHOLDER_TYPES } from './constants';\n\nfunction useRenderPlaceholders({\n isPlaceholderBeforeCard,\n hasEmptyPlaceholderComponent,\n hasChildren,\n}) {\n const getCardPlaceholderData = ({ draggingFromThisWith, draggingOverWith }) => ({\n draggingCardId: draggingFromThisWith || draggingOverWith,\n cardPlaceholderType: draggingFromThisWith ? PLACEHOLDER_TYPES.draggedOut : PLACEHOLDER_TYPES.draggedIn,\n });\n\n const shouldRenderEmptyPlaceholder = ({ draggingCardId }) => (hasEmptyPlaceholderComponent && !hasChildren && !draggingCardId);\n\n const canRenderCardPlaceholder = ({\n isPlaceholderRendered,\n draggingCardId,\n }) => (!!draggingCardId && !isPlaceholderRendered);\n\n // placeholder should be rendered before the first card that gets true for isPlaceholderBeforeCard\n const shouldRenderCardPlaceholder = ({\n cardId,\n draggingCardId,\n isPlaceholderRendered,\n }) => (\n canRenderCardPlaceholder({\n isPlaceholderRendered,\n draggingCardId,\n }) && isPlaceholderBeforeCard({ cardId, draggingCardId })\n );\n\n return {\n getCardPlaceholderData,\n shouldRenderEmptyPlaceholder,\n canRenderCardPlaceholder,\n shouldRenderCardPlaceholder,\n };\n}\n\nexport default useRenderPlaceholders;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Badge, { themes as badgeThemes } from 'components/core/Badge';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction Header({ children, count, counterTheme, onAddClick }) {\n const countText = count < 100 ? count : '99+';\n\n return (\n <header className={styles.header}>\n <div className={styles.leftSide}>\n <Badge theme={counterTheme} className={styles.count}>{countText}</Badge>\n {children}\n </div>\n <Button theme=\"tableLink\" size=\"small\" onClick={onAddClick} className={styles.button}>\n <i className={classNames('fas fa-plus-circle', styles.plusIcon)} />\n </Button>\n </header>\n );\n}\n\nHeader.defaultProps = {\n count: '',\n};\n\nHeader.propTypes = {\n children: PropTypes.string.isRequired,\n count: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n onAddClick: PropTypes.func.isRequired,\n counterTheme: PropTypes.oneOf(badgeThemes).isRequired,\n};\n\nexport default Header;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction Footer({ children, href }) {\n return (\n <Link theme=\"tableLink\" href={href} className={styles.footer}>\n {children}\n </Link>\n );\n}\n\nFooter.propTypes = {\n children: PropTypes.node.isRequired,\n href: PropTypes.string.isRequired,\n};\n\nexport default Footer;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Draggable } from 'react-beautiful-dnd';\n\nimport styles from './styles.module.scss';\n\nfunction DraggableCard({ children, id, index, ...restProps }) {\n const skipDropAnimationStyle = (style, isDropAnimating) => {\n // skip drop animation https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/drop-animation.md#skipping-the-drop-animation\n // in case of reenabling it:\n // - beaware that it will be dropped over the card that is being hovered instead of over the placeholder\n // - in some cases, it will also be moved by 10px because of placeholder margin, so be sure to fix that positioning\n if (isDropAnimating) {\n return {\n ...style,\n transitionDuration: '0.001s',\n };\n }\n\n return style;\n };\n\n return (\n <div className={styles.wrapper}>\n <Draggable draggableId={`${id}`} index={index} {...restProps}>\n {({ innerRef, draggableProps, dragHandleProps }, { isDragging, isDropAnimating }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n className={classNames(!isDragging && styles.fixedCard)}\n style={skipDropAnimationStyle(draggableProps.style, isDropAnimating)}\n >\n {children}\n </div>\n )}\n </Draggable>\n </div>\n );\n}\n\nDraggableCard.propTypes = {\n children: PropTypes.node.isRequired,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n index: PropTypes.number.isRequired,\n};\n\nexport default DraggableCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction EmptyPlaceholder({ children }) {\n return (\n <div className={styles.emptyPlaceholder}>\n {children}\n </div>\n );\n}\n\nEmptyPlaceholder.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default EmptyPlaceholder;\n","import React, { Fragment, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\nimport classNames from 'classnames';\n\nimport CardPlaceholder from './components/CardPlaceholder';\nimport useRenderPlaceholders from './useRenderPlaceholders';\nimport styles from './styles.module.scss';\n\nfunction Column({\n children,\n header,\n footer,\n id,\n isPlaceholderBeforeCard,\n className,\n contentClassName,\n emptyPlaceholder,\n ...restProps\n}) {\n const {\n getCardPlaceholderData,\n shouldRenderEmptyPlaceholder,\n canRenderCardPlaceholder,\n shouldRenderCardPlaceholder,\n } = useRenderPlaceholders({\n isPlaceholderBeforeCard,\n hasEmptyPlaceholderComponent: !!emptyPlaceholder,\n hasChildren: Children.count(children) > 0,\n });\n\n const renderPlaceholder = (placeholder, type) => (\n <CardPlaceholder placeholder={placeholder} type={type} />\n );\n\n const renderChildren = (placeholder, { draggingFromThisWith, draggingOverWith }) => {\n const {\n draggingCardId,\n cardPlaceholderType,\n } = getCardPlaceholderData({ draggingFromThisWith, draggingOverWith });\n const renderEmptyPlaceholder = shouldRenderEmptyPlaceholder({ draggingCardId });\n\n if (renderEmptyPlaceholder) {\n return emptyPlaceholder;\n }\n\n let isPlaceholderRendered = false;\n\n return (\n <>\n {Children.map(children, (child) => {\n const cardId = child.props.id;\n const renderCardPlaceholder = shouldRenderCardPlaceholder({\n cardId,\n draggingCardId,\n isPlaceholderRendered,\n });\n\n if (renderCardPlaceholder) {\n isPlaceholderRendered = true;\n }\n\n return (\n <Fragment key={cardId}>\n {renderCardPlaceholder && renderPlaceholder(placeholder, cardPlaceholderType)}\n {child}\n </Fragment>\n );\n })}\n {canRenderCardPlaceholder({ draggingCardId, isPlaceholderRendered }) && renderPlaceholder(placeholder, cardPlaceholderType)}\n </>\n );\n };\n\n return (\n <Droppable droppableId={id} {...restProps}>\n {({ innerRef, droppableProps, placeholder }, snapshot) => (\n <div\n className={classNames(styles.wrapper, snapshot.isDraggingOver && styles.highlighted)}\n ref={innerRef}\n {...droppableProps}\n >\n <div className={classNames(styles.column, className)}>\n {header}\n <div className={classNames(styles.columnContent, contentClassName)}>\n {renderChildren(placeholder, snapshot)}\n </div>\n {footer}\n </div>\n </div>\n )}\n </Droppable>\n );\n}\n\nColumn.defaultProps = {\n // default behavior is to render placeholder at the top of the list\n isPlaceholderBeforeCard: () => true,\n};\n\nColumn.propTypes = {\n isPlaceholderBeforeCard: PropTypes.func,\n id: PropTypes.string.isRequired,\n children: PropTypes.node,\n header: PropTypes.node,\n footer: PropTypes.node,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n emptyPlaceholder: PropTypes.node,\n};\n\nexport default Column;\n\nexport { default as Header } from './components/Header';\nexport { default as Footer } from './components/Footer';\nexport { default as DraggableCard } from './components/DraggableCard';\nexport { default as EmptyPlaceholder } from './components/EmptyPlaceholder';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { DragDropContext } from 'react-beautiful-dnd';\n\nimport { DRAG_END_REASON } from './constants';\nimport styles from './styles.module.scss';\n\nfunction KanbanBoard({ children, onMoveCard, className }) {\n const handleDragEnd = ({ destination, source, draggableId, reason }) => {\n if (!destination || destination.droppableId === source.droppableId || reason === DRAG_END_REASON.CANCEL) {\n return;\n }\n\n // onMoveCard is responsible to reorder the cards when they move\n // tip: if you make the reordering syncronously in the state of your\n // component(instead of waiting redux/api response), it will work more smoothly\n onMoveCard({\n destinationColumnId: destination.droppableId,\n sourceColumnId: source.droppableId,\n cardId: draggableId,\n });\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <div className={classNames(styles.board, className)}>\n {children}\n </div>\n </DragDropContext>\n );\n}\n\nKanbanBoard.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n onMoveCard: PropTypes.func.isRequired,\n};\n\nexport default KanbanBoard;\n\nexport { default as Column } from './components/Column';\nexport * from './components/Column';\n","import PropTypes from 'prop-types';\n\nexport const commentShape = {\n user: PropTypes.shape({\n photoUrl: PropTypes.string,\n name: PropTypes.string.isRequired,\n id: PropTypes.number.isRequired,\n email: PropTypes.string.isRequired,\n }).isRequired,\n content: PropTypes.string.isRequired,\n createdAt: PropTypes.string.isRequired,\n id: PropTypes.number.isRequired,\n repliesCount: PropTypes.number.isRequired,\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport { pluralize } from 'utils/string';\n\nimport styles from './styles.module.scss';\n\nfunction Actions({\n isEditing,\n repliesCount,\n onReplyClick,\n onSaveEdit,\n onCancelEdit,\n isSaveDisabled,\n showSaveLoader,\n onLoadMoreClick,\n hasMoreToLoad,\n areFirstRepliesLoaded,\n isLoadingReplies,\n}) {\n const handleReply = () => onReplyClick();\n const loadRepliesText = areFirstRepliesLoaded ? 'Load more replies' : 'Load replies';\n const renderLoader = () => <Loader size=\"small\" onlyIcon className={styles.loader} />\n\n const renderReplyAction = () => (\n <Fragment>\n <Button\n theme=\"tableLink\"\n className={styles.button}\n onClick={handleReply}\n >\n REPLY\n </Button>\n {!!repliesCount && (\n <div className={styles.repliesInfo}>\n {`${repliesCount} ${pluralize('Reply', 'Replies', repliesCount)}`}\n </div>\n )}\n {hasMoreToLoad && (\n <div className={styles.repliesInfo}>\n <Button\n className={styles.loadMore}\n theme=\"tableLink\"\n onClick={onLoadMoreClick}\n disabled={isLoadingReplies}\n >\n {loadRepliesText}\n {isLoadingReplies && renderLoader()}\n </Button>\n </div>\n )}\n </Fragment>\n );\n\n const renderEditAction = () => (\n <Fragment>\n <Button\n theme=\"tableLink\"\n type=\"submit\"\n disabled={isSaveDisabled || showSaveLoader}\n className={styles.button}\n onClick={onSaveEdit}\n >\n SAVE\n {showSaveLoader && renderLoader()}\n </Button>\n <Button\n theme=\"tableLink\"\n className={styles.button}\n onClick={onCancelEdit}\n >\n CANCEL\n </Button>\n </Fragment>\n );\n\n return (\n <div className={styles.container}>\n {isEditing ? renderEditAction() : renderReplyAction()}\n </div>\n );\n}\n\nActions.propTypes = {\n isEditing: PropTypes.bool,\n repliesCount: PropTypes.number,\n isSaveDisabled: PropTypes.bool,\n showSaveLoader: PropTypes.bool,\n onReplyClick: PropTypes.func.isRequired,\n onSaveEdit: PropTypes.func.isRequired,\n onCancelEdit: PropTypes.func.isRequired,\n onLoadMoreClick: PropTypes.func.isRequired,\n hasMoreToLoad: PropTypes.bool.isRequired,\n areFirstRepliesLoaded: PropTypes.bool.isRequired,\n isLoadingReplies: PropTypes.bool.isRequired,\n};\n\nexport default Actions;\n","import React, { useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport Loader from 'components/core/Loader';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction Options({\n onEnableEdit,\n onDelete,\n isDeleting,\n showRepliesMessage,\n}) {\n const customIcon = isDeleting && <Loader size=\"small\" theme=\"light\" onlyIcon />;\n\n const [isVisible, setIsVisible] = useState(false);\n const [isDeletingContent, setIsDeletingContent] = useState(false);\n\n const closeTooltip = () => setIsVisible(false);\n const openTooltip = () => setIsVisible(true);\n const openDeleteConfirmation = () => setIsDeletingContent(true);\n\n const resetTooltip = () => {\n setIsDeletingContent(false);\n };\n\n const handleDelete = () => {\n onDelete();\n closeTooltip();\n };\n\n const handleEdit = () => {\n onEnableEdit();\n closeTooltip();\n };\n\n const commonOptionButtonProps = {\n theme: 'light',\n className: styles.item,\n };\n\n const getOptionsTooltip = () => (\n <Fragment>\n <Button\n {...commonOptionButtonProps}\n onClick={handleEdit}\n >\n Edit comment\n </Button>\n <Button\n {...commonOptionButtonProps}\n onClick={openDeleteConfirmation}\n >\n Delete comment\n </Button>\n </Fragment>\n );\n\n const getDeleteTooltip = () => (\n <Fragment>\n <header className={styles.title}>Delete Comment</header>\n <p className={styles.deleteMessage}>\n Are you sure you want to delete this comment?\n {showRepliesMessage && (\n <span className={styles.deletePlaceholder}>All replies will be removed as well.</span>\n )}\n </p>\n <div className={styles.buttons}>\n <Button size=\"small\" theme=\"light\" onClick={closeTooltip}>\n Cancel\n </Button>\n <Button\n size=\"small\"\n onClick={handleDelete}\n disabled={isDeleting}\n customIcon={customIcon}\n >\n Delete\n </Button>\n </div>\n </Fragment>\n );\n\n const getTooltipContent = () => (\n <div className={styles.tooltipContent}>\n {isDeletingContent ? getDeleteTooltip() : getOptionsTooltip()}\n </div>\n );\n\n return (\n <Tooltip\n content={getTooltipContent()}\n placement=\"bottom-end\"\n theme=\"light\"\n onHidden={resetTooltip}\n onClickOutside={closeTooltip}\n visible={isVisible}\n interactive\n >\n <i\n className={classNames(styles.options, 'fal fa-ellipsis-h fa-lg')}\n alt=\"Options\"\n onClick={openTooltip}\n />\n </Tooltip>\n );\n}\n\nOptions.propTypes = {\n onEnableEdit: PropTypes.func,\n onDelete: PropTypes.func,\n isDeleting: PropTypes.bool.isRequired,\n showRepliesMessage: PropTypes.bool.isRequired,\n};\n\nexport default Options;\n","import moment from 'moment';\n\nimport { getDate, formatMonthDayYear } from 'utils/date';\n\nexport const transformTimeForUI = (commentDate) => {\n const dateDiffFromNow = moment.duration(moment() - getDate(commentDate));\n\n if (dateDiffFromNow.days()) {\n return formatMonthDayYear(commentDate);\n }\n\n if (dateDiffFromNow.hours()) {\n return `${dateDiffFromNow.hours()}h`;\n }\n\n if (dateDiffFromNow.minutes()) {\n return `${dateDiffFromNow.minutes()}m`;\n }\n\n return 'now';\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport CommentInput from 'components/core/Comments/components/CommentInput';\nimport { TextWithMentions } from 'components/core/TextareaWithMentions';\n\nimport Options from './components/Options';\nimport { transformTimeForUI } from './utils';\nimport styles from './styles.module.scss';\n\nfunction CommentBox({\n isEditing,\n isCurrentUser,\n isCommentHighlighted,\n userName,\n content,\n commentDate,\n onDelete,\n onChange,\n onEnableEdit,\n isDeleting,\n id,\n onMentionsChange,\n onSaveEdit,\n isReply,\n}) {\n const elementId = `comment-${id}`;\n const displayDateTime = transformTimeForUI(commentDate);\n\n const renderContent = () => (\n isEditing ? (\n <CommentInput\n onMentionsChange={onMentionsChange}\n isEditable={isEditing}\n value={content}\n onChange={onChange}\n theme=\"justContent\"\n parentId={elementId}\n onCtrlEnterDown={onSaveEdit}\n placeholder=\"Edit your comment...\"\n />\n ) : (\n <TextWithMentions>{content}</TextWithMentions>\n )\n );\n\n return (\n <div\n className={classNames(\n styles.commentBox,\n isCommentHighlighted && styles.highlightedCommentId,\n )}\n id={elementId}\n >\n <header className={styles.header}>\n <div className={styles.userName}>{userName}</div>\n <div className={styles.rightHeader}>\n <div className={styles.time}>{displayDateTime}</div>\n {isCurrentUser && (\n <Options\n onEnableEdit={onEnableEdit}\n onDelete={onDelete}\n isDeleting={isDeleting}\n showRepliesMessage={!isReply}\n />\n )}\n </div>\n </header>\n {renderContent()}\n </div>\n );\n}\n\nCommentBox.propTypes = {\n isEditing: PropTypes.bool.isRequired,\n isCurrentUser: PropTypes.bool.isRequired,\n isCommentHighlighted: PropTypes.bool.isRequired,\n userName: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n commentDate: PropTypes.string.isRequired,\n onDelete: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onEnableEdit: PropTypes.func.isRequired,\n isDeleting: PropTypes.bool.isRequired,\n id: PropTypes.number.isRequired,\n onMentionsChange: PropTypes.func.isRequired,\n onSaveEdit: PropTypes.func.isRequired,\n isReply: PropTypes.bool,\n};\n\nexport default CommentBox;\n","import { useState } from 'react';\n\nfunction useComment({\n comment,\n onEdit,\n onDelete,\n}) {\n const { content, id } = comment;\n const [mentions, setMentions] = useState([]);\n const [fieldContent, setFieldContent] = useState(content);\n\n const [isDeleting, setIsDeleting] = useState(false);\n const [isEditing, setIsEditing] = useState(false);\n const [showSaveLoader, setShowSaveLoader] = useState(false);\n\n const disableEdit = () => setIsEditing(false);\n\n const handleCancelEdit = () => {\n setFieldContent(content);\n disableEdit();\n };\n\n const handleSaveEdit = () => {\n if (content !== fieldContent) {\n setShowSaveLoader(true);\n onEdit({ id, text: fieldContent, mentions })\n .then(() => {\n setShowSaveLoader(false);\n disableEdit();\n });\n } else {\n handleCancelEdit();\n }\n };\n\n const handleDelete = () => {\n setIsDeleting(true);\n return onDelete(id).then(() => setIsDeleting(false));\n };\n\n const handleCommentChange = ({ target: { value } }) => setFieldContent(value);\n\n const handleMentionsChange = newMentions => setMentions(newMentions);\n\n return {\n fieldContent,\n isEditing,\n isDeleting,\n showSaveLoader,\n setIsEditing,\n handleDelete,\n handleCommentChange,\n handleSaveEdit,\n handleCancelEdit,\n handleMentionsChange,\n };\n}\n\nexport default useComment;\n","import { useState, useEffect, useRef } from 'react';\nimport { isEmpty } from 'lodash';\n\nimport {\n fetchReplies,\n saveReply,\n updateReply,\n deleteReply,\n transformCommentForUI,\n} from '../../api';\n\nconst useReplies = ({\n parentComment,\n onBeforeLoadReplies,\n onLoadReplies,\n onSaveReply,\n onUpdateReply,\n onDeleteReply,\n onOpenParentReply,\n shouldLoadAllComments,\n}) => {\n const { user, repliesCount: parentRepliesCount, id: parentId } = parentComment;\n\n const newReplyRef = useRef(null);\n const [replies, setReplies] = useState([]);\n const [repliesCount, setRepliesCount] = useState(parentRepliesCount);\n const appendReplies = newReplies => setReplies([...replies, ...newReplies]);\n const prependReplies = newReplies => setReplies([...newReplies, ...replies]);\n\n const [hasMoreToLoad, setHasMoreToLoad] = useState(!!parentRepliesCount);\n const [isSaving, setIsSaving] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isReplyOpen, setIsReplyOpen] = useState(false);\n const [replyUserMention, setReplyUserMention] = useState();\n\n const handleCancelReplyMention = () => setReplyUserMention('');\n\n const handleLoadReplies = () => {\n setIsLoading(true);\n onBeforeLoadReplies && onBeforeLoadReplies();\n // in order to avoid problem with duplicates after fetching due to new replies between two fetches,\n // we don't use pagination, instead we fetch the replies older than the oldest comment already loaded\n const oldestCreatedAt = isEmpty(replies) ? undefined : replies[0].createdAt;\n\n return fetchReplies({\n parentId,\n createdAtBefore: oldestCreatedAt,\n shouldLoadAllComments,\n })\n .then(\n (response) => {\n const { data: newReplies, next_page: nextPage } = response;\n\n setHasMoreToLoad(!!nextPage);\n\n prependReplies(newReplies.map(transformCommentForUI).reverse());\n\n setIsLoading(false);\n onLoadReplies && onLoadReplies(response);\n }\n );\n };\n\n useEffect(() => {\n shouldLoadAllComments && handleLoadReplies();\n }, [shouldLoadAllComments]);\n\n const handleSaveReply = ({ text, mentions }) => {\n setIsSaving(true);\n\n return saveReply(parentId, text)\n .then(\n (response) => {\n appendReplies([transformCommentForUI(response)]);\n setIsSaving(false);\n setIsReplyOpen(false);\n setRepliesCount(repliesCount + 1);\n\n onSaveReply && onSaveReply(response, mentions);\n }\n );\n };\n\n const handleUpdateReply = reply => updateReply(parentId, reply)\n .then(\n (response) => {\n const responseReply = transformCommentForUI(response);\n\n const replaceReply = currentReply => (\n currentReply.id === responseReply.id ? responseReply : currentReply\n );\n setReplies(replies.map(replaceReply));\n\n onUpdateReply && onUpdateReply(response, reply.mentions);\n }\n );\n\n const handleDeleteReply = replyId => deleteReply(parentId, replyId)\n .then(\n (response) => {\n setReplies(replies.filter(\n currentReply => (currentReply.id !== replyId)\n ));\n setRepliesCount(repliesCount - 1);\n onDeleteReply && onDeleteReply(response);\n }\n );\n\n const handleReplyClick = (userMention) => {\n if (onOpenParentReply) {\n onOpenParentReply(`@[${user.name} (${user.email})](colleague:${user.id})`);\n return;\n }\n\n if (replies.length === 0 && hasMoreToLoad) {\n handleLoadReplies();\n }\n\n newReplyRef.current && newReplyRef.current.focus();\n setIsReplyOpen(true);\n setReplyUserMention(userMention);\n };\n\n return {\n replies,\n newReplyRef,\n repliesCount,\n hasMoreToLoad,\n isSaving,\n isLoading,\n isReplyOpen,\n replyUserMention,\n handleLoadReplies,\n handleSaveReply,\n handleUpdateReply,\n handleDeleteReply,\n handleReplyClick,\n handleCancelReplyMention,\n };\n};\n\nexport default useReplies;\n","import React from 'react';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction CommentPlaceholder() {\n return (\n <div className={styles.container}>\n <TextPlaceholder className={styles.avatar} />\n <div className={styles.column}>\n <div className={styles.content}>\n <TextPlaceholder className={styles.user} />\n <TextPlaceholder className={styles.bigLine} />\n <TextPlaceholder className={styles.smallLine} />\n </div>\n <TextPlaceholder className={styles.reply} />\n </div>\n </div>\n );\n}\n\nexport default CommentPlaceholder;\n","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty } from 'lodash';\n\nimport Avatar from 'components/core/Avatar';\nimport { getCurrentUser } from 'utils/currentUser';\n\nimport { commentShape } from '../../utils/shapes';\nimport NewComment from '../NewComment';\nimport Actions from './components/Actions';\nimport CommentBox from './components/CommentBox';\nimport useComment from './useComment';\nimport useReplies from './useReplies';\nimport styles from './styles.module.scss';\n\nfunction Comment({\n comment,\n isReply,\n highlightedCommentId,\n onOpenParentReply,\n onEdit,\n onDelete,\n shouldLoadAllComments,\n onBeforeLoadReplies,\n onLoadReplies,\n onSaveReply,\n onUpdateReply,\n onDeleteReply,\n}) {\n const isCurrentUser = comment.user.id === getCurrentUser().userId;\n const {\n fieldContent,\n isEditing,\n isDeleting,\n showSaveLoader,\n setIsEditing,\n handleDelete,\n handleCommentChange,\n handleSaveEdit,\n handleCancelEdit,\n handleMentionsChange,\n } = useComment({\n comment,\n onEdit,\n onDelete,\n });\n\n const {\n replies,\n repliesCount,\n hasMoreToLoad,\n isSaving,\n isLoading,\n isReplyOpen,\n replyUserMention,\n newReplyRef,\n handleLoadReplies,\n handleSaveReply,\n handleUpdateReply,\n handleDeleteReply,\n handleReplyClick,\n handleCancelReplyMention,\n } = useReplies({\n parentComment: comment,\n onBeforeLoadReplies,\n onLoadReplies,\n onSaveReply,\n onUpdateReply,\n onDeleteReply,\n onOpenParentReply,\n shouldLoadAllComments,\n });\n const isCommentHighlighted = Number(highlightedCommentId) === comment.id;\n const commentRef = useRef();\n\n useEffect(() => {\n if (isCommentHighlighted) {\n const { offsetTop } = commentRef.current;\n const navigationHeight = document.getElementById('navigation').offsetHeight;\n isCommentHighlighted && window.scrollTo(0, offsetTop - navigationHeight);\n }\n }, [isCommentHighlighted]);\n\n const renderReply = reply => (\n <Comment\n comment={reply}\n key={reply.id}\n isReply\n onBeforeLoadReplies={onBeforeLoadReplies}\n onOpenParentReply={handleReplyClick}\n onEdit={handleUpdateReply}\n onDelete={handleDeleteReply}\n highlightedCommentId={highlightedCommentId}\n />\n );\n\n return (\n <div ref={commentRef} className={styles.comment}>\n <Avatar photoUrl={comment.user.photoUrl} name={comment.user.name} className={styles.avatar} />\n <div className={styles.container} id={`test__comment-${comment.id}`}>\n <CommentBox\n isEditing={isEditing}\n isCurrentUser={isCurrentUser}\n isCommentHighlighted={isCommentHighlighted}\n userName={comment.user.name}\n commentDate={comment.createdAt}\n content={fieldContent}\n onEnableEdit={() => setIsEditing(true)}\n onDelete={handleDelete}\n onChange={handleCommentChange}\n isDeleting={isDeleting}\n id={comment.id}\n isReply={isReply}\n onMentionsChange={handleMentionsChange}\n onSaveEdit={handleSaveEdit}\n />\n <Actions\n isEditing={isEditing}\n onReplyClick={handleReplyClick}\n repliesCount={repliesCount}\n areFirstRepliesLoaded={!!replies.length}\n onSaveEdit={handleSaveEdit}\n onCancelEdit={handleCancelEdit}\n isSaveDisabled={isEmpty(fieldContent)}\n showSaveLoader={showSaveLoader}\n onLoadMoreClick={handleLoadReplies}\n hasMoreToLoad={hasMoreToLoad}\n isLoadingReplies={isLoading}\n />\n <div className={styles.replies}>\n {replies.map(renderReply)}\n {isReplyOpen && (\n <NewComment\n replyUserMention={replyUserMention}\n onCancelReplyMention={handleCancelReplyMention}\n parentId={comment.id}\n onPost={handleSaveReply}\n fieldRef={newReplyRef}\n className={styles.newReply}\n isPosting={isSaving}\n />\n )}\n </div>\n </div>\n </div>\n );\n}\n\nComment.propTypes = {\n comment: PropTypes.shape(commentShape).isRequired,\n isReply: PropTypes.bool,\n highlightedCommentId: PropTypes.string,\n onOpenParentReply: PropTypes.func,\n onEdit: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n shouldLoadAllComments: PropTypes.bool,\n onBeforeLoadReplies: PropTypes.func,\n onLoadReplies: PropTypes.func,\n onSaveReply: PropTypes.func,\n onUpdateReply: PropTypes.func,\n onDeleteReply: PropTypes.func,\n};\n\nexport default Comment;\n\nexport { default as CommentPlaceholder } from './components/CommentPlaceholder';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___32AhO\",\"default\":\"styles-module__default___3PspW\",\"light\":\"styles-module__light___27PUw\",\"emptyLabel\":\"styles-module__emptyLabel___hbORK\",\"disabledLabel\":\"styles-module__disabledLabel___1_buz\",\"input\":\"styles-module__input___25MOS\",\"checkmark\":\"styles-module__checkmark___1alnX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___OynRR\",\"tooltipHeader\":\"styles-module__tooltipHeader___3HBvd\",\"tooltipContainer\":\"styles-module__tooltipContainer___3sENU\",\"exportButton\":\"styles-module__exportButton___1IMMH\",\"buttonText\":\"styles-module__buttonText___ApohY\",\"bar\":\"styles-module__bar___2KZj9\",\"icon\":\"styles-module__icon___1sPxU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___1LC7w\",\"title\":\"styles-module__title___2MxFk\",\"body\":\"styles-module__body___1Mbxn\",\"typeTitle\":\"styles-module__typeTitle___u_SFn\",\"itemType\":\"styles-module__itemType___3IQsA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"styles-module__loader___1SlGP\",\"modal\":\"styles-module__modal___3kxSm\",\"header\":\"styles-module__header___2WyTT\",\"footer\":\"styles-module__footer___2scTW\",\"button\":\"styles-module__button___3_rzY\",\"textValidator\":\"styles-module__textValidator___3O5Wz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1vA_D\",\"uploadBtn\":\"styles-module__uploadBtn___2M3KW\",\"uploadIcon\":\"styles-module__uploadIcon___2JzgH\",\"uploadedList\":\"styles-module__uploadedList___3GKHI\",\"fileName\":\"styles-module__fileName___3Skts\",\"progressBar\":\"styles-module__progressBar___3kB22\",\"withError\":\"styles-module__withError___1uxMd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3MjdW\",\"avatar\":\"styles-module__avatar___2hHZG\",\"newComment\":\"styles-module__newComment___3_ceh\",\"button\":\"styles-module__button___2g1kI\",\"field\":\"styles-module__field___2hLs5\",\"tip\":\"styles-module__tip___2H_4O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"styles-module__options___2tuZb\",\"item\":\"styles-module__item___SIoQm\",\"title\":\"styles-module__title___lSEP9\",\"deleteMessage\":\"styles-module__deleteMessage___3LBsD\",\"deletePlaceholder\":\"styles-module__deletePlaceholder___3TVN8\",\"buttons\":\"styles-module__buttons___2sm_h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___Mz6vh\",\"label\":\"styles-module__label___3LKjV\",\"tooltipContent\":\"styles-module__tooltipContent___2196f\",\"placeholder\":\"styles-module__placeholder___1uXaD\",\"optionWrapper\":\"styles-module__optionWrapper___2keYQ\",\"disclaimer\":\"styles-module__disclaimer___2M5nX\",\"icon\":\"styles-module__icon___3cZU3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonGroup\":\"styles-module__buttonGroup___7JqWo\",\"isActive\":\"styles-module__isActive___1oPH3\",\"labelGroup\":\"styles-module__labelGroup___cm2GN\",\"uppercase\":\"styles-module__uppercase___3EbDm\",\"lowercase\":\"styles-module__lowercase___fduYq\",\"capitalize\":\"styles-module__capitalize___1FhL0\",\"none\":\"styles-module__none___3Y9wp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1aPm4\",\"layout\":\"styles-module__layout___1noXQ\",\"form\":\"styles-module__form___2o3NR\",\"actionBtn\":\"styles-module__actionBtn___3NnpR\",\"previewBtn\":\"styles-module__previewBtn___1y8_F\",\"loadingBtn\":\"styles-module__loadingBtn___3XZc1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerWrapper\":\"styles-module__headerWrapper___1gFNs\",\"mainContent\":\"styles-module__mainContent___X6z6Z\",\"leftContent\":\"styles-module__leftContent___132oo\",\"rightContent\":\"styles-module__rightContent___yGT8x\",\"headerBorder\":\"styles-module__headerBorder___1xVpd\",\"offsetRight\":\"styles-module__offsetRight___vaWx_\",\"headerContainer\":\"styles-module__headerContainer___3mNcW\",\"contentFixed\":\"styles-module__contentFixed___3oALS\",\"globalMaxWidth\":\"styles-module__globalMaxWidth___1vKxc\",\"extraMargin\":\"styles-module__extraMargin___2ZFGq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3TrAn\",\"titleContainer\":\"styles-module__titleContainer___PKvSJ\",\"flexItem\":\"styles-module__flexItem___3loNm\",\"title\":\"styles-module__title___3pv_Z\",\"detail\":\"styles-module__detail___3q_Ab\",\"description\":\"styles-module__description___cP65G\",\"tooltipContent\":\"styles-module__tooltipContent___2ts4U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___62dEq\",\"avatar\":\"styles-module__avatar___kG3ci\",\"icon\":\"styles-module__icon___3JuhW\",\"title\":\"styles-module__title___oVaGl\",\"description\":\"styles-module__description___1_wtN\",\"contact\":\"styles-module__contact___80AEk\",\"content\":\"styles-module__content___3M7_Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___bTFZB\",\"label\":\"styles-module__label___1r5f0\",\"sortButton\":\"styles-module__sortButton___3aWx5\",\"trigger\":\"styles-module__trigger___3gdTC\",\"isDisabled\":\"styles-module__isDisabled___2tZTH\",\"icon\":\"styles-module__icon___3xg7x\",\"tooltipContainer\":\"styles-module__tooltipContainer___1ZK24\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___2L9xF\",\"card\":\"styles-module__card___XrxFl\",\"title\":\"styles-module__title___3wCKK\",\"actions\":\"styles-module__actions___1LxB7\",\"tags\":\"styles-module__tags___qJn9e\",\"editButton\":\"styles-module__editButton___slQcP\",\"detail\":\"styles-module__detail___29O4y\",\"label\":\"styles-module__label___mmQvM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flexItem\":\"styles-module__flexItem___1HD_Q\",\"section\":\"styles-module__section___2DLon\",\"loaderContainer\":\"styles-module__loaderContainer___9lGxs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1WS6B\",\"placeholderContainer\":\"styles-module__placeholderContainer___247TY\",\"placeholderText\":\"styles-module__placeholderText___3yj5Y\",\"link\":\"styles-module__link___3S65F\",\"content\":\"styles-module__content___VV6Zl\",\"buttonBackWrapperPreview\":\"styles-module__buttonBackWrapperPreview___YSuy3\",\"iconBack\":\"styles-module__iconBack___u6KLr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___1Mxhz\",\"title\":\"styles-module__title___2iRd0\",\"content\":\"styles-module__content___2VbDR\",\"textCapitalized\":\"styles-module__textCapitalized___1cm8z\",\"link\":\"styles-module__link___1z8q4\"};","import PropTypes from 'prop-types';\n\nimport { stringNumberType } from 'utils/shapes';\n\nimport constants from './constants';\n\nconst commonEventPropTypes = {\n id: stringNumberType,\n committeeId: stringNumberType,\n committeeName: PropTypes.string,\n committeeUrl: PropTypes.string,\n committeeType: PropTypes.string,\n scheduledDate: PropTypes.string,\n title: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n addToCalendarUrl: PropTypes.string,\n isChecked: PropTypes.bool,\n};\n\nconst billShape = PropTypes.shape({\n id: PropTypes.number,\n billNumber: PropTypes.string,\n title: PropTypes.string,\n url: PropTypes.string,\n});\n\nexport const eventShape = PropTypes.shape(commonEventPropTypes);\n\nexport const stateEventShape = PropTypes.shape({\n ...commonEventPropTypes,\n chamber: PropTypes.string,\n state: PropTypes.string,\n bills: PropTypes.arrayOf(billShape),\n});\n\nexport const typeShape = PropTypes.oneOf([constants.FEDERAL, constants.STATE]);\n","import { useState } from 'react';\n\nfunction useAccordionState(initialState, multi) {\n const [isOpen, setIsOpen] = useState(initialState);\n\n const handleToggle = (key) => {\n setIsOpen(prevState => ({ ...(multi && prevState), [key]: !prevState[key] }));\n };\n\n const closeAll = () => {\n setIsOpen(initialState);\n };\n\n return {\n isOpen,\n closeAll,\n handleToggle,\n };\n}\n\nexport default useAccordionState;\n","export function buildTagsPayload(documentType, documentId) {\n return [{\n documentType,\n recordId: documentId,\n }];\n}\n\nexport function transformTagsForUI(response) {\n const { tags } = response[0] || {};\n\n return tags || [];\n}\n","import { fetchDocuments } from 'redux/events/actions';\nimport { fetchTagsByRecordIdsNoDispatch } from 'redux/tags/actions';\nimport { transformDocumentsForProfile } from 'redux/events/utils/transformers';\n\nimport { transformTagsForUI, buildTagsPayload } from './utils';\n\nexport const fetchTags = (documentType, documentId) => {\n const tagsPayload = buildTagsPayload(documentType, documentId);\n\n return fetchTagsByRecordIdsNoDispatch(tagsPayload)\n .then(transformTagsForUI);\n};\n\nexport const fetchIsShared = (documentType, documentId) => (\n fetchDocuments(documentType, [documentId])\n .then(response => transformDocumentsForProfile(response, documentId))\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tab\":\"styles-module__tab___-oY81\",\"header\":\"styles-module__header___qqFve\",\"title\":\"styles-module__title___2jQnw\",\"link\":\"styles-module__link___10Ur0\",\"content\":\"styles-module__content___2dAxs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"highlight\":\"styles-module__highlight___2EIQC\",\"noHighlight\":\"styles-module__noHighlight___1AsFi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"styles-module__input___2DgC8\",\"default\":\"styles-module__default___rCrw_\",\"small\":\"styles-module__small___q26Tx\",\"invalid\":\"styles-module__invalid___2HBuU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3OpQg\",\"legend\":\"styles-module__legend___eDVF-\",\"federal\":\"styles-module__federal___CDeIZ\",\"text\":\"styles-module__text___2f3NU\",\"button\":\"styles-module__button___3tWL_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1ic7M\",\"filterButton\":\"styles-module__filterButton___3xkqv\",\"footer\":\"styles-module__footer___o-CNy\",\"tooltip\":\"styles-module__tooltip___3A_ZJ\",\"checkboxGroup\":\"styles-module__checkboxGroup___3ZSnX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___2KkRj\",\"header\":\"styles-module__header___3pOvL\",\"title\":\"styles-module__title___3XNwq\",\"body\":\"styles-module__body___3C_1i\",\"footer\":\"styles-module__footer___2yVdb\",\"counter\":\"styles-module__counter___33RSM\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\n\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport ButtonTagManager from 'components/core/ButtonTagManager';\nimport {\n FooterContainer,\n ShowClusterLink,\n} from 'components/core/News/components/Cards/common';\nimport useModal from 'components/core/Modal/useModal';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { selectedFeedShape } from 'components/News/utils/shapes';\nimport {\n getMailLinkFromObj,\n getTwitterShareLink,\n getLinkedInShareLink,\n getFacebookDescriptionLink,\n} from 'utils/socialMedia/links';\nimport { EMAIL_ID, FACEBOOK, LINKEDIN, TWITTER } from 'utils/constants/socialMedia';\nimport { trackNewsShared } from 'utils/tracking/news';\nimport { removeHTMLElements } from 'utils/string';\n\nimport styles from './styles.module.scss';\n\nfunction Footer({\n className,\n newsHref,\n selectedFeed,\n isClusterPage,\n newsTitle,\n newsSummary,\n clusterIds,\n feedType,\n displayShowRelated,\n onSaveTags,\n tags,\n isLoadingTags,\n onShareToMyFeed,\n isSharingToMyFeed,\n isDesktop,\n}) {\n const isSingleCluster = clusterIds.length === 1;\n const [clusterId] = clusterIds;\n const { isOpenModal: isOpenTooltip, toggleModal: toggleTooltip } = useModal();\n\n function handleTracking(shareType) {\n return () => {\n trackNewsShared(shareType, feedType);\n toggleTooltip();\n };\n }\n\n function handleShareToMyFeed() {\n return onShareToMyFeed()\n .then(toggleTooltip);\n }\n\n function getContent() {\n const externalLinkProps = {\n isExternal: true,\n displayExternalIcon: true,\n theme: 'light',\n className: styles.link,\n };\n const mailInfo = {\n subject: `${newsTitle} via Intelligence`,\n body: `${removeHTMLElements(newsSummary)} - ${newsHref}`,\n };\n\n return (\n <div className={styles.tooltipContent}>\n <h2 className={styles.tooltipTitle}>Share to...</h2>\n <Button\n theme=\"light\"\n onClick={handleShareToMyFeed}\n className={styles.link}\n disabled={isSharingToMyFeed}\n >\n My feed\n </Button>\n <Link\n {...externalLinkProps}\n href={getFacebookDescriptionLink(newsHref, newsTitle)}\n onClick={handleTracking(FACEBOOK)}\n >\n Facebook\n </Link>\n <Link\n {...externalLinkProps}\n href={getTwitterShareLink({ link: newsHref, text: newsTitle })}\n onClick={handleTracking(TWITTER)}\n >\n Twitter\n </Link>\n <Link\n {...externalLinkProps}\n href={getLinkedInShareLink(newsHref)}\n onClick={handleTracking(LINKEDIN)}\n >\n LinkedIn\n </Link>\n <Link\n {...externalLinkProps}\n href={getMailLinkFromObj(mailInfo)}\n onClick={handleTracking(EMAIL_ID)}\n >\n Email\n </Link>\n </div>\n );\n }\n\n return (\n <FooterContainer className={className}>\n <div className={styles.leftActions}>\n <ButtonTagManager\n theme=\"light\"\n size=\"small\"\n buttonClassName={styles.footerButton}\n onSaveTags={onSaveTags}\n isLoading={isLoadingTags}\n tags={tags}\n autoload\n />\n\n {newsHref && (\n <Tooltip\n placement=\"bottom-start\"\n className={styles.tooltip}\n content={getContent()}\n theme=\"light\"\n interactive\n onClickOutside={toggleTooltip}\n visible={isOpenTooltip}\n >\n <span className={styles.shareWrapper}>\n <Button\n theme=\"light\"\n size=\"small\"\n className={styles.footerButton}\n onClick={toggleTooltip}\n >\n Share\n </Button>\n </span>\n </Tooltip>\n )}\n </div>\n\n {(displayShowRelated && isSingleCluster && !isClusterPage) && (\n <ShowClusterLink\n selectedFeed={selectedFeed}\n id={clusterId}\n isDesktop={isDesktop}\n />\n )}\n </FooterContainer>\n );\n}\n\nFooter.defaultProps = {\n clusterIds: [],\n};\n\nFooter.propTypes = {\n newsHref: PropTypes.string,\n newsTitle: PropTypes.string,\n clusterIds: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n ),\n newsSummary: PropTypes.string,\n selectedFeed: selectedFeedShape,\n isClusterPage: PropTypes.bool,\n className: PropTypes.string,\n feedType: PropTypes.string,\n displayShowRelated: PropTypes.bool,\n onSaveTags: PropTypes.func.isRequired,\n tags: PropTypes.arrayOf(tagShape),\n isLoadingTags: PropTypes.bool.isRequired,\n onShareToMyFeed: PropTypes.func.isRequired,\n isSharingToMyFeed: PropTypes.bool.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n};\n\nexport default Footer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {\n Header,\n BaseCard,\n Sentiment,\n} from 'components/core/News/components/Cards/common';\nimport { highlightSummary } from 'components/News/utils';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { selectedFeedShape, cardShape } from 'components/News/utils/shapes';\nimport { workspaceShape } from 'redux/events/utils/shapes';\n\nimport Footer from './components/Footer';\nimport styles from './styles.module.scss';\n\nfunction Story({\n card,\n isMobile,\n isDesktop,\n showPreview,\n selectedFeed,\n isClusterPage,\n onSelectCard,\n selectedFeedKeywords,\n isChecked,\n feedType,\n displayCheckbox,\n displayShowRelated,\n isExternalComponent,\n onSaveTags,\n tags,\n isLoadingTags,\n onShareToMyFeed,\n isSharingToMyFeed,\n isLoadingMyFeedDocuments,\n isRouterLink,\n sharings,\n}) {\n if (isEmpty(card)) {\n return null;\n }\n\n const { summary, title, href, sentiment, clusterIds } = card;\n\n const headerRightContent = !isMobile && (\n <Sentiment showType {...sentiment} />\n );\n\n const summaryInnerHTML = {\n __html: isEmpty(selectedFeedKeywords)\n ? summary\n : highlightSummary(summary, selectedFeedKeywords),\n };\n\n const summaryNode = summary && showPreview && (\n <p className={styles.summaryBody} dangerouslySetInnerHTML={summaryInnerHTML} />\n );\n\n return (\n <BaseCard displayCheckbox={displayCheckbox} onChange={onSelectCard} isChecked={isChecked}>\n <Header\n {...card}\n displaySource\n rightContent={headerRightContent}\n isMobile={isMobile}\n selectedFeed={selectedFeed}\n isExternalComponent={isExternalComponent}\n isRouterLink={isRouterLink}\n tags={tags}\n isLoadingTags={isLoadingTags}\n isLoadingMyFeedDocuments={isLoadingMyFeedDocuments}\n sentiment={sentiment}\n summary={summaryNode}\n sharings={sharings}\n withSummary\n />\n\n <Footer\n newsHref={href}\n newsTitle={title}\n newsSummary={summary}\n sentiment={sentiment}\n clusterIds={clusterIds}\n isClusterPage={isClusterPage}\n selectedFeed={selectedFeed}\n feedType={feedType}\n displayShowRelated={displayShowRelated}\n onSaveTags={onSaveTags}\n tags={tags}\n isLoadingTags={isLoadingTags}\n onShareToMyFeed={onShareToMyFeed}\n isSharingToMyFeed={isSharingToMyFeed}\n isDesktop={isDesktop}\n />\n </BaseCard>\n );\n}\n\nStory.defaultProps = {\n isExternalComponent: false,\n isRouterLink: false,\n};\n\nStory.propTypes = {\n card: cardShape,\n onSelectCard: PropTypes.func,\n isChecked: PropTypes.bool,\n selectedFeed: selectedFeedShape,\n showPreview: PropTypes.bool.isRequired,\n isMobile: PropTypes.bool.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n isClusterPage: PropTypes.bool,\n selectedFeedKeywords: PropTypes.arrayOf(PropTypes.string),\n feedType: PropTypes.string,\n displayCheckbox: PropTypes.bool,\n displayShowRelated: PropTypes.bool,\n isExternalComponent: PropTypes.bool,\n onSaveTags: PropTypes.func.isRequired,\n tags: PropTypes.arrayOf(tagShape),\n isLoadingTags: PropTypes.bool.isRequired,\n onShareToMyFeed: PropTypes.func.isRequired,\n isSharingToMyFeed: PropTypes.bool.isRequired,\n isLoadingMyFeedDocuments: PropTypes.bool.isRequired,\n isRouterLink: PropTypes.bool,\n sharings: PropTypes.arrayOf(workspaceShape),\n};\n\nexport default Story;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SourceLabel } from 'components/core/News/components/Cards/common';\nimport { cardShape } from 'components/News/utils/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction StoryItem({ story, isMobile }) {\n const { title, publishedAt, author, source } = story;\n const { logoUrl } = source;\n\n return (\n <div className={styles.storyContainer}>\n {logoUrl && <img className={styles.image} src={logoUrl} alt=\"Story thumbnail\" />}\n <div className={styles.titleContainer}>\n <h4 className={styles.title}>{title}</h4>\n <SourceLabel\n author={author}\n source={source}\n className={styles.source}\n publishedAt={publishedAt.full}\n />\n </div>\n {!isMobile && <span className={styles.publishedAt}>{publishedAt.full}</span>}\n </div>\n );\n}\n\nStoryItem.propTypes = {\n story: cardShape.isRequired,\n isMobile: PropTypes.bool.isRequired,\n};\n\nexport default StoryItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { slice, map } from 'lodash';\n\nimport {\n Header,\n FooterContainer,\n BaseCard,\n ShowClusterLink,\n} from 'components/core/News/components/Cards/common';\nimport { selectedFeedShape, storyClusterShape } from 'components/News/utils/shapes';\n\nimport StoryItem from './components/StoryItem';\nimport styles from './styles.module.scss';\n\nfunction StoryCluster({\n storyCluster,\n isMobile,\n isDesktop,\n selectedFeed,\n onSelectCard,\n isChecked,\n displayCheckbox,\n isExternalComponent,\n onShowCluster,\n isRouterLink,\n}) {\n const { stories, clusterId, ...restStoryCluster } = storyCluster;\n const limitedStories = slice(stories, 0, 3);\n\n function renderStory(story, index) {\n return (\n <StoryItem\n key={`story-${index}`}\n story={story}\n isMobile={isMobile}\n />\n );\n }\n\n return (\n <BaseCard displayCheckbox={displayCheckbox} onChange={onSelectCard} isChecked={isChecked}>\n <Header\n {...restStoryCluster}\n isMobile={isMobile}\n className={styles.header}\n isExternalComponent={isExternalComponent}\n isRouterLink={isRouterLink}\n />\n <div className={styles.storiesContainer}>\n {map(limitedStories, renderStory)}\n </div>\n <FooterContainer className={styles.footer}>\n <ShowClusterLink\n id={clusterId}\n selectedFeed={selectedFeed}\n isExternalComponent={isExternalComponent}\n onShowCluster={onShowCluster}\n isDesktop={isDesktop}\n isRouterLink={isRouterLink}\n />\n </FooterContainer>\n </BaseCard>\n );\n}\n\nStoryCluster.defaultProps = {\n isExternalComponent: false,\n isRouterLink: false,\n};\n\nStoryCluster.propTypes = {\n storyCluster: storyClusterShape.isRequired,\n selectedFeed: selectedFeedShape,\n isMobile: PropTypes.bool.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n onSelectCard: PropTypes.func,\n isChecked: PropTypes.bool,\n displayCheckbox: PropTypes.bool,\n isExternalComponent: PropTypes.bool,\n onShowCluster: PropTypes.func,\n isRouterLink: PropTypes.bool,\n};\n\nexport default StoryCluster;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { StoryCard, StoryClusterCard } from 'components/core/News';\nimport { selectedFeedShape, cardShape, clusterCardShape } from 'components/News/utils/shapes';\n\nfunction StoryFeedCard({\n card,\n showPreview,\n selectedFeed,\n isMobile,\n isDesktop,\n selectedFeedKeywords,\n onSelectCard,\n isChecked,\n feedType,\n displayCheckbox,\n displayShowRelated,\n isExternalComponent,\n onShowCluster,\n isLoadingTags,\n onSaveTags,\n isSharingToMyFeed,\n onShareToMyFeed,\n isLoadingMyFeedDocuments,\n isRouterLink,\n}) {\n const { clusterId, data: stories, tags, sharings } = card;\n const [mainStory, ...restStories] = stories || [];\n\n const commonProps = {\n isMobile,\n isDesktop,\n selectedFeed,\n onSelectCard,\n isChecked,\n displayCheckbox,\n isExternalComponent,\n isRouterLink,\n };\n\n const singleProps = {\n ...commonProps,\n showPreview,\n selectedFeedKeywords,\n feedType,\n displayShowRelated,\n isLoadingTags,\n onSaveTags,\n isSharingToMyFeed,\n onShareToMyFeed,\n sharings,\n isLoadingMyFeedDocuments,\n tags,\n };\n\n function handleShowCluster() {\n onShowCluster(stories);\n }\n\n if (!clusterId) {\n return <StoryCard {...singleProps} card={card} />;\n }\n\n if (!isEmpty(restStories)) {\n const storyCluster = { clusterId, ...mainStory, stories: restStories };\n\n return (\n <StoryClusterCard\n {...commonProps}\n storyCluster={storyCluster}\n onShowCluster={handleShowCluster}\n />\n );\n }\n\n return <StoryCard {...singleProps} card={mainStory} />;\n}\n\nStoryFeedCard.defaultProps = {\n displayCheckbox: true,\n displayShowRelated: true,\n isExternalComponent: false,\n isRouterLink: false,\n};\n\nStoryFeedCard.propTypes = {\n card: PropTypes.oneOfType([\n cardShape,\n clusterCardShape,\n ]).isRequired,\n isMobile: PropTypes.bool.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n showPreview: PropTypes.bool,\n onSelectCard: PropTypes.func,\n selectedFeed: selectedFeedShape,\n selectedFeedKeywords: PropTypes.arrayOf(PropTypes.string),\n isChecked: PropTypes.bool,\n displayCheckbox: PropTypes.bool,\n displayShowRelated: PropTypes.bool,\n isExternalComponent: PropTypes.bool,\n onShowCluster: PropTypes.func,\n feedType: PropTypes.string,\n isLoadingTags: PropTypes.bool,\n onSaveTags: PropTypes.func,\n isSharingToMyFeed: PropTypes.bool.isRequired,\n onShareToMyFeed: PropTypes.func.isRequired,\n isLoadingMyFeedDocuments: PropTypes.bool.isRequired,\n isRouterLink: PropTypes.bool,\n};\n\nexport default StoryFeedCard;\n","import React from 'react';\n\nimport { CardNewsStoryPlaceholder } from 'components/core/Placeholder';\nimport styles from './styles.module.scss';\n\nfunction Placeholder() {\n function renderPlaceholderCards() {\n return Array(3)\n .fill(0)\n .map((_, index) => <CardNewsStoryPlaceholder key={`card-${index}`} />);\n }\n\n return (\n <section className={styles.container}>\n <p className={styles.emptyMessage}>\n Searching through millions of news articles around the world\n <span className={styles.loader} />\n </p>\n\n {renderPlaceholderCards()}\n </section>\n );\n}\n\nexport default Placeholder;\n","import { StoryCard, StoryClusterCard, StoryFeedCard } from './components/Cards';\nimport Placeholder from './components/Placeholder';\n\nexport {\n StoryCard,\n StoryClusterCard,\n StoryFeedCard,\n Placeholder,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconWrapper\":\"styles-module__iconWrapper___5lH85\",\"icon\":\"styles-module__icon___1WTJI\",\"right\":\"styles-module__right___2z8z6\",\"bottom\":\"styles-module__bottom___20z36\",\"light\":\"styles-module__light___odMg6\",\"default\":\"styles-module__default___2TjWY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1UBR_\",\"badge\":\"styles-module__badge___1_aTj\",\"flexContainer\":\"styles-module__flexContainer___1FVXc\",\"linkContainer\":\"styles-module__linkContainer___16Pvt\",\"firstItemLink\":\"styles-module__firstItemLink___2CiJM\",\"tooltipLink\":\"styles-module__tooltipLink___YOinA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"closeConfirmationModal\":\"styles-module__closeConfirmationModal___1b5J5\",\"modalActionBtn\":\"styles-module__modalActionBtn___3-tlt\",\"header\":\"styles-module__header___1XCr9\",\"body\":\"styles-module__body___2fCDo\",\"emphasisText\":\"styles-module__emphasisText___2tGlG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1R_fb\",\"img\":\"styles-module__img___204HX\",\"content\":\"styles-module__content___2xpNO\",\"title\":\"styles-module__title___25QFL\",\"url\":\"styles-module__url___3RDqm\",\"description\":\"styles-module__description___1lGDr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___py3eZ\",\"light\":\"styles-module__light___2_jao\",\"medium\":\"styles-module__medium___2EdI4\",\"strong\":\"styles-module__strong___1wJWk\",\"block\":\"styles-module__block___1eZis\",\"inline\":\"styles-module__inline___1SDOc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commentBox\":\"styles-module__commentBox___3Ge45\",\"highlightedCommentId\":\"styles-module__highlightedCommentId___2Edka\",\"header\":\"styles-module__header___uWCV0\",\"userName\":\"styles-module__userName___3BQnl\",\"rightHeader\":\"styles-module__rightHeader___21tcd\",\"time\":\"styles-module__time___1QMph\",\"content\":\"styles-module__content____IHta\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"styles-module__tooltip___rJhZx\",\"buttonTooltip\":\"styles-module__buttonTooltip___IpBvy\",\"tooltipContainer\":\"styles-module__tooltipContainer___2ekUy\",\"prioritiesContainer\":\"styles-module__prioritiesContainer___387ZC\",\"mobileButton\":\"styles-module__mobileButton___2bKaQ\",\"iconTooltip\":\"styles-module__iconTooltip___3eiFx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1Ye2n\",\"title\":\"styles-module__title___3A044\",\"description\":\"styles-module__description___1H6SG\",\"label\":\"styles-module__label___2j6RH\",\"showToggle\":\"styles-module__showToggle___3NflX\",\"text\":\"styles-module__text___20Ebk\",\"isOpen\":\"styles-module__isOpen___2njIp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dateRange\":\"styles-module__dateRange___3eU1Z\",\"text\":\"styles-module__text___2y3AY\",\"startDate\":\"styles-module__startDate___1yPJe\",\"endDate\":\"styles-module__endDate___BLcZ9\",\"endDatePopper\":\"styles-module__endDatePopper___2o18g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1Y8xG\",\"header\":\"styles-module__header___2chz5\",\"logoImage\":\"styles-module__logoImage___2fTqb\",\"reportTitle\":\"styles-module__reportTitle___2rZYp\",\"currentDate\":\"styles-module__currentDate___29XsO\",\"title\":\"styles-module__title___n_YT5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legend\":\"styles-module__legend___2poMx\",\"title\":\"styles-module__title___2btEC\",\"options\":\"styles-module__options___3wbiR\",\"option\":\"styles-module__option___2zHxY\",\"icon\":\"styles-module__icon___1SKBJ\",\"label\":\"styles-module__label___33zGq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1CVVq\",\"linkButton\":\"styles-module__linkButton___3Ld2o\",\"positionPlaceholder\":\"styles-module__positionPlaceholder___2Z1YS\",\"positionContainer\":\"styles-module__positionContainer___2Ta7w\",\"callToActionsContainer\":\"styles-module__callToActionsContainer___jVDIl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___15lGF\",\"listItem\":\"styles-module__listItem___2kBse\",\"mobileListItem\":\"styles-module__mobileListItem___1V-5X\",\"itemLabel\":\"styles-module__itemLabel___2DHHj\",\"itemContent\":\"styles-module__itemContent___36ivD\",\"badge\":\"styles-module__badge___2hr1m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnGroup\":\"styles-module__btnGroup___1bg8F\",\"mapView\":\"styles-module__mapView___3nnru\",\"button\":\"styles-module__button___vQDYY\",\"activeBtn\":\"styles-module__activeBtn___2tb1-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"storyContainer\":\"styles-module__storyContainer___1NkFI\",\"image\":\"styles-module__image___cZXsl\",\"titleContainer\":\"styles-module__titleContainer___2EjFt\",\"title\":\"styles-module__title___2jrbX\",\"source\":\"styles-module__source___33d8Q\",\"publishedAt\":\"styles-module__publishedAt___3WBCt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___2kRMg\",\"card\":\"styles-module__card___1xWMy\",\"section\":\"styles-module__section___1CreF\",\"titleContainer\":\"styles-module__titleContainer___1DTk4\",\"title\":\"styles-module__title___yIsw0\",\"description\":\"styles-module__description___1I9CR\",\"tables\":\"styles-module__tables___1PxP-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___3j9DQ\",\"line\":\"styles-module__line___3bFY8\",\"contentTitle\":\"styles-module__contentTitle___23ox-\",\"placeholder\":\"styles-module__placeholder___2AaJs\",\"shortPlaceholder\":\"styles-module__shortPlaceholder___1oro1\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { defaultCheatSheetData } from './utils';\nimport styles from './styles.module.scss';\n\nfunction CheatSheet({ description, data }) {\n return (\n <div>\n {description && <p>{description}</p>}\n\n <table className={styles.cheatSheetContent}>\n <thead>\n <tr>\n <td>Syntax</td>\n <td>Usage</td>\n </tr>\n </thead>\n <tbody>\n {data.map(({ syntax, usageMessage }, index) => (\n <tr key={`${syntax}-${index}`}>\n <td>{syntax}</td>\n <td>{usageMessage}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n\nCheatSheet.defaultProps = {\n description: 'You can create advanced queries with the following syntax in the search bar:',\n data: defaultCheatSheetData,\n};\n\nCheatSheet.propTypes = {\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n data: PropTypes.array,\n};\n\nexport default CheatSheet;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LABEL_COLOR,\n DEFAULT_DISABLED_COLOR,\n WHITE_COLOR,\n BLUE_BADGE_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n billTagContainerSection: {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n flexDirection: 'row',\n maxWidth: 250,\n },\n billTagSection: {\n display: 'flex',\n justifyContent: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n fontSize: 8,\n fontWeight: 500,\n color: DEFAULT_LABEL_COLOR,\n },\n billTagText: {\n fontSize: 7,\n fontWeight: 500,\n color: WHITE_COLOR,\n paddingBottom: 0,\n },\n billTagLabelText: {\n paddingBottom: 0,\n paddingRight: 5,\n fontSize: 8,\n fontWeight: 500,\n color: DEFAULT_LABEL_COLOR,\n },\n billTag: {\n backgroundColor: BLUE_BADGE_COLOR,\n margin: 1,\n borderRadius: 4,\n padding: '2px 4px',\n marginLeft: 3,\n },\n billLinksSection: {\n marginLeft: 'auto',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n },\n billLink: {\n paddingBottom: 0,\n fontSize: 8,\n marginLeft: 15,\n },\n billEmptyLink: {\n fontSize: 8,\n marginLeft: 15,\n color: DEFAULT_DISABLED_COLOR,\n },\n linkStyle: {\n paddingBottom: 0,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View, Link } from '@react-pdf/renderer';\nimport { size, map, isEmpty, truncate, slice } from 'lodash';\n\nimport { LabelItemList, LabelLink, LabelText } from 'components/core/ExportDocument';\nimport { TAGS_DISPLAY_LENGTH } from 'components/core/ViewTags/constants';\n\nimport styles from './styles';\n\nconst TAG_LENGTH = 27;\n\nexport const renderTagLink = href => (item, index) => {\n const { label } = item;\n\n if (isEmpty(label)) {\n return null;\n }\n const keyName = `${label}-${index}`;\n\n return (\n <Link key={keyName} src={href}>\n <LabelText\n textStyle={styles.billTagText}\n value={truncate(label, { length: TAG_LENGTH })}\n style={styles.billTag}\n />\n </Link>\n );\n};\n\nfunction BillFooter({\n bill,\n displayBillTextSection,\n displayGovpredictLinkSection,\n displayTagsSection,\n billLinkLabel,\n}) {\n const {\n billTextLink,\n govPredictLink,\n tags = [],\n } = bill || {};\n\n const allTagsSize = size(tags);\n const displayViewAllTags = displayTagsSection && allTagsSize > TAGS_DISPLAY_LENGTH;\n\n return (\n <>\n {displayTagsSection && (\n <LabelItemList\n style={styles.billTagContainerSection}\n labelStyle={styles.billTagLabelText}\n listStyle={styles.billTagSection}\n label=\"Tags:\"\n hideComma\n >\n {map(slice(tags, 0, TAGS_DISPLAY_LENGTH), renderTagLink(govPredictLink))}\n </LabelItemList>\n )}\n <View style={styles.billLinksSection}>\n {displayViewAllTags && (\n <LabelLink\n value={`View all ${allTagsSize} tags on bill page`}\n href={govPredictLink}\n linkStyle={styles.billLink}\n labelStyle={styles.linkStyle}\n />\n )}\n {displayBillTextSection && (\n <LabelLink\n value={billLinkLabel}\n href={billTextLink}\n linkStyle={styles.billLink}\n labelStyle={styles.linkStyle}\n emptyTextStyle={styles.billEmptyLink}\n />\n )}\n\n {displayGovpredictLinkSection && (\n <LabelLink\n value=\"Intelligence bill profile\"\n href={govPredictLink}\n linkStyle={styles.billLink}\n labelStyle={styles.linkStyle}\n emptyTextStyle={styles.billEmptyLink}\n />\n )}\n </View>\n </>\n );\n}\n\nBillFooter.defaultProps = {\n billLinkLabel: 'Bill text',\n};\n\nBillFooter.propTypes = {\n bill: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n displayBillTextSection: PropTypes.bool,\n displayGovpredictLinkSection: PropTypes.bool,\n displayTagsSection: PropTypes.bool,\n billLinkLabel: PropTypes.string,\n};\n\nexport default BillFooter;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nconst themes = {\n default: styles.whiteTheme,\n grey: styles.greyTheme,\n};\n\nfunction ViewMoreButton({\n disabled,\n customContent,\n isVisible,\n openText,\n closeText,\n onClick,\n isOpen,\n className,\n buttonClassName,\n theme,\n}) {\n if (!isVisible) {\n return null;\n }\n\n const iconClassNames = classNames(\n 'fal',\n isOpen ? 'fa-chevron-double-up' : 'fa-chevron-double-down',\n styles.icon,\n );\n\n const iconContent = (<i className={iconClassNames} />);\n const buttonText = isOpen ? closeText : openText;\n\n function renderContent() {\n if (customContent) {\n return customContent;\n }\n\n return (\n <Fragment>\n {iconContent}\n {buttonText}\n {iconContent}\n </Fragment>\n );\n }\n\n return (\n <div className={classNames(styles.viewMore, themes[theme], className)}>\n <Button\n theme=\"light\"\n onClick={onClick}\n disabled={disabled}\n className={classNames(styles.button, buttonClassName)}\n >\n {renderContent()}\n </Button>\n </div>\n );\n}\n\nViewMoreButton.defaultProps = {\n isVisible: true,\n isOpen: false,\n openText: 'Show more',\n closeText: 'Show less',\n theme: 'default',\n};\n\nViewMoreButton.propTypes = {\n openText: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n closeText: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n onClick: PropTypes.func,\n isOpen: PropTypes.bool,\n isVisible: PropTypes.bool,\n className: PropTypes.string,\n buttonClassName: PropTypes.string,\n disabled: PropTypes.bool,\n customContent: PropTypes.node,\n theme: PropTypes.oneOf(Object.keys(themes)),\n};\n\nexport default ViewMoreButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, size, reject } from 'lodash';\n\nimport CoreCheckbox from 'components/core/Checkbox';\nimport { stringNumberType } from 'utils/shapes';\n\nfunction SelectAll({ id, values, items, selector, onChange, className }) {\n const enabledItems = reject(items, 'disabled');\n const isChecked = size(values) === size(enabledItems);\n\n const handleSelectAll = ({ target: { checked } }) => {\n onChange(id, checked ? map(enabledItems, selector) : []);\n };\n\n return (\n <CoreCheckbox\n isChecked={isChecked}\n label=\"Select/deselect all\"\n onChange={handleSelectAll}\n className={className}\n />\n );\n}\n\nSelectAll.propTypes = {\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({\n [PropTypes.string]: stringNumberType,\n disabled: PropTypes.bool,\n })).isRequired,\n values: PropTypes.arrayOf(PropTypes.string).isRequired,\n onChange: PropTypes.func.isRequired,\n selector: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nexport default SelectAll;\n","export const NUMBER_COLUMN_ID = 'number';\n\nexport const STRING_COLUMN_ID = 'string';\n","import { useState } from 'react';\n\nimport {\n defaultHighlightingFilters,\n highlightLayers,\n layers,\n mapTypeCodes,\n} from './constants';\n\nexport default function useMapFilters(map) {\n const [defaultMapFilters, setDefaultMapFilters] = useState({});\n const [isDrawn, setIsDrawn] = useState(false);\n\n function resetFilters() {\n highlightLayers.forEach((layer) => {\n map.setFilter(layer, defaultHighlightingFilters);\n });\n }\n\n function getFilter(activeTypeFilter) {\n return ['==', ['get', 'type'], activeTypeFilter];\n }\n\n function setFilters(activeTypeFilter = mapTypeCodes.none) {\n const filter = getFilter(activeTypeFilter);\n\n let filters = { ...defaultMapFilters };\n\n layers.forEach((layer) => {\n const activeFilter = map.getFilter(layer);\n\n if (!isDrawn && !filters[layer] && activeFilter) {\n filters = {\n ...filters,\n [layer]: activeFilter,\n };\n }\n\n const validFilters = [filters[layer], filter].filter((item) => !!item);\n\n setIsDrawn(true);\n\n if (map) {\n map.setFilter(layer, ['all', ...validFilters]);\n }\n });\n\n setDefaultMapFilters(filters);\n }\n\n return {\n resetFilters,\n setFilters,\n };\n}\n","import { useEffect, useState } from 'react';\n\nimport GlobalNotifier from 'components/GlobalNotifier';\n\nimport { addDefaultLayers } from './index';\nimport { mapStyleUrl } from './constants';\nimport useMapFilters from './useMapFilters';\n\nfunction useMap({\n mapRef,\n data,\n defaultFilters,\n withNavigation,\n withFullscreen,\n withFilters,\n isLoadingMap,\n center,\n withDisabledZoom,\n zoom = 2,\n}) {\n const [map, setMap] = useState(null);\n const [activeFilters, setActiveFilters] = useState(defaultFilters);\n const { resetFilters, setFilters } = useMapFilters(map);\n const navigationControl = new mapboxgl.NavigationControl();\n const fullscreenControl = new mapboxgl.FullscreenControl();\n\n function onMapStylesLoad(mapInstance) {\n mapInstance.once('styledata', () => {\n addDefaultLayers(mapInstance);\n });\n }\n\n function onChangeFilter(filterKey, filterValue) {\n map && map.loaded() && map.isStyleLoaded() && setActiveFilters(prevState => ({ ...prevState, [filterKey]: filterValue }));\n }\n\n function enableMapNavigation(mapInstance) {\n mapInstance.addControl(navigationControl);\n }\n\n function enableFullscreen(mapInstance) {\n mapInstance.addControl(fullscreenControl);\n }\n\n function initMap() {\n if (map) {\n map.remove();\n }\n\n mapboxgl.accessToken = gon.mapboxAccessToken;\n let mapInstance;\n\n const settings = {\n container: mapRef.current,\n style: mapStyleUrl,\n zoom,\n center,\n };\n\n if (mapRef.current && !isLoadingMap) {\n try {\n mapInstance = new mapboxgl.Map(settings);\n\n withNavigation && enableMapNavigation(mapInstance);\n withFullscreen && enableFullscreen(mapInstance);\n setMap(mapInstance);\n setActiveFilters(defaultFilters);\n } catch (error) {\n const message = 'An error occurred during the map loading. Please try again.';\n GlobalNotifier.addNotification({ level: 'error', message });\n\n if (window.Sentry) {\n window.Sentry.captureMessage(error);\n }\n }\n }\n }\n\n useEffect(initMap, [data]);\n\n useEffect(() => {\n if (map) {\n withFilters && onMapStylesLoad(map);\n withDisabledZoom && map.scrollZoom.disable();\n }\n }, [map]);\n\n return {\n map,\n activeFilters,\n onChangeFilter,\n setFilters,\n resetFilters,\n };\n}\n\nexport default useMap;\n","import isEmpty from 'lodash/isEmpty';\n\nexport function getBackToParams({ backTo, backToQuery, isFirstParam = false }) {\n if (isEmpty(backTo)) {\n return '';\n }\n\n const backToQueryParam = isEmpty(backToQuery) ? '' : `&${backToQuery}`;\n const backToParam = `backTo=${backTo}${backToQueryParam}`;\n\n return isFirstParam ? `?${backToParam}` : `&${backToParam}`;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nconst fuzzyHighlight = (value = '', content = '', className, key = 0) => {\n const [v, ...restValue] = value;\n const [c, ...restContent] = content;\n\n const highlight = children => (\n <span key={key} className={classNames(styles.highlight, className)}>\n {children}\n </span>\n );\n\n const noHighlight = children => (\n <span key={key} className={styles.noHighlight}>\n {children}\n </span>\n );\n\n // Nothing to search\n if (isEmpty(value)) {\n return [\n noHighlight(content),\n ];\n }\n\n // Nothing to search on\n if (isEmpty(content)) {\n return [];\n }\n\n if (v.toLowerCase() === c.toLowerCase()) {\n return [\n highlight(c),\n ...fuzzyHighlight(restValue, restContent, className, key + 1),\n ];\n }\n\n return [\n noHighlight(c),\n ...fuzzyHighlight(value, restContent, className, key + 1),\n ];\n};\n\nfunction HighlighterFuzzy({ searchValue, content, className }) {\n return (\n <span>\n {fuzzyHighlight(searchValue, content, className)}\n </span>\n );\n}\n\nHighlighterFuzzy.propTypes = {\n searchValue: PropTypes.string,\n content: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default HighlighterFuzzy;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { formatUnacceptedChars } from 'utils/formatters';\n\nimport styles from '../styles.module.scss';\n\nfunction HighlighterSequential({ searchValue, content, className }) {\n if (isEmpty(content)) {\n return null;\n }\n\n if (!searchValue) {\n return <span className={styles.noHighlight}>{content}</span>;\n }\n\n const formattedWord = formatUnacceptedChars(searchValue);\n let parts = content.split(formattedWord);\n\n function getHighlighterClassNames(part) {\n const isHighlightWord = part && part.toLowerCase() === searchValue.toLowerCase();\n\n return classNames(\n isHighlightWord && className,\n {\n [styles.highlight]: isHighlightWord,\n [styles.noHighlight]: !isHighlightWord,\n },\n );\n }\n\n /** Remove empty strings */\n parts = parts.filter(part => part);\n const SearchWords = parts.map((part, index) => (\n <span key={index} className={getHighlighterClassNames(part)}>\n {part}\n </span>\n ));\n\n return <span>{SearchWords}</span>;\n}\n\nHighlighterSequential.propTypes = {\n searchValue: PropTypes.string,\n content: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default HighlighterSequential;\n","export const SEARCH_TYPES = {\n FUZZY: 'fuzzy',\n SEQUENTIAL: 'sequential',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport HighlighterFuzzy from './components/HighlighterFuzzy';\nimport HighlighterSequential from './components/HighlighterSequential';\nimport { SEARCH_TYPES } from './contants';\n\nfunction Highlighter({ searchValue, content, className, searchType }) {\n const HighlighterComponent = {\n [SEARCH_TYPES.FUZZY]: HighlighterFuzzy,\n [SEARCH_TYPES.SEQUENTIAL]: HighlighterSequential,\n }[searchType];\n\n return (\n <HighlighterComponent\n content={content}\n searchValue={searchValue}\n className={className}\n />\n );\n}\n\nHighlighter.defaultProps = {\n searchType: SEARCH_TYPES.FUZZY,\n};\n\nHighlighter.propTypes = {\n searchValue: PropTypes.string,\n content: PropTypes.string,\n className: PropTypes.string,\n searchType: PropTypes.oneOf([\n SEARCH_TYPES.FUZZY,\n SEARCH_TYPES.SEQUENTIAL,\n ]),\n};\n\nexport { SEARCH_TYPES };\n\nexport default Highlighter;\n","import findIndex from 'lodash/findIndex';\n\nexport function getActiveItems(progressList, currentProgress) {\n const index = findIndex(progressList, ({ id, isFailed }) => (id === currentProgress) || isFailed);\n\n return progressList.slice(0, index + 1)\n .map(({ id }) => id);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nfunction Caret({ isOpen, onClick }) {\n const caretClassName = classNames('pull-right', 'far fa-chevron-up', styles.transitionCaret, {\n [styles.rotateCaret]: !isOpen,\n });\n\n return <i onClick={onClick} className={caretClassName} />;\n}\n\nCaret.propTypes = {\n isOpen: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nexport default Caret;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Paginator from 'components/core/Paginator';\n\nfunction TablePaginator({\n isMobile,\n isLoading,\n isPaginatorPresent,\n isTablePaginator,\n paginator,\n onChangePage,\n className,\n}) {\n if (!isPaginatorPresent) {\n return null;\n }\n\n const { current, total, totalCount, pageSize } = paginator;\n\n return (\n <Paginator\n className={className}\n isTablePaginator={isTablePaginator}\n isMobile={isMobile}\n isLoading={isLoading}\n current={current}\n total={total}\n pageSize={pageSize}\n totalItems={totalCount}\n onChange={onChangePage}\n />\n );\n}\n\nTablePaginator.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n isPaginatorPresent: PropTypes.bool,\n isTablePaginator: PropTypes.bool,\n paginator: PropTypes.object,\n onChangePage: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default TablePaginator;\n","import { useState } from 'react';\n\ntype UseAvatar = {\n isValid: boolean;\n handleError: () => void;\n};\n\n// this MUST be the same value found for default_url in app/uploaders/user_photo_uploader.rb\nconst DEFAULT_PHOTO_URL = 'thumb_user_photo.png';\n\nconst useAvatar = (\n photoUrl?: string,\n avoidDefaultIcon = true,\n onError?: () => void,\n): UseAvatar => {\n // the default behavior is to show user initials instead of this default image\n // although, BE is returning it instead of null, and changing it in BE will break many things\n const isValidUrl = photoUrl && !(avoidDefaultIcon && photoUrl.endsWith(DEFAULT_PHOTO_URL));\n const [isValid, setIsValid] = useState(!!isValidUrl);\n\n function handleError() {\n setIsValid(false);\n onError && onError();\n }\n\n return {\n isValid,\n handleError,\n };\n};\n\nexport default useAvatar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nexport default function Title({ onClose, title }) {\n return (\n <h2 className={styles.title}>\n {title}\n <i className={classNames(styles.icon, 'fal fa-times')} onClick={onClose} />\n </h2>\n );\n}\n\nTitle.propTypes = {\n title: PropTypes.string.isRequired,\n onClose: PropTypes.func,\n};\n","import React, { createContext } from 'react';\n\nexport const DimensionLockingContext = createContext();\n\nexport const withDimensionLocking = Component => props => (\n <DimensionLockingContext.Consumer>\n {context => <Component {...props} {...context} />}\n </DimensionLockingContext.Consumer>\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction Banner({ message, contactEmail, className }) {\n return (\n <div className={classNames(styles.container, className)} data-test=\"banner\">\n <p className={styles.message}>\n {message}\n </p>\n <Link\n href={`mailto:${contactEmail}`}\n theme=\"primary\"\n className={styles.button}\n isExternal\n >\n Contact Customer Success\n </Link>\n </div>\n );\n}\n\nBanner.defaultProps = {\n message: 'Product not available.',\n contactEmail: gon.supportEmail,\n};\n\nBanner.propTypes = {\n message: PropTypes.string,\n contactEmail: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default Banner;\n","import isEmpty from 'lodash/isEmpty';\n\n/*\n eg: geocode service api response:\n \"address_components\" : [\n {\n \"long_name\" : \"1626\",\n \"short_name\" : \"1626\",\n \"types\" : [ \"street_number\" ]\n },\n {\n \"long_name\" : \"Park Lane\",\n \"short_name\" : \"Park Ln\",\n \"types\" : [ \"route\" ]\n },\n {\n \"long_name\" : \"Orefield\",\n \"short_name\" : \"Orefield\",\n \"types\" : [ \"neighborhood\", \"political\" ]\n },\n {\n \"long_name\" : \"Boston\",\n \"short_name\" : \"Boston\",\n \"types\" : [ \"locality\", \"political\" ]\n },\n {\n \"long_name\" : \"Upper Macungie Township\",\n \"short_name\" : \"Upper Macungie Township\",\n \"types\" : [ \"administrative_area_level_3\", \"political\" ]\n },\n {\n \"long_name\" : \"Lehigh County\",\n \"short_name\" : \"Lehigh County\",\n \"types\" : [ \"administrative_area_level_2\", \"political\" ]\n },\n {\n \"long_name\" : \"Pennsylvania\",\n \"short_name\" : \"PA\",\n \"types\" : [ \"administrative_area_level_1\", \"political\" ]\n },\n {\n \"long_name\" : \"United States\",\n \"short_name\" : \"US\",\n \"types\" : [ \"country\", \"political\" ]\n },\n {\n \"long_name\" : \"18069\",\n \"short_name\" : \"18069\",\n \"types\" : [ \"postal_code\" ]\n },\n {\n \"long_name\" : \"8926\",\n \"short_name\" : \"8926\",\n \"types\" : [ \"postal_code_suffix\" ]\n }\n ]\n\n we match our address fields with 1 or more geocode types,\n because sometime one field is present but the other one is not!\n\n eg: city field matches: 'locality' and 'administrative_area_level_3',\n because one of them could be missing sometime,\n and so we pick first one we encounter following a priority order.\n*/\n\nconst addressComponentsLookup = [\n {\n field: 'country',\n types: ['country'],\n },\n {\n field: 'state',\n types: ['administrative_area_level_1'],\n },\n {\n field: 'city',\n types: ['locality', 'administrative_area_level_3', 'sublocality', 'neighborhood'],\n },\n {\n field: 'street',\n types: ['route'],\n },\n {\n field: 'street_number',\n types: ['street_number'],\n },\n {\n field: 'zipcode',\n types: ['postal_code'],\n },\n];\n\nfunction getAddressFromParts(addressParts = {}) {\n const result = [];\n\n if (addressParts.street_number) result.push(addressParts.street_number);\n if (addressParts.street) result.push(addressParts.street);\n\n return result.join(', ');\n}\n\nconst findAddressComponentByTypes = (addressComponents, types) => {\n for (const type of types) {\n for (const addressComponent of addressComponents) {\n if (addressComponent.types.includes(type)) {\n return addressComponent;\n }\n }\n }\n\n return null;\n};\n\nexport function getAddressPartsFromGeoResponse(response) {\n const addressComponents = response[0].address_components;\n const addressParts = {};\n\n addressComponentsLookup.forEach(({ field, types }) => {\n const addressComponent = findAddressComponentByTypes(addressComponents, types);\n\n if (addressComponent) {\n addressParts[field] = addressComponent.long_name;\n }\n });\n\n return {\n ...addressParts,\n address_1: getAddressFromParts(addressParts),\n };\n}\n\nexport function removeLastComma(text) {\n if (isEmpty(text) || isEmpty(text.match(/,/g))) {\n return text;\n }\n const lastIndexOfComma = text.lastIndexOf(',');\n\n return text.substring(0, lastIndexOfComma) + text.substring(lastIndexOfComma + 1);\n}\n","import { toLower, identity, replace } from 'lodash';\n\nimport { isURL } from 'utils/url';\nimport { getDirectMailLink, getPhoneLink } from 'utils/socialMedia/links';\nimport { EMAIL_TYPE, FAX_TYPE, PHONE_TYPE } from 'components/core/Profile/utils/constants';\n\nconst formatters = {\n [EMAIL_TYPE]: getDirectMailLink,\n [PHONE_TYPE]: getPhoneLink,\n [FAX_TYPE]: getPhoneLink,\n};\n\nexport const formatUrl = ({ url, type }) => {\n if (isURL(url)) { return url; }\n\n const typeWithoutIndex = replace(type, / [0-9]/, '');\n const formatter = formatters[toLower(typeWithoutIndex)] || identity;\n\n return formatter(url);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text } from '@react-pdf/renderer';\n\nimport { pdfStylesShape } from 'components/core/ExportDocument/utils/shapes';\n\nimport styles from './styles';\n\nfunction Tag({ children, style }) {\n const tagStyles = {\n ...styles.tag,\n ...style,\n };\n\n return <Text style={tagStyles}>{children}</Text>;\n}\n\nTag.defaultProps = {\n style: {},\n};\n\nTag.propTypes = {\n children: PropTypes.node.isRequired,\n style: pdfStylesShape,\n};\n\nexport default Tag;\n","import React from 'react';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport styles from '../styles.module.scss';\n\nexport default function Placeholder() {\n return (\n <div className={styles.placeholder}>\n <TextPlaceholder className={styles.title} />\n {Array(20).fill(0).map((_, index) => (\n <TextPlaceholder key={`item-${index}`} className={styles.text} />\n ))}\n </div>\n );\n}\n","export const ALL_CONTRIBUTIONS_KEY = 'allContributions';\nexport const STAKEHOLDER_CONTRIBUTIONS_KEY = 'stakeholderContributions';\n\nexport const CONTRIBUTION_OPTIONS = [\n {\n label: 'All contributions',\n value: ALL_CONTRIBUTIONS_KEY,\n },\n {\n label: 'Stakeholder contributions',\n value: STAKEHOLDER_CONTRIBUTIONS_KEY,\n },\n];\n","import { get, isEmpty, startCase } from 'lodash';\n\nconst transformValue = (value) => {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n if (isEmpty(value)) {\n return '';\n }\n\n if (Array.isArray(value)) {\n return value.map(transformValue).join(', ');\n }\n\n if (typeof value === 'object') {\n return get(value, 'label', '');\n }\n\n return '';\n};\n\nexport const defaultOptionTransformer = {\n label: (key, value) => startCase(key),\n value: (key, value) => transformValue(value),\n};\n\nconst transformFilters = (search, transformer = {}) => {\n const filterKeys = Object.keys(search.search_params);\n\n return filterKeys.map((key) => {\n const optionsTransformer = transformer[key] || defaultOptionTransformer;\n const value = search.search_params[key];\n\n return {\n label: optionsTransformer.label(key, value),\n value: optionsTransformer.value(key, value),\n };\n });\n};\n\nexport const transformSearches = (searches, transformer = {}) => searches.map(search => ({\n ...search,\n title: search.name || 'Filters applied',\n filters: transformFilters(search, transformer),\n}));\n\nexport const transformPagination = pagination => ({\n current: pagination.current_page,\n total: pagination.total_pages,\n totalCount: pagination.total_count,\n perPage: pagination.per_page,\n});\n","import {\n transformSearches,\n transformPagination,\n} from './transformers';\n\nconst BASE_URL = '/api_web/advanced_search/searches';\n\nconst create = ({ slug }) => (params = {}, name = null, saved = false) => {\n const data = {\n advanced_search: {\n name,\n saved,\n strategy_slug: slug,\n search_params: params,\n },\n };\n\n const ajax = $.ajax({\n url: BASE_URL,\n type: 'POST',\n contentType: 'application/json',\n data: JSON.stringify(data),\n });\n\n return Promise.resolve(ajax);\n};\n\nconst save = () => ({ id, name }) => {\n const data = {\n advanced_search: {\n saved: true,\n name,\n },\n };\n\n const url = `${BASE_URL}/${id}`;\n\n const ajax = $.ajax({\n url,\n data,\n type: 'PUT',\n });\n\n return Promise.resolve(ajax);\n};\n\nconst remove = () => ({ id }) => {\n const url = `${BASE_URL}/${id}`;\n\n const ajax = $.ajax({\n url,\n type: 'DELETE',\n });\n\n return Promise.resolve(ajax);\n};\n\nconst get = () => (id) => {\n const url = `${BASE_URL}/${id}`;\n\n const ajax = $.ajax({\n url,\n type: 'GET',\n });\n\n return Promise.resolve(ajax);\n};\n\nfunction load(params, transformer) {\n const {\n slug,\n saved = false,\n page = 1,\n perPage = 10,\n } = params;\n\n const data = {\n strategy_slug: slug,\n per_page: perPage,\n saved,\n page,\n };\n\n const ajax = $.get(BASE_URL, data);\n\n return Promise.resolve(ajax)\n .then(response => ({\n searches: transformSearches(response.data, transformer),\n pagination: transformPagination(response.pagination),\n }));\n}\n\nconst loadSavedSearches = ({ slug, transformer }) => params => (\n load({\n ...params,\n slug,\n saved: true,\n }, transformer)\n);\n\nconst loadRecentSearches = ({ slug, transformer }) => params => (\n load({\n ...params,\n slug,\n saved: false,\n }, transformer)\n);\n\nexport default ({ slug, transformer }) => ({\n loadSavedSearches: loadSavedSearches({ slug, transformer }),\n loadRecentSearches: loadRecentSearches({ slug, transformer }),\n create: create({ slug }),\n save: save({ slug }),\n remove: remove({ slug }),\n get: get({ slug }),\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"default\":\"themes-module__default___3W9tN\",\"activeProgressStep\":\"themes-module__activeProgressStep___3ajYQ\",\"activeLabelDot\":\"themes-module__activeLabelDot___u7KZ9\",\"failedDot\":\"themes-module__failedDot___3ml3t\",\"light\":\"themes-module__light___3UwZ6\"};","import sortDirections from 'utils/constants/sortDirections';\n\nexport const SORT_RELEVANCE_ID = 'relevance';\nexport const SORT_RECENCY_ID = 'recency';\n\nexport const DEFAULT_SORT = {\n label: 'Relevance',\n value: SORT_RELEVANCE_ID,\n direction: sortDirections.DESC,\n};\n\nexport const SORT_OPTIONS = [\n DEFAULT_SORT,\n {\n label: 'Recency',\n value: SORT_RECENCY_ID,\n direction: sortDirections.DESC,\n },\n];\n\nexport const SORT_OPTIONS_WITH_DIRECTION = [\n { ...DEFAULT_SORT, label: `${DEFAULT_SORT.label} (A -> Z)`, direction: 'asc' },\n { ...DEFAULT_SORT, label: `${DEFAULT_SORT.label} (Z -> A)`, direction: 'desc' },\n];\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalContainer\":\"styles-module__modalContainer___3jtxK\",\"tooltipContent\":\"styles-module__tooltipContent___1pxf9\",\"tooltipTitle\":\"styles-module__tooltipTitle___2cgCp\",\"link\":\"styles-module__link___3AKma\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___drnso\",\"toRight\":\"styles-module__toRight___2yBpM\",\"toLeft\":\"styles-module__toLeft___30S21\",\"containerOpen\":\"styles-module__containerOpen___3lx1i\"};","import {\n BASE_TOOLTIP,\n BASE_GRID_LINES,\n BASE_TICK,\n BASE_OPTIONS,\n BASE_BORDER_TOP_GRID,\n BASE_BORDER_RIGHT_GRID,\n CHART_COLORS,\n} from 'utils/constants/charts';\n\nexport const FILL_START_COLOR = 'rgba(249, 5, 5, 0.5)';\nexport const FILL_END_COLOR = 'rgba(248, 223, 223, 0.46)';\nexport const BORDER_COLOR = '#ff0000';\n\nexport const CHART_OPTIONS = {\n ...BASE_OPTIONS,\n tooltips: BASE_TOOLTIP,\n elements: {\n point: {\n backgroundColor: CHART_COLORS.POINT_BACKGROUND_COLOR,\n radius: 4,\n },\n },\n scales: {\n xAxes: [\n {\n ticks: {\n ...BASE_TICK,\n padding: 4,\n maxTicksLimit: 12,\n maxRotation: 0,\n minRotation: 0,\n },\n gridLines: { display: false },\n },\n BASE_BORDER_TOP_GRID,\n ],\n yAxes: [\n {\n ticks: {\n ...BASE_TICK,\n padding: 4,\n precision: 0,\n maxTicksLimit: 5,\n min: 0,\n minStepSize: 1,\n },\n gridLines: BASE_GRID_LINES,\n },\n BASE_BORDER_RIGHT_GRID,\n ],\n },\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1Gwmc\",\"biographyItem\":\"styles-module__biographyItem___b1QR4\",\"biography\":\"styles-module__biography___2vyKT\",\"sectionTitle\":\"styles-module__sectionTitle___2VmNi\",\"sectionText\":\"styles-module__sectionText___24Toy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___yqfTf\",\"right\":\"styles-module__right___3mHvT\",\"button\":\"styles-module__button___3lzZO\",\"dataCard\":\"styles-module__dataCard___sEO7D\",\"placeholder\":\"styles-module__placeholder___gQxH3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2oWvn\",\"default\":\"styles-module__default___1rrmz\",\"rightIcon\":\"styles-module__rightIcon___UgNb8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___zgw_J\",\"titleContent\":\"styles-module__titleContent___2oTmJ\",\"headerTitle\":\"styles-module__headerTitle___ygC_Z\",\"colContent\":\"styles-module__colContent___15vma\",\"colText\":\"styles-module__colText___3tymn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumb\":\"styles-module__breadcrumb___3dr3r\",\"titleContainer\":\"styles-module__titleContainer____pJ5S\",\"title\":\"styles-module__title____tS19\",\"avatarPlaceholder\":\"styles-module__avatarPlaceholder___llJoO\",\"header\":\"styles-module__header___3KJr4\",\"fullWidth\":\"styles-module__fullWidth___3gtWH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___2L-9n\",\"medium\":\"styles-module__medium___8szy_\",\"header\":\"styles-module__header___2mofs\",\"placeholder\":\"styles-module__placeholder___J-7Nt\",\"progressBar\":\"styles-module__progressBar___38lu4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___3mN_R\",\"uppercase\":\"styles-module__uppercase___-H23m\",\"baseLink\":\"styles-module__baseLink___2P7rG\",\"linkBlack\":\"styles-module__linkBlack___8zYiL\",\"defaultCase\":\"styles-module__defaultCase___3lEgC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___1InZQ\",\"header\":\"styles-module__header___1G1fE\",\"body\":\"styles-module__body___3DYOf\",\"contentText\":\"styles-module__contentText___7tp3X\",\"textArea\":\"styles-module__textArea___3zJ6g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3hVgx\",\"isDisabled\":\"styles-module__isDisabled___1YGai\",\"button\":\"styles-module__button___1YIlj\",\"icon\":\"styles-module__icon___18JNa\",\"content\":\"styles-module__content___3g7p5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"newReply\":\"styles-module__newReply___M9A8p\",\"comment\":\"styles-module__comment___3ED6P\",\"container\":\"styles-module__container___ixCt0\",\"replies\":\"styles-module__replies___1InMR\",\"avatar\":\"styles-module__avatar___2AxTb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"viewMore\":\"styles-module__viewMore___3lu-f\",\"button\":\"styles-module__button___39X5R\",\"icon\":\"styles-module__icon___2fkKF\",\"whiteTheme\":\"styles-module__whiteTheme___3zjDP\",\"greyTheme\":\"styles-module__greyTheme___1AwYK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"styles-module__placeholder___gxWJ4\",\"labelGroup\":\"styles-module__labelGroup___38iZH\",\"labelParent\":\"styles-module__labelParent___3CYzh\",\"disabledItem\":\"styles-module__disabledItem___2Mpo-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"titleContainer\":\"styles-module__titleContainer___3C7dn\",\"avatar\":\"styles-module__avatar___1MTwA\",\"avatarTitleContainer\":\"styles-module__avatarTitleContainer___947lr\",\"fullWidthTitle\":\"styles-module__fullWidthTitle___3GRrK\",\"descriptionContainer\":\"styles-module__descriptionContainer___t_1tK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1CzPW\",\"header\":\"styles-module__header___1QqaI\",\"logoImage\":\"styles-module__logoImage___hGwmw\",\"currentDate\":\"styles-module__currentDate___1RddF\",\"title\":\"styles-module__title___3-xJv\",\"content\":\"styles-module__content___2Fw9w\",\"line\":\"styles-module__line___3T1A3\",\"contentTitle\":\"styles-module__contentTitle___1Qc4E\",\"contentText\":\"styles-module__contentText___nMzjT\",\"placeholder\":\"styles-module__placeholder___fsOWs\",\"shortPlaceholder\":\"styles-module__shortPlaceholder___LXfVf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___2lF6s\",\"leftSide\":\"styles-module__leftSide___A2kId\",\"count\":\"styles-module__count___9tacz\",\"button\":\"styles-module__button___cVjKg\",\"plusIcon\":\"styles-module__plusIcon___3IS7h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filter\":\"styles-module__filter___1YfUU\",\"title\":\"styles-module__title___1wgbm\",\"options\":\"styles-module__options___3TBBO\",\"option\":\"styles-module__option___2ioD8\",\"isActive\":\"styles-module__isActive___3CsdK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"article\":\"styles-module__article___qgzxO\",\"checkboxContainer\":\"styles-module__checkboxContainer___O7GnB\",\"checkbox\":\"styles-module__checkbox___2-lty\",\"content\":\"styles-module__content___FU8qX\",\"container\":\"styles-module__container___2VVfC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___2LltI\",\"baseOption\":\"styles-module__baseOption___1qYwh\",\"formBody\":\"styles-module__formBody___y4n1Z\",\"searchContainer\":\"styles-module__searchContainer___1YxkF\",\"clearAll\":\"styles-module__clearAll___1z3NV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3Oelv\",\"card\":\"styles-module__card___25fBl\",\"titleContainer\":\"styles-module__titleContainer___dHscj\",\"title\":\"styles-module__title___2zgCM\",\"cardWithSummary\":\"styles-module__cardWithSummary___iKTcW\",\"separator\":\"styles-module__separator___AbLC3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"exportModalTitle\":\"styles-module__exportModalTitle___35T-6\",\"exportModalContent\":\"styles-module__exportModalContent___3FlBZ\",\"buttons\":\"styles-module__buttons___1_Ik3\",\"modalActionBtn\":\"styles-module__modalActionBtn___1_OvF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2KF1M\",\"circle\":\"styles-module__circle___3u0gJ\",\"low\":\"styles-module__low___2dp1T\",\"medium\":\"styles-module__medium___3h5Il\",\"high\":\"styles-module__high___Gkhfe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___Jz6Ym\",\"formGroup\":\"styles-module__formGroup___vclQs\",\"tooltipLabel\":\"styles-module__tooltipLabel___3WTQX\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text } from '@react-pdf/renderer';\n\nimport { DEFAULT_TEXT_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n legislatorName: {\n color: DEFAULT_TEXT_COLOR,\n fontSize: 10,\n fontWeight: 300,\n },\n});\n\nfunction FooterName({ name }) {\n return (\n <Text style={styles.legislatorName}>{name}</Text>\n );\n}\n\nFooterName.propTypes = {\n name: PropTypes.string,\n};\n\nexport default FooterName;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BasePage, DocumentFooter, DocumentTitle } from 'components/core/ExportDocument';\n\nimport FooterName from './FooterName';\n\nfunction PageLayout({\n documentTitle,\n footerName,\n children,\n isEmptyData,\n logoUrl,\n isPageNumbersVisible,\n}) {\n if (isEmptyData) {\n return null;\n }\n\n return (\n <BasePage>\n <DocumentTitle title={documentTitle} logoUrl={logoUrl} />\n <DocumentFooter\n isPageNumbersVisible={isPageNumbersVisible}\n leftContent={<FooterName name={footerName} />}\n />\n {children}\n </BasePage>\n );\n}\n\nPageLayout.defaultProps = {\n documentTitle: 'Legislator Report',\n isPageNumbersVisible: true,\n};\n\nPageLayout.propTypes = {\n documentTitle: PropTypes.string,\n footerName: PropTypes.string,\n children: PropTypes.node,\n isEmptyData: PropTypes.bool,\n logoUrl: PropTypes.string,\n isPageNumbersVisible: PropTypes.bool,\n};\n\nexport default PageLayout;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { SECONDARY_LINE_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n billItem: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n borderBottomWidth: 1,\n borderBottomColor: SECONDARY_LINE_COLOR,\n paddingBottom: 4,\n marginBottom: 4,\n },\n billTitleSection: {\n flex: 2,\n },\n billStatusSection: {\n flex: 1,\n paddingLeft: 40,\n },\n billTitleText: {\n fontWeight: 500,\n fontSize: 11,\n },\n billDescriptionText: {\n fontSize: 11,\n },\n labelTitle: {\n paddingBottom: 10,\n },\n lineBottom: {\n paddingBottom: 10,\n borderBottomWidth: 1,\n borderBottomColor: SECONDARY_LINE_COLOR,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { View } from '@react-pdf/renderer';\n\nimport { LabelText, LabelTitle, LabelLink } from 'components/core/ExportDocument';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles';\n\nfunction LegislatorBills({ title, bills, style }) {\n const currentTitle = (\n <View fixed>\n <LabelTitle fixed label={title} style={styles.labelTitle} />\n </View>\n );\n\n if (isEmpty(bills)) {\n return (\n <View style={style}>\n {currentTitle}\n <LabelText style={styles.lineBottom} />\n </View>\n );\n }\n\n function getDescriptionItem(itemValue) {\n if (isEmpty(itemValue)) {\n return null;\n }\n\n return <LabelText textStyle={styles.billDescriptionText} value={itemValue} />;\n }\n\n function getBill(bill, index) {\n const { billId, billUrl, billTitle, status, sponsorName } = bill;\n\n if (isEmpty(billId)) {\n return null;\n }\n\n const currentSponsor = sponsorName ? `Sponsor: ${sponsorName}` : '';\n\n return (\n <View\n wrap={false}\n key={`bill-${title}-${index}`}\n className=\"legislator-bill\" style={styles.billItem}\n >\n <View style={styles.billTitleSection}>\n <LabelLink linkStyle={styles.billTitleText} value={billId} href={billUrl} />\n {getDescriptionItem(billTitle)}\n </View>\n\n <View style={styles.billStatusSection}>\n <LabelText\n textStyle={styles.billDescriptionText}\n value={`Status: ${status || EMPTY_VALUE}`}\n />\n {getDescriptionItem(currentSponsor)}\n </View>\n </View>\n );\n }\n\n return (\n <View style={style}>\n {currentTitle}\n {bills.map(getBill)}\n </View>\n );\n}\n\nLegislatorBills.propTypes = {\n title: PropTypes.string.isRequired,\n bills: PropTypes.array,\n style: PropTypes.object,\n};\n\nexport default LegislatorBills;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nconst styles = StyleSheet.create({\n tags: {\n display: 'flex',\n flexWrap: 'wrap',\n flexDirection: 'row',\n marginBottom: 5,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { View } from '@react-pdf/renderer';\n\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\n\nimport Tag from './components/Tag';\nimport styles from './styles';\n\nfunction Tags({ tags, style }) {\n if (isEmpty(tags)) {\n return null;\n }\n\n return (\n <View style={styles.tags}>\n {tags.map(tag => (\n <Tag style={style} key={tag.value}>\n {tag.label}\n </Tag>\n ))}\n </View>\n );\n}\n\nTags.propTypes = {\n tags: PropTypes.arrayOf(tagShape),\n style: PropTypes.objectOf(PropTypes.string, PropTypes.number),\n};\n\nexport default Tags;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { LABEL_FIELD_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n createdBy: {\n fontSize: 8,\n marginBottom: 10,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n fontWeight: 400,\n },\n\n label: {\n color: LABEL_FIELD_COLOR,\n fontSize: 8,\n fontWeight: 700,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { View, Text } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction CreatedBy({ createdBy }) {\n if (isEmpty(createdBy)) {\n return null;\n }\n\n return (\n <View style={styles.createdBy}>\n <Text style={styles.label}>Created by: </Text>\n <Text>{createdBy}</Text>\n </View>\n );\n}\n\nCreatedBy.propTypes = {\n createdBy: PropTypes.string,\n};\n\nexport default CreatedBy;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nconst styles = StyleSheet.create({\n creationDate: {\n fontSize: 8,\n fontWeight: 300,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction CreationDate({ children }) {\n return (\n <Text style={styles.creationDate}>\n {children}\n </Text>\n );\n}\n\nCreationDate.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default CreationDate;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { LABEL_FIELD_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n description: {\n color: LABEL_FIELD_COLOR,\n fontSize: 8,\n fontWeight: 'normal',\n marginBottom: 10,\n overflow: 'visible',\n },\n link: {\n color: 'black',\n fontSize: 8,\n textOverflow: 'wrap',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, Link } from '@react-pdf/renderer';\n\nimport { TextWithMentions } from 'components/core/TextareaWithMentions';\n\nimport styles from './styles';\n\nfunction Description({ children }) {\n const renderMention = (mention) => {\n const { url, trigger, label, text } = mention;\n\n if (!url) {\n return <Text>{text}</Text>;\n }\n\n return (\n <Link\n wrap\n src={url}\n style={styles.link}\n >\n {trigger}{label}\n </Link>\n );\n };\n\n return (\n <Text style={styles.description} wrap>\n <TextWithMentions renderMention={renderMention} isPDF>\n {children}\n </TextWithMentions>\n </Text>\n );\n}\n\nDescription.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Description;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { LABEL_FIELD_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n eventDate: {\n fontSize: 8,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n\n label: {\n color: LABEL_FIELD_COLOR,\n display: 'inline',\n fontSize: 8,\n fontWeight: 700,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { View, Text } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction EventDate({ eventDate }) {\n if (isEmpty(eventDate)) {\n return null;\n }\n\n return (\n <View style={styles.eventDate}>\n <Text style={styles.label}>Date of event: </Text>\n <Text>{eventDate}</Text>\n </View>\n );\n}\n\nEventDate.propTypes = {\n eventDate: PropTypes.string,\n};\n\nexport default EventDate;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { LABEL_FIELD_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n interactionType: {\n fontSize: 8,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n\n label: {\n color: LABEL_FIELD_COLOR,\n fontSize: 8,\n fontWeight: 700,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { INTERACTION_TYPES } from 'components/Grm2/constants';\nimport { View, Text } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction InteractionType({ interactionType }) {\n if (isEmpty(interactionType)) {\n return null;\n }\n\n const { label: text } = INTERACTION_TYPES.find(({ value }) => interactionType === value);\n\n return (\n <View style={styles.interactionType}>\n <Text style={styles.label}>Interaction type: </Text>\n <Text>{text}</Text>\n </View>\n );\n}\n\nInteractionType.propTypes = {\n interactionType: PropTypes.oneOf(INTERACTION_TYPES.map(({ value }) => value)),\n};\n\nexport default InteractionType;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LINK_COLOR,\n LABEL_FIELD_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n text: {\n color: LABEL_FIELD_COLOR,\n fontWeight: 400,\n fontSize: 8,\n },\n link: {\n color: DEFAULT_LINK_COLOR,\n fontWeight: 400,\n fontSize: 8,\n maxLines: 1,\n maxWidth: 300,\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n },\n indent: {\n marginLeft: 4,\n },\n label: {\n color: LABEL_FIELD_COLOR,\n fontSize: 8,\n fontWeight: 700,\n },\n container: {\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n },\n links: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View, Text, Link } from '@react-pdf/renderer';\nimport { size, map } from 'lodash';\n\nimport { isExternal, getUrlWithBase } from 'utils/url';\n\nimport styles from './styles';\n\nfunction ListLinks({ label, value }) {\n const makeLink = ({ label: linkLabel, value: linkValue }, index) => {\n if (!linkLabel) {\n return null;\n }\n\n if (!linkValue) {\n return <Text style={styles.link} key={`link-${linkLabel}`}>{linkLabel}</Text>;\n }\n\n const linksNumber = size(value);\n const isNotTheLastLink = linksNumber > 1 && index < linksNumber - 1;\n const shouldIndentLink = index === 0 && isNotTheLastLink;\n const url = isExternal(linkValue) ? linkValue : getUrlWithBase(linkValue);\n const linkIndentStyle = {\n ...styles.link,\n ...styles.indent,\n };\n\n return (\n <View style={styles.links} key={`link-${linkLabel}`}>\n <Link\n key={linkValue}\n style={shouldIndentLink ? linkIndentStyle : styles.link}\n src={url}\n >\n {linkLabel}\n </Link>\n {isNotTheLastLink && <Text style={styles.text}>, </Text>}\n </View>\n );\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.label}>{label}: </Text>\n <View style={styles.links}>\n {map(value, makeLink)}\n </View>\n </View>\n );\n}\n\nListLinks.propTypes = {\n label: PropTypes.string.isRequired,\n value: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })),\n};\n\nexport default ListLinks;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ListLinks from './components/ListLinks';\n\nfunction Links({ links }) {\n return (\n links.map(({ label, value }) => (\n <ListLinks\n key={label}\n label={label}\n value={value}\n />\n ))\n );\n}\n\nLinks.propTypes = {\n links: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })\n ),\n })\n ),\n};\n\nexport default Links;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nconst styles = StyleSheet.create({\n title: {\n fontSize: 10,\n fontWeight: 500,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\n// TODO: Truncate the text\n\nfunction Title({ children }) {\n return (\n <Text style={styles.title}>\n {children}\n </Text>\n );\n}\n\nTitle.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Title;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n ATTACHMENT_BACKGROUND_COLOR,\n ATTACHMENT_TEXT_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n attachments: {\n marginBottom: '19px',\n marginTop: '-5px',\n },\n\n file: {\n margin: '0 3px 3px 0',\n padding: '6px 8px',\n borderRadius: 3,\n backgroundColor: ATTACHMENT_BACKGROUND_COLOR,\n display: 'flex',\n flexDirection: 'row',\n },\n\n name: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n color: ATTACHMENT_TEXT_COLOR,\n fontSize: 11,\n },\n\n size: {\n whiteSpace: 'nowrap',\n fontSize: 11,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { formatBytes } from 'components/core/FileUpload/utils';\nimport { View, Text, Link } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction Attachments({ uploads }) {\n if (isEmpty(uploads)) {\n return null;\n }\n\n return (\n <View style={styles.attachments}>\n {uploads.map(({ file_upload_id: id, file_upload_url: url, name, size }) => (\n <View key={id} style={styles.file}>\n <Link src={url} style={styles.name}>\n {name}\n </Link >\n <Text style={styles.size}>\n  ({formatBytes(size)})\n </Text>\n </View>\n )).reverse()}\n </View>\n );\n}\n\nAttachments.propTypes = {\n uploads: PropTypes.array,\n};\n\nexport default Attachments;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nconst styles = StyleSheet.create({\n card: {\n marginBottom: 10,\n padding: 0,\n width: '100%',\n },\n\n subtitle: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n fontSize: 8,\n marginTop: 3,\n marginBottom: 5,\n },\n\n cardType: {\n fontWeight: 300,\n fontSize: 8,\n textTransform: 'uppercase',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View, Text } from '@react-pdf/renderer';\n\nimport { CARD_TYPES } from 'components/Grm2/constants';\nimport Tags from 'components/core/Profile/components/Export/components/Tags';\nimport { linkShape, tagShape } from 'components/Grm2/shapes';\n\nimport CreatedBy from '../CreatedBy';\nimport CreationDate from '../CreationDate';\nimport Description from '../Description';\nimport EventDate from '../EventDate';\nimport InteractionType from '../InteractionType';\nimport Links from '../Links';\nimport Title from '../Title';\nimport Attachments from '../Attachments';\n\nimport styles from './styles';\n\nfunction Card({\n title,\n eventDate,\n interactionType,\n createdBy,\n creationDate,\n description,\n tags,\n links,\n cardType,\n uploads,\n}) {\n const { label } = CARD_TYPES[cardType];\n\n return (\n <View style={styles.card}>\n <Title>{title}\n \n {`${label} - `}\n {creationDate}\n \n \n {description}\n \n \n \n \n \n \n \n \n );\n}\n\nCard.propTypes = {\n title: PropTypes.string.isRequired,\n eventDate: PropTypes.string,\n interactionType: PropTypes.string,\n createdBy: PropTypes.string.isRequired,\n creationDate: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n tags: PropTypes.arrayOf(tagShape).isRequired,\n links: PropTypes.arrayOf(linkShape).isRequired,\n cardType: PropTypes.oneOf(Object.keys(CARD_TYPES)),\n uploads: PropTypes.arrayOf(PropTypes.any).isRequired,\n};\n\nexport default Card;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Container from './components/Container';\n\nfunction Card({\n id,\n title,\n eventDate,\n interactionType,\n creationDate,\n createdBy,\n user,\n description,\n tags,\n links,\n customFieldsAnswers,\n cardType,\n uploads,\n}) {\n return (\n \n );\n}\n\nCard.propTypes = {\n id: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n creationDate: PropTypes.string.isRequired,\n createdBy: PropTypes.string.isRequired,\n eventDate: PropTypes.string,\n interactionType: PropTypes.string,\n user: PropTypes.object.isRequired,\n description: PropTypes.string.isRequired,\n tags: PropTypes.array.isRequired,\n links: PropTypes.array.isRequired,\n customFieldsAnswers: PropTypes.array.isRequired,\n cardType: PropTypes.string.isRequired,\n uploads: PropTypes.array.isRequired,\n};\n\nexport default Card;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, View, Text } from '@react-pdf/renderer';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { SectionTitle } from 'components/core/ExportDocument';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport Card from './components/Card';\n\nconst styles = StyleSheet.create({\n emptyPlaceholder: {\n textAlign: 'left',\n fontSize: 12,\n },\n});\n\nfunction YourActivity({ cards }) {\n const emptyPlaceholder = {EMPTY_VALUE};\n\n function renderCard(card = {}, index) {\n return ;\n }\n\n return (\n \n \n {isEmpty(cards)\n ? emptyPlaceholder\n : cards.map(renderCard)}\n \n );\n}\n\nYourActivity.propTypes = {\n cards: PropTypes.array,\n};\n\nexport default YourActivity;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { DEFAULT_TEXT_COLOR, DEFAULT_LINE_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n timelineContainer: {\n fontSize: 12,\n position: 'relative',\n color: DEFAULT_TEXT_COLOR,\n },\n timelineTitle: {\n fontWeight: 500,\n marginBottom: 10,\n },\n title: {\n fontWeight: 300,\n lineHeight: 1.4,\n },\n itemText: {\n maxWidth: 484,\n },\n timelineDash: {\n width: 27,\n borderTopWidth: 1,\n borderTopColor: DEFAULT_LINE_COLOR,\n },\n lastTimelineDash: {\n width: 28,\n },\n lastItem: {\n position: 'absolute',\n top: '100%',\n left: -1,\n marginBottom: 0,\n },\n itemInfo: {\n marginTop: -6,\n marginLeft: 4,\n },\n emptyText: {\n marginTop: 10,\n },\n timelineItem: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n marginBottom: 20,\n },\n timelineItemsContainer: {\n borderLeftWidth: 1,\n borderLeftColor: DEFAULT_LINE_COLOR,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isString, isEmpty } from 'lodash';\nimport { View, Text } from '@react-pdf/renderer';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles';\n\nfunction Timeline({ breakView, timeline, itemTextStyle }) {\n const timelineLength = timeline.length;\n\n function renderItem(item, index) {\n const { title, text } = item;\n const keyName = `timeline-${title}-${index}`;\n const isLast = index === timelineLength - 1;\n const itemStyles = [styles.timelineItem, isLast && styles.lastItem];\n const dashStyles = [styles.timelineDash, isLast && styles.lastTimelineDash];\n const itemTextStyles = [styles.itemText, itemTextStyle];\n\n if (isEmpty(title) || isEmpty(text)) {\n return null;\n }\n\n const titleComponent = isString(title)\n ? {title}\n : title;\n\n return (\n \n \n \n {titleComponent}\n {text}\n \n \n );\n }\n\n function renderTimelineItems() {\n if (isEmpty(timeline)) {\n return (\n \n {EMPTY_VALUE}\n \n );\n }\n\n if (timelineLength === 1) {\n const { title, text } = timeline[0];\n\n return (\n \n {title}\n {text}\n \n );\n }\n\n return (\n \n {timeline.map(renderItem)}\n \n );\n }\n\n return (\n \n Timeline\n {renderTimelineItems()}\n \n );\n}\n\nTimeline.propTypes = {\n breakView: PropTypes.bool,\n itemTextStyle: PropTypes.object,\n timeline: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.node,\n text: PropTypes.string,\n })),\n};\n\nexport default Timeline;\n","export { default as ProfilePageLayout } from './PageLayout';\nexport { default as LegislatorBills } from './LegislatorBills';\nexport { default as YourActivity } from './YourActivity';\nexport { default as Timeline } from './Timeline';\n","import PropTypes from 'prop-types';\n\nexport const tableColumnShape = PropTypes.shape({\n allowToggle: PropTypes.bool,\n keyName: PropTypes.string,\n label: PropTypes.string,\n sortingKey: PropTypes.string,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { priorities } from 'components/core/PriorityTooltip/constants';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport styles from './styles.module.scss';\n\nexport function getPriority(priority) {\n const { label, icon } = priorities[priority] || priorities.no_priority;\n\n return {\n id: priority,\n label,\n icon,\n iconColor: styles[priority],\n };\n}\n\nfunction PriorityButton({\n isDisabled,\n isLoading,\n priority,\n customLabel,\n className,\n iconClassName,\n loaderClassName,\n onClick,\n}) {\n const { label, icon, iconColor } = getPriority(priority);\n\n function handleClick() {\n onClick && onClick(priority);\n }\n\n return (\n }\n disabled={isDisabled || isLoading}\n onClick={handleClick}\n theme=\"light\"\n iconClassName={classNames(iconColor, iconClassName)}\n className={className}\n >\n {isLoading && }\n {customLabel || label}\n \n );\n}\n\nPriorityButton.propTypes = {\n isDisabled: PropTypes.bool,\n isLoading: PropTypes.bool,\n priority: PropTypes.oneOf(Object.keys(priorities)),\n customLabel: PropTypes.string,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n loaderClassName: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default PriorityButton;\n","export const formattingTypes = {\n phone: 'PHONE',\n email: 'EMAIL',\n internalLink: 'INTERNAL_LINK',\n externalLink: 'EXTERNAL_LINK',\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport { isMyFeed } from 'components/Dashboard/utils';\nimport { BASE_URL } from 'components/Dashboard/utils/constants';\n\nexport const shouldShowTile = (isTracking, subscriptions) => (\n isTracking || !isEmpty(subscriptions)\n);\n\nexport const getTileUrl = token => (\n isMyFeed(token) ? BASE_URL : `${BASE_URL}/workspaces/${token}`\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"transitionCaret\":\"styles-module__transitionCaret___2RXG3\",\"rotateCaret\":\"styles-module__rotateCaret___3arTT\",\"disabled\":\"styles-module__disabled___150ub\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapStyles\":\"styles-module__mapStyles___1vUoo\",\"tooltipContainer\":\"styles-module__tooltipContainer___MB-nf\",\"noMargin\":\"styles-module__noMargin___3kd6O\"};","import { some, get } from 'lodash';\n\nconst someSubscriptionAttribute = attribute => ({ subscription, subscriptions }) => (\n get(subscription, attribute) || some(subscriptions, attribute)\n);\n\nexport const getIsTracking = trackings => some(\n trackings,\n someSubscriptionAttribute('isTracking')\n);\n\nexport const getSendWeekAheadEmail = trackings => some(\n trackings,\n someSubscriptionAttribute('sendWeekAheadEmail')\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scrollable\":\"styles-module__scrollable___2qAcz\",\"chartContainer\":\"styles-module__chartContainer___3rhGm\",\"exportGraph\":\"styles-module__exportGraph___3sjBV\"};","export const MENTIONS_BASE_URL = '/news/mention';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"noSubscriptionWarning\":\"styles-module__noSubscriptionWarning___nTOKz\",\"stakeholders\":\"styles-module__stakeholders___2yZcR\",\"title\":\"styles-module__title___2zs0S\",\"lookupLink\":\"styles-module__lookupLink___5KH0M\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/Moneyball/common/Link';\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport styles from '../styles.module.scss';\n\nexport default function ErrorPdf({ originalSourceUrl }) {\n const reportIssueLink = (\n \n report an issue.\n \n );\n\n const originalSourceLink = (\n \n here\n \n );\n\n const description = (\n <>\n There was an issue loading the original filing (.pdf). Please try again later, or {reportIssueLink}\n
\n {originalSourceUrl && (\n
\n Click {originalSourceLink} to view the original source\n
\n )}\n \n );\n\n return (\n
\n \n
\n );\n}\n\nErrorPdf.propTypes = {\n originalSourceUrl: PropTypes.string,\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Placeholder from './Placeholder';\nimport ErrorPdf from './ErrorPdf';\n\nimport styles from '../styles.module.scss';\n\nexport default function Iframe({ sourceType, link, iframeClass, originalSourceUrl }) {\n const [withIframe, setWithIframe] = useState(null);\n const ajax = () => $.ajax({\n // TODO: type options will set always withIframe true, investigate later\n type: sourceType === 'IRS' ? 'OPTIONS' : 'GET',\n url: link,\n });\n\n useEffect(() => {\n Promise.resolve(ajax())\n .then(() => setWithIframe(true))\n .catch(() => setWithIframe(false));\n }, []);\n\n if (withIframe === false) return ;\n\n return (\n <>\n \n \n \n );\n}\n\nIframe.propTypes = {\n link: PropTypes.string.isRequired,\n sourceType: PropTypes.string,\n iframeClass: PropTypes.string,\n originalSourceUrl: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Placeholder from './components/Placeholder';\nimport ErrorPdf from './components/ErrorPdf';\nimport Iframe from './components/Iframe';\nimport styles from './styles.module.scss';\n\nexport default function PDF({\n link,\n isLoading,\n hasPdf,\n sourceType,\n containerClass,\n iframeClass,\n originalSourceUrl,\n}) {\n const renderWithContainer = node => (\n
{node}
\n );\n\n if (isLoading) return renderWithContainer();\n if (!hasPdf) return renderWithContainer();\n\n return renderWithContainer(\n \n );\n}\n\nPDF.propTypes = {\n link: PropTypes.string,\n isLoading: PropTypes.bool,\n hasPdf: PropTypes.bool,\n containerClass: PropTypes.string,\n iframeClass: PropTypes.string,\n originalSourceUrl: PropTypes.string,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___mHMRa\",\"mobileItem\":\"styles-module__mobileItem___21h1M\",\"title\":\"styles-module__title___2HtZ8\",\"description\":\"styles-module__description___1fY_v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fixedContainer\":\"styles-module__fixedContainer___2AIAP\",\"fakeBanner\":\"styles-module__fakeBanner___1ZZv2\",\"stickyContainer\":\"styles-module__stickyContainer___13qf2\",\"stickyContent\":\"styles-module__stickyContent___-RsOd\",\"titles\":\"styles-module__titles___jOnGI\",\"tabsContent\":\"styles-module__tabsContent___3eeUX\",\"itemButton\":\"styles-module__itemButton___10fKs\",\"itemTitle\":\"styles-module__itemTitle___4qEyw\",\"itemDescription\":\"styles-module__itemDescription___3EIcB\",\"greyLayoutBg\":\"styles-module__greyLayoutBg___ngUK_\",\"activeButton\":\"styles-module__activeButton___3bi0X\",\"sectionMaxWidth\":\"styles-module__sectionMaxWidth___3lo48\",\"item\":\"styles-module__item___Xr0Ls\",\"title\":\"styles-module__title___1nDrN\",\"description\":\"styles-module__description___2we8L\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"collapsing\":\"styles-module__collapsing___rN6xw\",\"collapse\":\"styles-module__collapse___1vP2r\",\"show\":\"styles-module__show___N5CxL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"orange8\":\"#ff9161\",\"orange11\":\"#ffbd6a\",\"green5\":\"#2dd599\",\"green8\":\"#02c7c8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatar\":\"styles-module__avatar___3OlOF\",\"photo\":\"styles-module__photo___2EFxy\",\"icon\":\"styles-module__icon___Smth0\",\"clickable\":\"styles-module__clickable___2pS7O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"emptyPlaceholder\":\"styles-module__emptyPlaceholder___25eo5\",\"icon\":\"styles-module__icon___1c62P\",\"title\":\"styles-module__title___lnc7Q\",\"description\":\"styles-module__description___1TBRq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabsNavigation\":\"styles-module__tabsNavigation___3wPPW\",\"button\":\"styles-module__button___3rqlZ\",\"active\":\"styles-module__active___3moVu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1rBxG\",\"helpOption\":\"styles-module__helpOption___1ogG5\",\"externalLinkIcon\":\"styles-module__externalLinkIcon___1gmkE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___32bpj\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___X7Ikk\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___Ot2tI\",\"trigger\":\"styles-module__trigger___1pKCW\",\"helpButton\":\"styles-module__helpButton___2-0E-\",\"questionMarkIcon\":\"styles-module__questionMarkIcon___INq2w\",\"menuTooltip\":\"styles-module__menuTooltip___3HCYh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___KJzKD\",\"left\":\"styles-module__left___mQfmp\",\"right\":\"styles-module__right___2tbwT\",\"input\":\"styles-module__input___QxYBk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3JN0g\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___25iEu\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3Z7Dk\",\"header\":\"styles-module__header___3HohK\",\"title\":\"styles-module__title___1yqCV\",\"back\":\"styles-module__back___3ekxo\",\"close\":\"styles-module__close___2jYkM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3_Swa\",\"link\":\"styles-module__link___uZTXT\",\"placeholder\":\"styles-module__placeholder___D4WFU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnGroup\":\"styles-module__btnGroup___3KUmO\",\"active\":\"styles-module__active___1QtXj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"itemPlaceholder\":\"styles-module__itemPlaceholder___1IcOe\",\"infoSection\":\"styles-module__infoSection___sHn7w\",\"title\":\"styles-module__title___1GLt6\",\"button\":\"styles-module__button___15u4S\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"styles-module__placeholder___2s5j5\",\"labelGroup\":\"styles-module__labelGroup___3DDWR\",\"labelParent\":\"styles-module__labelParent___367Tj\",\"option\":\"styles-module__option___2y8z7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___tyOhb\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2cIGi\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___29l3u\",\"container\":\"styles-module__container___PNjST\",\"productButton\":\"styles-module__productButton___19XnQ\",\"active\":\"styles-module__active___1Qe-0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"titleInput\":\"styles-module__titleInput___3w7Cw\",\"disabled\":\"styles-module__disabled___23fzq\",\"wrapper\":\"styles-module__wrapper___2Ck2m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles-module__wrapper___2RB49\",\"highlighted\":\"styles-module__highlighted___36YXi\",\"column\":\"styles-module__column___2Z8pv\",\"columnContent\":\"styles-module__columnContent___2zqn9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___1_lbn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legend\":\"styles-module__legend___2E-cP\",\"header\":\"styles-module__header___UXU6-\",\"inSenate\":\"styles-module__inSenate___11CVW\",\"inHouse\":\"styles-module__inHouse___1-NWS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1qUZK\",\"badgesContainer\":\"styles-module__badgesContainer___1A5wA\",\"badges\":\"styles-module__badges___1Ol95\",\"callToActions\":\"styles-module__callToActions___1MC5P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"divider\":\"styles-module__divider___2Tzd9\",\"container\":\"styles-module__container___1BKEI\",\"flexItem\":\"styles-module__flexItem___2BVqi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipNode\":\"styles-module__tooltipNode___3hkiy\",\"list\":\"styles-module__list___nKV_m\",\"sortOptionButton\":\"styles-module__sortOptionButton___Twam9\",\"isSelected\":\"styles-module__isSelected___2SZR1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___1TS-e\",\"tableContainer\":\"styles-module__tableContainer___1y5Oq\",\"tableColumn\":\"styles-module__tableColumn___1KbVU\",\"tableContent\":\"styles-module__tableContent___RIscB\",\"fixedHeight\":\"styles-module__fixedHeight___8GmjZ\",\"lastActionColumn\":\"styles-module__lastActionColumn___2Pnr1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___Yc5BZ\",\"tableContainer\":\"styles-module__tableContainer___1747Q\",\"tableColumn\":\"styles-module__tableColumn___1YJJx\",\"tableContent\":\"styles-module__tableContent___WjzwI\",\"fixedHeight\":\"styles-module__fixedHeight___qlxXw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"viewBiography\":\"styles-module__viewBiography___2LKxE\",\"modalTrigger\":\"styles-module__modalTrigger___1ARqa\",\"modal\":\"styles-module__modal___1cEaF\",\"modalBody\":\"styles-module__modalBody___2ldVK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"receipts\":\"styles-module__receipts___3eOpD\",\"disabled\":\"styles-module__disabled___2fd90\",\"tooltip\":\"styles-module__tooltip___5M0Fj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"emptyCustomFieldsLink\":\"styles-module__emptyCustomFieldsLink___1xFAc\",\"text\":\"styles-module__text___I_eCh\",\"wrapper\":\"styles-module__wrapper___3VKCK\",\"emptyPlaceholder\":\"styles-module__emptyPlaceholder___37Kf1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___lvwww\",\"icon\":\"styles-module__icon___3I4TE\",\"saved\":\"styles-module__saved___Gbfqv\",\"label\":\"styles-module__label___2gVIj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2WE3e\",\"icon\":\"styles-module__icon___2BjK8\",\"saved\":\"styles-module__saved___2oHbc\",\"label\":\"styles-module__label___2VuNx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subItems\":\"styles-module__subItems___dd4k9\",\"title\":\"styles-module__title___2Ao9t\",\"item\":\"styles-module__item___21hB0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1GZ1H\",\"position\":\"styles-module__position___1PTmx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3nYbH\",\"tableContainer\":\"styles-module__tableContainer___W9lW6\",\"tableContent\":\"styles-module__tableContent___rfm3p\",\"fixedHeight\":\"styles-module__fixedHeight___Qg4Qg\",\"totalText\":\"styles-module__totalText___2HzB9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___26mkN\",\"fileData\":\"styles-module__fileData___2uP3_\",\"fileName\":\"styles-module__fileName___2wZ6p\",\"removeFile\":\"styles-module__removeFile___2GgAB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legend\":\"styles-module__legend___1AIMi\",\"item\":\"styles-module__item___2dpqw\"};","import {\n isEmpty,\n isEqual,\n isBoolean,\n isArray,\n omit,\n keys,\n xorWith,\n} from 'lodash';\n\nfunction countOptionFilters(option, emptyOption) {\n if (isEqual(option, emptyOption)) {\n return 0;\n }\n\n if (isArray(option)) {\n if (isEmpty(xorWith(option, emptyOption))) {\n return 0;\n }\n }\n\n return 1;\n}\n\nexport function getAppliedFiltersLength(appliedFilters = {}, emptyState = {}) {\n const { options: appliedFiltersOptions } = appliedFilters;\n const { options: emptyStateOptions, omit: omitOptions = [] } = emptyState;\n const propsToOmit = omitOptions.concat(['searchValue']);\n const remainingAppliedFiltersOptions = omit(appliedFiltersOptions, propsToOmit);\n const remainingEmptyStateOptions = omit(emptyStateOptions, propsToOmit);\n\n if (isEmpty(remainingAppliedFiltersOptions)\n || isEmpty(remainingEmptyStateOptions)\n || isEqual(remainingAppliedFiltersOptions, remainingEmptyStateOptions)) {\n return 0;\n }\n\n return keys(remainingAppliedFiltersOptions)\n .map(key => countOptionFilters(\n remainingAppliedFiltersOptions[key],\n remainingEmptyStateOptions[key]\n ))\n .reduce((sum, current) => sum + current, 0);\n}\n\nexport function areValuesChanged(optionValues, emptyState = {}, searchValue) {\n return (\n !isEmpty(optionValues)\n && !isEqual(optionValues, emptyState.options)\n ) || !isEmpty(searchValue);\n}\n\nexport function getChangedValue(key, value, emptyValues = {}) {\n const isChanged = value !== emptyValues[key];\n if ((isBoolean(value) || !isEmpty(value)) && isChanged) {\n return { [key]: value };\n }\n\n return { [key]: emptyValues[key] };\n}\n","import React, { useState } from 'react';\nimport isFunction from 'lodash/isFunction';\n\nimport Notifications from 'components/core/ExportDocument/components/ExportModal/utils/Notifications';\n\nimport { downloadReactPdfDocument } from './index';\n\nfunction useExportPDFDocument({\n documentComponent,\n fetchComponentData,\n fileName,\n onFileExported,\n limitExceedProps,\n trackingActions,\n onNotifySuccess,\n onNotifyFailure,\n}) {\n const [isDocumentLoading, setIsDocumentLoading] = useState(false);\n const { limit, selectedItemsLength, onLimitExceedError, onLimitExceedInfo } = limitExceedProps || {};\n const { trackGeneratedExport } = trackingActions || {};\n\n function handleExportFail(error) {\n setIsDocumentLoading(false);\n isFunction(onNotifyFailure) ? onNotifyFailure() : Notifications.errorApi();\n throw error;\n }\n\n function handleExportSuccess() {\n setIsDocumentLoading(false);\n onFileExported && onFileExported();\n onNotifySuccess && onNotifySuccess();\n }\n\n function onFetchData(documentData) {\n const dataDocument = React.cloneElement(documentComponent, documentData);\n\n return downloadReactPdfDocument(dataDocument, fileName);\n }\n\n function handleExport(...args) {\n const [{\n logoUrl,\n displayingProps,\n documentSummary,\n sections,\n fileFormat,\n customization,\n isPageNumbersVisible,\n }] = args;\n\n if (selectedItemsLength > limit && onLimitExceedInfo) {\n onLimitExceedInfo(limit);\n }\n\n if (selectedItemsLength > limit && onLimitExceedError) {\n return onLimitExceedError(limit);\n }\n\n setIsDocumentLoading(true);\n\n trackGeneratedExport && trackGeneratedExport({ sections, fileFormat, customization });\n\n if (isFunction(fetchComponentData)) {\n return fetchComponentData(...args)\n .then(response => onFetchData({\n logoUrl,\n displayingProps,\n documentSummary,\n isPageNumbersVisible,\n ...response,\n }))\n .then(handleExportSuccess)\n .catch(handleExportFail);\n }\n\n return onFetchData({ logoUrl, displayingProps, documentSummary })\n .then(handleExportSuccess)\n .catch(handleExportFail);\n }\n\n return {\n isDocumentLoading,\n onExport: handleExport,\n };\n}\n\nexport default useExportPDFDocument;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash/isFunction';\nimport classNames from 'classnames';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction InfoTab({ label, value, renderValue, className }) {\n if (isFunction(renderValue)) {\n return (\n <>\n

{label}

\n {renderValue()}\n \n );\n }\n\n return (\n <>\n

{label}

\n

{value || EMPTY_VALUE}

\n \n );\n}\n\nInfoTab.propTypes = {\n label: PropTypes.string.isRequired,\n value: PropTypes.string,\n renderValue: PropTypes.func,\n className: PropTypes.string,\n};\n\nexport default InfoTab;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ViewTags from 'components/core/ViewTags';\nimport { Column } from 'components/core/Table';\nimport { SIZES as TAG_SIZES } from 'components/core/ViewTags/constants';\n\nimport { itemShape } from '../utils/shapes';\nimport styles from '../AddedToItem/styles.module.scss';\n\nfunction TagsItem({\n isColumn,\n keyName,\n item,\n isLoading,\n className,\n onChangeFilter,\n}) {\n const { tags = [] } = item || {};\n\n const onChange = (tag) => {\n onChangeFilter && onChangeFilter('tags', [tag]);\n };\n\n const renderItems = () => (\n
\n \n
\n );\n\n if (!isColumn) {\n return renderItems();\n }\n\n return (\n \n {renderItems}\n \n );\n}\n\nTagsItem.defaultProps = {\n isColumn: true,\n};\n\nTagsItem.propTypes = {\n isColumn: PropTypes.bool,\n keyName: PropTypes.string,\n item: itemShape,\n isLoading: PropTypes.bool,\n className: PropTypes.string,\n onChangeFilter: PropTypes.func,\n};\n\nexport default TagsItem;\n","import { useEffect, useState } from 'react';\nimport { pick, omit, join, omitBy, keys } from 'lodash';\n\nimport { queryParse, queryStringify } from 'utils/query-string';\n\nimport { SEARCH_PARAMS } from './constants';\n\nexport default function useSearchParams({\n sortDirection,\n sortColumn,\n currentPage,\n lastSearchId,\n history = window.history,\n location = window.location,\n initialQuery = '',\n}) {\n const [queryString, setQueryString] = useState(initialQuery);\n\n const getUrlParams = () => {\n const { search } = location;\n\n return queryParse(search);\n };\n\n const getSearchParams = () => {\n const allParams = getUrlParams();\n\n return pick(allParams, SEARCH_PARAMS);\n };\n\n const updateSearchParams = (params, paramsToRemove = []) => {\n const { pathname } = location;\n const validParams = omitBy(params, param => !param);\n const invalidParamsKeys = keys(omitBy(params, param => !!param));\n const currentValidParams = omit(getUrlParams(), invalidParamsKeys);\n\n const searchParams = omit({ ...currentValidParams, ...validParams }, paramsToRemove);\n const query = queryStringify(searchParams);\n const path = join([pathname, query], query ? '?' : '');\n\n setQueryString(query);\n history.replaceState({ path }, null, path);\n };\n\n const handleSearchChange = (search) => {\n updateSearchParams({ search });\n };\n\n const handleSearchIdChange = (searchId) => {\n updateSearchParams({ searchId });\n };\n\n const handleReset = () => updateSearchParams({}, SEARCH_PARAMS);\n\n const clearParams = params => updateSearchParams({}, params);\n\n useEffect(() => {\n updateSearchParams({ sort: sortColumn });\n }, [sortColumn]);\n\n useEffect(() => {\n updateSearchParams({ direction: sortDirection });\n }, [sortDirection]);\n\n useEffect(() => {\n updateSearchParams({ page: currentPage });\n }, [currentPage]);\n\n useEffect(() => {\n handleSearchIdChange(lastSearchId);\n }, [lastSearchId]);\n\n return {\n getSearchParams,\n handleReset,\n handleSearchChange,\n handleSearchIdChange,\n updateSearchParams,\n queryString,\n clearParams,\n };\n}\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst error = message => addNotification({ message, level: 'error' });\nconst success = message => addNotification({ message, level: 'success' });\n\nexport default class Notifications {\n static getEventsFailed = () => error('Could not load events. Please try again.');\n static getCalendarDataFailed = () => error('Could not load calendar. Please try again.');\n static exportEventSuccess = () => success('Data has been exported successfully.');\n static exportEventFailed = () => error('Data export failed. Please try again.');\n}\n","import constants from './constants';\n\nexport const titles = {\n [constants.FEDERAL]: 'Federal Hearings Calendar',\n [constants.STATE]: 'State Hearings Calendar',\n};\n","import { useEffect, useState } from 'react';\nimport moment from 'moment';\n\nimport {\n TWITTER,\n FACEBOOK,\n EMAIL_ID,\n} from 'utils/constants/socialMedia';\nimport {\n getFacebookDescriptionLink,\n getMailLink,\n getTwitterLink,\n} from 'utils/socialMedia/links';\nimport { trackHearingShared } from 'utils/tracking';\n\nfunction useShare(isShareModalOpen, selectedEvent, checkedEvents) {\n const [shareOption, setShareOption] = useState();\n\n useEffect(() => {\n /** Reset default share option */\n !isShareModalOpen && setShareOption(TWITTER);\n }, [isShareModalOpen]);\n\n function handleChangeShareItem(event) {\n setShareOption(event.target.value);\n }\n\n function getShareMessage({ title, location, scheduledDate, committeeName, url }) {\n return `\n ${committeeName ? `Hearing: ${committeeName}` : ''}\n Title: ${title}\n Time: ${moment(scheduledDate).format('DD-MM-YYYY hh:mm A')}\n Location: ${location || 'See website for location'}\n Link: ${url}\n `;\n }\n\n function handleShareSubmit() {\n const event = selectedEvent || checkedEvents[0];\n const shareMessage = encodeURI(getShareMessage(event));\n\n if (shareOption === FACEBOOK) {\n window.open(getFacebookDescriptionLink(event.url, shareMessage));\n }\n\n if (shareOption === TWITTER) {\n window.open(getTwitterLink(shareMessage));\n }\n\n if (shareOption === EMAIL_ID) {\n window.open(getMailLink(shareMessage));\n }\n\n trackHearingShared({ type: shareOption });\n }\n\n return {\n handleChangeShareItem,\n handleShareSubmit,\n };\n}\n\nexport default useShare;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from 'components/core/Modal';\nimport LabelGroup from 'components/core/LabelGroup';\nimport RadioBox from 'components/core/RadioBox';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport withCalendar from 'components/core/HearingCalendars/utils/withCalendar';\nimport { EMAIL_ID, FACEBOOK, TWITTER } from 'utils/constants/socialMedia';\n\nimport useShare from './useShare';\nimport styles from '../styles.module.scss';\n\nfunction Share({\n items,\n selectedEvent,\n checkedEvents,\n isShareModalOpen,\n isLoading,\n toggleShareModal,\n}) {\n const {\n handleShareSubmit,\n handleChangeShareItem,\n } = useShare(isShareModalOpen, selectedEvent, checkedEvents);\n\n if (!isShareModalOpen) {\n return null;\n }\n\n const shareActions = (\n \n \n Cancel\n \n\n \n \n {isLoading\n ? \n : Share}\n \n \n \n );\n\n return (\n \n

How would you like to share { checkedEvents.length === 1 ? 'this item' : 'these items' }?

\n\n \n {items.map((item, index) => (\n \n ))}\n \n \n );\n}\n\nShare.defaultProps = {\n items: [\n { label: 'Facebook', value: FACEBOOK, defaultChecked: false },\n { label: 'Twitter', value: TWITTER, defaultChecked: true },\n { label: 'Email', value: EMAIL_ID, defaultChecked: false },\n ],\n};\n\nShare.propTypes = {\n items: PropTypes.array,\n selectedEvent: PropTypes.object,\n isShareModalOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n checkedEvents: PropTypes.array.isRequired,\n toggleShareModal: PropTypes.func.isRequired,\n};\n\nexport default withCalendar(Share);\n","import { useEffect } from 'react';\n\nimport { toggleActionsOffset } from 'utils/freshchat';\n\nfunction useActionFooter({ checkedEvents }) {\n const isPresentSelectedItems = checkedEvents.length > 0;\n const onlyOneEventSelected = checkedEvents.length === 1;\n const checkedEventsFirstItem = checkedEvents[0];\n\n useEffect(() => {\n toggleActionsOffset(isPresentSelectedItems);\n }, [isPresentSelectedItems]);\n\n return {\n isPresentSelectedItems,\n onlyOneEventSelected,\n checkedEventsFirstItem,\n };\n}\n\nexport default useActionFooter;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ActionBar from 'components/core/ActionBar';\nimport Link from 'components/core/Link';\nimport Button from 'components/core/Button';\nimport withCalendar from 'components/core/HearingCalendars/utils/withCalendar';\n\nimport useActionFooter from './useActionFooter';\nimport styles from './styles.module.scss';\n\nfunction FooterActions({\n checkedEvents,\n description,\n onClearAllEvents,\n toggleExportModal,\n toggleShareModal,\n isFixed,\n}) {\n const {\n isPresentSelectedItems,\n onlyOneEventSelected,\n checkedEventsFirstItem,\n } = useActionFooter({ checkedEvents });\n\n const btnProps = {\n theme: 'light',\n size: 'medium',\n };\n\n function handleToggleExportModal() {\n toggleExportModal();\n }\n\n function handleToggleShareModal() {\n toggleShareModal();\n }\n\n return isPresentSelectedItems && (\n \n \n Clear\n \n\n {onlyOneEventSelected && (\n <>\n }\n >\n View\n \n }\n >\n Add to Calendar\n \n \n )}\n\n \n Export\n \n\n {onlyOneEventSelected && (\n \n Share\n \n )}\n \n );\n}\n\nFooterActions.defaultProps = {\n description: {\n default: 'Select your actions',\n desktop: 'Select item(s) and choose action',\n },\n isFixed: true,\n};\n\nFooterActions.propTypes = {\n description: PropTypes.object,\n checkedEvents: PropTypes.array.isRequired,\n onClearAllEvents: PropTypes.func.isRequired,\n toggleExportModal: PropTypes.func.isRequired,\n toggleShareModal: PropTypes.func.isRequired,\n isFixed: PropTypes.bool,\n};\n\nexport default withCalendar(FooterActions);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport {\n trackHearingVisited,\n trackHearingAddedToCalendar,\n} from 'utils/tracking/intel';\n\nimport styles from './styles.module.scss';\n\nfunction TooltipContent({ event, toggleExportModal, toggleShareModal }) {\n const {\n addToCalendarUrl,\n url,\n } = event || {};\n\n function handleToggleExportModal() {\n toggleExportModal(event);\n }\n\n function handleToggleShareModal() {\n toggleShareModal(event);\n }\n\n function handleTrackHearingVisited() {\n trackHearingVisited({ menu: 'dropdown' });\n }\n\n return (\n
\n }\n onClick={handleTrackHearingVisited}\n className=\"hearing-view\"\n displayExternalIcon={false}\n isExternal\n >\n View\n \n }\n onClick={trackHearingAddedToCalendar}\n className=\"hearing-add-to-calendar\"\n displayExternalIcon={false}\n isExternal\n >\n Add to calendar\n \n \n Export\n \n \n Share\n \n
\n );\n}\n\nTooltipContent.propTypes = {\n event: PropTypes.object.isRequired,\n toggleExportModal: PropTypes.func.isRequired,\n toggleShareModal: PropTypes.func.isRequired,\n};\n\nexport default TooltipContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport moment from 'moment';\n\nimport constants from 'components/core/HearingCalendars/utils/constants';\nimport { EASTERN_TIME_ABBREVIATION } from 'utils/constants/date';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport Badge from 'components/core/Badge';\n\nimport styles from './styles.module.scss';\n\nfunction BadgeInfo({ committeeType, scheduledDate }) {\n const { isTablet } = useMediaQuery();\n const withCommitteeType = Boolean(committeeType);\n const isSenateCommittee = committeeType === constants.SENATE_COMMITTEE;\n const committeeBadgeStyle = isSenateCommittee\n ? styles.senateBadge\n : styles.houseBadge;\n\n const momentDate = moment(scheduledDate);\n const isPastDate = momentDate.isBefore();\n const day = momentDate.format('ddd');\n const dateAndMonth = momentDate.format('MMMM D');\n const time = momentDate.format('h:mm a');\n\n return (\n
\n
\n {time && (\n \n {time} {EASTERN_TIME_ABBREVIATION}\n \n )}\n\n {(isTablet && dateAndMonth) && (\n \n {day}, {dateAndMonth}\n \n )}\n
\n\n
\n {(isTablet && isPastDate) && (\n \n Archived\n \n )}\n {withCommitteeType && (\n
\n {isSenateCommittee ? 'S' : 'H'}\n
\n )}\n
\n
\n );\n}\n\nBadgeInfo.propTypes = {\n scheduledDate: PropTypes.string.isRequired,\n committeeType: PropTypes.oneOf([\n constants.SENATE_COMMITTEE,\n constants.HOUSE_COMMITTEE,\n constants.JOINT_COMMITTEE,\n ]),\n};\n\nexport default BadgeInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport { isEmpty, map, size } from 'lodash';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction Bills({ bills }) {\n if (isEmpty(bills)) {\n return null;\n }\n\n return (\n

\n Bills:\n {map(bills, ({ id, title, billNumber, url }, index) => {\n const withComma = index !== size(bills) - 1;\n\n return (\n \n \n \n {billNumber}{withComma && ','}\n \n \n \n );\n })}\n

\n );\n}\n\nBills.propTypes = {\n bills: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n url: PropTypes.string.isRequired,\n })),\n};\n\nexport default Bills;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { join, filter } from 'lodash';\n\nimport CardGroup from 'components/core/CardGroup';\nimport withCalendar from 'components/core/HearingCalendars/utils/withCalendar';\nimport { eventShape } from 'components/core/HearingCalendars/utils/shapes';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport {\n trackHearingsCommitteeVisited,\n trackHearingVisited,\n} from 'utils/tracking/intel';\n\nimport TooltipContent from './TooltipContent';\nimport BadgeInfo from './BadgeInfo';\nimport Bills from './Bills';\nimport styles from '../styles.module.scss';\n\nfunction Event({\n event,\n checkedEvents,\n onCheckSelectedEvent,\n toggleExportModal,\n toggleShareModal,\n}) {\n const {\n id,\n committeeName,\n committeeUrl,\n committeeType,\n scheduledDate,\n state,\n chamber,\n bills,\n title,\n location,\n url,\n } = event;\n\n const { isMobile } = useMediaQuery();\n const isPastDate = moment(scheduledDate).isBefore();\n const eventClassNames = classNames('hearing-event', styles.dayEvent, isPastDate && styles.expired);\n const stateAndChamber = join(filter([state, chamber], Boolean), ' - ');\n\n function isEventChecked() {\n return checkedEvents.map(checkedEvent => checkedEvent.id).includes(event.id);\n }\n\n function toggleCheckbox(e) {\n onCheckSelectedEvent(event, e.target.checked);\n }\n\n const badgeInfo = (\n \n );\n\n const tooltipContentProps = {\n event,\n toggleExportModal,\n toggleShareModal,\n };\n\n const renderCommmitteeName = () => {\n if (committeeUrl) {\n return (\n {committeeName}\n );\n }\n\n return committeeName;\n };\n\n return (\n }\n headerContent={isMobile && badgeInfo}\n >\n {!isMobile && badgeInfo}\n\n
\n {title && (\n

\n Title:\n trackHearingVisited({ menu: 'list view' })}\n >\n {title}\n {' '}\n \n \n

\n )}\n {location &&

Location:{location}

}\n {committeeName && (\n

\n Committee:\n {renderCommmitteeName()}\n

\n )}\n {stateAndChamber && (\n

\n State/Chamber:\n {stateAndChamber}\n

\n )}\n \n
\n \n );\n}\n\nEvent.propTypes = {\n event: eventShape.isRequired,\n checkedEvents: PropTypes.arrayOf(eventShape).isRequired,\n onCheckSelectedEvent: PropTypes.func.isRequired,\n toggleExportModal: PropTypes.func.isRequired,\n toggleShareModal: PropTypes.func.isRequired,\n};\n\nexport default withCalendar(Event);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport withCalendar from 'components/core/HearingCalendars/utils/withCalendar';\nimport Box from 'components/core/Box';\n\nimport Event from './components/Event';\nimport styles from './styles.module.scss';\n\nfunction DayEvents({\n dayEvent: {\n events,\n date,\n },\n}) {\n return (\n
\n \n\n {map(events, (event, index) => (\n \n ))}\n
\n );\n}\n\nDayEvents.defaultProps = {\n dayEvent: {},\n};\n\nDayEvents.propTypes = {\n dayEvent: PropTypes.object.isRequired,\n};\n\nexport default withCalendar(DayEvents);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport badgeStyles from '../DayEvents/components/BadgeInfo/styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction BadgeInfoPlaceholder({ isMobile, senate, expired, isFederal }) {\n return (\n
\n
\n \n\n {!isMobile && (\n \n )}\n
\n
\n {expired && (\n \n )}\n {isFederal && (\n \n )}\n
\n
\n );\n}\n\nBadgeInfoPlaceholder.propTypes = {\n isMobile: PropTypes.bool,\n senate: PropTypes.bool,\n expired: PropTypes.bool,\n isFederal: PropTypes.bool,\n};\n\nexport default BadgeInfoPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport cardGroupStyles from 'components/core/CardGroup/styles.module.scss';\nimport cardStyles from 'components/core/Card/styles.module.scss';\n\nimport BadgeInfoPlaceholder from './BadgeInfoPlaceholder';\nimport styles from './styles.module.scss';\n\nfunction CardGroupPlaceholder({ isMobile, senate, expired, isFederal }) {\n const checkbox = (\n
\n );\n\n const actions = (\n
\n
\n
\n );\n\n const details = (\n
\n

\n

\n

\n
\n );\n\n const cardClassNames = classNames(\n styles.cardGroup,\n cardGroupStyles.cardGroup,\n expired && styles.expiredCard\n );\n\n if (isMobile) {\n return (\n
\n
\n {checkbox}\n
\n \n
\n {actions}\n
\n
\n {details}\n
\n
\n );\n }\n\n return (\n
\n {checkbox}\n\n
\n \n {details}\n
\n\n {actions}\n
\n );\n}\n\nCardGroupPlaceholder.propTypes = {\n isMobile: PropTypes.bool,\n senate: PropTypes.bool,\n expired: PropTypes.bool,\n isFederal: PropTypes.bool,\n};\n\nexport default CardGroupPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport CardGroupPlaceholder from './CardGroupPlaceholder';\nimport dayEventStyles from '../DayEvents/styles.module.scss';\nimport styles from './styles.module.scss';\n\nfunction Placeholder({ events, isFederal }) {\n const { isMobile } = useMediaQuery();\n\n return (\n
\n
\n \n
\n {events.map((event, id) => (\n \n ))}\n
\n );\n}\n\nPlaceholder.propTypes = {\n events: PropTypes.array,\n isFederal: PropTypes.bool,\n};\n\nPlaceholder.defaultProps = {\n events: [\n { senate: true, expired: false },\n { senate: false, expired: false },\n { senate: true, expired: true },\n ],\n};\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, size } from 'lodash';\n\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\n\nimport withCalendar from '../../utils/withCalendar';\nimport constants from '../../utils/constants';\nimport { typeShape } from '../../utils/shapes';\nimport DayEvents from './components/DayEvents';\nimport ListEventsPlaceholder from './components/Placeholder';\n\nfunction ListEvents({ isLoadingEvents, dayEvents, emptyPlaceholderDescription, type }) {\n const isFederal = type === constants.FEDERAL;\n\n if (isLoadingEvents) {\n return ;\n }\n\n if (size(dayEvents) === 0) {\n const description =
{emptyPlaceholderDescription}
;\n\n return ;\n }\n\n return map(dayEvents, (dayEvent, index) => (\n \n ));\n}\n\nListEvents.defaultProps = {\n emptyPlaceholderDescription: `\n There are no hearings that match the applied filters.\n Please try selecting another date, filter,\n or simply clear and reset your applied filters to see more results.`,\n};\n\nListEvents.propTypes = {\n isLoadingEvents: PropTypes.bool,\n dayEvents: PropTypes.array.isRequired,\n emptyPlaceholderDescription: PropTypes.string,\n type: typeShape.isRequired,\n};\n\nexport default withCalendar(ListEvents);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Icon({ text, className }) {\n return (\n { text }\n );\n}\n\nIcon.defaultProps = {\n text: '',\n className: '',\n};\n\nIcon.propTypes = {\n text: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default Icon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from 'components/core/HearingCalendars/components/Icon';\nimport styles from './styles.module.scss';\n\nfunction Item({ text, className }) {\n return (\n
\n \n {text}\n
\n );\n}\n\nItem.propTypes = {\n text: PropTypes.string,\n className: PropTypes.string,\n};\n\nItem.defaultProps = {\n text: '',\n className: '',\n};\n\nexport default Item;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Item from './components/Item';\n\nimport styles from './styles.module.scss';\n\nfunction Legend({ title }) {\n return (\n
\n
{ title }
\n \n \n
\n );\n}\n\nLegend.propTypes = {\n title: PropTypes.string,\n};\n\nLegend.defaultProps = {\n title: 'Legend',\n};\n\nexport default Legend;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nimport DatePicker from 'components/core/DatePicker';\nimport Card from 'components/core/Card';\nimport Box from 'components/core/Box';\nimport { formatDate } from 'utils/date';\nimport { trackMonthToggled, trackDateChosen } from 'utils/tracking';\n\nimport withCalendar from '../../utils/withCalendar';\nimport constants from '../../utils/constants';\nimport { typeShape } from '../../utils/shapes';\nimport { getCalendarEventsByType } from '../../utils';\nimport Legend from './components/Legend';\nimport styles from './styles.module.scss';\n\nfunction Calendar({ type, calendarData, onSelectCalendarDate, onChangeCalendarMonth }) {\n const { SENATE_COMMITTEE, HOUSE_COMMITTEE } = constants;\n const [selectedDate, setSelectedDate] = useState(moment());\n const withLegend = type === constants.FEDERAL;\n let highlightDates = [];\n\n if (calendarData.length) {\n highlightDates = [\n { [styles[SENATE_COMMITTEE]]: getCalendarEventsByType(calendarData, SENATE_COMMITTEE) },\n { [styles[HOUSE_COMMITTEE]]: getCalendarEventsByType(calendarData, HOUSE_COMMITTEE) },\n ];\n }\n\n function handleMonthChange(date) {\n onChangeCalendarMonth && onChangeCalendarMonth(formatDate(date));\n trackMonthToggled();\n }\n\n function handleChange(date) {\n onSelectCalendarDate(formatDate(date));\n setSelectedDate(date);\n trackDateChosen();\n }\n\n return (\n \n \n
\n \n {withLegend && }\n
\n );\n}\n\nCalendar.propTypes = {\n type: typeShape.isRequired,\n calendarData: PropTypes.arrayOf(PropTypes.shape({})),\n onSelectCalendarDate: PropTypes.func.isRequired,\n onChangeCalendarMonth: PropTypes.func,\n};\n\nexport default withCalendar(Calendar);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport TagInput from 'components/core/TagInput';\nimport {\n trackFederalCommitteesFiltered,\n trackStateCommitteesFiltered,\n} from 'utils/tracking/intel';\n\nimport withCalendar from '../../utils/withCalendar';\nimport { typeShape } from '../../utils/shapes';\nimport constants from '../../utils/constants';\nimport styles from './styles.module.scss';\n\nfunction Filters({\n type,\n filterByState,\n filterByCommittee,\n}) {\n const { [type]: {\n onChangeAction,\n onChangeTrack,\n ...tagInputProps\n } } = {\n [constants.FEDERAL]: {\n name: 'committee',\n strategy: 'federal_committee',\n placeholder: 'Choose which committee(s) to display',\n onChangeTrack: trackFederalCommitteesFiltered,\n onChangeAction: filterByCommittee,\n },\n [constants.STATE]: {\n name: 'state',\n strategy: 'mappy_state_alpha2',\n placeholder: 'Choose which state(s) to display',\n onChangeTrack: trackStateCommitteesFiltered,\n onChangeAction: filterByState,\n },\n };\n\n function handleChange(selectedItems) {\n onChangeAction(selectedItems);\n onChangeTrack();\n }\n\n return (\n
\n
\n \n
\n
\n );\n}\n\nFilters.propTypes = {\n type: typeShape.isRequired,\n filterByCommittee: PropTypes.func,\n filterByState: PropTypes.func,\n};\n\nexport default withCalendar(Filters);\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport moment from 'moment-timezone';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { DEFAULT_CALENDAR_TIME_ZONE } from 'utils/constants/date';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport useUIPaginator from 'utils/paginator/useUIPaginator';\nimport Paginator from 'components/core/Paginator';\nimport PageHeader from 'components/core/PageHeader';\nimport { stringNumberType } from 'utils/shapes';\nimport { queryParse } from 'utils/query-string';\n\nimport { HearingCalendarContext } from '../../utils/withCalendar';\nimport Notifications from '../../utils/Notifications';\nimport { typeShape } from '../../utils/shapes';\nimport { titles } from '../../utils/titles';\nimport ExportHearingCalendarsModal from '../ExportHearingCalendarsModal';\nimport ShareModal from '../modals/Share';\nimport FooterActions from '../FooterActions';\nimport ActionsButton from '../ActionButtons';\nimport ListEvents from '../ListEvents';\nimport Calendar from '../Calendar';\nimport Filters from '../Filters';\nimport styles from './styles.module.scss';\n\nfunction Container({\n ui,\n type,\n events,\n checkedEvents,\n selectedStates,\n selectedCommittees,\n fetchEvents,\n calendarData,\n fetchCalendarData,\n onSelectCalendarDate,\n onChangeCalendarMonth,\n onCheckAllEvents,\n onClearAllEvents,\n onCheckSelectedEvent,\n filterByCommittee,\n filterByState,\n showCalendar,\n showFilters,\n showPaginator,\n showHeader,\n monthsAheadToFetch,\n setMonthsAheadToFetch,\n emptyPlaceholderDescription,\n floatFooterActions,\n}) {\n const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n const [isShareModalOpen, setIsShareModalOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n const isExportOpen = !!queryParse(window.location.search, 'export');\n\n useEffect(() => {\n (showCalendar && fetchCalendarData) && fetchCalendarData().catch(Notifications.getCalendarDataFailed);\n setMonthsAheadToFetch(monthsAheadToFetch);\n fetchEvents().catch(Notifications.getEventsFailed);\n }, [selectedCommittees]);\n\n moment.tz.setDefault(DEFAULT_CALENDAR_TIME_ZONE);\n\n function toggleExportModal(event) {\n setSelectedEvent(event);\n setIsExportModalOpen(!isExportModalOpen);\n }\n\n function toggleShareModal(event) {\n setSelectedEvent(event);\n setIsShareModalOpen(!isShareModalOpen);\n }\n\n const { isDesktop, isMobile } = useMediaQuery();\n const hearingCalendarContext = {\n isLoadingEvents: ui.isLoadingEvents,\n isLoadingExports: ui.isLoadingExports,\n isExportModalOpen,\n isShareModalOpen,\n events,\n checkedEvents,\n selectedStates,\n selectedCommittees,\n calendarData,\n onSelectCalendarDate,\n onChangeCalendarMonth,\n onCheckAllEvents,\n onClearAllEvents,\n onCheckSelectedEvent,\n selectedEvent,\n toggleExportModal,\n toggleShareModal,\n filterByCommittee,\n filterByState,\n exportNotifications: {\n getFailed: Notifications.exportEventFailed,\n getSuccess: Notifications.exportEventSuccess,\n },\n emptyPlaceholderDescription,\n };\n\n const {\n items: paginatedEvents,\n paginator,\n isLoadingItems,\n onChangePaginator,\n } = useUIPaginator({ allItems: events, isLoading: ui.isLoadingEvents });\n const {\n current,\n total,\n totalCount,\n } = paginator;\n\n const dayEvents = showPaginator ? paginatedEvents : events;\n\n const pageHeaderProps = {\n headerClassName: styles.pageHeader,\n titleClassName: styles.subProductTitle,\n title: titles[type],\n };\n\n return (\n \n {showHeader && }\n {showFilters && (\n
\n
\n \n \n
\n
\n )}\n\n
\n
\n \n
\n\n {showCalendar && isDesktop && (\n
\n \n
\n )}\n
\n\n {floatFooterActions && }\n {showPaginator && !isEmpty(paginatedEvents) && (\n \n )}\n\n {!floatFooterActions && }\n \n \n
\n );\n}\n\nContainer.defaultProps = {\n ui: {},\n showFilters: true,\n showCalendar: true,\n showHeader: true,\n showPaginator: false,\n monthsAheadToFetch: 1,\n floatFooterActions: false,\n};\n\n// TODO: define missing shapes\nContainer.propTypes = {\n ui: PropTypes.shape({\n isLoadingEvents: PropTypes.bool,\n isLoadingExports: PropTypes.bool,\n }),\n events: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n checkedEvents: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n selectedStates: PropTypes.arrayOf(PropTypes.string),\n selectedCommittees: PropTypes.arrayOf(stringNumberType),\n fetchEvents: PropTypes.func.isRequired,\n calendarData: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n fetchCalendarData: PropTypes.func,\n onSelectCalendarDate: PropTypes.func.isRequired,\n onChangeCalendarMonth: PropTypes.func,\n onCheckAllEvents: PropTypes.func.isRequired,\n onClearAllEvents: PropTypes.func.isRequired,\n onCheckSelectedEvent: PropTypes.func.isRequired,\n filterByCommittee: PropTypes.func,\n filterByState: PropTypes.func,\n monthsAheadToFetch: PropTypes.number,\n setMonthsAheadToFetch: PropTypes.func.isRequired,\n showFilters: PropTypes.bool,\n showCalendar: PropTypes.bool,\n showPaginator: PropTypes.bool,\n showHeader: PropTypes.bool,\n emptyPlaceholderDescription: PropTypes.string,\n floatFooterActions: PropTypes.bool,\n type: typeShape.isRequired,\n};\n\nexport default Container;\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder() {\n return (\n
\n \n
\n );\n}\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from 'components/core/HearingCalendars/components/Icon';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder({ isFederal }) {\n return (\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n {Array(5).fill(0).map(\n (_, index) =>
\n )}\n
\n
\n
\n\n
\n {isFederal && (\n
\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n )}\n
\n
\n );\n}\n\nPlaceholder.propTypes = {\n isFederal: PropTypes.bool,\n};\n\nexport default Placeholder;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder() {\n return (\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n );\n}\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport ExportsPlaceholder from '../ActionButtons/components/Placeholder';\nimport ListEventsPlaceholder from '../ListEvents/components/Placeholder';\nimport CalendarPlaceholder from '../Calendar/components/Placeholder';\nimport FiltersPlaceholder from '../Filters/components/Placeholder';\nimport styles from '../Container/styles.module.scss';\n\nexport function Placeholder({ isFederal }) {\n const { isDesktop } = useMediaQuery();\n\n return (\n
\n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n\n {isDesktop && (\n
\n \n
\n )}\n
\n
\n );\n}\n\nPlaceholder.propTypes = {\n isFederal: PropTypes.bool,\n};\n","import Container from './components/Container';\n\nexport * from 'components/core/HearingCalendars/components/Placeholder';\n\nexport default Container;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport { useDismissibleAlert } from '../useDismissibleAlert';\nimport styles from './styles.module.scss';\n\nfunction DismissibleAlert({ showAlert, className, children, ...restProps }) {\n const { handleClose, isDisabled } = useDismissibleAlert(restProps);\n\n if (!showAlert) {\n return null;\n }\n\n return (\n
\n {children}\n\n }\n onClick={handleClose}\n disabled={isDisabled}\n className={styles.button}\n iconClassName={styles.icon}\n />\n
\n );\n}\n\nDismissibleAlert.propTypes = {\n ui: PropTypes.shape({\n isLoadingAlert: PropTypes.bool,\n isDismissingAlert: PropTypes.bool,\n }).isRequired,\n children: PropTypes.node.isRequired,\n showAlert: PropTypes.bool.isRequired,\n className: PropTypes.string,\n type: PropTypes.string.isRequired,\n fetchAlert: PropTypes.func.isRequired,\n dismissAlert: PropTypes.func.isRequired,\n};\n\nexport default DismissibleAlert;\n","import { useEffect } from 'react';\n\nexport function useDismissibleAlert({ ui, type, fetchAlert, dismissAlert, resetData }) {\n const { isLoadingAlert, isDismissingAlert } = ui;\n\n function handleClose() {\n dismissAlert(type);\n }\n\n useEffect(() => {\n fetchAlert(type);\n\n return () => resetData();\n }, []);\n\n return {\n isDisabled: isLoadingAlert || isDismissingAlert,\n handleClose,\n };\n}\n","import reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/dismissibleAlert/actions';\n\nimport Container from './components/Container';\n\nconst connectStore = reduxConnect('dismissibleAlert', actions);\n\nexport default connectStore(Container);\n","import { pdf } from '@react-pdf/renderer';\n\nimport { downloadBlob } from 'utils/fileExport';\n\nexport function downloadReactPdfDocument(document, fileName) {\n return pdf(document).toBlob()\n .then(blob => downloadBlob(blob, fileName));\n}\n","import PropTypes from 'prop-types';\n\nexport const pdfStylesShape = PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n);\n","import PropTypes from 'prop-types';\n\nexport const valueType = PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n]);\n\nexport const rowShape = PropTypes.shape({\n label: PropTypes.string,\n value: valueType,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction ViewAllLink({ item }) {\n const { allLegislatorsSize = 0, billUrl } = item || {};\n\n function renderLink() {\n const text = allLegislatorsSize > 0\n ? `View all ${allLegislatorsSize} on bill page`\n : 'View all on bill page';\n\n if (billUrl) {\n return (\n \n {text}\n \n );\n }\n\n return text;\n }\n\n return (\n
\n {renderLink()}\n
\n );\n}\n\nViewAllLink.propTypes = {\n item: PropTypes.object,\n};\n\nexport default ViewAllLink;\n","import paths from 'components/Navigation/menuData/paths';\n\nexport const getAccountSections = () => ([\n {\n id: 'profile',\n title: 'My profile',\n links: [\n {\n href: paths.accountSettings.manageProfile,\n name: 'Manage profile',\n },\n {\n href: paths.accountSettings.changePassword,\n name: 'Change password',\n },\n {\n href: paths.accountSettings.manageProfilePhoto,\n name: 'Manage profile photo',\n },\n ],\n },\n {\n id: 'help',\n title: 'Help',\n links: [\n {\n href: 'https://govpredict.zendesk.com/hc/en-us',\n name: 'General support',\n isExternal: true,\n },\n ],\n },\n {\n id: 'orgSettings',\n title: 'Organization settings',\n links: [\n {\n href: `${paths.organizationSettings.manageOrganization}/${gon.companyId}`,\n name: 'Manage organization',\n disabled: !gon.currentUser.companyAdmin,\n },\n {\n href: paths.organizationSettings.users,\n name: 'Manage users',\n disabled: !gon.currentUser.companyAdmin,\n },\n {\n href: '/custom_fields',\n name: 'Custom fields',\n disabled: (\n !(gon.currentUser.companyAdmin && (gon.isStakeholderMgmtEnabled || gon.isGrmEnabled))\n ),\n },\n {\n href: paths.organizationSettings.inviteUsers,\n name: 'Invite users',\n disabled: !gon.currentUser.companyAdmin,\n },\n {\n href: paths.organizationSettings.institutionalData,\n name: 'Institutional data',\n disabled: !gon.currentUser.companyAdmin,\n },\n ],\n },\n]);\n\nexport const LOG_OUT_LINK_PROPS = {\n href: paths.accountSettings.logOut,\n 'data-method': 'delete',\n rel: 'nofollow',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SlideUpModal } from 'components/core/Modal';\nimport Link from 'components/core/Link';\nimport PanelHeader from 'components/NavigationV2/components/MobileView/components/common/PanelHeader';\n\nimport { getAccountSections, LOG_OUT_LINK_PROPS } from './utils';\nimport styles from './styles.module.scss';\n\nfunction Panel({ isOpen, toggleOpen }) {\n const accountSections = getAccountSections();\n const renderLink = ({ href, name, isExternal, disabled }) => {\n if (disabled) {\n return null;\n }\n\n return (\n \n {name}\n \n );\n };\n\n const renderSection = ({ id, title, links }) => {\n if (links.every(link => link.disabled)) {\n return null;\n }\n\n return (\n
\n
{title}
\n\n {links.map(renderLink)}\n
\n );\n };\n\n return (\n \n \n\n
\n {accountSections.map(renderSection)}\n\n \n Log out\n \n
\n \n );\n}\n\nPanel.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n};\n\nexport default Panel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport Avatar from 'components/core/Avatar';\nimport useModal from 'components/core/Modal/useModal';\nimport { NAVIGATION_USER_PROFILE_IMG_ID } from 'components/Navigation/utils/constants';\nimport { closeFreshChat } from 'utils/freshchat';\n\nimport Panel from './components/Panel';\nimport styles from './styles.module.scss';\n\nfunction Account({ photoUrl, name }) {\n const { toggleModal, isOpenModal } = useModal();\n\n const handleClick = () => {\n closeFreshChat();\n toggleModal();\n };\n\n return (\n <>\n \n\n \n \n );\n}\n\nAccount.propTypes = {\n photoUrl: PropTypes.string,\n name: PropTypes.string,\n};\n\nexport default Account;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport MenuToggleButton from 'components/Navigation/MenuToggleButton';\nimport FooterBar from 'components/Navigation/MobileView/common/FooterBar';\nimport UserProfileMenu from 'components/Navigation/MobileView/UserMenu';\nimport { findBreadcrumbs } from 'components/Navigation/MobileView/utils';\nimport { NAVIGATION_USER_PROFILE_IMG_ID } from 'components/Navigation/utils/constants';\nimport { getIsActiveExact } from 'components/NavigationV2/utils';\nimport Avatar from 'components/core/Avatar';\nimport Notifications from 'components/core/Notifications';\nimport HelpButton from 'components/core/HelpButton';\nimport Logo from 'components/core/Logo';\nimport useModal from 'components/core/Modal/useModal';\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport { getCurrentUser } from 'utils/currentUser';\nimport reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/notifications/actions';\n\nimport Account from './components/Account';\nimport { getParentFromBreadcrumb } from './utils';\nimport styles from './styles.module.scss';\nimport NavigationWarningBanner from '../../../../Navigation/common/WarningBanner';\n\nfunction Container({\n customBreadcrumb,\n customParentTitle,\n headerClassName,\n isOffsetVisible,\n isNotificationsPanelOpen,\n mobileTitle,\n title,\n backTo,\n isLoadingTitle,\n}) {\n const { isOpenModal: isUserMenuOpen, toggleModal: toggleUserMenu } = useModal();\n\n const breadcrumb = customBreadcrumb || findBreadcrumbs(window.location.pathname).breadcrumb;\n const parentTitle = getParentFromBreadcrumb(breadcrumb);\n const innerHTML = { __html: parentTitle };\n\n const { profileImgUrl, fullName } = getCurrentUser();\n\n function getTitleProps() {\n if (customParentTitle) {\n return { children: customParentTitle };\n }\n\n return { dangerouslySetInnerHTML: innerHTML };\n }\n\n const userAvatar = (\n \n );\n\n const RightButton = gon.isNotificationEnabled ? Notifications : HelpButton;\n const footerBar = gon.isNavigationV2Enabled ? null : ;\n\n const renderHeader = () => {\n if (gon.isNavigationV2Enabled) {\n const headerTitle = mobileTitle || title;\n\n const renderLeftItem = () => {\n const isHomepage = getIsActiveExact(gon.homepage.path);\n\n if (isHomepage) {\n return (\n
\n \n {headerTitle}\n
\n );\n }\n\n const renderTitle = () => {\n if (isLoadingTitle) {\n return ;\n }\n\n return headerTitle;\n };\n\n return (\n \n \n {renderTitle()}\n \n );\n };\n\n return (\n
\n {renderLeftItem()}\n\n
\n \n \n
\n
\n );\n }\n\n return (\n
\n \n
\n\n \n
\n );\n };\n\n return (\n <>\n {isOffsetVisible && (\n
\n )}\n {renderHeader()}\n\n { !gon.companyHasActivePlan\n && }\n\n \n {isNotificationsPanelOpen && footerBar}\n \n );\n}\n\nContainer.defaultProps = {\n customParentTitle: '',\n isOffsetVisible: true,\n isLoadingTitle: false,\n};\n\nContainer.propTypes = {\n pageName: PropTypes.string,\n page: PropTypes.string,\n customBreadcrumb: PropTypes.string,\n customParentTitle: PropTypes.node,\n headerClassName: PropTypes.string,\n isOffsetVisible: PropTypes.bool,\n isNotificationsPanelOpen: PropTypes.bool.isRequired,\n mobileTitle: PropTypes.string,\n title: PropTypes.node,\n backTo: PropTypes.string,\n isLoadingTitle: PropTypes.bool,\n};\n\nexport default reduxConnect('notifications', actions)(Container);\n","import trim from 'lodash/trim';\n\nimport { ROOT_BREADCRUMB } from 'components/Navigation/utils/constants';\n\nexport function getParentFromBreadcrumb(breadcrumb) {\n const [lastBreadcrumb] = [breadcrumb || '']\n .map(breadcrumbStr => breadcrumbStr.split(' / ').slice(-1))\n .map(trim);\n\n if (lastBreadcrumb === ROOT_BREADCRUMB) {\n return '';\n }\n\n return lastBreadcrumb;\n}\n","import React from 'react';\nimport { Provider } from 'react-redux';\n\nimport store from 'redux/store';\n\nimport Container from './Container';\n\nfunction MobileHeaderBar(props) {\n return (\n \n \n \n );\n}\n\nexport default MobileHeaderBar;\n","const TITLE_SECTION_ID = 'title';\nconst DATE_SECTION_ID = 'date';\nconst TIME_SECTION_ID = 'time';\nconst COMMITTEE_SECTION_ID = 'committee';\nconst LOCATION_SECTION_ID = 'location';\nconst STATE_SECTION_ID = 'state';\nconst CHAMBER_SECTION_ID = 'chamber';\nconst BILLS_SECTION_ID = 'bills';\nconst LINK_SECTION_ID = 'link';\n\nexport const DEFAULT_COLUMN_ID = TITLE_SECTION_ID;\nexport const FEDERAL_STRATEGY_SLUG_FOR_EXPORT = 'committee_hearings';\nexport const STATE_STRATEGY_SLUG_FOR_EXPORT = 'state_committee_hearings';\n\nexport const FEDERAL_EXPORT_TAB_COLUMNS = [\n { id: 'select_all', title: 'Select/Deselect all', isSelectAll: true },\n { id: DATE_SECTION_ID, title: 'Date' },\n { id: TIME_SECTION_ID, title: 'Time' },\n { id: DEFAULT_COLUMN_ID, title: 'Title', isDisabled: true },\n { id: COMMITTEE_SECTION_ID, title: 'Committee' },\n { id: LOCATION_SECTION_ID, title: 'Location' },\n { id: LINK_SECTION_ID, title: 'Link' },\n];\n\nexport const STATE_EXPORT_TAB_COLUMNS = [\n { id: 'select_all', title: 'Select/Deselect all', isSelectAll: true },\n { id: DATE_SECTION_ID, title: 'Date' },\n { id: TIME_SECTION_ID, title: 'Time' },\n { id: DEFAULT_COLUMN_ID, title: 'Title', isDisabled: true },\n { id: COMMITTEE_SECTION_ID, title: 'Committee' },\n { id: LOCATION_SECTION_ID, title: 'Location' },\n { id: STATE_SECTION_ID, title: 'State' },\n { id: CHAMBER_SECTION_ID, title: 'Chamber' },\n { id: BILLS_SECTION_ID, title: 'Bills' },\n { id: LINK_SECTION_ID, title: 'Link' },\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty } from 'lodash';\n\nimport ExportLookupModal from 'components/core/PageLookup/components/Export/components/ExportLookupModal';\nimport { currentDate } from 'utils/date';\nimport { PDF_ID } from 'utils/constants/export';\n\nimport { typeShape } from '../../utils/shapes';\nimport { extractAllEvents } from '../../utils';\nimport {\n DEFAULT_COLUMN_ID,\n FEDERAL_STRATEGY_SLUG_FOR_EXPORT,\n STATE_STRATEGY_SLUG_FOR_EXPORT,\n FEDERAL_EXPORT_TAB_COLUMNS,\n STATE_EXPORT_TAB_COLUMNS,\n} from './constants';\n\nfunction ExportHearingCalendarsModal({\n isOpenModal,\n toggleModal,\n selectedItems,\n allItems,\n type,\n}) {\n const { [type]: typeNameProps } = {\n federal: {\n fileName: `Federal hearings calendar - ${currentDate()}`,\n documentTitle: 'Federal hearings calendar report',\n slugSingleExport: FEDERAL_STRATEGY_SLUG_FOR_EXPORT,\n exportTableColumns: FEDERAL_EXPORT_TAB_COLUMNS,\n },\n state: {\n fileName: `State hearings calendar - ${currentDate()}`,\n documentTitle: 'State hearings calendar report',\n slugSingleExport: STATE_STRATEGY_SLUG_FOR_EXPORT,\n exportTableColumns: STATE_EXPORT_TAB_COLUMNS,\n },\n };\n\n function getEventsIds() {\n const isBulkExport = isEmpty(selectedItems) && !isEmpty(allItems);\n\n const events = isBulkExport\n ? extractAllEvents(allItems)\n : selectedItems;\n\n return events.map(event => event.id);\n }\n\n const customApiProps = {\n 'strategy_inputs[event_ids]': JSON.stringify(getEventsIds()),\n };\n\n return (\n \n );\n}\n\nExportHearingCalendarsModal.defaultProps = {\n selectedItems: [],\n allItems: [],\n};\n\nExportHearingCalendarsModal.propTypes = {\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n selectedItems: PropTypes.arrayOf(PropTypes.object),\n allItems: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string })),\n type: typeShape.isRequired,\n};\n\nexport default ExportHearingCalendarsModal;\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nexport const exactPhrase = {\n syntax: '\"\"',\n usageMessage: (\n <>\n Matches items that contain the phrase exactly as specified.
\n E.g., \"state of the union\" matches any item containing exactly the quoted words in that order.\n \n ),\n};\n\nexport const orConditional = {\n syntax: '|',\n usageMessage: (\n <>\n Matches either the keyword before the symbol | or after.
\n E.g., capitol | hill matches items with either \"capitol\" or \"hill\" within.\n \n ),\n};\n\nexport const bothConditional = {\n syntax: '+',\n usageMessage: (\n <>\n Matches only if all criteria both before and after the + symbol exist.
\n E.g., capitol + hill matches items with both \"capitol\" and \"hill\" within.\n \n ),\n};\n\nexport const excludeConditional = {\n syntax: '-',\n usageMessage: (\n <>\n Ignores results for a word with - in front of it.
\n E.g., capitol -hill matches items with the word \"capitol\" and ignores items that contain \"hill\" within.\n \n ),\n};\n\nexport const prefixConditional = {\n syntax: '*',\n usageMessage: (\n <>\n Matches when it contains words with that prefix.
\n E.g., Alpha* returns results like alphabet.\n \n ),\n};\n\nexport const withinConditional = {\n syntax: 'w/x',\n usageMessage: (\n <>\n Matches when word preceding operator is within x words of word following operator.
\n E.g., state w/2 union matches items that have the word \"state\" within two words of the word \"union\".
\n Note that this operator is not compatible with any other advanced search operators except for quotation marks; in other words, the words before and after must be a single word or a group of words in quotes.\n \n ),\n};\n\nexport const precedingMatchConditional = {\n syntax: '~N',\n usageMessage: (\n <>\n Fuzzy matches the word or phrase preceding ~N.
\n E.g., Pizza~N matches items containing words like Pizza, Piaza, or Plaza,\n \"Four score and seven years ago\"~N matches items that contain similar phrases like \"Seven score and seven years ago\".
\n \n ),\n};\n\nexport const groupConditional = {\n syntax: '()',\n usageMessage: (\n <>\n Will group queries to create subqueries.
\n E.g., large + (cats | dogs) matches items that have both \"large\" and \"cats\", and it matches items that have both \"large\" and \"dogs\".\n \n ),\n};\n\nexport const defaultCheatSheetData = [\n exactPhrase,\n orConditional,\n bothConditional,\n excludeConditional,\n prefixConditional,\n withinConditional,\n precedingMatchConditional,\n groupConditional,\n];\n\nexport const newsCheatSheetData = [\n exactPhrase,\n orConditional,\n bothConditional,\n excludeConditional,\n groupConditional,\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport Modal from '../Modal';\nimport styles from './styles.module.scss';\n\nfunction CloseConfirmation({\n title,\n isOpen,\n toggleOpen,\n onReturn,\n customMessage,\n ...restProps\n}) {\n function renderMessage() {\n if (customMessage) {\n return customMessage;\n }\n\n return

You are about to exit the modal window. Are you sure you want to exit?

;\n }\n\n const buttons = (\n <>\n \n Go Back\n \n\n \n Exit\n \n \n );\n\n return (\n \n
\n {renderMessage()}\n

All unsaved changes will be lost!

\n
\n \n );\n}\n\nCloseConfirmation.defaultProps = {\n title: 'Warning',\n};\n\nCloseConfirmation.propTypes = {\n title: PropTypes.string,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n onReturn: PropTypes.func.isRequired,\n customMessage: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.element,\n PropTypes.string,\n ]),\n};\n\nexport default CloseConfirmation;\n","import { useEffect, useState } from 'react';\n\nfunction useTableReceipts({ searchParams }) {\n const [isReceiptModalOpen, setIsReceiptModalOpen] = useState(false);\n const [receiptModalId, setReceiptModalId] = useState('');\n\n function handleReceiptModal(receiptId) {\n const newReceiptId = Number(receiptId);\n\n Number.isInteger(newReceiptId) && setReceiptModalId(receiptId);\n setIsReceiptModalOpen(!isReceiptModalOpen);\n }\n\n useEffect(() => {\n if (searchParams) {\n const { receiptId } = searchParams || {};\n\n receiptId && handleReceiptModal(receiptId);\n }\n }, []);\n\n return {\n isReceiptModalOpen,\n receiptModalId,\n handleReceiptModal,\n };\n}\n\nexport default useTableReceipts;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport Button from 'components/core/Button';\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport styles from './styles.module.scss';\n\nfunction DocumentPlaceholder({ isEmptyText, sourceUrl }) {\n const { isMobile } = useMediaQuery();\n\n const handleNavigateBack = () => {\n window.history.back();\n };\n\n const isFederalRegulations = window.location.href.includes('/federal/regulations/');\n const isMobileV2 = gon.isNavigationV2Enabled && isMobile;\n\n function renderContent() {\n if (isEmptyText && sourceUrl) {\n const description = (\n \n Click \n \n here\n \n  to view original source\n \n );\n\n return (\n \n );\n }\n\n return Array(30)\n .fill(0)\n .map((_, index) => (\n // eslint-disable-next-line react/no-array-index-key\n \n ));\n }\n\n return (\n
\n
\n {!isFederalRegulations && isMobileV2 && (\n \n \n \n \n \n )}\n
\n {renderContent()}\n
\n
\n
\n );\n}\n\nDocumentPlaceholder.propTypes = {\n isEmptyText: PropTypes.bool,\n sourceUrl: PropTypes.string,\n};\n\nexport default DocumentPlaceholder;\n","import React, { createContext } from 'react';\n\nexport const SearchContext = createContext();\n\nfunction withSearch(Component) {\n return function SearchData(props) {\n return (\n \n {contexts => }\n \n );\n };\n}\n\nexport default withSearch;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/SearchHeader/utils/withSearch';\n\nimport styles from './styles.module.scss';\n\nfunction AdvancedSearch({\n handleAdvancedSearchToggle,\n appliedFiltersLength,\n isMobile,\n onClearAll,\n}) {\n const customIcon = ;\n\n if (isMobile) {\n return (\n
\n \n {appliedFiltersLength > 0 && (\n \n {appliedFiltersLength}\n \n )}\n
\n );\n }\n\n return (\n
\n \n Advanced Search\n {appliedFiltersLength > 0 ? ` (${appliedFiltersLength})` : ''}\n \n\n {appliedFiltersLength > 0 && (\n \n Clear All\n \n )}\n
\n );\n}\n\nAdvancedSearch.defaultProps = {\n isMobile: false,\n appliedFiltersLength: 0,\n};\n\nAdvancedSearch.propTypes = {\n isMobile: PropTypes.bool,\n appliedFiltersLength: PropTypes.number,\n handleAdvancedSearchToggle: PropTypes.func,\n onClearAll: PropTypes.func,\n};\n\nexport default withSearch(AdvancedSearch);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport withSearch from 'components/core/SearchHeader/utils/withSearch';\n\nimport styles from '../styles.module.scss';\n\nfunction ToggleButton({ customToggleViewProps, isMobile }) {\n const {\n isCustomViewOpen,\n onClick,\n buttonClassName,\n showText,\n hideText,\n iconClassName,\n isDisabled,\n } = customToggleViewProps;\n const text = isCustomViewOpen ? hideText : showText;\n const buttonClassNames = classNames(styles.button, buttonClassName);\n const iconClassNames = classNames(\n styles.icon,\n iconClassName,\n isCustomViewOpen && styles.activeIcon,\n );\n\n if (isMobile) {\n return (\n }\n />\n );\n }\n\n return (\n }\n disabled={isDisabled}\n >\n {text}\n \n );\n}\n\nToggleButton.propTypes = {\n customToggleViewProps: PropTypes.shape({\n isCustomViewOpen: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool,\n onClick: PropTypes.func,\n buttonClassName: PropTypes.string,\n iconClassName: PropTypes.string.isRequired,\n showText: PropTypes.string.isRequired,\n hideText: PropTypes.string.isRequired,\n }),\n isMobile: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(ToggleButton);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Modal from 'components/core/Modal';\nimport withSearch from 'components/core/SearchHeader/utils/withSearch';\n\nimport styles from '../styles.module.scss';\n\nfunction Content({ customToggleViewProps, isMobile }) {\n const {\n viewContent,\n contentClassName,\n isCustomViewOpen,\n mobileTitle,\n onToggleCustomView,\n } = customToggleViewProps;\n\n if (!isCustomViewOpen) {\n return null;\n }\n\n if (isMobile) {\n return (\n \n {viewContent}\n \n );\n }\n\n return (\n
\n {viewContent}\n
\n );\n}\n\nContent.propTypes = {\n customToggleViewProps: PropTypes.shape({\n viewContent: PropTypes.node.isRequired,\n contentClassName: PropTypes.string,\n isCustomViewOpen: PropTypes.bool.isRequired,\n mobileTitle: PropTypes.string.isRequired,\n onToggleCustomView: PropTypes.func.isRequired,\n }).isRequired,\n isMobile: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(Content);\n","export const TABLE = 'table';\nexport const MAP = 'map';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport withSearch from 'components/core/SearchHeader/utils/withSearch';\n\nimport { TABLE, MAP } from '../../utils/constants';\nimport styles from './styles.module.scss';\n\nfunction PageViewToggle({ pageView, isLoading }) {\n const { isTablePageView, onPageViewChange } = pageView;\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nPageViewToggle.propTypes = {\n pageView: PropTypes.shape({\n onPageViewChange: PropTypes.func,\n isTablePageView: PropTypes.bool,\n }),\n isLoading: PropTypes.bool.isRequired,\n};\n\nexport default withSearch(PageViewToggle);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { SettingsButton, settingsButtonOptionsShape } from 'components/core/PageHeader';\n\nimport withSearch from '../../utils/withSearch';\nimport AdvancedSearch from '../AdvancedSearch';\nimport { CustomToggleViewButton, CustomToggleViewContent } from '../CustomToggleView';\nimport PageViewToggle from '../PageViewToggle';\nimport styles from './styles.module.scss';\n\nfunction DesktopView({\n className,\n appliedFiltersLength,\n searchContent,\n advancedSearchContent,\n actionsContent,\n handleAdvancedSearchToggle,\n isAdvancedSearchOpen,\n rightContent,\n onClearAll,\n pageView,\n customToggleViewProps,\n settingsButtonOptions,\n}) {\n const withActionsContent = typeof actionsContent === 'function' && !isEmpty(actionsContent());\n const withPageView = !isEmpty(pageView);\n const withCustomToggleView = !isEmpty(customToggleViewProps);\n\n if (isAdvancedSearchOpen) {\n return (\n
\n
\n {advancedSearchContent}\n
\n
\n );\n }\n\n function getSettingsButton() {\n if (isEmpty(settingsButtonOptions)) {\n return null;\n }\n\n return (\n \n );\n }\n\n return (\n
\n
\n
\n
\n {searchContent}\n
\n\n {!isEmpty(advancedSearchContent) && (\n \n )}\n {withCustomToggleView && }\n
\n\n
\n {withActionsContent && actionsContent()}\n {rightContent && rightContent}\n {withPageView && }\n
\n
\n {withCustomToggleView && }\n {getSettingsButton()}\n
\n );\n}\n\nDesktopView.defaultProps = {\n isAdvancedSearchOpen: false,\n customToggleViewProps: {},\n};\n\nDesktopView.propTypes = {\n className: PropTypes.string,\n appliedFiltersLength: PropTypes.number,\n handleAdvancedSearchToggle: PropTypes.func,\n isAdvancedSearchOpen: PropTypes.bool,\n advancedSearchContent: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element,\n PropTypes.string,\n ]),\n searchContent: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element,\n PropTypes.string,\n ]).isRequired,\n actionsContent: PropTypes.func,\n onClearAll: PropTypes.func,\n pageView: PropTypes.shape({\n onPageViewChange: PropTypes.func,\n isTablePageView: PropTypes.bool,\n }),\n rightContent: PropTypes.node,\n customToggleViewProps: PropTypes.shape({\n viewContent: PropTypes.node,\n contentClassName: PropTypes.string,\n isCustomViewOpen: PropTypes.bool,\n mobileTitle: PropTypes.string,\n onToggleCustomView: PropTypes.func,\n }),\n settingsButtonOptions: settingsButtonOptionsShape,\n};\n\nexport default withSearch(DesktopView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Button from 'components/core/Button';\nimport { SettingsButton, settingsButtonOptionsShape } from 'components/core/PageHeader';\n\nimport withSearch from '../../utils/withSearch';\nimport { CustomToggleViewButton, CustomToggleViewContent } from '../CustomToggleView';\nimport AdvancedSearch from '../AdvancedSearch';\nimport PageViewToggle from '../PageViewToggle';\n\nimport styles from './styles.module.scss';\n\nfunction MobileView({\n className,\n appliedFiltersLength,\n searchContent,\n advancedSearchContent,\n actionsContent,\n handleAdvancedSearchToggle,\n handleSearchToggle,\n isAdvancedSearchOpen,\n isSearchOpen,\n rightContent,\n pageView,\n customToggleViewProps,\n settingsButtonOptions,\n customFilterContent,\n customFilterButton,\n}) {\n const customIcon = ;\n const isEmptyActionsContent = typeof actionsContent !== 'function' || isEmpty(actionsContent());\n const isEmptyRightContent = isEmpty(rightContent);\n const withPageView = !isEmpty(pageView);\n const withCustomToggleView = !isEmpty(customToggleViewProps);\n\n const advancedSearchButton = (\n \n );\n\n if (isAdvancedSearchOpen) {\n return (\n
\n {advancedSearchContent}\n
\n );\n }\n\n if (isEmptyActionsContent && isEmptyRightContent) {\n return (\n
\n
\n
\n
\n {customFilterContent && customFilterButton}\n {searchContent}\n
\n
\n\n
\n {withCustomToggleView && }\n {advancedSearchContent && advancedSearchButton}\n
\n
\n
\n );\n }\n\n if (isSearchOpen) {\n return (\n
\n
\n {searchContent}\n
\n
\n );\n }\n\n function getSettingsButton() {\n if (isEmpty(settingsButtonOptions)) {\n return null;\n }\n\n return (\n \n );\n }\n\n return (\n
\n
\n
\n {!isEmptyActionsContent && actionsContent()}\n {!isEmptyRightContent && rightContent}\n {withPageView && }\n
\n\n
\n {withCustomToggleView && }\n {advancedSearchContent && advancedSearchButton}\n {customFilterContent && customFilterButton}\n \n
\n
\n {withCustomToggleView && }\n {getSettingsButton()}\n
\n );\n}\n\nMobileView.defaultProps = {\n isAdvancedSearchOpen: false,\n isSearchOpen: false,\n appliedFiltersLength: 0,\n customFilterContent: false,\n};\n\nMobileView.propTypes = {\n className: PropTypes.string,\n appliedFiltersLength: PropTypes.number,\n handleAdvancedSearchToggle: PropTypes.func,\n handleSearchToggle: PropTypes.func,\n isAdvancedSearchOpen: PropTypes.bool,\n isSearchOpen: PropTypes.bool,\n advancedSearchContent: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element,\n PropTypes.string,\n ]),\n searchContent: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element,\n PropTypes.string,\n ]).isRequired,\n actionsContent: PropTypes.func,\n rightContent: PropTypes.node,\n pageView: PropTypes.shape({\n pageView: PropTypes.string,\n isTablePageView: PropTypes.bool,\n onPageViewChange: PropTypes.func,\n }),\n customToggleViewProps: PropTypes.shape({\n viewContent: PropTypes.node,\n contentClassName: PropTypes.string,\n isCustomViewOpen: PropTypes.bool,\n mobileTitle: PropTypes.string,\n onToggleCustomView: PropTypes.func,\n }),\n settingsButtonOptions: settingsButtonOptionsShape,\n customFilterContent: PropTypes.bool,\n customFilterButton: PropTypes.node,\n};\n\nexport default withSearch(MobileView);\n","import React from 'react';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { SearchContext } from './utils/withSearch';\nimport DesktopView from './components/DesktopView';\nimport MobileView from './components/MobileView';\n\nfunction SearchHeader(props) {\n const { isDesktop } = useMediaQuery();\n\n const searchContext = {\n ...props,\n isMobile: !isDesktop,\n };\n\n return (\n \n {isDesktop ? : }\n \n );\n}\n\nexport default SearchHeader;\n","import PropTypes from 'prop-types';\n\nexport const workspaceShape = PropTypes.shape({\n name: PropTypes.string,\n token: PropTypes.string,\n});\n\nexport const workspacesShape = PropTypes.arrayOf(workspaceShape);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { map, size } from 'lodash';\n\nimport { getFeedUrl } from 'components/Dashboard/utils';\nimport Link from 'utils/Link';\n\nimport { workspacesShape } from '../../utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction Workspaces({ data, className, typeClassName }) {\n function renderWorkspaces() {\n return map(data, ({ token, name }, index, all) => {\n const separator = index !== size(all) - 1 && ', ';\n const href = getFeedUrl(token);\n\n return (\n \n \n {name}\n \n {separator}\n \n );\n });\n }\n\n return (\n
\n Workspaces: {renderWorkspaces()}\n
\n );\n}\n\nWorkspaces.propTypes = {\n data: workspacesShape.isRequired,\n className: PropTypes.string,\n typeClassName: PropTypes.string,\n};\n\nexport default Workspaces;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport truncate from 'lodash/truncate';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Link from 'utils/Link';\n\nimport styles from './styles.module.scss';\n\nfunction TypeTitle({\n itemType,\n itemTitle,\n maxTitleLength,\n url,\n isText,\n className,\n typeClassName,\n titleClassName,\n isKeywordMatch,\n}) {\n const isItemTitleEmpty = isEmpty(itemTitle);\n\n if (isEmpty(itemType) && isItemTitleEmpty) {\n return null;\n }\n\n function getSeparator() {\n if (isItemTitleEmpty) {\n return null;\n }\n\n return isKeywordMatch ? ', keyword:' : ':';\n }\n\n const content = (\n
\n {itemType && (\n \n {itemType}{getSeparator()}\n \n )}\n {itemTitle && (\n \n {truncate(itemTitle, { length: maxTitleLength })}\n \n )}\n
\n );\n\n if (url) {\n return (\n \n {content}\n \n );\n }\n\n return content;\n}\n\nTypeTitle.defaultProps = {\n maxTitleLength: 50,\n isText: true,\n isKeywordMatch: false,\n};\n\nTypeTitle.propTypes = {\n itemType: PropTypes.string,\n itemTitle: PropTypes.string,\n maxTitleLength: PropTypes.number,\n url: PropTypes.string,\n isText: PropTypes.bool,\n className: PropTypes.string,\n typeClassName: PropTypes.string,\n titleClassName: PropTypes.string,\n isKeywordMatch: PropTypes.bool,\n};\n\nexport default TypeTitle;\n","export const DESCRIPTION_LIMIT = 50;\nexport const MOBILE_DESCRIPTION_LIMIT = 80;\n","import { isEmpty, isString, truncate, upperFirst } from 'lodash';\n\nimport { getViewUrl } from 'components/Dashboard/Workspaces/utils';\n\nimport { DESCRIPTION_LIMIT, MOBILE_DESCRIPTION_LIMIT } from './constants';\n\nfunction usePush({\n id,\n subscriptionToken,\n description,\n url,\n isMobile,\n customDescriptionLimit,\n feedToken,\n}) {\n const eventUrl = `${getViewUrl(feedToken)}/recent/${id}`;\n const subscriptionUrl = subscriptionToken\n ? `${getViewUrl(feedToken)}?keywordId=${subscriptionToken}`\n : '';\n\n const descriptionLimit = isMobile\n ? MOBILE_DESCRIPTION_LIMIT\n : customDescriptionLimit || DESCRIPTION_LIMIT;\n const showDescription = !isEmpty(description);\n const formattedDescription = isString(description)\n ? upperFirst(truncate(description, { length: descriptionLimit }))\n : description;\n\n return {\n eventUrl,\n detailsUrl: subscriptionUrl || url,\n showDescription,\n formattedDescription,\n };\n}\n\nexport default usePush;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport size from 'lodash/size';\n\nimport Link from 'utils/Link';\n\nimport { workspacesShape } from '../../utils/shapes';\nimport Workspaces from '../Workspaces';\nimport TypeTitle from '../TypeTitle';\nimport usePush from './utils/usePush';\nimport styles from './styles.module.scss';\n\nfunction Push({\n id,\n title,\n description,\n itemType,\n itemTitle,\n url,\n withTitle,\n className,\n subscriptionToken,\n isMobile,\n customDescriptionLimit,\n typeClassName,\n customBodyUrl,\n bodyClassName,\n isKeywordMatch,\n workspaces,\n feedToken,\n}) {\n const {\n eventUrl,\n detailsUrl,\n showDescription,\n formattedDescription,\n } = usePush({\n id,\n subscriptionToken,\n description,\n url,\n isMobile,\n customDescriptionLimit,\n feedToken,\n });\n\n return (\n
\n {withTitle &&
{title}
}\n\n {showDescription && (\n \n {formattedDescription}\n \n )}\n\n \n\n {size(workspaces) > 1 && (\n \n )}\n
\n );\n}\n\nPush.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n itemType: PropTypes.string,\n itemTitle: PropTypes.string,\n url: PropTypes.string,\n withTitle: PropTypes.bool,\n className: PropTypes.string,\n subscriptionToken: PropTypes.string,\n isMobile: PropTypes.bool,\n customDescriptionLimit: PropTypes.number,\n typeClassName: PropTypes.string,\n customBodyUrl: PropTypes.string,\n bodyClassName: PropTypes.string,\n isKeywordMatch: PropTypes.bool,\n feedToken: PropTypes.string.isRequired,\n workspaces: workspacesShape,\n};\n\nexport default Push;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Placeholder from 'components/core/PDF/components/Placeholder';\n\nimport styles from '../styles.module.scss';\n\nexport default function ReceiptAbstract({ isReceiptLoading, infoNode }) {\n return (\n
\n {isReceiptLoading && }\n {!isReceiptLoading && infoNode}\n
\n );\n}\n\nReceiptAbstract.propTypes = {\n isReceiptLoading: PropTypes.bool.isRequired,\n infoNode: PropTypes.node.isRequired,\n};\n","import React from 'react';\n\nimport styles from '../styles.module.scss';\n\nexport default function Error() {\n const errorMessage = 'There was an issue processing your request. Please try again.';\n\n return
{errorMessage}
;\n}\n","import React from 'react';\n\nimport AmountFormatter from 'components/Moneyball/common/TableView/components/AmountFormatter';\nimport { DISBURSEMENTS } from 'components/Moneyball/utils/constants';\nimport styles from '../styles.module.scss';\n\nfunction renderInfoItem(itemLabel, itemValue) {\n if (!itemValue) return null;\n\n const renderItemValue = itemLabel === 'Amount'\n ? \n : itemValue;\n\n return (\n
  • \n
    {itemLabel}
    \n
    {renderItemValue}
    \n
  • \n );\n}\n\nexport default function getInfoNode(searchType = '', receipt = {}) {\n const isDisbursements = searchType === DISBURSEMENTS;\n const {\n recipient,\n recipientAddress,\n recipientTreasurer,\n recipientCommitteeType,\n amount,\n date,\n description,\n sourceType,\n electionType,\n electionCycle,\n } = receipt;\n\n let infoNode = (\n
    \n
      \n {renderInfoItem('Recipient Name', recipient)}\n {renderInfoItem('City and State', recipientAddress)}\n {renderInfoItem('Committee Type', recipientCommitteeType)}\n {renderInfoItem('Treasurer', recipientTreasurer)}\n
    \n
    \n
      \n {renderInfoItem('Amount', amount)}\n {renderInfoItem('Date', date)}\n {renderInfoItem('Source type', sourceType)}\n {renderInfoItem('Election type', electionType)}\n {renderInfoItem('Election year', electionCycle)}\n
    \n
    \n );\n\n if (isDisbursements) {\n infoNode = (\n
    \n
      \n {renderInfoItem('Recipient Name', recipient)}\n
    \n
    \n
      \n {renderInfoItem('Amount', amount)}\n {renderInfoItem('Date', date)}\n {renderInfoItem('Source type', sourceType)}\n {renderInfoItem('Description', description)}\n {renderInfoItem('Election type', electionType)}\n {renderInfoItem('Election year', electionCycle)}\n
    \n
    \n );\n }\n\n return infoNode;\n}\n","import React, { Fragment, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { get, omit } from 'lodash';\n\nimport { DISBURSEMENTS, RECEIPTS } from 'components/Moneyball/utils/constants';\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\nimport PDF from 'components/core/PDF';\nimport { queryStringify } from 'utils/query-string';\n\nimport ReceiptAbstract from './components/ReceiptAbstract';\nimport Error from './components/Error';\nimport getInfoNode from './utils';\nimport styles from './styles.module.scss';\n\nfunction ReceiptModal({\n history,\n actionsMap,\n searchParams,\n receiptModalId,\n appliedFilters,\n handleReceiptModal,\n}) {\n const { pathname } = history.location;\n const { searchType } = appliedFilters;\n const { receipt, receiptError, searchReceipt, isReceiptLoading } = actionsMap;\n const { spender, hasPdf, sourceType, ...restReceipt } = receipt;\n const infoNode = getInfoNode(searchType, restReceipt);\n const isDisbursements = searchType === DISBURSEMENTS;\n const linkSearchType = isDisbursements ? DISBURSEMENTS : RECEIPTS;\n const modalTitle = isDisbursements ? 'Disbursement from' : 'Receipt from';\n const link = `${gon.moneyballApiV2}/api/v1/${linkSearchType}/${receiptModalId}.pdf`;\n const [selectedOption, setSelectedOption] = useState('Receipt abstract');\n const isReceiptAbstract = selectedOption === 'Receipt abstract';\n const isRawPDF = selectedOption === 'Raw PDF';\n const modalProps = {\n isOpen: true,\n theme: 'scrollableBody',\n className: styles.modal,\n bodyClassName: styles.body,\n headerClassName: styles.header,\n toggleOpen: handleReceiptModal,\n title: !receiptError && !isReceiptLoading ? `${modalTitle} ‘${spender}’` : '',\n };\n\n useEffect(() => {\n if (receiptModalId) {\n const receiptId = !get(searchParams, 'receiptId') && { receiptId: receiptModalId };\n const withModalSearchParams = queryStringify(\n { ...searchParams, ...receiptId, ...{ searchType } },\n { arrayFormat: 'none' },\n );\n\n history.push(`${pathname}?${withModalSearchParams}`);\n searchReceipt({ id: receiptModalId, appliedFilters });\n }\n\n return () => {\n const withoutModalSearchParams = queryStringify(\n { ...omit(searchParams, ['receiptId', 'searchType']) },\n { arrayFormat: 'none' },\n );\n\n history.push(`${pathname}?${withoutModalSearchParams}`);\n };\n }, [receiptModalId]);\n\n function handleSelectedOption({ target }) {\n setSelectedOption(target.textContent);\n }\n\n const buttonProps = {\n onClick: handleSelectedOption,\n theme: 'default',\n };\n\n const receiptAbstractProps = {\n isReceiptLoading,\n infoNode,\n };\n\n const rawPdfProps = {\n containerClass: styles.container,\n isLoading: isReceiptLoading,\n sourceType,\n hasPdf,\n link,\n };\n\n const isLargeDownContent = (\n \n {isReceiptAbstract && }\n {isRawPDF && }\n \n );\n\n const isLargeUpContent = (\n \n \n \n \n );\n\n return (\n \n
    \n \n \n \n \n
    \n\n
    \n {!receiptError ? [isLargeDownContent] : }\n
    \n\n
    \n {!receiptError ? [isLargeUpContent] : }\n
    \n
    \n );\n}\n\nReceiptModal.propTypes = {\n history: PropTypes.object.isRequired,\n searchParams: PropTypes.object.isRequired,\n appliedFilters: PropTypes.object.isRequired,\n handleReceiptModal: PropTypes.func.isRequired,\n actionsMap: PropTypes.object.isRequired,\n receiptModalId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n};\n\nexport default ReceiptModal;\n","import React from 'react';\nimport range from 'lodash/range';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './ListItem/styles.module.scss';\nimport parentStyles from '../styles.module.scss';\n\nfunction Placeholder({ count, className }) {\n function renderPlaceholderRow(rowItem) {\n return (\n
    \n
    \n \n
    \n\n \n
    \n );\n }\n\n return (\n
    \n {range(count).map(renderPlaceholderRow)}\n
    \n );\n}\n\nPlaceholder.defaultProps = {\n count: 8,\n};\n\nPlaceholder.propTypes = {\n count: PropTypes.number,\n className: PropTypes.string,\n};\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport Badge from 'components/core/Badge';\n\nimport styles from './styles.module.scss';\n\nfunction ListItem({\n label,\n content,\n value,\n fullWidth,\n hideIfEmpty,\n withHiddenItems,\n listItemClassName,\n listContentClassName,\n listLabelClassName,\n badgeClassName,\n isSimpleLabel,\n}) {\n if (hideIfEmpty && isEmpty(value)) {\n return null;\n }\n\n const labelNode = isSimpleLabel\n ? label\n : {label};\n\n return (\n \n
    \n {labelNode}\n
    \n\n
    \n {isEmpty(content) ? EMPTY_VALUE : content}\n
    \n
    \n );\n}\n\nListItem.defaultProps = {\n hideIfEmpty: false,\n withHiddenItems: false,\n fullWidth: false,\n isSimpleLabel: false,\n};\n\nListItem.propTypes = {\n label: PropTypes.string.isRequired,\n content: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n fullWidth: PropTypes.bool,\n hideIfEmpty: PropTypes.bool,\n withHiddenItems: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.string,\n ]),\n listItemClassName: PropTypes.string,\n listContentClassName: PropTypes.string,\n listLabelClassName: PropTypes.string,\n badgeClassName: PropTypes.string,\n isSimpleLabel: PropTypes.bool,\n};\n\nexport default ListItem;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { map, isEmpty } from 'lodash';\n\nimport ViewMoreButton from 'components/core/ViewMoreButton';\n\nimport Placeholder from './components/Placeholder';\nimport ListItem from './components/ListItem';\nimport styles from './styles.module.scss';\n\nfunction ListField({\n isLoading,\n isVisible,\n items,\n className,\n isViewMoreEnabled,\n placeholderClassName,\n placeholderItemsCount,\n listItemClassName,\n listContentClassName,\n listLabelClassName,\n badgeClassName,\n withStripedLines,\n fullWidth,\n isSimpleLabel,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n\n if (isLoading) {\n return (\n \n );\n }\n\n if (!isVisible || isEmpty(items)) {\n return null;\n }\n\n const handleViewMore = () => setIsOpen(!isOpen);\n\n function renderItems() {\n const renderedItems = map(items, ({ id, ...item }, index) => (\n \n ));\n\n if (isViewMoreEnabled) {\n return (\n
    \n {renderedItems}\n
    \n );\n }\n\n return renderedItems;\n }\n\n const renderButtonContent = label =>
    {label}
    ;\n\n return (\n
    \n {renderItems()}\n\n {isViewMoreEnabled && (\n \n )}\n
    \n );\n}\n\nListField.defaultProps = {\n items: [],\n isViewMoreEnabled: false,\n isVisible: true,\n fullWidth: false,\n placeholderItemsCount: 8,\n};\n\nListField.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n label: PropTypes.string.isRequired,\n content: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.number,\n PropTypes.string,\n ]),\n })\n ),\n isViewMoreEnabled: PropTypes.bool,\n isVisible: PropTypes.bool,\n fullWidth: PropTypes.bool,\n className: PropTypes.string,\n isLoading: PropTypes.bool.isRequired,\n placeholderClassName: PropTypes.string,\n placeholderItemsCount: PropTypes.number,\n listItemClassName: PropTypes.string,\n listContentClassName: PropTypes.string,\n listLabelClassName: PropTypes.string,\n badgeClassName: PropTypes.string,\n withStripedLines: PropTypes.bool,\n isSimpleLabel: PropTypes.bool,\n};\n\nexport default ListField;\n","export const DISCLAIMER_TYPES = {\n CONTRIBUTIONS: gon.moneyballDisclaimer,\n};\n","import contributionTitles from 'components/core/Moneyball/utils/contributionTitles';\n\nconst titles = {\n contributions: {\n title: 'Receipts',\n questionText: contributionTitles.tooltipContent,\n },\n contributionsForm: {\n title: 'Contributions from',\n },\n};\n\nexport default titles;\n","import { DISCLAIMER_TYPES } from './constants';\n\nconst contributionTitles = {\n tooltipContent: DISCLAIMER_TYPES.CONTRIBUTIONS,\n};\n\nexport default contributionTitles;\n","import { useEffect, useState } from 'react';\n\nfunction useStickyNode({ ref: nodeRef, offsetHeight }) {\n const [isSticky, setIsSticky] = useState(false);\n\n function handleScroll() {\n const nodeCoordinates = nodeRef.current && nodeRef.current.getBoundingClientRect();\n const top = nodeCoordinates.top;\n const shouldStick = top < offsetHeight;\n\n setIsSticky(shouldStick);\n }\n\n useEffect(() => {\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n }, []);\n\n return isSticky;\n}\n\nexport default useStickyNode;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nfunction ResponsiveTooltipContainer({ children, className }) {\n return (\n
    \n {children}\n
    \n );\n}\n\nResponsiveTooltipContainer.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nexport default ResponsiveTooltipContainer;\n","export const LIMIT_NOTIFICATIONS = 5;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\nimport Select from 'components/core/Select';\n\nimport styles from './styles.module.scss';\n\nfunction TabsNavigation({ options }) {\n const { isMobile } = useMediaQuery();\n\n const redirectToPath = (path) => {\n window.location.assign(path);\n };\n\n const handleSelectChange = ({ value }) => (\n redirectToPath(value)\n );\n\n function isItemSelected(value) {\n return window.location.pathname.includes(value);\n }\n\n const getSelectedItemValue = () => {\n const activeItem = options.find(({ value }) => isItemSelected(value));\n return activeItem && activeItem.value;\n };\n\n if (isMobile) {\n return (\n \n );\n }\n\n return (\n \n {options.map(({ label, value }) => (\n redirectToPath(value)}\n className={classNames(styles.button, isItemSelected(value) && styles.active)}\n theme=\"secondary\"\n >\n {label}\n \n ))}\n \n );\n}\n\nexport const optionShape = PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n});\n\nTabsNavigation.propTypes = {\n options: PropTypes.arrayOf(optionShape).isRequired,\n};\n\nexport default TabsNavigation;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2sCcP\",\"hyperlink\":\"styles-module__hyperlink____4lhg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"styles-module__options___3udRW\"};","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { size } from 'lodash';\n\nimport KEY_CODES from 'utils/keyCodes';\n\nimport TextareaWithMentions from 'components/core/TextareaWithMentions';\n\nfunction CommentInput({\n isEditable,\n parentId,\n fieldRef,\n onCtrlEnterDown,\n value,\n ...restProps\n}) {\n const mentionsData = [\n {\n trigger: '@',\n strategySlug: 'people',\n },\n {\n trigger: '#',\n strategySlug: 'bill',\n },\n ];\n\n const innerRef = useRef(null);\n const inputRef = fieldRef || innerRef;\n\n const parent = document.getElementById(parentId);\n\n useEffect(() => {\n const { current } = inputRef;\n\n if (isEditable && current) {\n const lastPosition = size(value);\n\n current.focus();\n current.setSelectionRange(lastPosition, lastPosition);\n }\n }, [isEditable]);\n\n const handleCtrlEnterDown = (event) => {\n const isEnter = event.keyCode === KEY_CODES.ENTER;\n (event.ctrlKey || event.metaKey) && isEnter && onCtrlEnterDown();\n };\n\n return (\n \n );\n}\n\nCommentInput.defaultProps = {\n isEditable: true,\n};\n\nCommentInput.propTypes = {\n // eslint-disable-next-line\n fieldRef: PropTypes.object,\n value: PropTypes.string,\n parentId: PropTypes.string.isRequired,\n isEditable: PropTypes.bool,\n onCtrlEnterDown: PropTypes.func.isRequired,\n};\n\nexport default CommentInput;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___EvGgd\",\"danger\":\"styles-module__danger___12gRn\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { pluralize } from 'utils/string';\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction AppliedFiltersLabel({\n filtersCount,\n results,\n onClearFilters,\n searchValue,\n resultsWord,\n containerClass,\n placeholderClass,\n isLoading,\n}) {\n const showPlaceholder = isLoading && (searchValue || filtersCount);\n\n if (filtersCount === 0 && !searchValue) {\n return null;\n }\n\n if (showPlaceholder) {\n return (\n
    \n \n
    \n );\n }\n\n function renderSearchKeyword() {\n if (!searchValue) {\n return '.';\n }\n\n return <> for {searchValue}.;\n }\n\n function renderAppliedFilters() {\n if (!filtersCount) {\n return null;\n }\n\n const filtersWord = pluralize('filter', 'filters', filtersCount);\n\n return <> {filtersCount} {filtersWord} applied;\n }\n\n return (\n
    \n Showing {results} {resultsWord}\n {renderSearchKeyword()}\n {renderAppliedFilters()}\n  \n \n Clear all\n .\n
    \n );\n}\n\nAppliedFiltersLabel.propTypes = {\n results: PropTypes.number.isRequired,\n onClearFilters: PropTypes.func.isRequired,\n filtersCount: PropTypes.number.isRequired,\n resultsWord: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n searchValue: PropTypes.string,\n placeholderClass: PropTypes.string,\n containerClass: PropTypes.string,\n};\n\nexport default AppliedFiltersLabel;\n","import React from 'react';\n\nimport TextPlaceholder from 'components/core/Placeholder/components/Text';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder() {\n return Array(3).fill(0).map((_, index) => (\n
    \n
    \n \n \n
    \n\n \n
    \n ));\n}\n\nexport default Placeholder;\n","import map from 'lodash/map';\n\nimport { transformSubscription } from 'redux/subscriptions/utils/transformers';\n\nexport function transformWorkspacesForTiles(workspaces) {\n return map(workspaces, ({ value, label }) => ({ name: label, token: value }));\n}\n\nexport function transformSubscriptionsForUI(subscriptions, workspaces) {\n return map(subscriptions, (subscription, index) => ({\n subscription: transformSubscription(subscription),\n feed: workspaces[index],\n }));\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport Cookies from 'js-cookie';\n\nimport { P2A_LOGIN_PRODUCTION_URL } from 'utils/constants';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport Button from 'components/core/Button';\nimport { addFreshchatClassName } from 'utils/freshchat';\n\nimport {\n pullLayoutForProductBar,\n pushLayoutForProductBar,\n canRenderTopBar,\n} from './utils';\nimport styles from './styles.module.scss';\n\nfunction ProductBar() {\n const { isMobile } = useMediaQuery();\n\n if (!canRenderTopBar(isMobile)) {\n pullLayoutForProductBar();\n\n return null;\n }\n\n function onClick() {\n Cookies.set('last_govpredict_url', window.location.href);\n window.location.href = P2A_LOGIN_PRODUCTION_URL;\n }\n\n addFreshchatClassName('withProductBar');\n pushLayoutForProductBar();\n\n return (\n
    \n \n Advocacy\n \n \n Intelligence\n \n
    \n );\n}\n\nexport default ProductBar;\n","export const DRAG_END_REASON = {\n CANCEL: 'CANCEL',\n DROP: 'DROP',\n};\n","import { useState } from 'react';\n\nfunction useDocumentSummary() {\n const [documentSummary, setDocumentSummary] = useState('');\n\n function handleChangeSummary(event = {}) {\n const { value } = event.target || {};\n\n setDocumentSummary(value);\n }\n\n function handleResetSummary() {\n setDocumentSummary('');\n }\n\n return {\n documentSummary,\n onChangeSummary: handleChangeSummary,\n onResetSummary: handleResetSummary,\n };\n}\n\nexport default useDocumentSummary;\n","import { useState, useEffect } from 'react';\n\nimport { getCompanyLogo } from 'utils/api';\n\nfunction useCompanyLogo({ displayCompanyLogo, isOpenModal }) {\n const { currentUser = {} } = gon;\n const { companyHasLogo } = currentUser;\n const shouldFetchLogo = (\n companyHasLogo\n && displayCompanyLogo\n && isOpenModal\n );\n\n const [isLogoLoading, setIsLogoLoading] = useState(false);\n const [logoUrl, setLogoUrl] = useState('');\n\n useEffect(() => {\n if (shouldFetchLogo) {\n setIsLogoLoading(true);\n\n Promise.resolve(getCompanyLogo(logoUrl))\n .then((companyLogoUrl) => {\n setLogoUrl(companyLogoUrl);\n setIsLogoLoading(false);\n });\n }\n }, [shouldFetchLogo]);\n\n return {\n isLogoLoading,\n logoUrl,\n companyHasLogo,\n };\n}\n\nexport default useCompanyLogo;\n","import { error } from 'components/core/Notification';\n\nexport default class Notifications {\n static notifyInvalidForm = error('You must select at least one section.');\n\n static errorApi = error('An error occurred. Please try again.')\n}\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n TAG_BORDER_COLOR,\n TAG_BACKGROUND_COLOR,\n WHITE_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n tag: {\n backgroundColor: TAG_BACKGROUND_COLOR,\n borderColor: TAG_BORDER_COLOR,\n borderRadius: 2,\n borderWidth: 1,\n color: WHITE_COLOR,\n fontSize: 8,\n fontWeight: 400,\n margin: '0 4 0 0',\n padding: '2 2 1 3',\n },\n});\n\nexport default styles;\n","import { useState } from 'react';\nimport { values as _values, isEmpty as _isEmpty, omitBy } from 'lodash';\nimport Api from './Api';\n\nconst DEFAULT_PAGINATION = {\n current: 1,\n total: 1,\n totalCount: 0,\n perPage: 10,\n};\n\nfunction useAdvancedSearch({ initialValues, slug, transformer }) {\n const [values, setValues] = useState(initialValues);\n const [isLoading, setIsLoading] = useState(true);\n const [savedSearches, setSavedSearches] = useState([]);\n const [recentSearches, setRecentSearches] = useState([]);\n const [savedSearchesPagination, setSavedSearchesPagination] = useState(DEFAULT_PAGINATION);\n\n const api = Api({ slug, transformer });\n\n const loadSavedSearches = (page = 1) => {\n setIsLoading(true);\n\n api.loadSavedSearches({ page })\n .then(({ searches, pagination }) => {\n setSavedSearches(searches);\n setSavedSearchesPagination(pagination);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n const loadRecentSearches = () => {\n setIsLoading(true);\n\n api.loadRecentSearches()\n .then(({ searches }) => {\n setRecentSearches(searches);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n const isEmpty = () => {\n const searchValues = _values(values);\n\n return searchValues.every(_isEmpty);\n };\n\n const create = () => {\n if (isEmpty(values)) {\n return null;\n }\n\n return api.create(omitBy(values, _isEmpty));\n };\n\n const save = search => (\n api.save(search)\n .then(loadRecentSearches)\n );\n\n const remove = search => (\n api.remove(search)\n .then(() => loadSavedSearches())\n );\n\n const click = ({ search_params: searchParams } = {}) => {\n setValues(omitBy(searchParams, _isEmpty));\n };\n\n const changeSavedSearchesPage = (page) => {\n setSavedSearchesPagination({\n ...savedSearchesPagination,\n current: page,\n });\n\n loadSavedSearches(page);\n };\n\n return {\n isLoading,\n search: {\n create,\n save,\n remove,\n click,\n },\n options: {\n values,\n onChange: setValues,\n },\n recentSearches: {\n searches: recentSearches,\n load: loadRecentSearches,\n },\n savedSearches: {\n searches: savedSearches,\n load: loadSavedSearches,\n pagination: {\n ...savedSearchesPagination,\n change: changeSavedSearchesPage,\n },\n },\n };\n}\n\nexport default useAdvancedSearch;\n","import { toLower, upperFirst, replace } from 'lodash';\n\nimport { isURL } from 'utils/url';\n\nconst labels = {\n youtube: 'YouTube',\n linkedin: 'LinkedIn',\n};\n\nconst getLabel = ({ url, type }) => {\n const typeWithoutIndex = replace(type, / [0-9]/, '');\n\n if (isURL(url) && toLower(typeWithoutIndex) === 'email') return 'Web form';\n\n return labels[toLower(typeWithoutIndex)] || upperFirst(toLower(type));\n};\n\nexport default getLabel;\n","import { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { getDate } from '../../utils';\n\nexport const getPositionContent = ({ title, organization, description, startDate, endDate }) => {\n const date = getDate(startDate, endDate);\n const formattedDescription = getParenthesisItem(description);\n const secondPart = joinCompact([organization, formattedDescription, date], ' ');\n\n return joinCompact([title, secondPart]);\n};\n","import { joinCompact } from 'utils/string';\n\nimport { getDate } from '../../utils';\n\nexport const getEmploymentContent = ({\n title,\n company,\n startDate,\n endDate,\n startYear,\n endYear,\n}) => {\n const start = startDate || startYear;\n const end = endDate || endYear;\n const date = getDate(start, end);\n\n return `${joinCompact([title, company])} ${date}`;\n};\n","import trim from 'lodash/trim';\n\nimport { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { getDate } from '../../utils';\n\nexport const getEducationItemContent = ({ school, details, startDate, endDate, degree }) => {\n const date = getDate(startDate, endDate);\n const formattedDetails = getParenthesisItem(details);\n const firstPart = joinCompact([school, formattedDetails, date], ' ');\n\n return joinCompact([firstPart, trim(degree)], ' - ');\n};\n","import { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { getDate } from '../../utils';\n\nexport const getBranchContent = ({ highestRank, branch, details, startDate, endDate }) => {\n const date = getDate(startDate, endDate);\n const formattedDetails = getParenthesisItem(details);\n const secondPart = joinCompact([branch, formattedDetails, date], ' ');\n\n return joinCompact([highestRank, secondPart]);\n};\n","import { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { getDate } from '../../utils';\n\nexport const getOrganizationContent = ({\n title,\n organization,\n type,\n details,\n startYear,\n endYear,\n}) => {\n const date = getDate(startYear, endYear);\n const formattedType = getParenthesisItem(type);\n const secondPart = joinCompact([organization, formattedType, details, date], ' ');\n\n return joinCompact([title, secondPart]);\n};\n","import { joinCompact, getParenthesisItem } from 'utils/string';\n\nexport const getPublicationContent = ({ type, title, publisher, details, year }) => {\n const formattedTitle = title ? `\"${title}\"` : '';\n const formattedPublisher = getParenthesisItem(publisher);\n const formattedDetails = getParenthesisItem(details);\n const formattedYear = getParenthesisItem(year);\n const firstPart = joinCompact([type, formattedTitle, formattedPublisher]);\n const secondPart = joinCompact([formattedDetails, formattedYear], ' ');\n\n return `${firstPart} ${secondPart}`;\n};\n","import { joinCompact, getParenthesisItem } from 'utils/string';\n\nexport const getAwardContent = ({ title, organization, type, details, year }) => {\n const formattedType = getParenthesisItem(type);\n const formattedYear = getParenthesisItem(year);\n const secondPart = joinCompact([organization, formattedType, details, formattedYear], ' ');\n\n return joinCompact([title, secondPart]);\n};\n","import 'core-js/es6/map';\nimport { uniq, isEmpty } from 'lodash';\n\nfunction getMappedValues(allValues = [], toString = false) {\n if (isEmpty(allValues)) {\n return [];\n }\n\n const mapData = new Map([]);\n\n for (const item of allValues) {\n const { label, value } = item;\n const values = [value] || [];\n\n if (mapData.has(label)) {\n values.push(...mapData.get(label).value);\n }\n\n const currentValues = toString\n ? values.map(currentValue => currentValue.toString())\n : values;\n\n mapData.set(label, { ...item, value: uniq(currentValues) });\n }\n\n return Array.from(mapData.values());\n}\n\nexport default getMappedValues;\n","import colors from './colors.scss';\n\nconst themeStyles = {\n ORANGE: {\n '--fa-primary-color': colors.orange8,\n '--fa-secondary-color': colors.orange11,\n '--fa-secondary-opacity': 0.8,\n },\n GREEN: {\n '--fa-primary-color': colors.green8,\n '--fa-secondary-color': colors.green5,\n '--fa-secondary-opacity': 0.8,\n },\n};\n\nconst THEMES = {\n ORANGE: 'ORANGE',\n GREEN: 'GREEN',\n};\n\nexport { themeStyles, THEMES };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { themeStyles, THEMES } from './constants';\n\nfunction DuotoneIcon({ className, theme }) {\n const themeStyle = themeStyles[theme] || {};\n\n return (\n \n );\n}\n\nDuotoneIcon.defaultProps = {\n theme: THEMES.ORANGE,\n};\n\nDuotoneIcon.propTypes = {\n className: PropTypes.string.isRequired,\n theme: PropTypes.oneOf(Object.keys(THEMES)),\n};\n\nexport { THEMES };\n\nexport default DuotoneIcon;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport styles from '../styles.module.scss';\n\nfunction ImageIcon({ url, alt, className }) {\n return (\n {alt}\n );\n}\n\nImageIcon.propTypes = {\n url: PropTypes.string.isRequired,\n alt: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default ImageIcon;\n","import isEmpty from 'lodash/isEmpty';\n\nimport { THEMES } from 'components/core/DuotoneIcon';\nimport Avatar from 'components/core/Avatar';\n\nimport ImageIcon from './components/ImageIcon';\nimport { TYPES } from './constants';\nimport styles from './styles.module.scss';\n\nconst avatarProps = {\n CustomIconComponent: Avatar,\n iconProps: {\n className: styles.avatar,\n },\n};\n\nconst documentProps = {\n CustomIconComponent: ImageIcon,\n iconProps: {\n url: '/images/documents_icon.svg',\n },\n};\n\nexport const optionTypes = {\n [TYPES.FEDERAL_LEGISLATOR]: {\n description: 'Federal Legislator',\n iconProps: {\n className: 'fa-podium-star',\n },\n },\n [TYPES.STATE_LEGISLATOR]: {\n description: 'State Legislator',\n iconProps: {\n className: 'fa-podium',\n },\n },\n [TYPES.STAKEHOLDER]: {\n description: 'Stakeholder',\n iconProps: {\n className: 'fa-podcast',\n },\n },\n [TYPES.COLLEAGUE]: {\n ...avatarProps,\n description: 'Colleague',\n },\n [TYPES.STATE_EXECUTIVE]: {\n ...avatarProps,\n description: 'State Executive',\n },\n [TYPES.STATE_AGENCY_STAFFER]: {\n ...avatarProps,\n description: 'State Executive Staffer',\n },\n [TYPES.FEDERAL_EXECUTIVE]: {\n ...avatarProps,\n description: 'Federal Executive',\n },\n [TYPES.LOCAL_EXECUTIVE]: {\n ...avatarProps,\n description: 'Local Executive',\n },\n [TYPES.USER]: {\n ...avatarProps,\n description: 'User',\n },\n [TYPES.STATE_STAFFER]: {\n description: 'State Staffer',\n CustomIconComponent: ImageIcon,\n iconProps: {\n url: '/images/staffer_icon.svg',\n },\n },\n [TYPES.FEDERAL_STAFFER]: {\n description: 'Federal Staffer',\n CustomIconComponent: ImageIcon,\n iconProps: {\n url: '/images/staffer_icon.svg',\n },\n },\n [TYPES.FEDERAL_BILL]: {\n description: 'Federal Bill',\n iconProps: {\n className: 'fa-flag-usa',\n },\n },\n [TYPES.STATE_BILL]: {\n description: 'State Bill',\n iconProps: {\n className: 'fa-flag-alt',\n },\n },\n [TYPES.FEDERAL_REGULATION]: {\n description: 'Federal Regulation',\n iconProps: {\n className: 'fa-stamp',\n },\n },\n [TYPES.STATE_REGULATION]: {\n description: 'State Regulation',\n iconProps: {\n className: 'fa-stamp',\n },\n },\n [TYPES.FEDERAL_COMMITTEE]: {\n description: ({ state_and_chamber }) => state_and_chamber && `(${state_and_chamber})`,\n iconProps: {\n className: 'fa-flag-usa',\n },\n },\n [TYPES.STATE_COMMITTEE]: {\n description: ({ state_and_chamber }) => state_and_chamber && `(${state_and_chamber})`,\n iconProps: {\n className: 'fa-flag-alt',\n },\n },\n [TYPES.HILL_DAY]: {\n description: 'Hill Day',\n iconProps: {\n className: 'fa-landmark-alt',\n theme: THEMES.GREEN,\n },\n },\n [TYPES.HILL_DAY_MEETING]: {\n description: 'Hill Day meeting',\n iconProps: {\n className: 'fa-calendar-minus',\n theme: THEMES.GREEN,\n },\n },\n [TYPES.CONSTITUENT]: {\n description: ({ matched_filters }) => {\n if (isEmpty(matched_filters)) return null;\n\n return '(Constituent)';\n },\n },\n [TYPES.AGENCY_PRESS_RELEASE]: {\n ...documentProps,\n description: 'Agency press release',\n },\n [TYPES.CBO_COST_ESTIMATE]: {\n ...documentProps,\n description: 'CBO cost estimate',\n },\n [TYPES.COMMITTEE_REPORT]: {\n ...documentProps,\n description: 'Committee report',\n },\n [TYPES.CONGRESSIONAL_PRESS_RELEASE]: {\n ...documentProps,\n description: 'Congressional press release',\n },\n [TYPES.CONGRESSIONAL_RECORD_ITEM]: {\n ...documentProps,\n description: 'Congressional record item',\n },\n [TYPES.CONTRACT]: {\n ...documentProps,\n description: 'Contract',\n },\n [TYPES.CRS_REPORT]: {\n ...documentProps,\n description: 'CRS report',\n },\n [TYPES.DEAR_COLLEAGUE_LETTER]: {\n ...documentProps,\n description: 'Dear Colleague letter',\n },\n [TYPES.EXECUTIVE_ORDER]: {\n ...documentProps,\n description: 'Executive order',\n },\n [TYPES.GAO_REPORT]: {\n ...documentProps,\n description: 'GAO report',\n },\n [TYPES.GRANT]: {\n ...documentProps,\n description: 'Grant',\n },\n [TYPES.LIVE_HEARING_TRANSCRIPT]: {\n ...documentProps,\n description: 'Live hearing transcript',\n },\n [TYPES.OFFICIAL_HEARING_TRANSCRIPT]: {\n ...documentProps,\n description: 'Official hearing transcript',\n },\n [TYPES.SAP_REPORT]: {\n ...documentProps,\n description: 'SAP report',\n },\n [TYPES.STATE_OF_THE_UNION_ADDRESS]: {\n ...documentProps,\n description: 'State of the Union addresse',\n },\n [TYPES.TREATY_DOCUMENT]: {\n ...documentProps,\n description: 'Treaty document',\n },\n [TYPES.THIRD_PARTY_REPORT]: {\n ...documentProps,\n description: 'Third party report',\n },\n [TYPES.WHITE_HOUSE_PRESS_BRIEFING]: {\n ...documentProps,\n description: 'White House press briefing',\n },\n [TYPES.GOVERNOR_ORDER]: {\n ...documentProps,\n description: 'Governor order',\n },\n [TYPES.GOVERNOR_PRESS_RELEASE]: {\n ...documentProps,\n description: 'Governor press release',\n },\n [TYPES.LOCAL_EXECUTIVE]: {\n description: 'Local executive',\n },\n [TYPES.STATE_EXECUTIVE]: {\n description: 'State executive',\n },\n [TYPES.STATE_AGENCY_STAFFER]: {\n description: 'State agency staffer',\n },\n [TYPES.FEDERAL_EXECUTIVE]: {\n description: 'Federal executive',\n },\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DuotoneIcon from 'components/core/DuotoneIcon';\n\nimport { optionTypes } from '../utils';\nimport { TYPES } from '../constants';\nimport styles from '../styles.module.scss';\n\nfunction OptionIcon({\n type,\n strategy,\n isVisible,\n customIconProps,\n}) {\n if (!isVisible) return null;\n\n const optionProps = optionTypes[type || strategy] || {};\n const { iconProps, CustomIconComponent } = optionProps;\n\n if (isEmpty(iconProps)) {\n return ;\n }\n\n const { className, theme, ...restIconProps } = iconProps;\n\n if (CustomIconComponent) {\n return (\n \n );\n }\n\n return (\n \n );\n}\n\nOptionIcon.defaultProps = {\n customIconProps: {},\n isVisible: true,\n};\n\nOptionIcon.propTypes = {\n type: PropTypes.oneOf(Object.values(TYPES)),\n strategy: PropTypes.string,\n // eslint-disable-next-line\n customIconProps: PropTypes.object,\n isVisible: PropTypes.bool,\n};\n\nexport default OptionIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isNil, isFunction } from 'lodash';\n\nimport { optionTypes } from '../utils';\nimport { TYPES } from '../constants';\nimport styles from '../styles.module.scss';\n\nfunction OptionType({ type, ...restProps }) {\n const { description } = optionTypes[type] || {};\n\n if (isNil(description)) {\n return null;\n }\n\n const renderDescription = () => {\n if (isFunction(description)) {\n return description(restProps);\n }\n\n return `(${description})`;\n };\n\n return (\n \n {renderDescription()}\n \n );\n}\n\nOptionType.propTypes = {\n type: PropTypes.oneOf(Object.values(TYPES)),\n};\n\nexport default OptionType;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport PartyIcon from 'components/shared/party-icon';\n\nimport { TYPES } from '../constants';\n\nconst typesWithPartyIcon = [\n TYPES.FEDERAL_LEGISLATOR,\n TYPES.STATE_LEGISLATOR,\n TYPES.STATE_STAFFER,\n TYPES.FEDERAL_STAFFER,\n];\n\nfunction OptionPartyIcon({ type, partySlug }) {\n const hasPartyIcon = typesWithPartyIcon.includes(type);\n\n if (isEmpty(partySlug) || !hasPartyIcon) {\n return null;\n }\n\n const partyShort = partySlug.slice(0, 1).toUpperCase();\n\n return (\n \n );\n}\n\nOptionPartyIcon.propTypes = {\n partySlug: PropTypes.string,\n type: PropTypes.oneOf(Object.values(TYPES)),\n};\n\nexport default OptionPartyIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Highlighter from 'components/core/Highlighter';\n\nimport OptionIcon from './components/OptionIcon';\nimport OptionType from './components/OptionType';\nimport OptionPartyIcon from './components/OptionPartyIcon';\n\nfunction RichOption({\n type,\n label,\n inputValue,\n strategy,\n party_slug: partySlug,\n profile_img_url: photoUrl,\n showIcon,\n optionClassName,\n ...restProps\n}) {\n const customIconProps = {\n name: label,\n photoUrl,\n };\n\n return (\n
    \n \n \n \n \n
    \n );\n}\n\nRichOption.defaultProps = {\n inputValue: '',\n showIcon: true,\n};\n\nRichOption.propTypes = {\n label: PropTypes.string.isRequired,\n type: PropTypes.string,\n strategy: PropTypes.string,\n showIcon: PropTypes.bool,\n party_slug: PropTypes.string,\n inputValue: PropTypes.string,\n profile_img_url: PropTypes.string,\n optionClassName: PropTypes.string,\n};\n\nexport default RichOption;\n","import PropTypes from 'prop-types';\n\nexport const notificationShape = PropTypes.shape({\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n id: PropTypes.string.isRequired,\n itemTitle: PropTypes.string,\n itemType: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n url: PropTypes.string,\n});\n\nexport const uiShape = PropTypes.shape({\n isClearingNotifications: PropTypes.bool.isRequired,\n});\n","import { useEffect, useState } from 'react';\nimport { differenceBy, size, isEmpty, isNil, filter, map } from 'lodash';\nimport { toast } from 'react-toastify';\n\nimport { LIMIT_NOTIFICATIONS } from './constants';\n\nfunction useMultipleNotifications({\n id,\n nextList,\n myPageProps,\n renderDisplayAll,\n displayNotifications = true,\n}) {\n const [notifications, setNotifications] = useState([]);\n const [pushNotifications, setPushNotifications] = useState([]);\n const [isClosing, setIsClosing] = useState(false);\n const [pulse, setPulse] = useState(false);\n let timer = null;\n\n function dismissAll() {\n toast.dismiss();\n }\n\n function handleChangePulse(value) {\n setPulse(value);\n }\n\n /** Do not notify on close - removed from the list - marked as read */\n function onClose(props) {\n const { id: contentId } = props || {};\n\n if (!isNil(contentId)) {\n setIsClosing(true);\n setNotifications(prevProps => filter(prevProps, item => item.id !== contentId));\n }\n }\n\n function handleNewNotifications() {\n if (isEmpty(nextList)) {\n return;\n }\n\n setIsClosing(false);\n\n const newNotifications = differenceBy(nextList, notifications, 'id');\n\n if (isEmpty(newNotifications)) {\n return;\n }\n\n setPulse(true);\n\n timer = setTimeout(() => setPulse(false), 2000);\n\n setNotifications(prevState => [\n ...prevState,\n ...newNotifications,\n ]);\n\n setPushNotifications(newNotifications);\n }\n\n /** Add new notifications to the current state */\n useEffect(() => {\n handleNewNotifications();\n\n return () => clearTimeout(timer);\n }, [nextList]);\n\n /** Generate new notifications when new notifications are present */\n useEffect(() => {\n if (!isClosing && displayNotifications) {\n dismissAll();\n const notificationsLength = size(pushNotifications);\n const isOverLimit = notificationsLength > LIMIT_NOTIFICATIONS;\n const title = `${notificationsLength} new notifications`;\n\n notificationsLength > 0 && renderDisplayAll({\n id,\n title,\n myPageProps,\n notifications: map(pushNotifications, 'content'),\n isOverLimit,\n onClose,\n });\n }\n }, [pushNotifications]);\n\n return {\n pulse,\n onChangePulse: handleChangePulse,\n };\n}\n\nexport default useMultipleNotifications;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, size, head } from 'lodash';\n\nimport {\n updateNotification,\n defaultNotification,\n Slide,\n Zoom,\n AlertType,\n} from 'components/core/Notification';\nimport Button from 'components/core/Button';\nimport Link from 'utils/Link';\n\nimport styles from './styles.module.scss';\n\nfunction DisplayAll({\n title,\n id,\n notifications,\n isOverLimit,\n myPageProps,\n onClose,\n}) {\n const options = { transition: Slide, onClose };\n\n function seeAllNotifications() {\n const [first, ...rest] = notifications || [];\n const currentOptions = { ...options, transition: Zoom };\n\n updateNotification(id, first, currentOptions);\n map(rest, item => defaultNotification(item, currentOptions)());\n }\n\n function renderLink() {\n if (isOverLimit) {\n const { href, pageName } = myPageProps || {};\n\n return (\n \n Go to “{pageName}”\n \n );\n }\n\n return (\n \n Click to show all new notifications\n \n );\n }\n\n const alert = size(notifications) === 1\n ? head(notifications)\n : ;\n\n return defaultNotification(alert, { ...options, id })();\n}\n\nDisplayAll.propTypes = {\n id: PropTypes.string.isRequired,\n isOverLimit: PropTypes.bool,\n title: PropTypes.string.isRequired,\n notifications: PropTypes.arrayOf(PropTypes.node).isRequired,\n myPageProps: PropTypes.shape({\n href: PropTypes.string.isRequired,\n pageName: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default DisplayAll;\n","import { useEffect, useState } from 'react';\nimport map from 'lodash/map';\n\nimport { Push } from 'components/core/Notification';\nimport useMultipleNotifications from 'components/core/Notification/utils/useMultipleNotifications';\nimport DisplayAll from 'components/core/Notification/components/MultipleNotifications/DisplayAll';\n\nimport styles from '../styles.module.scss';\nimport { MY_FEED_LINK, BADGE_CONTENT_LIMIT } from './constants';\n\nfunction useNotifications({\n notifications = [],\n fetchNotifications,\n stopFetchNotifications,\n isMobile,\n totalNotifications,\n displayNotifications,\n localCount = 0,\n togglePanel,\n isNotificationsPanelOpen,\n resetPanel,\n}) {\n const [showToast, setShowToast] = useState(false);\n const [previousTotal, setPreviousTotal] = useState(localCount);\n\n const isOverLimit = totalNotifications > BADGE_CONTENT_LIMIT;\n const displayBadge = totalNotifications > 0 && !(isMobile && isNotificationsPanelOpen);\n const badgeContent = isOverLimit\n ? `${BADGE_CONTENT_LIMIT}+`\n : totalNotifications;\n const displayCloseIcon = !gon.isNavigationV2Enabled && isMobile && isNotificationsPanelOpen;\n\n const alerts = map(notifications, (notification) => {\n const { id } = notification;\n\n return { id, content: Push({ ...notification, className: styles.card, withTitle: true }) };\n });\n\n const myPageProps = { href: MY_FEED_LINK, pageName: 'My feed' };\n\n const { pulse, onChangePulse } = useMultipleNotifications({\n id: 'multipleNotifications',\n nextList: alerts,\n myPageProps,\n renderDisplayAll: DisplayAll,\n displayNotifications: !isMobile && displayNotifications && !isNotificationsPanelOpen && showToast,\n });\n\n function handleTogglePanel() {\n isNotificationsPanelOpen\n ? fetchNotifications && fetchNotifications()\n : stopFetchNotifications && stopFetchNotifications();\n\n onChangePulse(!isNotificationsPanelOpen);\n togglePanel();\n }\n\n useEffect(() => {\n setShowToast(previousTotal !== localCount);\n setPreviousTotal(localCount);\n }, [localCount]);\n\n useEffect(() => {\n displayNotifications && fetchNotifications();\n\n return () => stopFetchNotifications();\n }, [displayNotifications]);\n\n useEffect(() => resetPanel, []);\n\n return {\n isOpenPanel: isNotificationsPanelOpen,\n onTogglePanel: handleTogglePanel,\n pulse: isMobile && pulse,\n displayBadge,\n displayCloseIcon,\n badgeContent,\n isOverLimit,\n };\n}\n\nexport default useNotifications;\n","import { head, take, isEmpty } from 'lodash';\n\nimport { PANEL_LIMIT, MOBILE_PANEL_LIMIT } from '../../utils/constants';\n\nfunction useAlertsPanel({ notifications, totalNotifications, clearNotifications, ui, isMobile }) {\n const notificationsLimit = isMobile ? MOBILE_PANEL_LIMIT : PANEL_LIMIT;\n const displayNotifications = take(notifications, notificationsLimit);\n const isPanelEmpty = isEmpty(displayNotifications);\n const overLimitCount = totalNotifications - notificationsLimit;\n const { isClearingNotifications } = ui || {};\n\n function handleClearAll() {\n const latestNotification = head(displayNotifications);\n const { id } = latestNotification || {};\n\n id && clearNotifications(id);\n }\n\n return {\n showClearAllButton: !isPanelEmpty,\n onClearAll: handleClearAll,\n isClearAllButtonDisabled: isClearingNotifications,\n showEmptyState: isPanelEmpty,\n displayNotifications,\n showOverLimitLink: overLimitCount > 0,\n overLimitCount,\n };\n}\n\nexport default useAlertsPanel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport Push from 'components/core/Notification/components/Push';\n\nimport { notificationShape, uiShape } from '../../utils/shapes';\nimport { MY_FEED_LINK } from '../../utils/constants';\nimport useAlertsPanel from './useAlertsPanel';\nimport styles from './styles.module.scss';\n\nfunction AlertsPanel({\n ui,\n isMobile,\n notifications,\n clearNotifications,\n totalNotifications,\n onClose,\n}) {\n const {\n showClearAllButton,\n onClearAll,\n isClearAllButtonDisabled,\n showEmptyState,\n displayNotifications,\n showOverLimitLink,\n overLimitCount,\n } = useAlertsPanel({ notifications, clearNotifications, ui, totalNotifications, isMobile });\n\n const descriptionLimit = 55;\n\n function renderNotification(notification) {\n const { id } = notification;\n\n return (\n \n );\n }\n\n function handleViewAll() {\n onClearAll();\n onClose();\n }\n\n const displayNotificationCount = totalNotifications > 0;\n const isMobileV2 = gon.isNavigationV2Enabled && isMobile;\n\n const renderHeader = () => {\n const title = `Notifications ${displayNotificationCount ? `(${totalNotifications})` : ''}`;\n\n if (isMobileV2) {\n return (\n
    \n
    \n {title}\n
    \n \n
    \n );\n }\n\n return (\n
    \n {title}\n\n {showClearAllButton && (\n \n Clear all\n \n )}\n
    \n );\n };\n\n const renderActions = () => {\n const viewAllLink = (\n \n View all in My feed\n \n );\n\n if (isMobileV2) {\n return (\n
    \n {showClearAllButton && (\n \n )}\n {viewAllLink}\n
    \n );\n }\n\n return viewAllLink;\n };\n\n const overLimitLink = showOverLimitLink && (\n \n {`+ ${overLimitCount} more`}\n \n );\n\n const renderNotifications = () => {\n const notificationsNode = (\n <>\n {map(displayNotifications, renderNotification)}\n {overLimitLink}\n \n );\n\n if (isMobileV2) {\n return (\n
    \n {notificationsNode}\n
    \n );\n }\n\n return notificationsNode;\n };\n\n return (\n
    \n {renderHeader()}\n\n {showEmptyState && (\n

    \n You're all caught up!\n

    \n )}\n\n {renderNotifications()}\n\n {renderActions()}\n
    \n );\n}\n\nAlertsPanel.propTypes = {\n notifications: PropTypes.arrayOf(notificationShape),\n clearNotifications: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n ui: uiShape.isRequired,\n totalNotifications: PropTypes.number.isRequired,\n isMobile: PropTypes.bool.isRequired,\n};\n\nexport default AlertsPanel;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { Icon } from 'components/core/Icons';\n\nimport styles from './Container/styles.module.scss';\n\nfunction Placeholder() {\n return (\n \n \n \n );\n}\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@tippyjs/react';\nimport classNames from 'classnames';\nimport startsWith from 'lodash/startsWith';\n\nimport Button from 'components/core/Button';\nimport Badge from 'components/core/Badge';\nimport { SlideUpModal } from 'components/core/Modal';\nimport { trackNotificationsClicked } from 'components/NavigationV2/utils/tracking';\nimport reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/notifications/actions';\n\nimport { notificationShape } from '../../utils/shapes';\nimport useNotifications from '../../utils/useNotifications';\nimport { MY_FEED_LINK, TASK_BOARD_LINK } from '../../utils/constants';\nimport AlertsPanel from '../AlertsPanel';\nimport Placeholder from '../Placeholder';\nimport styles from './styles.module.scss';\n\nfunction Container({\n notifications,\n totalNotifications,\n isMobile,\n isDisabled,\n withPortal,\n parentSelector,\n className,\n ...restProps\n}) {\n const { pathname } = window.location;\n const isDashboard = startsWith(pathname, MY_FEED_LINK) || startsWith(pathname, TASK_BOARD_LINK);\n const isVisible = !isDashboard || withPortal;\n const displayNotifications = isVisible && !isDisabled;\n const localCount = localStorage.getItem('notificationsCount');\n\n const {\n isOpenPanel,\n onTogglePanel,\n pulse,\n displayBadge,\n displayCloseIcon,\n badgeContent,\n } = useNotifications({\n ...restProps,\n notifications,\n isMobile,\n totalNotifications,\n displayNotifications,\n localCount,\n });\n\n function getPanelContent() {\n return (\n \n );\n }\n\n function getCustomIcon() {\n return displayCloseIcon\n ? \"Close\n : ;\n }\n\n if (!isVisible) {\n return null;\n }\n\n if (isDisabled) {\n return ;\n }\n\n const handleClick = () => {\n onTogglePanel();\n trackNotificationsClicked();\n };\n const isBadgeV2 = gon.isNavigationV2Enabled && isMobile;\n const buttonNode = (\n \n {displayBadge && (\n \n {badgeContent}\n \n )}\n \n );\n\n const desktopContent = (\n \n \n {buttonNode}\n \n \n );\n\n const mobileContent = (\n <>\n {buttonNode}\n \n {getPanelContent()}\n \n \n );\n\n return isMobile ? mobileContent : desktopContent;\n}\n\nContainer.defaultProps = {\n isDisabled: false,\n withPortal: false,\n};\n\nContainer.propTypes = {\n notifications: PropTypes.arrayOf(notificationShape),\n totalNotifications: PropTypes.number.isRequired,\n isMobile: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool,\n withPortal: PropTypes.bool,\n parentSelector: PropTypes.func,\n isUserMenuOpen: PropTypes.bool,\n toggleUserMenu: PropTypes.func,\n className: PropTypes.string,\n};\n\nexport default reduxConnect('notifications', actions)(Container);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction Placeholder({ className }) {\n return ;\n}\nPlaceholder.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Placeholder;\n","import PropTypes from 'prop-types';\n\nexport const optionShape = PropTypes.shape({\n color: PropTypes.string,\n label: PropTypes.string,\n icon: PropTypes.string,\n image: PropTypes.string,\n value: PropTypes.string,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport CoreButton from 'components/core/Button';\nimport { optionShape } from '../../shapes';\n\nimport styles from './styles.module.scss';\n\nfunction Button({\n option,\n onClick,\n className,\n iconClassName,\n}) {\n const { label, icon, color, value } = option;\n\n const iconClasses = classNames(\n styles.icon,\n styles[color],\n iconClassName,\n );\n\n const handleClick = () => onClick(value);\n\n return (\n }\n >\n {label}\n \n );\n}\n\nButton.propTypes = {\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n onClick: PropTypes.func,\n option: optionShape,\n};\n\nexport default Button;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SlideUpModal } from 'components/core/Modal';\nimport { optionShape } from '../../shapes';\n\nimport Button from '../Button';\nimport styles from './styles.module.scss';\n\nfunction Modal({ isOpen, toggleOpen, onOptionClick, options, optionsList }) {\n const renderButton = currentOption => (\n \n );\n\n return (\n \n {optionsList.map(renderButton)}\n \n );\n}\n\nModal.propTypes = {\n optionsList: PropTypes.arrayOf(PropTypes.string).isRequired,\n options: PropTypes.objectOf(optionShape).isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n onOptionClick: PropTypes.func.isRequired,\n};\n\nexport default Modal;\n","import { useState, useEffect } from 'react';\nimport isFunction from 'lodash/isFunction';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nfunction useButtonSlider({\n baseParams,\n onSetOption,\n initialOption,\n isLoadingOption,\n handleUpdateOption,\n options,\n shouldFetchOnInit,\n fetchData,\n isOpen,\n}) {\n const { isMobile } = useMediaQuery();\n\n const [isListOpen, setIsListOpen] = useState(isOpen);\n const [option, setOption] = useState(initialOption);\n const [isLoading, setIsLoading] = useState(isLoadingOption);\n const [isInitialLoading, setIsInitialLoading] = useState(true);\n\n useEffect(() => {\n setIsLoading(isLoadingOption);\n }, [isLoadingOption]);\n\n const optionsList = Object.keys(options);\n const otherOptions = optionsList.filter(p => p !== option);\n const showDropdown = !isMobile && isListOpen;\n const showModal = isMobile && isListOpen;\n\n const toggleOpen = () => setIsListOpen(!isListOpen);\n\n const changeOption = (currentOption) => {\n !isInitialLoading && isFunction(onSetOption) && onSetOption(currentOption);\n setOption(currentOption);\n setIsLoading(false);\n };\n\n const rollbackOption = () => {\n setOption(option);\n setIsLoading(false);\n };\n\n const handleClick = (currentOption) => {\n if (currentOption !== option) {\n handleUpdateOption({\n currentOption,\n baseParams,\n setIsLoading,\n changeOption,\n rollbackOption,\n }).finally(toggleOpen);\n } else {\n toggleOpen();\n }\n };\n\n function handleFetchOnInit() {\n return fetchData()\n .then(response => changeOption(response))\n .catch(rollbackOption);\n }\n\n useEffect(() => {\n shouldFetchOnInit\n ? handleFetchOnInit()\n : (initialOption && setOption(initialOption));\n\n setIsInitialLoading(false);\n }, [initialOption]);\n\n return {\n option,\n options,\n onOptionClick: handleClick,\n otherOptions,\n showDropdown,\n showModal,\n toggleOpen,\n optionsList,\n isLoading,\n };\n}\n\nexport default useButtonSlider;\n","import styles from '../styles.module.scss';\n\nexport const directions = {\n right: styles.toRight,\n left: styles.toLeft,\n};\n\nexport const OPTION_TYPES = {\n open: {\n label: 'Open',\n icon: 'fas fa-exclamation-circle',\n color: 'red',\n value: 'open',\n },\n inProgress: {\n label: 'In-progress',\n icon: 'fas fa-tasks',\n color: 'blue',\n value: 'inProgress',\n },\n closed: {\n label: 'Closed',\n icon: 'fas fa-check-circle',\n color: 'green',\n value: 'closed',\n },\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Placeholder from './components/Placeholder';\nimport Modal from './components/Modal';\nimport Button from './components/Button';\nimport useButtonSlider from './utils/useButtonSlider';\nimport { directions } from './utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction ButtonSlideGroup({\n direction,\n className,\n containerClassName,\n placeholderClassName,\n iconClassName,\n ...restProps\n}) {\n const {\n option,\n options,\n onOptionClick,\n otherOptions,\n showDropdown,\n showModal,\n toggleOpen,\n optionsList,\n isLoading,\n } = useButtonSlider(restProps);\n\n if (isLoading) {\n return ;\n }\n\n const renderOption = currentOption => (\n \n );\n\n return (\n \n {renderOption(option)}\n {showDropdown && otherOptions.map(renderOption)}\n \n
    \n );\n}\n\nButtonSlideGroup.defaultProps = {\n direction: 'right',\n shouldFetchOnInit: false,\n};\n\nButtonSlideGroup.propTypes = {\n direction: PropTypes.string,\n containerClassName: PropTypes.string,\n placeholderClassName: PropTypes.string,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n isLoadingOption: PropTypes.bool,\n baseParams: PropTypes.shape({\n recordId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n recordType: PropTypes.string,\n }),\n onSetOption: PropTypes.func,\n initialOption: PropTypes.string.isRequired,\n options: PropTypes.objectOf(PropTypes.object).isRequired,\n handleUpdateOption: PropTypes.func.isRequired,\n shouldFetchOnInit: PropTypes.bool,\n isOpen: PropTypes.bool,\n};\n\nexport default ButtonSlideGroup;\n","export const linkStyle = {\n color: '#003FEE',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, Link } from '@react-pdf/renderer';\nimport { isEmpty, flatten, map } from 'lodash';\n\nimport { valueType } from '../../utils/shapes';\nimport { linkStyle } from './styles';\n\nexport default function RowValue({ value, href }) {\n if (!isEmpty(href)) {\n return {value};\n }\n\n const valuesArray = flatten([value]);\n\n return map(valuesArray, valueItem => (\n \n {valueItem}\n \n ));\n}\n\nRowValue.propTypes = {\n value: valueType,\n href: PropTypes.string,\n};\n","import { isEven } from 'utils/number';\n\nconst oddRowStyle = {\n backgroundColor: '#FFFFFF',\n};\n\nconst evenRowStyle = {\n backgroundColor: '#F7F8FA',\n};\n\nconst commonRowStyle = {\n borderBottom: '1pt solid #EEEFF3',\n padding: '5 8',\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n minHeight: 20,\n color: '#26294B',\n fontSize: 8,\n};\n\nexport const getRowStyle = rowIndex => ([\n commonRowStyle,\n (isEven(rowIndex + 1) ? evenRowStyle : oddRowStyle),\n]);\n\nexport const labelStyle = {\n fontWeight: 300,\n minWidth: 80,\n marginRight: 20,\n};\n\nexport const valueStyle = {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n flex: 1,\n};\n","import React, { isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, View } from '@react-pdf/renderer';\n\nimport RowValue from '../RowValue';\nimport { valueType } from '../../utils/shapes';\nimport { getRowStyle, labelStyle, valueStyle } from './styles';\n\nfunction Row({ label, value, href, rowIndex }) {\n const rowStyle = getRowStyle(rowIndex);\n\n const isReactElement = isValidElement(value);\n\n return (\n \n {label}\n {isReactElement\n ? value\n : (\n \n \n \n )}\n \n );\n}\n\nRow.propTypes = {\n label: PropTypes.string,\n value: valueType,\n href: PropTypes.string,\n rowIndex: PropTypes.number,\n};\n\nexport default Row;\n","export const tableStyles = {\n border: '1pt solid #EEEFF3',\n borderBottom: 0,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\nimport map from 'lodash/map';\n\nimport { pdfStylesShape } from 'components/core/ExportDocument/utils/shapes';\n\nimport Row from '../Row';\nimport { rowShape } from '../../utils/shapes';\nimport { tableStyles } from './styles';\n\nexport default function Table({ rows, style }) {\n const tableContainer = {\n ...tableStyles,\n ...style,\n };\n\n return (\n \n {map(rows, ({ label, value, href }, rowIndex) => (\n \n ))}\n \n );\n}\n\nTable.propTypes = {\n rows: PropTypes.arrayOf(rowShape),\n style: pdfStylesShape,\n};\n","export const MOBILE_NAME_LIMIT = 30;\nexport const DESKTOP_NAME_LIMIT = 60;\n","import { SUBSCRIBABLE_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nexport const ICON_TYPES = {\n [SUBSCRIBABLE_TYPES.COMMITTEE]: 'H',\n [SUBSCRIBABLE_TYPES.FEDERAL_STAFFER_OFFICE]: 'S',\n [SUBSCRIBABLE_TYPES.STATE_STAFFER_OFFICE]: 'S',\n [SUBSCRIBABLE_TYPES.STATE_COMMITTEE]: 'H',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\n\nimport { subscriptionShape } from 'redux/subscriptions/utils/shapes';\n\nimport { ICON_TYPES } from './utils/constants';\nimport styles from './styles.module.scss';\n\nfunction CommitteeIcon({ subscriptions }) {\n const icons = map(subscriptions, 'subscribableType');\n\n function renderIcon(type) {\n const { [type]: icon } = ICON_TYPES;\n\n return {icon};\n }\n\n return (\n <>\n {map(icons, renderIcon)}\n \n );\n}\n\nCommitteeIcon.propTypes = {\n subscriptions: PropTypes.arrayOf(subscriptionShape).isRequired,\n};\n\nexport default CommitteeIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport { isEmpty, capitalize, get, truncate, size } from 'lodash';\n\nimport Link from 'components/core/Link';\nimport { workspaceShape } from 'redux/events/utils/shapes';\nimport { subscriptionShape } from 'redux/subscriptions/utils/shapes';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { MOBILE_NAME_LIMIT, DESKTOP_NAME_LIMIT } from './utils/constants';\nimport { shouldShowTile, getTileUrl } from './utils';\nimport CommitteeIcon from './components/CommitteeIcon';\nimport styles from './styles.module.scss';\n\nfunction WorkspaceTile({\n className,\n wrapperClassName,\n subscriptions,\n workspace,\n subscription,\n}) {\n const isEmptySubscriptions = isEmpty(subscriptions);\n const { isMobile } = useMediaQuery();\n const nameLimit = isMobile ? MOBILE_NAME_LIMIT : DESKTOP_NAME_LIMIT;\n\n function renderIcon() {\n if (!isEmptySubscriptions) {\n return ;\n }\n\n if (get(subscription, 'isTracking')) {\n return ;\n }\n\n return null;\n }\n\n function handleClick(e) {\n e.stopPropagation();\n }\n\n const getName = () => {\n if (size(workspace.name) > nameLimit) {\n return (\n \n {capitalize(truncate(workspace.name, { length: nameLimit }))}\n \n );\n }\n\n return capitalize(workspace.name);\n };\n\n return (\n
    \n \n {getName()}\n {renderIcon()}\n \n
    \n );\n}\n\nWorkspaceTile.propTypes = {\n className: PropTypes.string,\n wrapperClassName: PropTypes.string,\n workspace: workspaceShape.isRequired,\n subscription: subscriptionShape,\n subscriptions: PropTypes.arrayOf(subscriptionShape),\n};\n\nexport default WorkspaceTile;\nexport { CommitteeIcon };\nexport { shouldShowTile };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Input from 'components/core/Input';\n\nimport styles from '../styles.module.scss';\n\nexport default function SearchInput({ query, onChange }) {\n return (\n
    \n \n
    \n );\n}\n\nSearchInput.propTypes = {\n query: PropTypes.string,\n onChange: PropTypes.func,\n};\n","import { useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport { filterOptions, getGroupedOptions } from './index';\n\nfunction useCheckboxGroup({\n showSelectAll,\n options,\n isMobile,\n onItemCheck,\n onSearch,\n numColumns,\n checkedItems,\n}) {\n const [query, setQuery] = useState('');\n const [filteredOptions, setFilteredOptions] = useState(options);\n const groupedOptions = getGroupedOptions({\n query,\n isMobile,\n options: filteredOptions,\n numColumns,\n showSelectAll,\n });\n const areOptionsEmpty = isEmpty(filteredOptions);\n const isAllChecked = checkedItems.length === options.length;\n\n function searchItems(searchTerms) {\n const results = filterOptions(options, searchTerms);\n\n setFilteredOptions(results);\n setQuery(searchTerms);\n }\n\n function handleInputChange({ target }) {\n searchItems(target.value);\n onSearch && onSearch({ target });\n }\n\n function handleItemCheck(keyName) {\n return (event) => {\n onItemCheck(keyName, event);\n };\n }\n\n return {\n query,\n groupedOptions,\n handleInputChange,\n areOptionsEmpty,\n isAllChecked,\n onCheckItem: handleItemCheck,\n };\n}\n\nexport default useCheckboxGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\n\nimport SearchInput from './components/SearchInput';\nimport useCheckboxGroup from './utils/useCheckboxGroup';\nimport styles from './styles.module.scss';\n\nfunction SearchableCheckboxGroup({\n options,\n className,\n labelGroupClassName,\n onItemCheck,\n onCheckAll,\n onSearch,\n numColumns,\n checkedItems,\n isMobile,\n renderNoResultsPlaceholder,\n showSelectAll,\n}) {\n const {\n query,\n groupedOptions,\n handleInputChange,\n areOptionsEmpty,\n onCheckItem,\n isAllChecked,\n } = useCheckboxGroup({\n checkedItems,\n showSelectAll,\n options,\n isMobile,\n onItemCheck,\n onSearch,\n numColumns,\n });\n\n function renderCheckbox(option, index) {\n const { keyName, label, isSelectAll } = option;\n const onChange = isSelectAll ? onCheckAll : onCheckItem(keyName);\n const isChecked = isSelectAll ? isAllChecked : checkedItems.includes(keyName);\n\n return (\n \n );\n }\n\n function renderGroup(optionsGroup, i) {\n const containerClassNames = classNames(\n styles.labelGroup,\n numColumns > 1 && styles.multipleColumn,\n );\n\n return (\n \n {optionsGroup.map(renderCheckbox)}\n \n );\n }\n\n return (\n
    \n \n
    \n {areOptionsEmpty\n ? renderNoResultsPlaceholder(query)\n : groupedOptions.map(renderGroup)\n }\n
    \n
    \n );\n}\n\nSearchableCheckboxGroup.defaultProps = {\n showSelectAll: false,\n};\n\nSearchableCheckboxGroup.propTypes = {\n onSearch: PropTypes.func,\n onItemCheck: PropTypes.func.isRequired,\n onCheckAll: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape({\n keyName: PropTypes.string,\n label: PropTypes.string,\n })).isRequired,\n className: PropTypes.string,\n numColumns: PropTypes.number.isRequired,\n labelGroupClassName: PropTypes.string,\n isMobile: PropTypes.bool.isRequired,\n checkedItems: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderNoResultsPlaceholder: PropTypes.func.isRequired,\n showSelectAll: PropTypes.bool,\n};\n\nexport default SearchableCheckboxGroup;\n","import moment from 'moment';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { FILL_END_COLOR, CHART_OPTIONS } from './constants';\n\nexport function transformChartData(lineChartData = []) {\n return {\n chartData: lineChartData.map(item => item.count),\n labels: lineChartData\n .map(item => moment(item.date).format('MMM \\'YY')),\n };\n}\n\nexport function getGradientColor(chartRef, fillStartColor, fillEndColor, gradientY1) {\n if (isEmpty(chartRef)) {\n return fillStartColor;\n }\n\n try {\n const ctx = chartRef.chartInstance.ctx;\n const gradient = ctx.createLinearGradient(10, 0, 10, gradientY1);\n\n gradient.addColorStop(0, fillStartColor);\n gradient.addColorStop(1, fillEndColor || FILL_END_COLOR);\n\n return gradient;\n } catch (error) {\n if (window.Sentry) {\n window.Sentry.captureMessage('Error applying graph gradient background.', error);\n }\n\n return fillStartColor;\n }\n}\n\nexport function getChartOptions({ isMobile, tooltipLabel, maxXAxisTicksLimit, rotateMobileXTicks }) {\n const label = tooltipLabel || 'Bills introduced';\n const getTooltipLabel = data => `${label}: ${data.value}`;\n\n const options = CHART_OPTIONS;\n options.tooltips = {\n ...options.tooltips,\n callbacks: {\n label: getTooltipLabel,\n },\n };\n\n if (maxXAxisTicksLimit) {\n options.scales.xAxes[0].ticks.maxTicksLimit = maxXAxisTicksLimit;\n }\n\n if (isMobile) {\n options.elements.point.radius = 0;\n\n if (rotateMobileXTicks) {\n options.scales.xAxes[0].ticks.maxRotation = 90;\n options.scales.xAxes[0].ticks.minRotation = 90;\n }\n }\n\n return options;\n}\n","import { useRef, useEffect, useState } from 'react';\n\nimport { CHART_COLORS } from 'utils/constants/charts';\n\nimport { transformChartData, getGradientColor, getChartOptions } from './utils';\n\nfunction useAreaChart({\n lineChartData,\n isMobile,\n ...chartOptionProps\n}) {\n const {\n fillStartColor,\n fillEndColor,\n borderColor,\n tooltipLabel,\n borderWidth,\n pointBorderWidth,\n pointHitRadius,\n pointRadius,\n pointHoverRadius,\n maxXAxisTicksLimit,\n rotateMobileXTicks,\n gradientY1,\n } = { ...chartOptionProps };\n\n const { chartData, labels } = transformChartData(lineChartData);\n const [fillColor, setFillColor] = useState(fillStartColor);\n const showPlaceholder = lineChartData.length <= 1;\n const chartRef = useRef(null);\n\n useEffect(() => {\n if (chartRef.current) {\n const gradient = getGradientColor(\n chartRef.current,\n fillStartColor,\n fillEndColor,\n gradientY1,\n );\n setFillColor(gradient);\n }\n }, [chartRef.current, lineChartData]);\n\n const chartDataOptions = {\n pointBorderColor: borderColor,\n pointBorderWidth,\n pointRadius,\n pointHitRadius,\n pointHoverRadius,\n borderColor,\n backgroundColor: fillColor,\n };\n\n const data = {\n labels,\n datasets: [\n {\n data: chartData,\n borderWidth,\n lineTension: 0,\n pointBackgroundColor: CHART_COLORS.POINT_BACKGROUND_COLOR,\n pointHoverBackgroundColor: CHART_COLORS.POINT_BACKGROUND_COLOR,\n ...chartDataOptions,\n },\n ],\n };\n\n return {\n data,\n chartRef,\n showPlaceholder,\n chartOptions: getChartOptions({ isMobile, tooltipLabel, maxXAxisTicksLimit, rotateMobileXTicks }),\n };\n}\n\nexport default useAreaChart;\n","import { useState, useEffect } from 'react';\nimport { isEmpty } from 'lodash';\n\nconst useNewComment = ({\n onPost,\n parentType,\n parentId,\n replyUserMention,\n onCancelReplyMention,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [previousReplyMention, setPreviousReplyMention] = useState('');\n const [mentions, setMentions] = useState([]);\n\n const inputHasPreviousReplyMention = value => (\n !isEmpty(previousReplyMention) && value.startsWith(previousReplyMention)\n );\n\n useEffect(() => {\n // if current reply mention someone, and the new also mention someone, should replace\n // if current reply don't mention someone, and the new mention someone, add new Mention\n // otherwise should remove previous mention.\n if (inputHasPreviousReplyMention(inputValue) && replyUserMention) {\n setInputValue(inputValue.replace(previousReplyMention, replyUserMention));\n } else if (replyUserMention) {\n setInputValue(`${replyUserMention} ${inputValue}`);\n } else {\n setInputValue(inputValue.replace(previousReplyMention, '').trimLeft());\n onCancelReplyMention();\n }\n\n setPreviousReplyMention(replyUserMention);\n }, [replyUserMention]);\n\n const handleClick = () => {\n !isEmpty(inputValue) && onPost({ text: inputValue, parentType, parentId, mentions })\n .then(() => setInputValue(''));\n };\n const handleChange = ({ target: { value } }) => {\n setInputValue(value);\n if (replyUserMention && !inputHasPreviousReplyMention(value)) {\n onCancelReplyMention();\n setPreviousReplyMention('');\n }\n };\n const handleMentionsChange = newMentions => setMentions(newMentions);\n\n return {\n inputValue,\n handleClick,\n handleChange,\n handleMentionsChange,\n };\n};\n\nexport default useNewComment;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty } from 'lodash';\n\nimport Avatar from 'components/core/Avatar';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport TipMessage, { Kbd } from 'components/core/TipMessage';\nimport { getCurrentUser } from 'utils/currentUser';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport CommentInput from '../CommentInput';\nimport useNewComment from './useNewComment';\nimport styles from './styles.module.scss';\n\nfunction NewComment({\n onPost,\n isPosting,\n parentType,\n parentId,\n fieldRef,\n replyUserMention,\n onCancelReplyMention,\n className,\n}) {\n const customIcon = isPosting && ;\n\n const { isDesktop } = useMediaQuery();\n const { profileImgUrl, fullName } = getCurrentUser();\n const photoUrl = profileImgUrl || '';\n\n const isParentComment = isEmpty(parentType);\n const placeholder = isParentComment ? 'Add a reply' : 'Add a comment';\n\n const elementId = `newComment-${parentId}-${parentType || 'reply'}`;\n\n const showTipMessage = !isParentComment && isDesktop && !isPosting;\n\n const {\n inputValue,\n handleClick,\n handleChange,\n handleMentionsChange,\n } = useNewComment({\n onPost,\n parentType,\n parentId,\n replyUserMention,\n onCancelReplyMention,\n });\n\n return (\n
    \n \n
    \n \n {!isEmpty(inputValue.trim()) && (\n
    \n \n Post\n \n \n press\n CMD\n /\n CTRL\n and\n ENTER\n to post\n \n
    \n )}\n
    \n
    \n );\n}\n\nNewComment.defaultProps = {\n replyUserMention: '',\n onCancelReplyMention: () => {},\n};\n\nNewComment.propTypes = {\n onPost: PropTypes.func.isRequired,\n isPosting: PropTypes.bool.isRequired,\n // eslint-disable-next-line\n fieldRef: PropTypes.object,\n parentType: PropTypes.string,\n parentId: PropTypes.number.isRequired,\n replyUserMention: PropTypes.string,\n onCancelReplyMention: PropTypes.func,\n className: PropTypes.string,\n};\n\nexport default NewComment;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___3fED8\",\"link\":\"styles-module__link___1oK6a\",\"icon\":\"styles-module__icon___2j6lb\",\"header\":\"styles-module__header___3HP2Q\",\"content\":\"styles-module__content___5NVmu\",\"sortLabel\":\"styles-module__sortLabel___1EEV3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"group\":\"styles-module__group___1T9pf\",\"item\":\"styles-module__item___2G8z7\",\"errorGroup\":\"styles-module__errorGroup___3o4Ef\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1Mgds\",\"billColumnLink\":\"styles-module__billColumnLink___1asDZ\",\"billColumn\":\"styles-module__billColumn___36MmZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___8M2js\",\"message\":\"styles-module__message___2aj35\",\"button\":\"styles-module__button___1MJae\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___21TPP\",\"tooltip\":\"styles-module__tooltip___1QYRs\",\"helpButton\":\"styles-module__helpButton___GhQCh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"styles-module__textarea___226JU\",\"invalid\":\"styles-module__invalid___3G5eu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"styles-module__textarea___2v6dh\",\"default\":\"styles-module__default___3_jv7\",\"justContent\":\"styles-module__justContent___xCmsG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___3uH4i\",\"card\":\"styles-module__card___2TC_T\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"asterisk\":\"styles-module__asterisk___EDsf8\",\"primary\":\"styles-module__primary___1-i4t\",\"secondary\":\"styles-module__secondary___1egli\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"calendar\":\"styles-module__calendar___s2NzT\",\"day\":\"styles-module__day___VCCfe\",\"popper\":\"styles-module__popper___TraAT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tile\":\"styles-module__tile___iBejI\",\"icon\":\"styles-module__icon___2mL3V\",\"wrapper\":\"styles-module__wrapper___36L2v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"arrayBlock\":\"styles-module__arrayBlock___oDU-j\",\"label\":\"styles-module__label___2koe2\",\"linkBlock\":\"styles-module__linkBlock___1yaPs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___lb3Wu\",\"icon\":\"styles-module__icon___2ZQgC\",\"green\":\"styles-module__green___1kxKG\",\"red\":\"styles-module__red___1uPVe\",\"blue\":\"styles-module__blue___fcmM4\",\"orange\":\"styles-module__orange___GgEI1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalBody\":\"styles-module__modalBody___lN2mT\",\"button\":\"styles-module__button___2mYky\",\"icon\":\"styles-module__icon___1QfbX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2EKgH\",\"loader\":\"styles-module__loader___3A2jy\",\"button\":\"styles-module__button___20eY8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___1u6kc\",\"icon\":\"styles-module__icon___2Y5Q7\",\"description\":\"styles-module__description___1MfY8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___hCfSi\",\"options\":\"styles-module__options___3FpOy\",\"searches\":\"styles-module__searches___2JWhT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonGroup\":\"styles-module__buttonGroup___18-zk\",\"button\":\"styles-module__button___2wdoM\",\"isActive\":\"styles-module__isActive___1fImM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"range\":\"styles-module__range___2kMif\",\"start\":\"styles-module__start___3Le7I\",\"end\":\"styles-module__end___1ZnVf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___2rYCC\",\"description\":\"styles-module__description___19Bfh\",\"separator\":\"styles-module__separator___3UFJe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1oS3v\",\"iconTooltip\":\"styles-module__iconTooltip___3l0d3\",\"disclaimerIcon\":\"styles-module__disclaimerIcon___mhliW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disabledInput\":\"styles-module__disabledInput___3V0Lt\",\"select\":\"styles-module__select___1yAr6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"draggedInPlaceholder\":\"styles-module__draggedInPlaceholder___2R21y\",\"draggedOutPlaceholder\":\"styles-module__draggedOutPlaceholder___3knQg\",\"placeholder\":\"styles-module__placeholder___IDy0V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapPlaceholder\":\"styles-module__mapPlaceholder___3FViV\",\"loading\":\"styles-module__loading___2BmTq\",\"loadingMessage\":\"styles-module__loadingMessage___3enDJ\",\"ellipsis\":\"styles-module__ellipsis___1pLow\",\"fill\":\"styles-module__fill___3PkUo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___1KnU-\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___1ULsx\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___2OjVK\",\"calendarContainer\":\"styles-module__calendarContainer___g_Ui8\",\"senate\":\"styles-module__senate___1Vvzh\",\"house\":\"styles-module__house___1iBiv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___JLD7k\",\"icon\":\"styles-module__icon___3OAJ7\",\"url\":\"styles-module__url___ckM1K\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2vsq1\",\"button\":\"styles-module__button___1J1EI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonGroup\":\"styles-module__buttonGroup___Ym2_E\",\"button\":\"styles-module__button___1bZYa\",\"isActive\":\"styles-module__isActive___2JoAj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___iwqLk\",\"scrollable\":\"styles-module__scrollable___261_i\",\"chartContainer\":\"styles-module__chartContainer___3NJiA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sentiment\":\"styles-module__sentiment___1RYp7\",\"neutral\":\"styles-module__neutral___q0Xf0\",\"positive\":\"styles-module__positive___1eXgw\",\"negative\":\"styles-module__negative___2LQ49\",\"type\":\"styles-module__type___Bo0go\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mentions\":\"styles-module__mentions___179ba\",\"mention\":\"styles-module__mention___242kB\",\"badge\":\"styles-module__badge___2IKiK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"showClusterLink\":\"styles-module__showClusterLink___1Qzi9\",\"showClusterButton\":\"styles-module__showClusterButton___2qexk\",\"icon\":\"styles-module__icon___1beCl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___dgeIV\",\"label\":\"styles-module__label___2JTXE\",\"select\":\"styles-module__select___3krpy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___2hzdi\",\"storiesContainer\":\"styles-module__storiesContainer___1gQyS\",\"footer\":\"styles-module__footer___19ILY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1hxu0\",\"loader\":\"styles-module__loader___3Om5o\",\"ellipsis\":\"styles-module__ellipsis___3QIpV\",\"emptyMessage\":\"styles-module__emptyMessage___fwTGf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2sQK7\",\"checkbox\":\"styles-module__checkbox___3k27V\",\"placeholder\":\"styles-module__placeholder___3_zCk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partyZone\":\"styles-module__partyZone___3g-pY\",\"partyZoneDemocrat\":\"styles-module__partyZoneDemocrat___3Y1Rt\",\"partyZoneRepublican\":\"styles-module__partyZoneRepublican___3paJV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___1fUWV\",\"tableContainer\":\"styles-module__tableContainer___10mnm\",\"tableColumn\":\"styles-module__tableColumn___2YZYY\",\"tableContent\":\"styles-module__tableContent___2FeL9\",\"fixedHeight\":\"styles-module__fixedHeight___1l_Aq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tables\":\"styles-module__tables___5KZJQ\",\"table\":\"styles-module__table___2fr24\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1dvEX\",\"info\":\"styles-module__info___XJ42I\",\"reload\":\"styles-module__reload___18-oK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3lhWD\",\"title\":\"styles-module__title___QS--L\",\"divider\":\"styles-module__divider___3ObE1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2W_Ss\",\"input\":\"styles-module__input___bVbPq\",\"label\":\"styles-module__label___KKfSu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"styles-module__section___2Rpch\",\"legislator\":\"styles-module__legislator___1afZh\",\"title\":\"styles-module__title___1FpW3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dataCard\":\"styles-module__dataCard___1BFND\",\"container\":\"styles-module__container___3kPXF\",\"chartContainer\":\"styles-module__chartContainer___L6wmO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___1VI3z\",\"value\":\"styles-module__value___1t8yf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonDropdown\":\"styles-module__buttonDropdown___39JYj\",\"title\":\"styles-module__title___1G3Cf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___ViZ7x\",\"list\":\"styles-module__list___3IAiT\",\"hideClusterButton\":\"styles-module__hideClusterButton___3_h77\",\"icon\":\"styles-module__icon___3m1CG\"};","import PropTypes from 'prop-types';\nimport { map } from 'lodash';\n\nimport { FILE_ITEMS } from 'utils/constants/export';\n\nexport const customFileFormatsShape = PropTypes.arrayOf(\n PropTypes.oneOf(map(FILE_ITEMS, 'id'))\n);\n\nexport const customFileFormatItemsShape = PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n })\n);\n","import PropTypes from 'prop-types';\n\nexport const sortShape = PropTypes.shape({\n toReset: PropTypes.bool,\n});\n\nexport const btnPropsShape = PropTypes.shape({\n className: PropTypes.string,\n size: PropTypes.string,\n theme: PropTypes.string,\n});\n\nexport const selectedItemsShape = PropTypes.arrayOf(\n PropTypes.shape({\n date: PropTypes.string,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n isEstimatedDate: PropTypes.bool,\n locale: PropTypes.string,\n snippet: PropTypes.string,\n state: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n alpha2: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.number,\n }),\n ]),\n title: PropTypes.string,\n url: PropTypes.string,\n })\n);\n\nexport const mapDataShape = PropTypes.shape({\n clusterName: PropTypes.string,\n defaultFilters: PropTypes.shape({\n displayType: PropTypes.string,\n mapType: PropTypes.string,\n }),\n defaultLoadingMessage: PropTypes.string,\n getFilters: PropTypes.func,\n heatmapName: PropTypes.string,\n onFilterChange: PropTypes.func,\n profileUrl: PropTypes.string,\n withFilters: PropTypes.bool,\n withHeatmap: PropTypes.bool,\n withNavigation: PropTypes.bool,\n});\n\nexport const advancedSearchShape = PropTypes.shape({\n isVisible: PropTypes.bool,\n id: PropTypes.string,\n lastSearchId: PropTypes.number,\n loadAllRecentSearches: PropTypes.func,\n loadAllSavedSearches: PropTypes.func,\n loadRecentSearches: PropTypes.func,\n loadSavedSearches: PropTypes.func,\n isSaveNameEnabled: PropTypes.bool,\n advancedContainerClassName: PropTypes.string,\n setLastSearchId: PropTypes.func,\n transformSearchesForUI: PropTypes.func,\n saveInRecentSearch: PropTypes.func,\n ui: PropTypes.shape({\n isSavedSearchesLoading: PropTypes.bool,\n isRecentSearchesLoading: PropTypes.bool,\n }),\n filtersCountFn: PropTypes.func,\n});\n","import { filter, find, map, reduce } from 'lodash';\n\nimport {\n LOGO_CUSTOMIZATION_ITEM,\n SUMMARY_CUSTOMIZATION_ITEM,\n SHOW_PAGE_CUSTOMIZATION_ITEM,\n FILE_ITEMS,\n} from 'utils/constants/export';\n\nexport function getCustomizationSectionProps({ withExportSummary, companyHasLogo, isPDF, withGovReportToPDF }) {\n const tooltipContent = `You do not currently have a logo uploaded.\n Please contact your customer success representative to upload a logo.`;\n const showSummaryCustomization = withExportSummary && isPDF;\n const showPageCustomization = !withGovReportToPDF && isPDF;\n\n const exportCustomizationItems = filter([\n showPageCustomization && SHOW_PAGE_CUSTOMIZATION_ITEM,\n { ...LOGO_CUSTOMIZATION_ITEM, isDisabled: !companyHasLogo, tooltipContent },\n showSummaryCustomization && SUMMARY_CUSTOMIZATION_ITEM,\n ]);\n\n return { exportCustomizationItems };\n}\n\nexport const getFormatItems = customFileFormats => map(\n customFileFormats,\n format => find(FILE_ITEMS, { id: format })\n);\n\nexport const genericGetActiveSections = (sections, ids) => {\n const isActiveSection = section => ids[section] && { [ids[section]]: true };\n\n const sectionsReducer = (accumulator, section) => ({\n ...accumulator,\n ...isActiveSection(section),\n });\n\n return reduce(sections, sectionsReducer, {});\n};\n\nexport const genericFetchComponentData = (prop, ids) => async ({ sections } = {}) => (\n { [prop]: genericGetActiveSections(sections, ids) }\n);\n","export const PROFILE_SECTION_ID = 'profile';\nexport const ACTIVITY_SECTION_ID = 'activity';\n","export const ALL_BILLS = {\n label: 'Sponsor or cosponsor',\n value: 'all',\n};\n\nexport const SPONSOR_BILLS = {\n label: 'Sponsor',\n value: 'sponsor',\n};\n\nexport const COSPONSOR_BILLS = {\n label: 'Cosponsor',\n value: 'cosponsor',\n};\n\nexport const BILL_TYPES = [ALL_BILLS, SPONSOR_BILLS, COSPONSOR_BILLS];\n","import PropTypes from 'prop-types';\n\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { subscriptionInfoShape } from 'components/core/TrackButton';\nimport { workspaceShape } from 'redux/events/utils/shapes';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\n\nexport const itemShape = PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n url: PropTypes.string,\n billUrl: PropTypes.string,\n documentType: PropTypes.string,\n trackingType: PropTypes.string,\n title: PropTypes.string,\n itemType: PropTypes.string,\n tags: PropTypes.arrayOf(tagShape),\n subscription: subscriptionInfoShape,\n withTrack: PropTypes.bool,\n sharings: PropTypes.arrayOf(workspaceShape),\n trackings: PropTypes.arrayOf(trackingShape),\n});\n","import PropTypes from 'prop-types';\n\nexport const displayShape = PropTypes.shape({\n profile: PropTypes.bool,\n yourActivity: PropTypes.bool,\n});\n\nexport const sectionShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { EXPORT_RECORD_LIMIT } from 'utils/constants/export';\nimport { CANCEL_BUTTON, CONTINUE_BUTTON } from 'utils/constants/modal';\nimport Modal from 'components/core/Modal';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction ExportAllWarning({ isOpenModal, toggleModal, onExport, customKeyMessage = 'records' }) {\n function handleClickConfirm() {\n toggleModal();\n onExport();\n }\n\n const exportActions = (\n
    \n \n {CANCEL_BUTTON}\n \n\n \n {CONTINUE_BUTTON}\n \n
    \n );\n\n return (\n \n

    Export limit exceeded

    \n

    \n Your export exceeded the limit of {EXPORT_RECORD_LIMIT} {customKeyMessage}.\n To export the first {EXPORT_RECORD_LIMIT} {customKeyMessage} in your search, press “{CONTINUE_BUTTON}.”\n Otherwise, press “{CANCEL_BUTTON}” to go back and refine your search.\n

    \n \n );\n}\n\nExportAllWarning.propTypes = {\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onExport: PropTypes.func.isRequired,\n customKeyMessage: PropTypes.string,\n};\n\nexport default ExportAllWarning;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { EXPORT_RECORD_LIMIT, DOCX_ID, CSV_ID } from 'utils/constants/export';\nimport useModal from 'components/core/Modal/useModal';\nimport Loader from 'components/core/Loader';\nimport Button from 'components/core/Button';\nimport { Icon } from 'components/core/Icons';\nimport ExportAllWarning from 'components/core/ExportAllWarning';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport { tableColumnShape } from 'utils/shapes/table';\nimport { sortShape } from 'utils/shapes';\n\nimport styles from '../styles.module.scss';\n\nfunction BulkExport({\n data,\n appliedSearches,\n exportReport,\n paginator,\n buttonTheme,\n loaderTheme,\n tracking,\n withIcon,\n withIconWrapper,\n customKeyMessage,\n sort,\n className,\n tableColumns,\n exportModal: ExportModal,\n}) {\n const { ui = {} } = exportReport || {};\n const { totalCount } = paginator || {};\n const { trackAllResultsExported } = tracking || {};\n const warningModal = useModal();\n const bulkExportModal = useModal();\n\n const isLoadingExport = ui.isLoadingExports;\n const isEmptyData = isEmpty(data);\n const exportDataExceeded = totalCount > EXPORT_RECORD_LIMIT;\n\n function handleExportAll() {\n return exportDataExceeded\n ? warningModal.toggleModal()\n : bulkExportModal.toggleModal();\n }\n\n const loadingContent = isLoadingExport\n ? (\n \n )\n : ;\n\n return (\n <>\n \n \n Bulk export\n \n \n\n \n\n {exportDataExceeded && (\n \n )}\n \n );\n}\n\nBulkExport.defaultProps = {\n areEmptyEmails: false,\n loaderTheme: 'blue',\n buttonTheme: 'secondary',\n withIcon: true,\n withIconWrapper: false,\n};\n\n// TODO: add missing shapes\nBulkExport.propTypes = {\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n dataProps: PropTypes.shape({}),\n appliedSearches: PropTypes.shape({}),\n exportReport: PropTypes.shape({}),\n tracking: PropTypes.shape({}),\n submitExport: PropTypes.func,\n submitAllExport: PropTypes.func,\n onSuccessExport: PropTypes.func,\n paginator: paginatorShape.isRequired,\n buttonTheme: PropTypes.string,\n loaderTheme: PropTypes.string,\n customKeyMessage: PropTypes.string,\n withIcon: PropTypes.bool,\n areEmptyEmails: PropTypes.bool,\n withIconWrapper: PropTypes.bool,\n className: PropTypes.string,\n sort: sortShape,\n tableColumns: PropTypes.arrayOf(tableColumnShape),\n exportModal: PropTypes.func,\n};\n\nexport default BulkExport;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport Tooltip from '@tippyjs/react';\n\nimport { EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport EmailNotifications from 'utils/emails/Notifications';\nimport { getEmailsLink } from 'utils/emails';\nimport Loader from 'components/core/Loader';\nimport Button from 'components/core/Button';\nimport { Icon } from 'components/core/Icons';\n\nimport styles from './styles.module.scss';\n\nfunction BulkEmail({\n ui,\n data,\n tracking,\n paginator,\n getAllEmails,\n areEmptyEmails,\n withIcon,\n withIconWrapper,\n buttonTheme,\n loaderTheme,\n className,\n}) {\n if (areEmptyEmails) {\n return null;\n }\n\n const { totalCount } = paginator || {};\n const { trackAllResultsEmailed } = tracking || {};\n const isEmptyData = isEmpty(data);\n const emailDataExceeded = totalCount > EXPORT_EMAIL_LIMIT;\n\n function handleEmailAll(event) {\n event.preventDefault();\n\n getAllEmails()\n .then((result) => {\n trackAllResultsEmailed && trackAllResultsEmailed();\n\n return getEmailsLink({ data: result.payload, withFilter: false });\n })\n .catch((error) => {\n EmailNotifications.exportEmailFailed();\n throw error;\n });\n }\n\n function getTooltipNode() {\n return (\n

    \n Your current search exceeded the mass email limit of {EXPORT_EMAIL_LIMIT} recipients.\n Refine your search parameters and try again.\n

    \n );\n }\n\n const isDisabledEmail = isEmptyData || emailDataExceeded || areEmptyEmails;\n const { isLoadingAllEmails } = ui;\n\n const loadingContent = isLoadingAllEmails\n ? (\n \n )\n : ;\n\n const bulkEmailNode = (\n \n \n Mass Email\n \n \n );\n\n if (emailDataExceeded) {\n return (\n \n
    {bulkEmailNode}
    \n \n );\n }\n\n return bulkEmailNode;\n}\n\nBulkEmail.defaultProps = {\n areEmptyEmails: false,\n withIcon: true,\n withIconWrapper: false,\n loaderTheme: 'blue',\n buttonTheme: 'secondary',\n};\n\nBulkEmail.propTypes = {\n ui: PropTypes.object.isRequired,\n data: PropTypes.array.isRequired,\n paginator: PropTypes.object.isRequired,\n tracking: PropTypes.object,\n getAllEmails: PropTypes.func,\n areEmptyEmails: PropTypes.bool,\n withIcon: PropTypes.bool,\n withIconWrapper: PropTypes.bool,\n buttonTheme: PropTypes.string,\n loaderTheme: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default BulkEmail;\n","export { default as BulkExport } from './components/BulkExport';\nexport { default as BulkEmail } from './components/BulkEmail';\n","import isEmpty from 'lodash/isEmpty';\n\nexport function filterOptions(options, query) {\n const lowercaseQuery = query.toLowerCase();\n\n return options.filter(option =>\n option.label.toLowerCase().includes(lowercaseQuery));\n}\n\nexport function getGroupedOptions({\n query,\n isMobile,\n options,\n numColumns = 1,\n showSelectAll = false,\n}) {\n if (isMobile) {\n return [options];\n }\n\n let displayedOptions = options;\n const selectAllOption = {\n label: 'Select/deselect all',\n keyName: 'selectAll',\n isSelectAll: true,\n };\n\n /* display select all when user is not searching for a field */\n if (showSelectAll && isEmpty(query)) {\n displayedOptions = [selectAllOption, ...displayedOptions];\n }\n\n const groupedOptions = Array(numColumns).fill([]);\n displayedOptions.forEach((option, index) => {\n const columnIndex = index % numColumns;\n groupedOptions[columnIndex] = [...groupedOptions[columnIndex], option];\n });\n\n return groupedOptions;\n}\n","import classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nexport const modalThemes = {\n default: styles.container,\n scrollable: styles.scrollableContainer,\n scrollableBody: classNames(styles.container, styles.scrollableBody),\n};\n","import React, { Fragment, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\n\nimport themes from './themes.module.scss';\nimport styles from './styles.module.scss';\n\nfunction ColorPicker({ theme, value, onChange, ...restProps }) {\n const [backgroundColor, setBackgroundColor] = useState(value);\n const handleChange = ({ hex }) => {\n setBackgroundColor(hex);\n onChange && onChange(hex);\n };\n\n const [displayColorPicker, setDisplayColorPicker] = useState(false);\n const handleOpen = () => setDisplayColorPicker(true);\n const handleClose = () => setDisplayColorPicker(false);\n\n useEffect(() => {\n setBackgroundColor(value);\n }, [value]);\n\n return (\n \n
    \n\n {displayColorPicker && (\n
    \n
    \n \n
    \n )}\n \n );\n}\n\n// Need a ColorPicker preview with different shape? Add a new theme.\nColorPicker.defaultProps = {\n theme: 'default',\n value: '#ffffff',\n};\n\nColorPicker.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.string,\n theme: PropTypes.string,\n};\n\n\nexport default ColorPicker;\n","import PropTypes from 'prop-types';\n\nexport const summaryProps = {\n pdfUrl: PropTypes.string,\n source_url: PropTypes.string,\n title: PropTypes.string,\n};\n\nexport const summaryShape = PropTypes.shape(summaryProps);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconWrapper\":\"styles-module__iconWrapper___1EDeO\",\"icon\":\"styles-module__icon___3cR_C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___QiCe0\",\"iconImage\":\"styles-module__iconImage___1pvhN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputPlaceholder\":\"styles-module__inputPlaceholder___XRIG3\",\"text\":\"styles-module__text___vM2eA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnGroup\":\"styles-module__btnGroup___LQljt\",\"light\":\"styles-module__light___1xzFc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paginatorWrapper\":\"styles-module__paginatorWrapper___JTErr\",\"textPlaceholder\":\"styles-module__textPlaceholder___342ve\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tags\":\"styles-module__tags___3d2ZW\",\"tag\":\"styles-module__tag___3eTI1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___AhchA\",\"table\":\"styles-module__table___11SbS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___1j17N\",\"active\":\"styles-module__active___3ELQ7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"position\":\"styles-module__position___1zmk5\",\"icon\":\"styles-module__icon___32IBz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2Be9D\",\"center\":\"styles-module__center___1Uotm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___1STfb\",\"title\":\"styles-module__title___tocIn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___2CS3n\",\"baseLink\":\"styles-module__baseLink___CKUGD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___u1oxl\",\"badge\":\"styles-module__badge___3Yk_l\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___TYXma\",\"header\":\"styles-module__header___3gJM7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___e1x6Q\",\"modalOpen\":\"styles-module__modalOpen___1LXcl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___6XgzO\",\"errorMessage\":\"styles-module__errorMessage___3ljYW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"styles-module__tooltip___OnA3y\",\"tooltipIcon\":\"styles-module__tooltipIcon___3SfAs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___32Zes\",\"input\":\"styles-module__input___2lVob\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drawer\":\"styles-module__drawer___3AXNa\",\"hideDrawer\":\"styles-module__hideDrawer___2rav3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tip\":\"styles-module__tip___2kA98\",\"tipLabel\":\"styles-module__tipLabel___ICCye\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___PKxIN\",\"value\":\"styles-module__value___kTES2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loadMore\":\"styles-module__loadMore___37oPm\",\"loader\":\"styles-module__loader___15if-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"styles-module__loader___1lg0l\",\"default\":\"styles-module__default___14n_v\",\"no_priority\":\"styles-module__no_priority___2pYnZ\",\"lowest\":\"styles-module__lowest___k9h_J\",\"low\":\"styles-module__low___pRFvh\",\"high\":\"styles-module__high___3wAyc\",\"highest\":\"styles-module__highest___2NryJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"summary\":\"styles-module__summary___1-S5U\",\"buttonContainer\":\"styles-module__buttonContainer___2D4zQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1RvvZ\",\"loader\":\"styles-module__loader___38Eym\"};","const advancedOperators = [\n {\n name: 'exactPhrase',\n regex: /\".*\"/,\n },\n {\n name: 'orConditional',\n regex: /\\|/,\n },\n {\n name: 'bothConditional',\n regex: /\\+/,\n },\n {\n name: 'excludeConditional',\n regex: /-\\w+/,\n },\n {\n name: 'prefixConditional',\n regex: /\\w+\\*/,\n },\n {\n name: 'withinConditional',\n regex: /\\w+\\/\\d/,\n },\n {\n name: 'precedingMatchConditional',\n regex: /~N/,\n },\n {\n name: 'groupConditional',\n regex: /\\(.*\\)/,\n },\n];\n\nconst containsAdvancedOperators = term => (\n advancedOperators.some(operator => operator.regex.test(term))\n);\n\nexport { advancedOperators, containsAdvancedOperators };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___kcX_p\",\"content\":\"styles-module__content___29QC2\",\"placeholder\":\"styles-module__placeholder___3USGd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"styles-module__footer___Jrelu\",\"clearAll\":\"styles-module__clearAll___3jWpQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___2Z8qJ\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___1vs1T\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___SNJS4\",\"mobileContainer\":\"styles-module__mobileContainer___2VzgP\",\"header\":\"styles-module__header___3bim7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"animationTransitionDuration\":\"300ms\",\"transition\":\"styles-module__transition___2_5nj\",\"transitionEntering\":\"styles-module__transitionEntering___ESsBh styles-module__transition___2_5nj\",\"transitionExiting\":\"styles-module__transitionExiting___3aZln styles-module__transition___2_5nj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"account\":\"styles-module__account___2MNOT\",\"avatar\":\"styles-module__avatar___3g6md\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___3fo2p\",\"container\":\"styles-module__container___25ond\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actionContainer\":\"styles-module__actionContainer___13mp8\",\"actionButton\":\"styles-module__actionButton___329e1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___1fwcj\",\"modalContainer\":\"styles-module__modalContainer___t7h1d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fixedCard\":\"styles-module__fixedCard___ZOwOV\",\"wrapper\":\"styles-module__wrapper___ZAcOQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapContainer\":\"styles-module__mapContainer___1xMmI\",\"withHeatmap\":\"styles-module__withHeatmap___16xkO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rightButtonGroup\":\"styles-module__rightButtonGroup___3KK-K\",\"checkboxButton\":\"styles-module__checkboxButton___2IvAz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"styles-module__box___1Z2rN\",\"default\":\"styles-module__default___37l0A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"styles-module__text___2gial\",\"item\":\"styles-module__item___2ZpFD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filters\":\"styles-module__filters___315IN\",\"input\":\"styles-module__input___3vchg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___1OQnH\",\"text\":\"styles-module__text___3i8lI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filterTitle\":\"styles-module__filterTitle___2sXxC\",\"titleContainer\":\"styles-module__titleContainer___rkzh_\",\"disabled\":\"styles-module__disabled___30od6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___SMPcN\",\"sectionTitle\":\"styles-module__sectionTitle___2cdsW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"styles-module__label___1_d8p\",\"input\":\"styles-module__input___h2R8P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popover\":\"styles-module__popover___1ffMo\",\"cover\":\"styles-module__cover___3NqBa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholderContainer\":\"styles-module__placeholderContainer___3173Y\",\"textContent\":\"styles-module__textContent___BI1-_\",\"clearButton\":\"styles-module__clearButton___26la6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___1Z3iP\",\"container\":\"styles-module__container___3pNyB\",\"withPlaceholder\":\"styles-module__withPlaceholder___85jaa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scrollable\":\"styles-module__scrollable___oWIYv\",\"chartContainer\":\"styles-module__chartContainer___KlygF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"styles-module__select___2puSk\",\"inputs\":\"styles-module__inputs___ZTQmw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customBadge\":\"styles-module__customBadge___12pnx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tablesContainer\":\"styles-module__tablesContainer___3XqYt\",\"table\":\"styles-module__table___1cTG-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tracking\":\"styles-module__tracking___2Fy5a\",\"tags\":\"styles-module__tags___1bcm0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___1SEyf\",\"positionLink\":\"styles-module__positionLink___1VYPe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"notifications-module__title___3Qds-\",\"subtitle\":\"notifications-module__subtitle___2xyCn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mobileOffset\":\"100px\",\"desktopOffset\":\"165px\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partyIcon\":\"styles-module__partyIcon___1Dw-r\",\"badges\":\"styles-module__badges___1Z_cQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"badge\":\"styles-module__badge___1xtRD\",\"container\":\"styles-module__container___1FDJp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___jNKxb\",\"contributorsOption\":\"styles-module__contributorsOption___1H6t5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"moneyballLink\":\"styles-module__moneyballLink___xSQw9\",\"noSubscriptionWarning\":\"styles-module__noSubscriptionWarning___aTqvs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___37GIi\",\"link\":\"styles-module__link___3EHW5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabValue\":\"styles-module__tabValue___z_efn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonPlaceholder\":\"styles-module__buttonPlaceholder___AnQkW\",\"notColumn\":\"styles-module__notColumn___6M6GR\",\"button\":\"styles-module__button___3WCco\",\"icon\":\"styles-module__icon___96QZo\",\"iconTracked\":\"styles-module__iconTracked___13tYW\",\"withRightMargin\":\"styles-module__withRightMargin___IQ-8C\",\"shareButton\":\"styles-module__shareButton___198ur\",\"tagButton\":\"styles-module__tagButton___3lp3H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___334kc\",\"content\":\"styles-module__content___1tTny\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerActions\":\"styles-module__headerActions___1AA5V\",\"searchContainer\":\"styles-module__searchContainer___2lkxz\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nexport default function SectionTitle({ title }) {\n return (\n
    \n

    {title}

    \n
    \n
    \n );\n}\n\nSectionTitle.propTypes = {\n title: PropTypes.string.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction Error({ reload }) {\n function handleReload() {\n reload && reload();\n }\n\n const emptyMessage = 'There are no results that match the applied filters.';\n const tryAgainMessage = reload && (\n <>\n The data you requested encountered an issue. Please reload the table to\n \n try again.\n \n \n );\n\n return (\n
    \n {tryAgainMessage && (\n

    \n Something went wrong…\n

    \n )}\n\n
    \n {tryAgainMessage || emptyMessage}\n
    \n
    \n );\n}\n\nError.propTypes = {\n reload: PropTypes.func,\n};\n\nexport default Error;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseLabelGroup } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nfunction Chamber({ keyName, chambers, titles, value, onChange, className }) {\n return (\n \n );\n}\n\nChamber.defaultProps = {\n keyName: 'chamber',\n titles: {\n title: 'Chamber',\n placeholder: 'Chamber the legislator serves in',\n },\n};\n\nChamber.propTypes = {\n value: PropTypes.array.isRequired,\n chambers: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n keyName: PropTypes.string,\n titles: PropTypes.object,\n className: PropTypes.string,\n};\n\nexport default Chamber;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction FederalCaucus({ keyName, titles, value, onChange, className }) {\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nFederalCaucus.defaultProps = {\n keyName: 'caucus',\n titles: {\n title: 'Caucus',\n placeholder: 'Caucuses the legislator belongs to (e.g., House Professional Sports Caucus)',\n },\n};\n\nFederalCaucus.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default FederalCaucus;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nconst allStrategy = { only: 'all' };\n\nfunction FederalCommittee({ keyName, strategy, titles, value, onChange, className }) {\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n function filterOption(candidate) {\n return !value.some(option => option.label === candidate.label);\n }\n\n return (\n \n );\n}\n\nFederalCommittee.defaultProps = {\n keyName: 'committee',\n strategy: 'federal_committee',\n titles: {\n title: 'Committee or subcommittee',\n placeholder:\n 'Committees or subcommittees the legislator is a member of (e.g., House Ways and Means)',\n },\n};\n\nFederalCommittee.propTypes = {\n keyName: PropTypes.string,\n strategy: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default FederalCommittee;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nfunction Legislator({\n keyName,\n titles,\n value,\n onChange,\n className,\n isFederal,\n customStrategy,\n strategyInputs,\n}) {\n const federalStateStrategy = isFederal ? 'federal_legislator' : 'state_legislation_legislators';\n const strategy = customStrategy || federalStateStrategy;\n\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nLegislator.defaultProps = {\n isFederal: true,\n keyName: 'legislator',\n titles: {\n title: 'Legislator',\n placeholder: 'The names of the legislators you are searching for (e.g., Chuck Grassley)',\n },\n};\n\nLegislator.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.shape({\n title: PropTypes.string,\n placeholder: PropTypes.string,\n }),\n value: PropTypes.arrayOf(suggestionShape).isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n isFederal: PropTypes.bool,\n customStrategy: PropTypes.string,\n strategyInputs: PropTypes.shape({\n [PropTypes.string]: PropTypes.string,\n }),\n};\n\nexport default Legislator;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { BaseLabelGroup } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nfunction HistoricalRecords({ keyName, titles, value, onChange, className, labelText }) {\n function handleChange() {\n onChange(keyName, !value);\n }\n const options = {\n [keyName]: labelText,\n };\n\n return (\n \n );\n}\n\nHistoricalRecords.defaultProps = {\n keyName: 'historicalLegislator',\n labelText: 'Include former legislators who no longer serve',\n titles: {\n title: 'Historical legislators',\n },\n};\n\nHistoricalRecords.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n labelText: PropTypes.string,\n};\n\nexport default HistoricalRecords;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseLabelGroup } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nfunction Party({ parties, keyName, titles, value, onChange, className }) {\n return (\n \n );\n}\n\nParty.defaultProps = {\n keyName: 'party',\n titles: {\n title: 'Party',\n placeholder: 'Party affiliation of the legislator',\n },\n};\n\nParty.propTypes = {\n parties: PropTypes.object.isRequired,\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default Party;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction StateDelegation({ keyName, titles, value, onChange, className, resTransform }) {\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nStateDelegation.defaultProps = {\n keyName: 'stateDelegation',\n titles: {\n title: 'State delegation',\n placeholder: 'State in which the legislator serves (e.g., California, Iowa)',\n },\n};\n\nStateDelegation.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n resTransform: PropTypes.func,\n};\n\nexport default StateDelegation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction Subject({ keyName, titles, value, onChange, className, isFederal, customStrategy }) {\n const billStrategy = isFederal\n ? 'federal_bill_top_term_subjects'\n : 'state_bill_main_subject';\n const strategy = customStrategy || billStrategy;\n\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nSubject.defaultProps = {\n isFederal: true,\n keyName: 'subjects',\n titles: {\n title: 'Subject',\n placeholder: 'The main subject of the bill',\n },\n};\n\nSubject.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n isFederal: PropTypes.bool,\n customStrategy: PropTypes.string,\n};\n\nexport default Subject;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction BillNumber({ keyName, titles, value, onChange, className, isFederal, customStrategy, multiple }) {\n const federalStateStrategy = isFederal ? 'federal_bill_number' : 'state_bill_number';\n const strategy = customStrategy || federalStateStrategy;\n\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nBillNumber.defaultProps = {\n isFederal: true,\n multiple: false,\n keyName: 'billNumbers',\n titles: {\n title: 'Bill Number',\n placeholder: 'Select bill',\n },\n};\n\nBillNumber.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n ]),\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n isFederal: PropTypes.bool,\n customStrategy: PropTypes.string,\n multiple: PropTypes.bool,\n};\n\nexport default BillNumber;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nfunction SelectField({ keyName, value, options, strategy, titles, onChange, className, isSelect, ...restProps }) {\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n const fieldValue = !isEmpty(value) ? value : undefined;\n\n return (\n \n );\n}\n\nSelectField.defaultProps = {\n isSelect: true,\n};\n\nSelectField.propTypes = {\n keyName: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n onChange: PropTypes.func.isRequired,\n strategy: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.node,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n })),\n isSelect: PropTypes.bool,\n titles: PropTypes.shape({\n title: PropTypes.string,\n placeholder: PropTypes.string,\n }),\n className: PropTypes.string,\n};\n\nexport default SelectField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from 'components/core/Input';\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nconst TEXT_EXCLUDES_KEY = 'textExcludes';\n\nfunction TextExcludesField({ value, onChange, titles, className }) {\n function handleChange(event) {\n const { value: eventValue } = event.target;\n\n onChange(TEXT_EXCLUDES_KEY, eventValue);\n }\n\n const customComponent = (\n \n );\n\n return ;\n}\n\nTextExcludesField.propTypes = {\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n titles: PropTypes.object,\n className: PropTypes.string,\n};\n\nexport default TextExcludesField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from 'components/core/Input';\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nimport styles from './styles.module.scss';\n\nconst TEXT_INCLUDES_KEY = 'textIncludes';\n\nfunction TextIncludesField({ value, onChange, titles }) {\n function handleChange(event) {\n const { value: eventValue } = event.target;\n\n onChange(TEXT_INCLUDES_KEY, eventValue);\n }\n\n const customComponent = (\n \n );\n\n return ;\n}\n\nTextIncludesField.propTypes = {\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n titles: PropTypes.object,\n};\n\nexport default TextIncludesField;\n","export const GTE = 'gte';\nexport const BETWEEN = 'between';\nexport const LTE = 'lte';\n\nexport const OPTIONS = [\n {\n value: GTE,\n label: 'Greater than',\n },\n {\n value: BETWEEN,\n label: 'Between',\n },\n {\n value: LTE,\n label: 'Less than',\n },\n];\n","import isEmpty from 'lodash/isEmpty';\n\nimport { GTE, LTE, BETWEEN } from './constants';\n\nexport const rangeOptionFromValues = (start, end) => {\n if (!isEmpty(start) && !isEmpty(end)) {\n return BETWEEN;\n }\n\n if (!isEmpty(end)) {\n return LTE;\n }\n\n return GTE;\n};\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport Select from 'components/core/Select';\nimport Input from 'components/core/Input';\n\nimport { GTE, LTE, BETWEEN, OPTIONS } from './constants';\nimport { rangeOptionFromValues } from './utils';\nimport styles from './styles.module.scss';\n\nfunction RangeField({ keyName, titles, value, onChangeStart, onChangeEnd }) {\n const { start, end } = value;\n\n const [rangeOption, setRangeOption] = useState(rangeOptionFromValues(start, end));\n const [insideChange, setInsideChange] = useState(false);\n\n const showTo = rangeOption === BETWEEN;\n const showLessThan = rangeOption !== GTE;\n const showGreaterThan = rangeOption !== LTE;\n\n useEffect(() => {\n if (!insideChange) {\n setRangeOption(() => rangeOptionFromValues(start, end));\n }\n\n setInsideChange(false);\n }, [start, end]);\n\n useEffect(() => {\n if (rangeOption === GTE) {\n setInsideChange(true);\n onChangeEnd('');\n }\n\n if (rangeOption === LTE) {\n setInsideChange(true);\n onChangeStart('');\n }\n }, [rangeOption]);\n\n const handleSelectChange = (option) => {\n setRangeOption(option.value);\n };\n\n const handleChangeStart = (event) => {\n setInsideChange(true);\n onChangeStart(event.target.value);\n };\n\n const handleChangeEnd = (event) => {\n setInsideChange(true);\n onChangeEnd(event.target.value);\n };\n\n function renderComponent() {\n return (\n
    \n \n
    \n {showGreaterThan && (\n \n )}\n {showTo && (\n to\n )}\n {showLessThan && (\n \n )}\n
    \n
    \n );\n }\n\n return (\n \n );\n}\n\nRangeField.defaultProps = {\n titles: {},\n};\n\nRangeField.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.object.isRequired,\n onChangeStart: PropTypes.func.isRequired,\n onChangeEnd: PropTypes.func.isRequired,\n};\n\nexport default RangeField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction StafferTitle({\n value,\n onChange,\n title,\n placeholder,\n keyName,\n strategy,\n isFederal,\n ...restProps\n}) {\n function getStrategy() {\n if (strategy) {\n return strategy;\n }\n\n return isFederal ? 'staffer_title' : 'state_staffer_position_title';\n }\n\n function handleChange(newValue) {\n onChange(keyName, newValue);\n }\n\n return (\n \n );\n}\n\nStafferTitle.defaultProps = {\n title: 'Title',\n questionText: 'Specific title of the staffer(s) (e.g., Legislative Director)',\n};\n\nStafferTitle.propTypes = {\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n keyName: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n title: PropTypes.string,\n strategy: PropTypes.string,\n isFederal: PropTypes.bool,\n};\n\nexport default StafferTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { POSITION_LOOKUP_OPTIONS } from 'components/core/ButtonPosition/utils/constants';\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction Position({ keyName, title, value, onChange, className }) {\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nPosition.defaultProps = {\n keyName: 'position',\n title: 'Position',\n};\n\nPosition.propTypes = {\n keyName: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default Position;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nfunction Tags({ keyName, titles, value, onChange, className, resTransform }) {\n function handleChange(data) {\n onChange(keyName, data);\n }\n\n return (\n \n );\n}\n\nTags.defaultProps = {\n keyName: 'tags',\n titles: {\n title: 'Tags',\n placeholder: '',\n },\n};\n\nTags.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.object,\n value: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n resTransform: PropTypes.func,\n};\n\nexport default Tags;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { includes, size, filter } from 'lodash';\nimport classNames from 'classnames';\n\nimport Checkbox from 'components/core/Checkbox';\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport Label from 'components/core/Label';\nimport withStatesAPI from 'utils/hoc/withStatesAPI';\n\nimport styles from './styles.module.scss';\n\nfunction AllStatesSelectField({\n keyName,\n titles,\n value,\n onChange,\n className,\n checkboxLabel,\n allStates,\n filterStates,\n}) {\n const [isChecked, setChecked] = useState(false);\n const filteredAllStates = filter(allStates, state => !includes(filterStates, state.value));\n const isAllChecked = size(filteredAllStates) > 0 && size(value) === size(filteredAllStates);\n\n function handleChange(currentValue) {\n onChange(keyName, currentValue);\n setChecked(false);\n }\n\n function handleCheckAll() {\n isChecked\n ? onChange(keyName, [])\n : onChange(keyName, filteredAllStates);\n setChecked(!isChecked);\n }\n\n return (\n <>\n {titles && titles.title && (\n \n )}\n \n \n \n );\n}\n\nAllStatesSelectField.defaultProps = {\n checkboxLabel: 'Include all states',\n filterStates: ['AS', 'GU', 'MP', 'PR', 'UM', 'VI'],\n};\n\nAllStatesSelectField.propTypes = {\n keyName: PropTypes.string,\n titles: PropTypes.objectOf(PropTypes.string),\n value: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })).isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n checkboxLabel: PropTypes.string,\n allStates: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })).isRequired,\n filterStates: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default withStatesAPI(AllStatesSelectField);\n","import Chamber from './Chamber';\nimport FederalCaucus from './FederalCaucus';\nimport FederalCommittee from './FederalCommittee';\nimport Legislator from './Legislator';\nimport HistoricalRecords from './HistoricalRecords';\nimport Party from './Party';\nimport StateDelegation from './StateDelegation';\nimport Subject from './Subject';\nimport BillNumber from './BillNumber';\nimport SelectField from './SelectField';\nimport TextExcludesField from './TextExcludesField';\nimport TextIncludesField from './TextIncludesField';\nimport RangeField from './RangeField';\nimport StafferTitle from './StafferTitle';\nimport Position from './Position';\nimport Tags from './Tags';\nimport AllStatesSelectField from './AllStatesSelectField';\n\nexport {\n Chamber,\n FederalCaucus,\n FederalCommittee,\n Legislator,\n HistoricalRecords,\n Party,\n StateDelegation,\n Subject,\n BillNumber,\n SelectField,\n TextExcludesField,\n TextIncludesField,\n RangeField,\n StafferTitle,\n Position,\n Tags,\n AllStatesSelectField,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___1TOYW\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport styles from './styles.module.scss';\n\nfunction TooltipTitle({ tooltipContent, className }) {\n if (isEmpty(tooltipContent)) {\n return null;\n }\n\n return (\n
    \n \n \n \n \n \n
    \n );\n}\n\nTooltipTitle.propTypes = {\n tooltipContent: PropTypes.node,\n className: PropTypes.string,\n};\n\nexport default TooltipTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Caret } from 'components/core/Accordion';\n\nimport styles from './styles.module.scss';\n\nexport default function SectionTitle({\n label,\n isOpen,\n onToggle,\n titleClassName,\n}) {\n return (\n
    \n \n {label} \n
    \n
    \n );\n}\n\nSectionTitle.propTypes = {\n label: PropTypes.node.isRequired,\n isOpen: PropTypes.bool.isRequired,\n onToggle: PropTypes.func.isRequired,\n titleClassName: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\n\nconst settings = PropTypes.shape({\n title: PropTypes.string,\n fileFormat: PropTypes.string.isRequired,\n showMyLogo: PropTypes.bool.isRequired,\n chooseColumns: PropTypes.bool.isRequired,\n});\n\nconst settingsManager = PropTypes.shape({\n setTitle: PropTypes.func.isRequired,\n setFileFormat: PropTypes.func.isRequired,\n setCustomization: PropTypes.func.isRequired,\n});\n\nconst itemsSelectedManager = PropTypes.shape({\n onChange: PropTypes.func.isRequired,\n isChecked: PropTypes.func.isRequired,\n});\n\nconst columnsManager = PropTypes.shape({\n onCheck: PropTypes.func.isRequired,\n onCheckAll: PropTypes.func.isRequired,\n isChecked: PropTypes.func.isRequired,\n isCheckedAll: PropTypes.func.isRequired,\n});\n\nconst column = PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n});\n\nconst item = PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n columns: PropTypes.arrayOf(column),\n});\n\nconst options = PropTypes.arrayOf(\n PropTypes.shape({\n section: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(item),\n isOpen: PropTypes.bool,\n })\n);\n\nconst summary = PropTypes.shape({\n reportHasSummary: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n});\n\nexport default {\n settings,\n settingsManager,\n itemsSelectedManager,\n columnsManager,\n column,\n item,\n options,\n summary,\n};\n","import React from 'react';\nimport map from 'lodash/map';\n\nimport Accordion, { Item } from 'components/core/Accordion';\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\nimport SectionTitle from 'components/core/Modal/components/ExportModal/components/SectionTitle';\nimport Label from 'components/core/Label';\n\nimport shapes from '../../shapes';\nimport styles from './styles.module.scss';\n\nfunction ItemsSelection({ options, itemsSelectedManager }) {\n function renderTitle({ field, toggle, isOpen }) {\n return (\n \n );\n }\n\n return (\n <>\n \n \n {map(options, ({ section, items, isOpen }) => (\n \n \n {items.map(item => (\n itemsSelectedManager.onChange(item)}\n />\n ))}\n \n \n ))}\n \n \n );\n}\n\nItemsSelection.propTypes = {\n options: shapes.options.isRequired,\n itemsSelectedManager: shapes.itemsSelectedManager.isRequired,\n};\n\nexport default ItemsSelection;\n","import React from 'react';\n\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\nimport Label from 'components/core/Label';\n\nimport shapes from '../../shapes';\n\nfunction ColumnsSelection({\n item,\n columnsManager,\n}) {\n function renderColumn(column) {\n return (\n columnsManager.onCheck(item, column)}\n />\n );\n }\n\n return (\n <>\n \n \n columnsManager.onCheckAll(item)}\n label=\"Select/Deselect all\"\n />\n {item.columns.map(renderColumn)}\n \n \n );\n}\n\nColumnsSelection.propTypes = {\n item: shapes.item,\n columnsManager: shapes.columnsManager,\n};\n\nexport default ColumnsSelection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from 'components/core/Input';\nimport Label from 'components/core/Label';\nimport Asterisk from 'components/core/Asterisk';\n\nimport styles from './styles.module.scss';\n\nfunction InputField({ value, label, onChange, isRequired }) {\n return (\n <>\n \n {label}\n \n \n \n \n );\n}\n\nInputField.propTypes = {\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n isRequired: PropTypes.bool,\n};\n\nexport default InputField;\n","import React from 'react';\n\nimport Box from 'components/core/Box';\n\nimport styles from './styles.module.scss';\n\nfunction Disclaimer() {\n const text = (\n \n Column options will appear on subsequent screens for your filtered item types.\n Hit the “next” button to continue.\n \n );\n\n return ;\n}\n\nexport default Disclaimer;\n","import useCompanyLogo from 'components/core/ExportDocument/components/ExportModal/utils/useCompanyLogo';\nimport { DEFAULT_LOGO_URL } from 'utils/constants';\n\nfunction useLogo(showMyLogo) {\n const {\n logoUrl,\n companyHasLogo,\n isLogoLoading,\n } = useCompanyLogo({ displayCompanyLogo: true, isOpenModal: true });\n\n if (!showMyLogo || isLogoLoading || !companyHasLogo) {\n return {\n companyHasLogo,\n logoUrl: DEFAULT_LOGO_URL,\n };\n }\n\n return {\n companyHasLogo,\n logoUrl,\n };\n}\n\nexport default useLogo;\n","import { useEffect } from 'react';\nimport isNil from 'lodash/isNil';\n\nimport useLogo from './useLogo';\n\nfunction useSettings({\n options,\n settings,\n settingsManager,\n getCustomizationData,\n}) {\n const { companyHasLogo, logoUrl } = useLogo(settings.showMyLogo);\n const withTitle = !isNil(settings.title);\n\n const onTitleChange = event => settingsManager.setTitle(event.target.value);\n\n const onFileFormatChange = (_, values) => settingsManager.setFileFormat(values[0]);\n\n const {\n showPreview,\n showDisclaimer,\n customizationItems,\n customizationDescription,\n } = getCustomizationData && getCustomizationData({\n chooseColumns: settings.chooseColumns,\n fileFormat: settings.fileFormat,\n companyHasLogo,\n options,\n }) || {};\n\n useEffect(() => {\n settingsManager.setLogoUrl(logoUrl);\n }, [settings.showMyLogo]);\n\n useEffect(() => {\n settingsManager.setCustomization(null, []);\n }, [settings.fileFormat]);\n\n return {\n withTitle,\n showPreview,\n showDisclaimer,\n customizationItems,\n customizationDescription,\n onFileFormatChange,\n onTitleChange,\n };\n}\n\nexport default useSettings;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n Preview,\n Customization,\n FileFormat,\n} from 'components/core/ExportDocument/components/ExportModal';\nimport { ReportTitlePreview } from 'components/core/ExportDocument/components/ExportModal/components/Preview';\n\nimport InputField from '../InputField';\nimport Disclaimer from '../Disclaimer';\nimport shapes from '../../shapes';\nimport useSettings from './useSettings';\n\nimport styles from './styles.module.scss';\n\nfunction Settings({\n documentSummaryProps,\n documentTitle,\n exportFileItems,\n previewFormats,\n settingsManager,\n settings,\n options,\n getCustomizationData,\n}) {\n const {\n withTitle,\n showPreview,\n showDisclaimer,\n customizationItems,\n customizationDescription,\n onFileFormatChange,\n onTitleChange,\n } = useSettings({\n exportFileItems,\n previewFormats,\n settingsManager,\n settings,\n options,\n getCustomizationData,\n });\n\n const previewComponent = (\n \n );\n\n return (\n <>\n {withTitle && (\n <>\n \n
    \n \n )}\n
    \n
    \n \n \n
    \n {showPreview && (\n
    \n \n
    \n )}\n
    \n {showDisclaimer && (\n \n )}\n \n );\n}\n\nSettings.propTypes = {\n documentTitle: PropTypes.string,\n documentSummaryProps: shapes.summary,\n exportFileItems: PropTypes.arrayOf(PropTypes.object),\n previewFormats: PropTypes.arrayOf(PropTypes.string),\n options: shapes.options,\n settings: shapes.settings.isRequired,\n settingsManager: shapes.settingsManager.isRequired,\n getCustomizationData: PropTypes.func.isRequired,\n};\n\nexport default Settings;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction Buttons({\n backButton,\n nextButton,\n submitButton,\n cancelButton,\n}) {\n return (\n
    \n {backButton.show && (\n \n Back\n \n )}\n {cancelButton.show && (\n \n Cancel\n \n )}\n {nextButton.show && (\n \n Next\n \n )}\n {submitButton.show && (\n \n Export\n \n )}\n
    \n );\n}\n\nconst buttonShape = PropTypes.shape({\n show: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n isDisabled: PropTypes.bool,\n isLoading: PropTypes.bool,\n}).isRequired;\n\nButtons.propTypes = {\n backButton: buttonShape,\n cancelButton: buttonShape,\n nextButton: buttonShape,\n submitButton: buttonShape,\n};\n\nexport default Buttons;\n","function useButtons({\n isValid,\n isLoading,\n isFirstStep,\n isLastStep,\n previousStep,\n nextStep,\n onCancel,\n onSubmit,\n}) {\n const backButton = {\n show: !isFirstStep,\n onClick: previousStep,\n };\n\n const cancelButton = {\n show: isFirstStep,\n onClick: onCancel,\n };\n\n const nextButton = {\n show: !isLastStep,\n onClick: nextStep,\n isDisabled: !isValid,\n };\n\n const submitButton = {\n show: isLastStep,\n onClick: onSubmit,\n isDisabled: !isValid,\n isLoading,\n };\n\n return {\n backButton,\n cancelButton,\n nextButton,\n submitButton,\n };\n}\n\nexport default useButtons;\n","import { useState } from 'react';\nimport { xorWith, some, isEqual, orderBy } from 'lodash';\n\nfunction useItemsSelected() {\n const [itemsSelected, setItemsSelected] = useState([]);\n\n function onChange(item) {\n const newItems = xorWith(itemsSelected, [item], isEqual);\n\n setItemsSelected(newItems);\n }\n\n const isChecked = item => some(itemsSelected, item);\n const itemsSelectedSorted = orderBy(itemsSelected, ['value']);\n\n return {\n itemsSelected: itemsSelectedSorted,\n itemsSelectedManager: {\n onChange,\n isChecked,\n },\n };\n}\n\nexport default useItemsSelected;\n","import { useState, useEffect } from 'react';\nimport { isEqual, get, includes, size, xorWith, reduce } from 'lodash';\n\nfunction useExportColumns({ itemsSelected }) {\n const [selectedColumns, setSelectedColumns] = useState({});\n\n const resetSelectedColumns = () => {\n const allColumnsSelected = reduce(itemsSelected, (items, item) => ({\n [item.value]: item.columns,\n ...items,\n }), {});\n\n setSelectedColumns(allColumnsSelected);\n };\n\n useEffect(() => {\n resetSelectedColumns();\n }, [size(itemsSelected)]);\n\n const isChecked = (item, column) => {\n const columns = get(selectedColumns, item.value, []);\n\n return includes(columns, column);\n };\n\n const isCheckedAll = (item) => {\n const columns = get(selectedColumns, item.value, []);\n\n return size(columns) === size(item.columns);\n };\n\n const onCheck = (item, column) => {\n const oldColumns = get(selectedColumns, item.value, []);\n const newColumns = xorWith(oldColumns, [column], isEqual);\n\n setSelectedColumns({\n ...selectedColumns,\n [item.value]: newColumns,\n });\n };\n\n const onCheckAll = (item) => {\n const newColumns = isCheckedAll(item)\n ? []\n : item.columns;\n\n setSelectedColumns({\n ...selectedColumns,\n [item.value]: newColumns,\n });\n };\n\n return {\n selectedColumns,\n columnsManager: {\n onCheck,\n onCheckAll,\n isChecked,\n isCheckedAll,\n },\n };\n}\n\nexport default useExportColumns;\n","import { useState, useEffect } from 'react';\nimport { isNil, isEmpty, size, head, indexOf } from 'lodash';\n\nconst SETTINGS = 0;\nconst ITEMS = 1;\nconst COLUMNS = 2;\n\nfunction useSteps({ settings, itemsSelected, selectedColumns }) {\n const [currentStep, setCurrentStep] = useState(SETTINGS);\n const [currentItem, setCurrentItem] = useState();\n\n useEffect(() => {\n setCurrentItem(head(itemsSelected));\n }, [size(itemsSelected)]);\n\n const isValid = () => {\n if (currentStep === SETTINGS && !isNil(settings.title)) {\n if (isEmpty(settings.title)) return false;\n }\n\n if (currentStep === ITEMS) {\n if (isEmpty(itemsSelected)) return false;\n }\n\n if (currentStep === COLUMNS) {\n const columns = selectedColumns[currentItem.value];\n\n if (isEmpty(columns)) return false;\n }\n\n return true;\n };\n\n const isFirstStep = () => currentStep === SETTINGS;\n\n const isLastStep = () => {\n if (currentStep === SETTINGS && settings.chooseColumns) {\n return false;\n }\n\n if (currentStep === ITEMS) {\n return false;\n }\n\n if (currentStep === COLUMNS) {\n const index = indexOf(itemsSelected, currentItem);\n const isLast = index === (size(itemsSelected) - 1);\n\n if (!isLast) {\n return false;\n }\n }\n\n return true;\n };\n\n const previousColumnStep = () => {\n const index = indexOf(itemsSelected, currentItem);\n const isFirst = index === 0;\n\n if (isFirst) {\n setCurrentStep(currentStep - 1);\n } else {\n const newCurrentItem = itemsSelected[index - 1];\n setCurrentItem(newCurrentItem);\n }\n };\n\n const nextColumnStep = () => {\n const index = indexOf(itemsSelected, currentItem);\n\n const newCurrentItem = itemsSelected[index + 1];\n setCurrentItem(newCurrentItem);\n };\n\n const previousStep = () => {\n if (currentStep === COLUMNS) {\n previousColumnStep();\n } else {\n setCurrentStep(currentStep - 1);\n }\n };\n\n const nextStep = () => {\n if (currentStep === COLUMNS) {\n nextColumnStep();\n } else {\n setCurrentStep(currentStep + 1);\n }\n };\n\n return {\n isValid: isValid(),\n isFirstStep: isFirstStep(),\n isLastStep: isLastStep(),\n previousStep,\n nextStep,\n currentItem,\n currentStep,\n };\n}\n\nexport default useSteps;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { filter } from 'lodash';\n\nimport useDocumentSummary from 'components/core/ExportDocument/components/ExportModal/utils/useDocumentSummary';\n\nimport MultiStepModal from '../MultiStep';\nimport ItemsSelection from './components/ItemsSelection';\nimport ColumnsSelection from './components/ColumnsSelection';\nimport Settings from './components/Settings';\nimport Buttons from './components/Buttons';\nimport useButtons from './useButtons';\nimport useSettings from './useSettings';\nimport useItemsSelected from './useItemsSelected';\nimport useColumns from './useColumns';\nimport useSteps from './useSteps';\nimport shapes from './shapes';\n\nimport styles from './styles.module.scss';\n\nfunction ExportModal({\n isLoading,\n initialValues,\n initialOptions,\n documentTitle,\n exportFileItems,\n defaultFileFormatValue,\n getCustomizationData,\n toggleModal,\n onExport,\n}) {\n const { itemsSelected, itemsSelectedManager } = useItemsSelected();\n\n const { selectedColumns, columnsManager } = useColumns({ itemsSelected });\n const { documentSummary, onChangeSummary, onResetSummary } = useDocumentSummary();\n const { settings, settingsManager } = useSettings({\n defaultFileFormatValue,\n initialOptions,\n initialValues,\n });\n\n const documentSummaryProps = {\n reportHasSummary: settings.showSummary,\n onChange: onChangeSummary,\n onReset: onResetSummary,\n value: documentSummary,\n };\n\n const response = {\n selectedColumns,\n documentSummary,\n settings,\n };\n\n const {\n isValid,\n isFirstStep,\n isLastStep,\n previousStep,\n nextStep,\n currentStep,\n currentItem,\n } = useSteps({ settings, itemsSelected, selectedColumns });\n\n if (!gon.isFederalProductEnabled && settings.options) {\n settings.options[0].items = settings.options[0].items.filter(item => !item.value.includes('federal'));\n }\n if (!gon.isStateProductEnabled && settings.options) {\n settings.options[0].items = settings.options[0].items.filter(item => !item.value.includes('state'));\n }\n\n const buttonsProps = useButtons({\n isValid,\n isLoading,\n isFirstStep,\n isLastStep,\n previousStep,\n nextStep,\n onCancel: toggleModal,\n onSubmit: () => onExport(response),\n });\n\n const buttons = () => (\n \n );\n\n const steps = filter([\n {\n index: 0,\n component: (\n \n ),\n },\n {\n index: 1,\n component: (\n \n ),\n },\n currentItem && ({\n index: 2,\n component: ,\n }),\n ]);\n\n return (\n \n );\n}\n\nExportModal.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n initialOptions: PropTypes.oneOfType([\n PropTypes.func,\n shapes.options,\n ]),\n documentTitle: PropTypes.string,\n exportFileItems: PropTypes.arrayOf(PropTypes.object),\n initialValues: PropTypes.shape({ title: PropTypes.string }),\n defaultFileFormatValue: PropTypes.string,\n getCustomizationData: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onExport: PropTypes.func.isRequired,\n};\n\nexport default ExportModal;\n","import { useState } from 'react';\nimport { isFunction, includes, get } from 'lodash';\n\nimport { DEFAULT_LOGO_URL } from 'utils/constants';\nimport {\n PDF_ID,\n LOGO_CUSTOMIZATION_ID,\n SUMMARY_CUSTOMIZATION_ID,\n CHOOSE_FIELDS_CUSTOMIZATION_ID,\n} from 'utils/constants/export';\n\nexport default function useSettings({\n defaultFileFormatValue,\n initialOptions = {},\n initialValues = {},\n}) {\n const [fileFormat, setFileFormat] = useState(defaultFileFormatValue || PDF_ID);\n const [title, setTitle] = useState(get(initialValues, 'title', null));\n const [customizationValues, setCustomizationValues] = useState([]);\n const [logoUrl, setLogoUrl] = useState(DEFAULT_LOGO_URL);\n const options = isFunction(initialOptions)\n ? initialOptions({ fileFormat })\n : initialOptions;\n\n return {\n settings: {\n options,\n title,\n logoUrl,\n fileFormat,\n customizationValues,\n showMyLogo: includes(customizationValues, LOGO_CUSTOMIZATION_ID),\n showSummary: includes(customizationValues, SUMMARY_CUSTOMIZATION_ID),\n chooseColumns: includes(customizationValues, CHOOSE_FIELDS_CUSTOMIZATION_ID),\n },\n settingsManager: {\n setTitle,\n setLogoUrl,\n setFileFormat,\n setCustomization: (_, values) => setCustomizationValues(values),\n },\n };\n}\n","import { getTimelineDefaultFilters } from 'components/Grm2/ActivityButton/useActivityButton';\nimport { transformFiltersForBE, transformCardForFeed, transformCustomFieldsForFeed } from 'redux/grm2/transformers';\nimport { PRODUCT_SLUGS } from 'components/core/CustomFields/utils/constants';\n\nconst fetchCustomFields = () => {\n const url = '/api_web/custom_fields/fields';\n const method = 'GET';\n const data = {\n search_form: {\n enabled: true,\n product_slugs: [PRODUCT_SLUGS.GRM],\n },\n per_page: 200,\n };\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax);\n};\n\nexport const fetchTimelineCards = () => {\n const filters = {\n keywordLookup: '',\n people: [],\n creator: [],\n bills: [],\n regulations: [],\n committees: [],\n documents: [],\n activityTypes: [],\n interactionTypes: [],\n tags: [],\n eventDate: {\n startDate: null,\n endDate: null,\n },\n creationDate: {\n startDate: null,\n endDate: null,\n },\n attachments: false,\n };\n const url = '/api_web/grm_v2/cards/lookup';\n const method = 'POST';\n const data = {\n direction: 'desc',\n sort: 'created_at',\n search_form: transformFiltersForBE(filters, getTimelineDefaultFilters()),\n };\n\n const ajax = $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return fetchCustomFields().then(\n ({ data: customFieldsData }) => {\n const customFields = transformCustomFieldsForFeed(customFieldsData);\n return Promise.resolve(ajax)\n .then(({ data: cards }) => cards.map(card => transformCardForFeed(card, customFields)));\n }\n );\n};\n","export const isMoneyballContributionsEnabled = (gon && gon.isMoneyballContributionsEnabled) || false;\n","import { useState } from 'react';\n\nfunction useAvatar() {\n const [hasAvatar, setHasAvatar] = useState(true);\n\n return {\n hasAvatar,\n onAvatarError: () => setHasAvatar(false),\n };\n}\n\nexport default useAvatar;\n","import { truncate, split, isEmpty, includes } from 'lodash';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport { currentDate } from 'utils/date';\nimport {\n fetchTimelineCards,\n} from 'components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/utils/api';\nimport { LOGO_CUSTOMIZATION_ID } from 'utils/constants/export';\n\nimport { ACTIVITY_SECTION_ID, PROFILE_SECTION_ID } from './constants';\n\nconst MAX_FILENAME_TITLE_LENGTH = 25;\n\nexport const getExportFileName = (recordType, personName) => {\n const truncatedName = truncate(personName, { length: MAX_FILENAME_TITLE_LENGTH });\n const date = currentDate(GLOBAL_DATE_FORMAT);\n\n return `${recordType} - ${truncatedName} - ${date}.pdf`;\n};\n\nexport const getPartyBadge = (party) => {\n if (isEmpty(party)) return {};\n\n const { code: partyCode, name: partyName } = party;\n\n return {\n short: partyCode,\n slug: split(partyName, ' ')[0],\n };\n};\n\nfunction getDisplayingProps({ sections, customization }, logoUrl) {\n const displayCustomLogo = includes(customization, LOGO_CUSTOMIZATION_ID);\n\n return {\n ...(displayCustomLogo && { logoUrl }),\n display: {\n profile: includes(sections, PROFILE_SECTION_ID),\n yourActivity: includes(sections, ACTIVITY_SECTION_ID),\n },\n };\n}\n\nexport function getFetchingFunction(...args) {\n const displayingProps = getDisplayingProps(...args);\n const { yourActivity } = displayingProps.display;\n\n return yourActivity\n ? fetchTimelineCards().then(data => ({ ...displayingProps, timelineCards: data }))\n : Promise.resolve(displayingProps);\n}\n","const staffer = (sortingKey = 'full_name.raw') => ({\n label: 'Staffer',\n keyName: 'name',\n allowToggle: false,\n sortingKey,\n});\n\nconst title = {\n label: 'Title',\n keyName: 'title',\n allowToggle: false,\n sortingKey: 'sort_title',\n};\n\nconst legislativeIssueArea = {\n label: 'Legislative issue area',\n keyName: 'issues',\n allowToggle: false,\n};\n\nconst email = (hasSorting = true) => ({\n label: 'Email',\n keyName: 'email',\n allowToggle: false,\n ...(hasSorting && { sortingKey: 'email.raw' }),\n});\n\nconst phone = (hasSorting = true) => ({\n label: 'Phone',\n keyName: 'phone',\n allowToggle: false,\n ...(hasSorting && { sortingKey: 'phone.raw' }),\n});\n\nconst address = {\n label: 'Address',\n keyName: 'address',\n allowToggle: false,\n};\n\nconst titles = {\n label: 'Title',\n keyName: 'titles',\n allowToggle: false,\n};\n\nconst role = {\n label: 'Role',\n keyName: 'role',\n allowToggle: false,\n};\n\nconst officeType = {\n label: 'Office type',\n keyName: 'office',\n allowToggle: false,\n};\n\nexport const federalTableColumns = [staffer(), title, officeType, legislativeIssueArea, email()];\n\nexport const stateTableColumns = [staffer(), title, email(), phone()];\n\nexport const stateExecutiveTableColumns = [\n staffer('full_name'),\n titles,\n role,\n address,\n email(false),\n phone(false),\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction ColumnsContainer({ children }) {\n return (\n
    \n {children}\n
    \n );\n}\n\nColumnsContainer.propTypes = {\n children: PropTypes.node,\n};\n\nexport default ColumnsContainer;\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport CoreSelect from 'components/core/Select';\nimport Label from 'components/core/Label';\nimport { sortOptionShape } from 'components/core/Sort/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction Select({\n className,\n options,\n onSort,\n selectedSort,\n labelClassName,\n selectClassName,\n defaultOption,\n}) {\n function handleSelectOption(selectedOption) {\n onSort(selectedOption)();\n }\n\n return (\n
    \n \n\n
    \n \n
    \n
    \n );\n}\n\nSelect.propTypes = {\n className: PropTypes.string,\n options: PropTypes.arrayOf(sortOptionShape).isRequired,\n onSort: PropTypes.func.isRequired,\n selectedSort: sortOptionShape.isRequired,\n labelClassName: PropTypes.string,\n selectClassName: PropTypes.string,\n defaultOption: sortOptionShape.isRequired,\n};\n\nexport default Select;\n","export function isOptionSelected(sortOption, selectedSort) {\n const { value, direction } = sortOption || {};\n const { sort: selectedValue, direction: selectedDirection } = selectedSort || {};\n\n if (direction) {\n return (selectedValue === value) && (direction === selectedDirection);\n }\n\n return selectedValue === value;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport { isOptionSelected } from 'components/core/Sort/utils';\nimport { sortOptionShape } from 'components/core/Sort/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction TooltipNode({ options, onClick, selectedSort, className, optionClassName }) {\n function renderOption(option, index) {\n const { label } = option;\n const { value, direction } = selectedSort;\n const isSelected = isOptionSelected(option, { sort: value, direction });\n\n return (\n
  • \n \n {label}\n \n
  • \n );\n }\n\n return (\n
    \n
      \n {options.map(renderOption)}\n
    \n
    \n );\n}\n\nTooltipNode.propTypes = {\n className: PropTypes.string,\n optionClassName: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n selectedSort: sortOptionShape.isRequired,\n options: PropTypes.arrayOf(sortOptionShape).isRequired,\n};\n\nexport default TooltipNode;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport Button from 'components/core/Button';\nimport { isOptionSelected } from 'components/core/Sort/utils';\nimport { sortOptionShape } from 'components/core/Sort/shapes';\n\nimport TooltipNode from '../TooltipNode';\nimport styles from './styles.module.scss';\n\nfunction TooltipComponent({\n className,\n onSort,\n selectedSort,\n options,\n tooltipNodeClassName,\n optionClassName,\n tooltipClassName,\n placement,\n isLoading,\n defaultOption,\n labelClassName,\n}) {\n const currentSort = options.find(option => isOptionSelected(option, selectedSort)) || defaultOption;\n\n function renderTooltipNode() {\n return (\n \n );\n }\n\n return (\n
    \n \n \n \n \n Sort by:\n \n {currentSort.label}\n\n
    \n \n
    \n \n
    \n \n
    \n );\n}\n\nTooltipComponent.propTypes = {\n className: PropTypes.string,\n onSort: PropTypes.func.isRequired,\n selectedSort: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }).isRequired,\n options: PropTypes.arrayOf(sortOptionShape).isRequired,\n tooltipNodeClassName: PropTypes.string,\n optionClassName: PropTypes.string,\n tooltipClassName: PropTypes.string,\n placement: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n defaultOption: sortOptionShape,\n labelClassName: PropTypes.string,\n};\n\nexport default TooltipComponent;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Select from './components/Select';\nimport Tooltip from './components/Tooltip';\nimport { DEFAULT_SORT, SORT_OPTIONS } from './utils/constants';\n\nfunction Sort({\n options,\n defaultOption,\n selectedSort,\n isLoading,\n onSort,\n placement,\n tooltipNodeClassName,\n tooltipClassName,\n optionClassName,\n className,\n isSelect,\n labelClassName,\n selectClassName,\n}) {\n const defaultSort = { sort: defaultOption.value, direction: defaultOption.direction };\n const [currentSort, setCurrentSort] = useState(defaultSort);\n const { toReset } = selectedSort;\n\n useEffect(() => {\n toReset\n ? setCurrentSort(defaultSort)\n : setCurrentSort(selectedSort);\n }, [toReset, selectedSort]);\n\n function handleSort({ value, direction }) {\n return () => {\n setCurrentSort({ sort: value, direction });\n onSort({ value, direction });\n };\n }\n\n const commonProps = {\n className,\n options,\n selectedSort: currentSort,\n onSort: handleSort,\n labelClassName,\n defaultOption,\n };\n\n return useMemo(() => {\n if (isSelect) {\n return (\n \n );\n }\n\n return (\n \n );\n }, [currentSort, isLoading]);\n}\n\nSort.defaultProps = {\n selectedSort: DEFAULT_SORT,\n options: SORT_OPTIONS,\n placement: 'bottom-start',\n defaultOption: DEFAULT_SORT,\n isLoading: false,\n isSelect: false,\n};\n\nSort.propTypes = {\n selectedSort: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n placement: PropTypes.string,\n tooltipNodeClassName: PropTypes.string,\n tooltipClassName: PropTypes.string,\n optionClassName: PropTypes.string,\n className: PropTypes.string,\n defaultOption: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n isLoading: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })\n ),\n onSort: PropTypes.func.isRequired,\n isSelect: PropTypes.bool,\n labelClassName: PropTypes.string,\n selectClassName: PropTypes.string,\n};\n\nexport default Sort;\n","import moment from 'moment';\n\nimport { DAY_YEAR_DATE_FORMAT } from 'utils/constants/date';\n\nexport const transformForUI = response => ({\n id: response.id,\n content: response.body,\n updatedAt: moment(response.updated_at).format(DAY_YEAR_DATE_FORMAT),\n});\n","import { transformForUI } from './transformers';\n\nexport function getSummaryAPI({ recordType, recordId }) {\n const fetchSummary = () => {\n const url = `/api_web/summaries/${recordType}/${recordId}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(transformForUI);\n };\n\n const deleteSummary = () => {\n const [method, url] = ['DELETE', `/api_web/summaries/${recordType}/${recordId}`];\n const ajax = $.ajax({ url, method });\n\n return Promise.resolve(ajax);\n };\n\n const saveSummary = ({ content, summaryId }) => {\n const [method, url] = summaryId\n ? ['PUT', `/api_web/summaries/${recordType}/${recordId}`]\n : ['POST', '/api_web/summaries'];\n\n const data = {\n record_type: recordType,\n record_id: recordId,\n body: content,\n };\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .then(transformForUI);\n };\n\n return {\n fetchSummary,\n deleteSummary,\n saveSummary,\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport { NO_PRIORITY, priorities } from 'components/core/PriorityTooltip/constants';\nimport SlideUpModal from 'components/core/Modal/components/SlideUpModal';\nimport useModal from 'components/core/Modal/useModal';\nimport { priorityTooltipZIndex } from 'style/global/_variables.scss';\n\nimport PriorityButton from './components/PriorityButton';\nimport styles from './styles.module.scss';\n\nfunction PriorityToolTip({\n isOpen,\n isMobile,\n isLoadingPriority,\n selectedPriority,\n customLabel,\n containerClassName,\n buttonClassName,\n iconClassName,\n loaderClassName,\n onChangePriority,\n}) {\n const { isOpenModal, toggleModal, closeModal } = useModal(isOpen);\n\n function handleChangePriority(value) {\n closeModal();\n onChangePriority(value);\n }\n\n const renderPriority = priority => (\n \n );\n\n const content = (\n
    \n {Object.keys(priorities).map(renderPriority)}\n
    \n );\n\n return (\n \n \n \n {isMobile && (\n \n {content}\n \n )}\n \n \n );\n}\n\nPriorityToolTip.defaultProps = {\n customLabel: 'Priority',\n selectedPriority: NO_PRIORITY,\n};\n\nPriorityToolTip.propTypes = {\n isOpen: PropTypes.bool,\n isMobile: PropTypes.bool,\n isLoadingPriority: PropTypes.bool,\n selectedPriority: PropTypes.string,\n customLabel: PropTypes.string,\n buttonClassName: PropTypes.string,\n containerClassName: PropTypes.string,\n iconClassName: PropTypes.string,\n loaderClassName: PropTypes.string,\n onChangePriority: PropTypes.func.isRequired,\n};\n\nexport default PriorityToolTip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { filter, size, isEmpty } from 'lodash';\n\nimport Actions from 'components/core/Profile/components/Actions';\nimport withCalendar from 'components/core/HearingCalendars/utils/withCalendar';\nimport constants from 'components/core/HearingCalendars/utils/constants';\nimport { extractAllEvents } from 'components/core/HearingCalendars/utils';\nimport Button from 'components/core/Button';\nimport { CheckboxButton } from 'components/core/Checkbox';\nimport {\n trackFederalAllHearingsSelected,\n trackStateAllHearingsSelected,\n} from 'utils/tracking/intel';\n\nimport { typeShape, eventShape } from '../../utils/shapes';\nimport ExportHearingCalendarsModal from '../ExportHearingCalendarsModal';\nimport useBulkExport from './useBulkExport';\nimport styles from './styles.module.scss';\n\nfunction ActionButtons({\n type,\n allItems,\n onCheckAllEvents,\n checkedEvents,\n isLoadingEvents,\n isExportOpen,\n}) {\n const {\n toggleModal,\n isOpenModal,\n isBulkExportDisabled,\n } = useBulkExport({ allItems, isExportOpen });\n\n const options = filter([\n {\n id: 'bulkExport',\n component: (\n \n Bulk export\n \n ),\n },\n ]);\n\n const events = extractAllEvents(allItems);\n const isAllChecked = !isEmpty(checkedEvents) && size(checkedEvents) === size(events);\n const isDisabled = isEmpty(events) || isLoadingEvents;\n const onCheckAllTrack = type === constants.FEDERAL\n ? trackFederalAllHearingsSelected\n : trackStateAllHearingsSelected;\n\n function handleCheckAll(event) {\n const { checked } = event.target;\n\n checked && onCheckAllTrack();\n onCheckAllEvents(checked);\n }\n\n return (\n <>\n
    \n \n \n
    \n \n \n );\n}\n\nActionButtons.propTypes = {\n type: typeShape.isRequired,\n allItems: PropTypes.arrayOf(eventShape),\n checkedEvents: PropTypes.arrayOf(eventShape).isRequired,\n onCheckAllEvents: PropTypes.func.isRequired,\n isLoadingEvents: PropTypes.bool,\n isExportOpen: PropTypes.bool.isRequired,\n};\n\nexport default withCalendar(ActionButtons);\n","import isEmpty from 'lodash/isEmpty';\n\nimport useModal from 'components/core/Modal/useModal';\n\nfunction useBulkExport({ allItems, isExportOpen }) {\n const { isOpenModal, toggleModal } = useModal(isExportOpen);\n\n const isBulkExportDisabled = isEmpty(allItems);\n\n return {\n isOpenModal,\n toggleModal,\n isBulkExportDisabled,\n };\n}\n\nexport default useBulkExport;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, isFunction } from 'lodash';\nimport { Text, View, StyleSheet } from '@react-pdf/renderer';\n\nimport { DEFAULT_TEXT_COLOR, DEFAULT_LINE_COLOR } from '../../utils/colors.scss';\n\nexport const styles = StyleSheet.create({\n titleSection: {\n borderBottomWidth: 1,\n borderBottomColor: DEFAULT_LINE_COLOR,\n marginBottom: 15,\n },\n titleText: {\n fontWeight: 700,\n fontSize: 14,\n color: DEFAULT_TEXT_COLOR,\n paddingBottom: 2,\n },\n});\n\nfunction SectionTitle({ title, renderCustomTitle, fixed }) {\n if (isFunction(renderCustomTitle)) {\n return (\n \n {renderCustomTitle()}\n \n );\n }\n\n if (isEmpty(title)) {\n return null;\n }\n\n return (\n \n {title}\n \n );\n}\n\nSectionTitle.propTypes = {\n title: PropTypes.string,\n renderCustomTitle: PropTypes.func,\n fixed: PropTypes.bool,\n};\n\nexport default SectionTitle;\n","export const FEDERAL_BILL_STATUS = [\n { value: 'reported_out_of_committee', label: 'Reported out of Committee' },\n { value: 'passed_chamber', label: 'Passed Chamber' },\n { value: 'vetoed', label: 'Vetoed' },\n { value: 'law', label: 'Law' },\n];\n\nexport const STATE_BILL_STATUS = [\n { value: 'introduced', label: 'Introduced' },\n { value: 'engrossed', label: 'Engrossed' },\n { value: 'enrolled', label: 'Enrolled' },\n { value: 'passed', label: 'Passed' },\n { value: 'vetoed', label: 'Vetoed' },\n { value: 'failed', label: 'Failed' },\n { value: 'unknown', label: 'Unknown' },\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, isArray, map, get } from 'lodash';\n\nimport Badge from 'components/core/Badge';\n\nimport styles from './styles.module.scss';\n\nexport default function CustomBadge({ content }) {\n if (isEmpty(content)) {\n return null;\n }\n\n if (isArray(content)) {\n return map(content, (badgeContent, index) => (\n \n {badgeContent}\n \n ));\n }\n\n return (\n \n {content}\n \n );\n}\n\nCustomBadge.propTypes = {\n content: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.node),\n ]),\n};\n","import { useEffect, useState } from 'react';\nimport { map, find } from 'lodash';\n\nimport useSortTable from 'utils/useSortTable';\n\nfunction useTable({\n data,\n sort,\n isLoading,\n defaultHiddenColumns = {},\n toResetSelectedItems = false,\n} = {}) {\n const [selectedItems, setSelectedItems] = useState([]);\n const [hiddenColumns, setHiddenColumns] = useState(defaultHiddenColumns);\n const sorting = useSortTable(sort, isLoading);\n\n const isSelectedItemsPresent = selectedItems.length > 0;\n\n function handleSelectItems(items) {\n setSelectedItems(items);\n }\n\n function handleClearItems() {\n setSelectedItems([]);\n }\n\n function handleHideColumn(columnKeyName, isHidden) {\n setHiddenColumns(prevState => ({\n ...prevState,\n [columnKeyName]: isHidden,\n }));\n }\n\n useEffect(() => {\n const updateSelectedItems = (item = {}) => {\n const { id: selectedId } = item;\n\n return find(data, ({ id: dataId }) => selectedId === dataId) || item;\n };\n\n setSelectedItems(prevState => map(prevState, updateSelectedItems));\n }, [data]);\n\n useEffect(() => {\n toResetSelectedItems && handleClearItems();\n }, [toResetSelectedItems]);\n\n return {\n ...sorting,\n hiddenColumns,\n isSelectedItemsPresent,\n selectedItems,\n handleHideColumn,\n handleClearItems,\n handleSelectItems,\n };\n}\n\nexport default useTable;\n","import React from 'react';\n\nexport const BillsContext = React.createContext();\n\nfunction withBills(Component) {\n return function BillsDataComponent(props) {\n return (\n \n {contexts => }\n \n );\n };\n}\n\nexport default withBills;\n","export const BILL_SLUG = 'bill';\n\nexport const DEFAULT_PAGE_SIZE = 10;\n\nexport const TAGS_DISPLAY_LENGTH = 4;\n","import { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useSortTable from 'utils/useSortTable';\nimport { getColumnLabelBySortingKey } from 'utils/table';\n\nfunction useTable({ sort: sortRedux, paginator, onSearch, onClearAll, trackingActions, tableColumns }) {\n const { trackBillsSorted, trackBillsPageVisited } = trackingActions;\n const sort = useSortTable();\n const isPaginatorPresent = !isEmpty(paginator);\n\n /** Fix default sort */\n useEffect(() => {\n if (!isEmpty(sortRedux)) {\n const { sort: reduxColumn, direction } = sortRedux;\n\n sort && sort.setSortData({ direction, column: reduxColumn });\n }\n }, [sortRedux]);\n\n function handleSortColumn(column) {\n const { getDirection } = sort;\n const direction = getDirection(column);\n const columnLabel = getColumnLabelBySortingKey(tableColumns, column);\n\n onSearch({ sort: column, direction });\n trackBillsSorted && trackBillsSorted(columnLabel, direction);\n }\n\n function handleChangePage(page) {\n const { sortData = {} } = sort;\n const { column, direction } = sortData;\n\n onSearch({ page, sort: column, direction });\n trackBillsPageVisited && trackBillsPageVisited(page);\n }\n\n function handleClearAll() {\n onClearAll();\n }\n\n return {\n ...sort,\n isPaginatorPresent,\n onSortColumn: handleSortColumn,\n onChangePage: handleChangePage,\n onClear: handleClearAll,\n };\n}\n\nexport default useTable;\n","const defaultTableColumns = [\n {\n label: 'Bill',\n keyName: 'bill',\n sortingKey: 'id',\n allowToggle: true,\n },\n {\n label: 'Introduced',\n keyName: 'introducedAt',\n sortingKey: 'introduced_at',\n allowToggle: true,\n },\n {\n label: 'Last action',\n keyName: 'lastAction',\n sortingKey: 'last_action.text.raw',\n allowToggle: true,\n },\n {\n label: 'Last action date',\n keyName: 'lastActionDate',\n sortingKey: 'last_action.acted_at',\n allowToggle: true,\n },\n {\n label: 'Status',\n keyName: 'status',\n sortingKey: 'status_full.raw',\n allowToggle: true,\n },\n {\n label: 'Sponsors',\n keyName: 'sponsors',\n sortingKey: 'sponsor.universal_moniker.raw',\n allowToggle: true,\n },\n {\n label: 'Cosponsors',\n keyName: 'cosponsors',\n allowToggle: false,\n },\n {\n label: 'Added to',\n keyName: 'addedTo',\n allowToggle: false,\n },\n {\n label: 'Tags',\n keyName: 'tags',\n allowToggle: false,\n },\n {\n label: 'Actions',\n keyName: 'actions',\n allowToggle: false,\n },\n];\n\nexport default defaultTableColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LegislatorListItem } from 'components/core/Table/components/ColumnItem';\n\nimport withBills from '../../utils/withBills';\nimport ViewAllLink from '../ViewAllLink';\n\nfunction SponsorsColumn({ keyName, item, trackingActions, formatLegislatorUrl }) {\n const { trackBillSponsorVisited } = trackingActions;\n const currentItem = {\n ...item,\n legislators: item.sponsors,\n allLegislatorsSize: item.allSponsorsSize,\n };\n const tooltipContent = ;\n\n return (\n \n );\n}\n\nSponsorsColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n trackingActions: PropTypes.object,\n item: PropTypes.object.isRequired,\n formatLegislatorUrl: PropTypes.func.isRequired,\n};\n\nexport default withBills(SponsorsColumn);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LegislatorListItem } from 'components/core/Table/components/ColumnItem';\n\nimport withBills from '../../utils/withBills';\nimport ViewAllLink from '../ViewAllLink';\n\nfunction CosponsorsColumn({ keyName, item, trackingActions, formatLegislatorUrl }) {\n const { trackBillCosponsorVisited } = trackingActions;\n const currentItem = {\n ...item,\n legislators: item.cosponsors,\n allLegislatorsSize: item.allCosponsorsSize,\n };\n const tooltipContent = ;\n\n return (\n \n );\n}\n\nCosponsorsColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n trackingActions: PropTypes.object,\n item: PropTypes.object.isRequired,\n formatLegislatorUrl: PropTypes.func.isRequired,\n};\n\nexport default withBills(CosponsorsColumn);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport SnippetColumn\n from 'components/Federal/BillLookup/components/TableColumnsView/components/SnippetColumn';\nimport AddedToItem from 'components/core/Table/components/ColumnItem/AddedToItem';\nimport ActionsItem from 'components/core/Table/components/ColumnItem/ActionsItem';\nimport TagsItem from 'components/core/Table/components/ColumnItem/TagsItem';\nimport { EmptyTablePlaceholder } from 'components/core/Profile/components/Placeholders';\nimport TrimTextItem from 'components/core/Table/components/ColumnItem/TrimTextItem';\nimport { DateItem, BillTitleItem } from 'components/core/Table/components/ColumnItem';\nimport Table, { Column } from 'components/core/Table';\nimport Paginator from 'components/core/Paginator';\nimport { sortShape } from 'components/core/Sort/shapes';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport { billShape } from 'utils/shapes/bills';\nimport { tableColumnShape } from 'components/core/Profile/components/Cards/utils/shapes';\n\nimport { DEFAULT_PAGE_SIZE } from '../../utils/constants';\nimport useTable from '../../utils/useTable';\nimport withBills from '../../utils/withBills';\nimport defaultTableColumns from '../../utils/defaultTableColumns';\nimport SponsorsColumn from '../Columns/SponsorsColumn';\nimport CosponsorsColumn from '../Columns/CosponsorsColumn';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n isMobile,\n isLoading,\n sort,\n allItems,\n paginator,\n emptyDescription,\n trackingActions,\n tableColumns,\n onSearch,\n onClearAll,\n updateDataItem,\n defaultSubscription,\n isLoadingSubscriptions,\n isLoadingTags,\n isLoadingMyFeedDocuments,\n}) {\n const {\n isPaginatorPresent,\n sortData,\n onSortColumn,\n onChangePage,\n } = useTable({ sort, paginator, onSearch, onClearAll, trackingActions, tableColumns });\n\n if (!isLoading && isEmpty(allItems)) {\n return ;\n }\n\n function renderColumn(column) {\n const { keyName } = column;\n\n function getWrapColumn(value) {\n return (\n
    \n \n
    \n );\n }\n\n const columnComponents = {\n bill: ,\n sponsors: ,\n cosponsors: ,\n snippet: ,\n lastAction: {getWrapColumn},\n introducedAt: ,\n lastActionDate: ,\n addedTo: (\n \n ),\n tags: (\n \n ),\n actions: (\n \n ),\n };\n\n return columnComponents[keyName] || ;\n }\n\n function renderPagination() {\n if (!isPaginatorPresent) {\n return null;\n }\n\n const { current, total, totalCount, pageSize } = paginator;\n\n return (\n \n );\n }\n\n const tableClassName = classNames(\n styles.tableContent,\n paginator\n && paginator.current > 1\n && paginator.current === paginator.total\n && styles.fixedHeight\n );\n\n return (\n
    \n \n {tableColumns.map(renderColumn)}\n \n\n {renderPagination()}\n
    \n );\n}\n\nTableView.defaultProps = {\n emptyDescription: '',\n tableColumns: defaultTableColumns,\n};\n\nTableView.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n isLoadingSubscriptions: PropTypes.bool.isRequired,\n isLoadingTags: PropTypes.bool.isRequired,\n isLoadingMyFeedDocuments: PropTypes.bool.isRequired,\n defaultSubscription: PropTypes.string.isRequired,\n sort: sortShape.isRequired,\n allItems: PropTypes.arrayOf(billShape).isRequired,\n paginator: paginatorShape.isRequired,\n onSearch: PropTypes.func.isRequired,\n trackingActions: PropTypes.shape({}), // { fnName: fn, ... }\n emptyDescription: PropTypes.string,\n tableColumns: PropTypes.arrayOf(tableColumnShape),\n onClearAll: PropTypes.func.isRequired,\n updateDataItem: PropTypes.func.isRequired,\n};\n\nexport default withBills(TableView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\n\nimport { BillsContext } from './utils/withBills';\nimport TableView from './components/TableView';\n\nfunction Bills({\n sectionId,\n title,\n description,\n questionText,\n emptyDescription,\n onClearAll,\n onSearch,\n bills,\n sort,\n paginator,\n isLoading,\n formatLegislatorUrl,\n searchFormComponents,\n trackingActions,\n ...restProps\n}) {\n const context = {\n formatLegislatorUrl,\n emptyDescription,\n trackingActions,\n isLoading,\n allItems: bills,\n sort,\n paginator,\n onSearch,\n onClearAll,\n };\n\n return (\n \n \n
    \n {searchFormComponents}\n
    \n\n \n \n
    \n );\n}\n\nBills.propTypes = {\n sectionId: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n questionText: PropTypes.string,\n emptyDescription: PropTypes.string,\n searchFormComponents: PropTypes.node.isRequired,\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n sort: PropTypes.object.isRequired,\n paginator: PropTypes.object.isRequired,\n onClearAll: PropTypes.func.isRequired,\n onSearch: PropTypes.func.isRequired,\n bills: PropTypes.array.isRequired,\n trackingActions: PropTypes.object,\n formatLegislatorUrl: PropTypes.func.isRequired,\n tableColumns: PropTypes.array,\n};\n\nexport default Bills;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, isNil } from 'lodash';\n\nimport TrimTextItem from 'components/core/Table/components/ColumnItem/TrimTextItem';\nimport { Column } from 'components/core/Table';\nimport Link from 'components/core/Link';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from '../styles.module.scss';\n\nfunction BillColumn({ keyName, item, trackingActions, formatBillUrl }) {\n const {\n billId,\n billName,\n billTitle,\n billUrl,\n voteNumber,\n } = item || {};\n const { trackVotingRecordIssueVisited } = trackingActions || {};\n const handleBillClick = () => trackVotingRecordIssueVisited\n && trackVotingRecordIssueVisited(billName, voteNumber);\n\n function renderBillLink(billUrlPath) {\n if (isEmpty(billUrlPath)) {\n return (\n
    \n {billName}\n
    \n
    \n );\n }\n\n return (\n
    \n \n {billName}\n \n
    \n \n
    \n
    \n );\n }\n\n function renderBill() {\n if (isEmpty(billName)) {\n return EMPTY_VALUE;\n }\n\n if (!isEmpty(billId)) {\n return renderBillLink(formatBillUrl(billId));\n }\n\n if (!isEmpty(billUrl)) {\n return renderBillLink(billUrl);\n }\n\n return renderBillLink;\n }\n\n return (\n {renderBill}\n );\n}\n\nBillColumn.defaultProps = {\n item: {},\n};\n\nBillColumn.propTypes = {\n formatBillUrl: PropTypes.func.isRequired,\n keyName: PropTypes.string.isRequired,\n trackingActions: PropTypes.object,\n item: PropTypes.object,\n};\n\nexport default BillColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Column } from 'components/core/Table';\nimport Link from 'components/core/Link';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from '../styles.module.scss';\n\nfunction VoteNumberColumn({ keyName, item, trackingActions }) {\n const { voteNumber, voteNumberUrl } = item || {};\n const { trackVotingRecordVoteVisited } = trackingActions || {};\n const handleVoteClick = () => (\n trackVotingRecordVoteVisited &&\n trackVotingRecordVoteVisited(voteNumber)\n );\n\n function renderVoteNumber() {\n if (isEmpty(voteNumber)) {\n return EMPTY_VALUE;\n }\n\n if (isEmpty(voteNumberUrl)) {\n return
    {voteNumber}
    ;\n }\n\n return (\n \n {voteNumber}\n \n );\n }\n\n return (\n {renderVoteNumber}\n );\n}\n\nVoteNumberColumn.defaultProps = {\n item: {},\n};\n\nVoteNumberColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n trackingActions: PropTypes.object,\n item: PropTypes.object,\n};\n\nexport default VoteNumberColumn;\n","import sortDirections from 'utils/constants/sortDirections';\n\nexport const DEFAULT_SORT = {\n sort: 'vote_date',\n direction: sortDirections.DESC,\n};\n\nexport const DEFAULT_PAGE_SIZE = 10;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ViewMoreItem } from 'components/core/Table/components/ColumnItem';\n\nfunction CommitteesColumn({ keyName, item }) {\n const { committees } = item;\n const isEmptyData = isEmpty(committees);\n\n return (\n \n );\n}\n\nCommitteesColumn.defaultProps = {\n item: {},\n};\n\nCommitteesColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.object,\n};\n\nexport default CommitteesColumn;\n","import { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useSortTable from 'utils/useSortTable';\nimport { getColumnLabelBySortingKey } from 'utils/table';\n\nfunction useTable({\n paginator,\n sort: sortRedux,\n onSearch,\n onClearAll,\n trackingActions,\n columns,\n}) {\n const { toReset = false } = sortRedux || {};\n\n const sort = useSortTable(toReset);\n const isPaginatorPresent = !isEmpty(paginator);\n const { trackVotingRecordPageVisited, trackVotingRecordSorted } = trackingActions || {};\n\n /** Fix default sort */\n useEffect(() => {\n if (!isEmpty(sortRedux)) {\n const { sort: reduxColumn, direction } = sortRedux;\n\n sort && sort.setSortData({ direction, column: reduxColumn });\n }\n }, [sortRedux]);\n\n function handleSortColumn(column) {\n const { getDirection } = sort;\n const direction = getDirection(column);\n const columnLabel = getColumnLabelBySortingKey(columns, column);\n\n onSearch({ sort: column, direction });\n trackVotingRecordSorted && trackVotingRecordSorted(columnLabel, direction);\n }\n\n function handleChangePage(page) {\n const { sortData = {} } = sort;\n const { column, direction } = sortData;\n\n onSearch({ page, sort: column, direction });\n trackVotingRecordPageVisited && trackVotingRecordPageVisited(page);\n }\n\n function handleClearAll() {\n onClearAll();\n }\n\n return {\n ...sort,\n isPaginatorPresent,\n onSortColumn: handleSortColumn,\n onChangePage: handleChangePage,\n onClear: handleClearAll,\n };\n}\n\nexport default useTable;\n","const tableColumns = [\n {\n label: 'Vote number',\n keyName: 'voteNumber',\n sortingKey: 'display_number.raw',\n allowToggle: true,\n },\n {\n label: 'Vote date',\n keyName: 'voteDate',\n sortingKey: 'vote_date', // Also change on useBillsAndVotes.js\n allowToggle: true,\n },\n {\n label: 'Issue',\n keyName: 'billName',\n sortingKey: 'bill_display_id.raw',\n allowToggle: true,\n },\n {\n label: 'Question',\n keyName: 'voteQuestion',\n sortingKey: 'question.raw',\n allowToggle: true,\n },\n {\n label: 'Vote',\n keyName: 'voteType',\n sortingKey: 'legislator_vote',\n allowToggle: true,\n },\n {\n label: 'Result',\n keyName: 'result',\n sortingKey: 'result_with_numbers.raw',\n allowToggle: true,\n },\n];\n\nexport default tableColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport { ClearableEmptyPlaceholder } from 'components/core/Profile/components/Placeholders';\nimport TrimTextItem from 'components/core/Table/components/ColumnItem/TrimTextItem';\nimport { DateItem } from 'components/core/Table/components/ColumnItem';\nimport Table, { Column } from 'components/core/Table';\nimport Paginator from 'components/core/Paginator';\n\nimport { DEFAULT_PAGE_SIZE } from '../../utils/constants';\nimport BillColumn from './components/BillColumn';\nimport CommitteesColumn from './components/CommitteesColumn';\nimport VoteNumberColumn from './components/VoteNumberColumn';\nimport useTable from './utils/useTable';\nimport tableColumns from './utils/tableColumns';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n sort,\n allItems,\n isLoading,\n isMobile,\n paginator,\n onSearch,\n trackingActions,\n areFiltersApplied,\n emptyDescription,\n onClearAll,\n formatBillUrl,\n customTableColumns,\n}) {\n const columns = customTableColumns || tableColumns;\n const {\n isPaginatorPresent,\n sortData,\n onSortColumn,\n onChangePage,\n onClear,\n } = useTable({ onSearch, trackingActions, sort, paginator, onClearAll, columns });\n\n if (!isLoading && isEmpty(allItems)) {\n return (\n \n );\n }\n\n function renderColumn(column) {\n function getColumn(value) {\n return
    {value}
    ;\n }\n\n function getWrapColumn(value) {\n return (\n
    \n \n
    \n );\n }\n\n const { keyName } = column;\n const columnProps = { key: keyName, keyName };\n const columnComponents = {\n billName: (\n \n ),\n committees: ,\n voteNumber: ,\n title: {getWrapColumn},\n voteQuestion: {getWrapColumn},\n voteDate: ,\n };\n\n return columnComponents[keyName] || {getColumn};\n }\n\n function renderPagination() {\n if (!isPaginatorPresent) {\n return null;\n }\n\n const { current, total, totalCount, pageSize } = paginator;\n\n return (\n \n );\n }\n\n const shouldApplyFixedHeight = paginator\n && paginator.current > 1\n && paginator.current === paginator.total;\n const tableClassName = classNames(\n styles.tableContent,\n shouldApplyFixedHeight && styles.fixedHeight,\n );\n\n return (\n
    \n \n {columns.map(renderColumn)}\n \n\n {renderPagination()}\n
    \n );\n}\n\nTableView.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n sort: PropTypes.object.isRequired,\n allItems: PropTypes.array.isRequired,\n onClearAll: PropTypes.func.isRequired,\n formatBillUrl: PropTypes.func.isRequired,\n paginator: PropTypes.object.isRequired,\n onSearch: PropTypes.func.isRequired,\n emptyDescription: PropTypes.string.isRequired,\n areFiltersApplied: PropTypes.bool.isRequired,\n customTableColumns: PropTypes.array,\n trackingActions: PropTypes.shape({\n trackVotingRecordSorted: PropTypes.func,\n trackVotingRecordPageVisited: PropTypes.func,\n trackVotingRecordIssueVisited: PropTypes.func,\n trackVotingRecordVoteVisited: PropTypes.func,\n }),\n};\n\nexport default TableView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\n\nimport BillColumn from './components/TableView/components/BillColumn';\nimport VoteNumberColumn from './components/TableView/components/VoteNumberColumn';\nimport TableView from './components/TableView';\n\nfunction VotingRecord({\n title,\n description,\n emptyDescription,\n onSearch,\n onClear,\n sort,\n isMobile,\n isLoading,\n allItems,\n paginator,\n searchFormComponent,\n areFiltersApplied,\n trackingActions,\n formatBillUrl,\n ...restProps\n}) {\n return (\n \n
    {searchFormComponent}
    \n \n
    \n );\n}\n\nVotingRecord.defaultProps = {\n trackingActions: {},\n};\n\nVotingRecord.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n emptyDescription: PropTypes.string.isRequired,\n isLoading: PropTypes.bool.isRequired,\n areFiltersApplied: PropTypes.bool.isRequired,\n isMobile: PropTypes.bool.isRequired,\n allItems: PropTypes.array.isRequired,\n searchFormComponent: PropTypes.node.isRequired,\n onSearch: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n formatBillUrl: PropTypes.func.isRequired,\n sort: PropTypes.object.isRequired,\n paginator: PropTypes.object.isRequired,\n trackingActions: PropTypes.object,\n};\n\nexport { BillColumn, VoteNumberColumn };\nexport default VotingRecord;\n","import {\n BASE_TOOLTIP,\n CHART_COLORS,\n BASE_GRID_LINES,\n BASE_TICK,\n BASE_OPTIONS,\n BASE_BORDER_TOP_GRID,\n BASE_BORDER_RIGHT_GRID,\n} from 'utils/constants/charts';\n\n// TODO remove democrat once backend changes\nexport const REPUBLICAN_PARTY_SLUG = 'republican';\nexport const DEMOCRAT_PARTY_SLUG = 'democrat';\nexport const DEMOCRATIC_PARTY_SLUG = 'democratic';\n\nexport const CHART_OPTIONS = {\n ...BASE_OPTIONS,\n tooltips: BASE_TOOLTIP,\n scales: {\n xAxes: [\n {\n maxBarThickness: 15,\n barThickness: 15,\n categoryPercentage: 1,\n ticks: { display: false },\n gridLines: { display: false },\n },\n BASE_BORDER_TOP_GRID,\n ],\n yAxes: [\n {\n ticks: {\n ...BASE_TICK,\n precision: 0,\n padding: 4,\n min: 0,\n maxTicksLimit: 5,\n minStepSize: 1,\n },\n gridLines: BASE_GRID_LINES,\n },\n BASE_BORDER_RIGHT_GRID,\n ],\n },\n};\n\nexport const DEMOCRAT_COLORS = {\n borderColor: CHART_COLORS.DEMOCRATIC_BORDER_COLOR,\n backgroundColor: CHART_COLORS.DEMOCRATIC_BACKGROUND_COLOR,\n};\n\nexport const REPUBLICAN_COLORS = {\n borderColor: CHART_COLORS.REPUBLICAN_BORDER_COLOR,\n backgroundColor: CHART_COLORS.REPUBLICAN_BACKGROUND_COLOR,\n};\n\nexport const INDEPENDENT_COLORS = {\n borderColor: CHART_COLORS.INDEPENDENT_BORDER_COLOR,\n backgroundColor: CHART_COLORS.INDEPENDENT_BACKGROUND_COLOR,\n};\n\n// TODO remove democrat once backend changes\nexport const BAR_COLORS = {\n [REPUBLICAN_PARTY_SLUG]: REPUBLICAN_COLORS,\n [DEMOCRAT_PARTY_SLUG]: DEMOCRAT_COLORS,\n [DEMOCRATIC_PARTY_SLUG]: DEMOCRAT_COLORS,\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport { CHART_OPTIONS, BAR_COLORS, INDEPENDENT_COLORS } from './constants';\n\nfunction getColor(legislator, index, isBorderColor = false) {\n const { party } = legislator;\n\n const colorAttribute = isBorderColor ? 'borderColor' : 'backgroundColor';\n const currentParty = !isEmpty(party) ? party.toLowerCase() : '';\n const barColor = BAR_COLORS[currentParty];\n\n return barColor ? barColor[colorAttribute] : INDEPENDENT_COLORS[colorAttribute];\n}\n\nfunction getLegislatorName(legislator) {\n const { universal_moniker: fullName, name, party_short: partyShort } = legislator || {};\n\n const currentParty = !isEmpty(partyShort) ? `[${partyShort}]` : partyShort;\n const currentName = !isEmpty(fullName) ? fullName : name;\n\n return [currentName, currentParty].join(' ');\n}\n\nfunction getLegislators(legislators) {\n if (isEmpty(legislators)) {\n return [];\n }\n\n return legislators;\n}\n\nexport function transformChartData(legislators = []) {\n return {\n chartData: getLegislators(legislators).map(legislator => legislator.count),\n labels: getLegislators(legislators).map(getLegislatorName),\n borderColor: getLegislators(legislators).map((legislator, index) => getColor(legislator, index, true)),\n backgroundColor: getLegislators(legislators).map(getColor),\n };\n}\n\nexport function getChartOptions() {\n const getTooltipLabel = data => `Bills: ${data.value}`;\n\n return {\n ...CHART_OPTIONS,\n tooltips: {\n ...CHART_OPTIONS.tooltips,\n callbacks: {\n label: getTooltipLabel,\n },\n },\n };\n}\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Bar } from 'react-chartjs-2';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { LoadingPlaceholder } from 'components/core/Profile/components/Placeholders';\n\nimport { getChartOptions, transformChartData } from './utils';\nimport styles from './styles.module.scss';\n\nfunction BarsGraph({\n isLoading,\n topActiveData,\n titles,\n className,\n customTransformChartData,\n rightItems,\n chartClassName,\n}) {\n return useMemo(() => {\n if (isLoading) {\n return (\n \n );\n }\n\n const transformer = customTransformChartData || transformChartData;\n const { chartData, labels, borderColor, backgroundColor } = transformer(topActiveData);\n const showPlaceholder = isEmpty(topActiveData);\n const data = {\n labels,\n datasets: [\n {\n data: chartData,\n borderWidth: 1,\n borderColor,\n backgroundColor,\n },\n ],\n };\n\n return (\n \n
    \n
    \n \n
    \n
    \n \n );\n }, [isLoading, topActiveData]);\n}\n\nBarsGraph.propTypes = {\n topActiveData: PropTypes.array,\n titles: PropTypes.object.isRequired,\n className: PropTypes.string,\n isLoading: PropTypes.bool.isRequired,\n customTransformChartData: PropTypes.func,\n rightItems: PropTypes.node,\n chartClassName: PropTypes.string,\n};\n\nexport default BarsGraph;\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Line } from 'react-chartjs-2';\nimport classNames from 'classnames';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { LoadingPlaceholder } from 'components/core/Profile/components/Placeholders';\n\nimport { FILL_START_COLOR, BORDER_COLOR } from './constants';\nimport useAreaChart from './useAreaChart';\nimport styles from './styles.module.scss';\n\nfunction TimeSeriesChart({\n isLoading,\n lineChartData,\n isMobile,\n titles,\n className,\n chartClassName,\n titleClassName,\n customTitleClassName,\n placeholderClassName,\n loadingPlaceholderClassName,\n theme,\n ...chartOptionProps\n}) {\n const { data, chartOptions, chartRef, showPlaceholder } = useAreaChart({\n lineChartData,\n isMobile,\n ...chartOptionProps,\n });\n\n return useMemo(() => {\n if (isLoading) {\n return (\n \n );\n }\n\n return (\n \n
    \n
    \n \n
    \n
    \n \n );\n }, [isLoading, data, chartOptions]);\n}\n\nTimeSeriesChart.defaultProps = {\n fillStartColor: FILL_START_COLOR,\n borderColor: BORDER_COLOR,\n borderWidth: 1,\n pointBorderWidth: 1,\n pointHitRadius: 8,\n pointRadius: 4,\n pointHoverRadius: 6,\n rotateMobileXTicks: true,\n gradientY1: 250,\n};\n\nTimeSeriesChart.propTypes = {\n lineChartData: PropTypes.array.isRequired,\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n titles: PropTypes.object.isRequired,\n className: PropTypes.string,\n chartClassName: PropTypes.string,\n titleClassName: PropTypes.string,\n customTitleClassName: PropTypes.string,\n placeholderClassName: PropTypes.string,\n loadingPlaceholderClassName: PropTypes.string,\n fillStartColor: PropTypes.string,\n fillEndColor: PropTypes.string,\n borderColor: PropTypes.string,\n tooltipLabel: PropTypes.string,\n borderWidth: PropTypes.number,\n pointBorderWidth: PropTypes.number,\n pointHitRadius: PropTypes.number,\n pointRadius: PropTypes.number,\n pointHoverRadius: PropTypes.number,\n maxXAxisTicksLimit: PropTypes.number,\n rotateMobileXTicks: PropTypes.bool.isRequired,\n gradientY1: PropTypes.number,\n theme: PropTypes.string,\n};\n\nexport default TimeSeriesChart;\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { LoadingPlaceholder } from 'components/core/Profile/components/Placeholders';\nimport { SimpleStatesMap } from 'components/core/Map';\n\nimport styles from './styles.module.scss';\n\nfunction StatesMapGraph({\n isLoading,\n data,\n titles,\n mapColors,\n mapHighlightColor,\n className,\n}) {\n const showPlaceholder = isEmpty(data);\n\n return useMemo(() => {\n if (isLoading) {\n return ;\n }\n\n return (\n \n
    \n
    \n \n
    \n
    \n \n );\n }, [isLoading, data]);\n}\n\nStatesMapGraph.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n data: PropTypes.array.isRequired,\n titles: PropTypes.object.isRequired,\n mapColors: PropTypes.array,\n mapHighlightColor: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default StatesMapGraph;\n","export { default as BarsGraph } from './components/Bars';\nexport { default as TimeSeriesChart } from './components/TimeSeriesChart';\nexport { default as StatesMapGraph } from './components/StatesMap';\n","import React from 'react';\n\nimport { error } from 'components/core/Notification';\n\nimport styles from './notifications.module.scss';\n\nexport const notifyBriefingError = () => {\n const content = (\n <>\n

    Requested report is not available.

    \n

    \n Please contact Expert on Demand or Customer Success for assistance.\n

    \n \n );\n\n return error(content)();\n};\n","import isNotFoundError from 'utils/http/isNotFoundError';\n\nexport const fetchBriefing = url => () => {\n const ajax = $.get(url);\n\n const onSuccess = ({ report_url }) => (report_url);\n\n const onFailure = (error) => {\n if (isNotFoundError(error)) {\n return '';\n }\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n};\n","import { useEffect, useState } from 'react';\n\nimport { notifyBriefingError } from 'components/core/Profile/utils/notifications';\nimport useLoadingRequest from 'utils/useLoadingRequest';\n\nimport { fetchBriefing } from './utils/api';\n\nfunction useBriefingReport(url) {\n const [reportUrl, setReportUrl] = useState('');\n const { onLoad, isLoading } = useLoadingRequest({ loadRequest: fetchBriefing(url) });\n\n useEffect(() => {\n onLoad().then(response => setReportUrl(response));\n }, []);\n\n const onBriefingClick = () => {\n reportUrl ? window.open(reportUrl, '_blank') : notifyBriefingError();\n };\n\n return {\n isLoading,\n onBriefingClick,\n };\n}\n\nexport default useBriefingReport;\n","// @ts-nocheck\nimport React from 'react';\n\nimport Button from 'components/core/Button';\n\nimport useBriefingReport from './useBriefingReport';\n\nexport { useBriefingReport };\n\ntype Props = {\n url: string;\n title?: string;\n theme?: string;\n className?: string;\n}\n\nfunction BriefingReportButton({ url, title = 'Briefing report', theme = 'light', className }: Props) {\n const { isLoading, onBriefingClick } = useBriefingReport(url);\n\n return (\n \n {title}\n \n );\n}\n\nexport default BriefingReportButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { stringNumberType } from 'utils/shapes';\n\nimport { valueTypeShape } from '../../types';\nimport { NUMBER_COLUMN_ID, STRING_COLUMN_ID } from '../../constants';\nimport styles from '../../styles.module.scss';\n\nfunction Default({\n style,\n className,\n valueType,\n value,\n item,\n isRowExpanded,\n toggleRow,\n children,\n columnRef,\n}) {\n const customFormatter = typeof children === 'function';\n const columnClassNames = classNames(\n className,\n valueType === NUMBER_COLUMN_ID && styles.numberColumn\n );\n\n return (\n \n {customFormatter ? children(value, item, { isRowExpanded, toggleRow }) : value}\n \n );\n}\n\nDefault.defaultProps = {\n valueType: STRING_COLUMN_ID,\n};\n\nDefault.propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.bool,\n PropTypes.object,\n ]),\n valueType: valueTypeShape,\n item: PropTypes.shape({}),\n children: PropTypes.func,\n isRowExpanded: PropTypes.bool,\n toggleRow: PropTypes.func,\n className: PropTypes.string,\n style: PropTypes.shape({\n [PropTypes.string]: stringNumberType,\n }),\n columnRef: PropTypes.func,\n};\n\nexport default Default;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withDimensionLocking } from 'components/core/Table/utils/withDimensionLocking';\n\nimport Default from '../Default';\n\nclass DnD extends Component {\n ref;\n\n getSnapshotBeforeUpdate(prevProps) {\n if (!this.ref) {\n return null;\n }\n\n const { isDragging } = this.props;\n const isDragStarting = isDragging && !prevProps.isDragging;\n\n if (!isDragStarting) {\n return null;\n }\n\n const { width, height } = this.ref.getBoundingClientRect();\n\n return { width, height };\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n const { isDragging } = this.props;\n\n if (!this.ref) {\n return;\n }\n\n if (snapshot) {\n if (this.ref.style.width === snapshot.width) {\n return;\n }\n\n this.ref.style.width = `${snapshot.width}px`;\n this.ref.style.height = `${snapshot.height}px`;\n return;\n }\n\n if (isDragging) {\n return;\n }\n\n // inline styles not applied\n if (this.ref.style.width == null) {\n return;\n }\n\n // no snapshot and drag is finished - clear the inline styles\n this.ref.style.removeProperty('height');\n this.ref.style.removeProperty('width');\n }\n\n setRef = (ref) => {\n this.ref = ref;\n };\n\n render() {\n const { children } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n\nDnD.defaultProps = {\n isDragging: false,\n};\n\nDnD.propTypes = {\n isDragging: PropTypes.bool,\n children: PropTypes.func,\n};\n\nexport default withDimensionLocking(DnD);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withDimensionLocking } from '../../utils/withDimensionLocking';\nimport Default from './components/Default';\nimport DnD from './components/DnD';\n\nfunction Column({ withDragNDrop, children, ...restProps }) {\n const ColumnComponent = withDragNDrop ? DnD : Default;\n\n return (\n \n {children}\n \n );\n}\n\nColumn.propTypes = {\n withDragNDrop: PropTypes.bool.isRequired,\n children: PropTypes.func,\n};\n\nexport default withDimensionLocking(Column);\n","/**\n * Generate name initials\n * e.g., Test -> T, Test Testeson -> TT, Test Testeson Junior -> TT\n *\n * @export\n * @param {string} name - name to extract initials from\n * @returns {string} initials\n */\n\nexport function getInitials(name = '') {\n const excludedTerms = ['of', 'Rep.', 'Sen.', 'Assemb.'];\n const regexp = new RegExp(excludedTerms.join('|'), 'g');\n\n const pureName = name\n .replace(/[^a-zA-Z ]/g, '')\n .replace(regexp, '')\n .replace(/\\s{1,}/g, ' ').trim();\n\n return pureName.split(' ')\n .map(n => n[0])\n .slice(0, 2)\n .join('')\n .toUpperCase();\n}\n","import sortDirections from 'utils/constants/sortDirections';\n\n/**\n * Toggle sorting direction\n * @param {string} direction direction to toggle\n */\n\nconst { ASC, DESC, NO } = sortDirections;\n\nfunction toggleSortWithDefault(direction) {\n switch (direction) {\n case ASC:\n return DESC;\n case DESC:\n return NO;\n default:\n return ASC;\n }\n}\n\nfunction toggleSort(direction) {\n switch (direction) {\n case DESC:\n return ASC;\n default:\n return DESC;\n }\n}\n\nexport default {\n toggleSort,\n toggleSortWithDefault,\n};\n","import { useEffect, useRef } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nfunction useFetchData({ fetchData, pageView, notifyDefaultFetchDataFailed, filters }) {\n const isHiddenTable = !isEmpty(pageView) && !pageView.isTablePageView;\n const isInitialRender = useRef(true);\n\n function handleFetchData(params = {}) {\n return fetchData({\n ...filters,\n ...params,\n }).catch((error) => {\n notifyDefaultFetchDataFailed && notifyDefaultFetchDataFailed();\n throw error;\n });\n }\n\n useEffect(() => {\n if (isInitialRender.current) {\n isInitialRender.current = false;\n return;\n }\n\n if (!isHiddenTable) {\n handleFetchData();\n }\n }, [isHiddenTable]);\n\n return { handleFetchData };\n}\n\nexport default useFetchData;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { BulkEmail, BulkExport } from '../Actions';\nimport styles from './styles.module.scss';\n\nfunction CommonActions({\n ui,\n data,\n dataProps,\n appliedSearches,\n submitExport,\n submitAllExport,\n exportReport,\n paginator,\n getAllEmails,\n areEmptyEmails,\n tracking,\n customKeyMessage,\n sort,\n HeaderButtons,\n renderHeaderButtons,\n exportModal,\n}) {\n const withExport = exportReport && (submitExport || submitAllExport);\n\n const commonProps = {\n ui,\n data,\n paginator,\n tracking,\n };\n\n const bulkExportProps = {\n dataProps,\n appliedSearches,\n submitExport,\n submitAllExport,\n exportReport,\n customKeyMessage,\n exportModal,\n };\n\n const bulkEmailProps = {\n ui,\n getAllEmails,\n areEmptyEmails,\n };\n\n return (\n
    \n {renderHeaderButtons && renderHeaderButtons({ appliedSearches })}\n\n {HeaderButtons && (\n \n )}\n\n \n\n {withExport && (\n \n )}\n
    \n );\n}\n\nCommonActions.defaultProps = {\n areEmptyEmails: false,\n tracking: {},\n};\n\nCommonActions.propTypes = {\n ui: PropTypes.object.isRequired,\n data: PropTypes.array.isRequired,\n dataProps: PropTypes.object,\n appliedSearches: PropTypes.object,\n submitExport: PropTypes.func,\n submitAllExport: PropTypes.func,\n exportReport: PropTypes.object,\n paginator: PropTypes.object.isRequired,\n getAllEmails: PropTypes.func,\n areEmptyEmails: PropTypes.bool,\n tracking: PropTypes.object,\n customKeyMessage: PropTypes.string,\n sort: PropTypes.object,\n HeaderButtons: PropTypes.elementType,\n renderHeaderButtons: PropTypes.func,\n exportModal: PropTypes.func,\n};\n\nexport default CommonActions;\n","import { useEffect } from 'react';\nimport { isFunction, merge } from 'lodash';\n\nimport { loadAdvancedSearch as defaultLoadAdvancedSearch } from 'redux/advancedSearch/utils';\n\nexport default function usePageLookup({\n initialFetch,\n fetchData,\n notifications,\n resetData,\n dataProps,\n transformSearchesForUI,\n onSearchOptionsChange,\n onSearchValueChange,\n setLastSearchId,\n saveInRecentSearch,\n emptyState,\n loadAdvancedSearch = defaultLoadAdvancedSearch,\n onClearAllSearchParams,\n getSearchParams,\n}) {\n const fetchSearchResults = ({\n search = '',\n page = 1,\n sort,\n direction,\n } = {}) => fetchData({\n page,\n sort,\n direction,\n dataProps,\n searchData: merge(emptyState, { searchValue: search }),\n }).then(() => onSearchValueChange(search))\n .catch((error) => {\n notifications && notifications.defaultFetchDataFailed();\n\n throw error;\n });\n\n const fetchDefaultSearchResults = ({\n search,\n page,\n direction,\n sort,\n } = {}) => {\n const searchParams = { search, page, direction, sort };\n\n if (initialFetch) {\n return initialFetch(searchParams)\n .then((filters) => {\n saveInRecentSearch && saveInRecentSearch(filters);\n });\n }\n\n return fetchSearchResults(searchParams);\n };\n\n const restoreSearchResults = (page, sort, direction) => (search) => {\n const [searchData] = transformSearchesForUI([search], dataProps);\n const { options = {} } = searchData;\n const { searchValue: query = '' } = options;\n\n const { id: searchId } = search || {};\n setLastSearchId && setLastSearchId(searchId);\n\n onSearchOptionsChange(searchData);\n\n return fetchData({\n page,\n dataProps,\n sort,\n direction,\n searchData: {\n searchValue: query,\n // Moneyball pages are using a nested options property\n options: options.options || options,\n },\n });\n };\n\n const fetchPreviousSearchResults = (\n { searchId, page, sort, direction }\n ) => loadAdvancedSearch(searchId)\n .then(restoreSearchResults(page, sort, direction))\n .catch((error) => {\n onClearAllSearchParams();\n fetchDefaultSearchResults();\n\n throw error;\n });\n\n const fetchLookupData = (searchParams) => {\n const { searchId, search } = searchParams || {};\n\n if (searchId) return fetchPreviousSearchResults(searchParams);\n\n if (search) return fetchSearchResults(searchParams);\n\n return fetchDefaultSearchResults(searchParams);\n };\n\n useEffect(() => {\n const urlParams = isFunction(getSearchParams) && getSearchParams();\n\n fetchLookupData(urlParams);\n\n return () => {\n isFunction(resetData) && resetData();\n setLastSearchId && setLastSearchId();\n };\n }, []);\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport useModal from 'components/core/Modal/useModal';\n\nfunction useCustomToggleView({ customToggleViewProps }) {\n const withCustomToggleView = !isEmpty(customToggleViewProps);\n const {\n isOpenModal: isCustomViewOpen,\n toggleModal: handleToggleCustomView,\n closeModal: handleCloseCustomView,\n } = useModal();\n\n function handleClick(...args) {\n const { onClick } = customToggleViewProps || {};\n handleToggleCustomView();\n\n onClick && onClick(...args);\n }\n\n function getToggleViewProps() {\n if (!withCustomToggleView) {\n return {};\n }\n\n return {\n ...customToggleViewProps,\n isCustomViewOpen,\n onClick: handleClick,\n onToggleCustomView: handleToggleCustomView,\n };\n }\n\n return {\n customToggleViewProps: getToggleViewProps(),\n onToggleCustomView: handleToggleCustomView,\n onCloseCustomView: handleCloseCustomView,\n };\n}\n\nexport default useCustomToggleView;\n","const recordColumn = {\n label: 'Record type',\n keyName: 'type',\n sortingKey: 'record_type',\n allowToggle: true,\n};\nconst titleColumn = {\n label: 'Title',\n keyName: 'title',\n sortingKey: 'title.raw',\n allowToggle: true,\n};\nconst snippetColumn = {\n label: 'Snippet',\n keyName: 'snippet',\n allowToggle: true,\n};\nconst dateColumn = {\n label: 'Date',\n keyName: 'date',\n sortingKey: 'date',\n allowToggle: true,\n};\nconst addedToColumn = {\n label: 'Added to',\n keyName: 'addedTo',\n allowToggle: false,\n};\nconst tagsColumn = {\n label: 'Tags',\n keyName: 'tags',\n allowToggle: false,\n};\nconst actionsColumn = {\n label: 'Actions',\n keyName: 'actions',\n allowToggle: false,\n};\n\nconst tableColumns = [\n recordColumn,\n titleColumn,\n dateColumn,\n addedToColumn,\n tagsColumn,\n actionsColumn,\n];\n\nexport const snippetTableColumns = [\n recordColumn,\n snippetColumn,\n dateColumn,\n addedToColumn,\n tagsColumn,\n actionsColumn,\n];\n\nexport default tableColumns;\n","import isEmpty from 'lodash/isEmpty';\n\nimport tableColumns, { snippetTableColumns } from '../components/TableView/utils/tableColumns';\n\nfunction getSnippetTableColumns(searchedKeyword) {\n return isEmpty(searchedKeyword) ? tableColumns : snippetTableColumns;\n}\n\nexport default getSnippetTableColumns;\n","const recordTitles = {\n keywordSearch: {\n title: 'Keyword search',\n },\n rangeDate: {\n title: 'Date range',\n },\n recordType: {\n title: 'Record type',\n },\n tags: {\n title: 'Tags',\n },\n};\n\nexport default recordTitles;\n","import React from 'react';\n\nexport const PublicRecordsContext = React.createContext();\n\nfunction withPublicRecords(Component) {\n return function PublicRecordsComponent(props) {\n return (\n \n {contexts => }\n \n );\n };\n}\n\nexport default withPublicRecords;\n","import { error } from 'components/core/Notification';\n\nexport default {\n generalFailedNotification: error('Something went wrong. Please try again.'),\n};\n","import { useEffect, useState } from 'react';\nimport { isEmpty, isEqual, isNil } from 'lodash';\n\nimport { formatDate } from 'components/core/Profile/utils';\n\nimport notifications from './notifications';\n\nfunction usePublicRecords({\n id,\n slug,\n checkboxRecordTypes,\n fetchPublicRecords,\n trackingContext,\n customTransformers,\n defaultSort,\n trackResultsFiltered,\n trackResultsDateRangeFiltered,\n shouldFetch,\n}) {\n const defaultRecordTypes = (checkboxRecordTypes.map(type => type.id) || []).sort();\n const defaultRangeData = { startDate: null, endDate: null };\n\n const [tags, setTags] = useState([]);\n const [keywordSearch, setKeywordSearch] = useState('');\n const [searchedKeyword, setSearchedKeyword] = useState('');\n const [rangeDate, setRangeDate] = useState(defaultRangeData);\n const [selectedTypes, setSelectedTypes] = useState(defaultRecordTypes);\n const [toResetTable, setToResetTable] = useState(true);\n\n const selectedTypeSorted = (selectedTypes || []).sort();\n const areFiltersApplied = !isEmpty(keywordSearch)\n || !isEmpty(searchedKeyword)\n || !isEmpty(tags)\n || !isEqual(rangeDate, defaultRangeData)\n || !isEqual(selectedTypeSorted, defaultRecordTypes);\n\n const allSearchData = {\n id,\n ...defaultSort,\n slug,\n tags,\n keywordSearch,\n rangeDate,\n selectedTypes,\n };\n\n function handleSearch(customSearchData = {}) {\n if (id) {\n const { keywordSearch: customKeywordSearch } = customSearchData;\n setSearchedKeyword(isNil(customKeywordSearch) ? keywordSearch : customKeywordSearch);\n\n return fetchPublicRecords({ ...allSearchData, ...customSearchData }, customTransformers)\n .catch((error) => {\n notifications.generalFailedNotification();\n throw error;\n });\n }\n\n return Promise.resolve({});\n }\n\n function handleSubmit() {\n handleSearch().then(() => {\n if (keywordSearch) {\n trackResultsFiltered(trackingContext, 'keyword', keywordSearch);\n }\n });\n }\n\n /* Search triggered by init or changes of input */\n function handleInputSearch(customSearchData = {}) {\n handleSearch(customSearchData);\n setToResetTable(true);\n }\n\n /** Init load data + load data on change checkboxes + data */\n useEffect(() => {\n shouldFetch && handleInputSearch();\n }, [tags, selectedTypes, rangeDate, shouldFetch, id]);\n\n useEffect(() => {\n const selectedTypesLabels = checkboxRecordTypes\n .filter(item => selectedTypes.includes(item.id))\n .map(item => item.labelPlural);\n\n trackResultsFiltered(trackingContext, 'record type', selectedTypesLabels);\n }, [selectedTypes]);\n\n useEffect(() => {\n const { startDate, endDate } = rangeDate;\n\n if (startDate || endDate) {\n trackResultsDateRangeFiltered(trackingContext, startDate, endDate);\n }\n }, [rangeDate]);\n\n function handleChangeTypes(newTypes) {\n setSelectedTypes(newTypes);\n }\n\n function handleCheckType(typeId, event) {\n const { checked } = event.target;\n\n const items = checked\n ? [...selectedTypes, typeId]\n : selectedTypes.filter(item => item !== typeId);\n\n handleChangeTypes(items);\n }\n\n function handleCheckAllTypes(event) {\n const { checked } = event.target;\n const items = checked\n ? checkboxRecordTypes.map(type => type.id)\n : [];\n\n handleChangeTypes(items);\n }\n\n const handleChangeKeywordSearch = (event) => {\n const { value } = event.target;\n setKeywordSearch(value);\n };\n\n const handleClearSearch = () => {\n setKeywordSearch('');\n\n searchedKeyword && handleSearch({ keywordSearch: '' });\n };\n\n const handleChangeTags = option => setTags(option);\n\n function handleStartDateChange(date) {\n setRangeDate(prevProps => ({\n ...prevProps,\n startDate: formatDate(date),\n }));\n }\n\n function handleEndDateChange(date) {\n setRangeDate(prevProps => ({\n ...prevProps,\n endDate: formatDate(date),\n }));\n }\n\n function handleClearAll() {\n setRangeDate(defaultRangeData);\n setSelectedTypes(defaultRecordTypes);\n setToResetTable(true);\n setTags([]);\n handleClearSearch();\n }\n\n return {\n tags,\n keywordSearch,\n searchedKeyword,\n rangeDate,\n selectedTypes,\n areFiltersApplied,\n onCheckType: handleCheckType,\n onCheckAllTypes: handleCheckAllTypes,\n toResetTable,\n onResetTable: setToResetTable,\n allSearchData,\n onStartDateChange: handleStartDateChange,\n onEndDateChange: handleEndDateChange,\n onChangeKeywordSearch: handleChangeKeywordSearch,\n onChangeTags: handleChangeTags,\n onSearch: handleSearch,\n onSubmit: handleSubmit,\n onClearAll: handleClearAll,\n onClearSearch: handleClearSearch,\n };\n}\n\nexport default usePublicRecords;\n","import PropTypes from 'prop-types';\n\n// TODO: define shape. Shape may vary depending on the custom transformer\nexport const publicRecordShape = PropTypes.shape({});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { Column } from 'components/core/Table';\nimport Link from 'components/core/Link';\n\nimport styles from '../styles.module.scss';\n\nfunction SnippetColumn({ keyName, item }) {\n const { url, snippet } = item || {};\n\n function getSnippetText() {\n const innerHTML = { __html: snippet };\n\n return (\n \n );\n }\n\n function renderSnippet() {\n if (isEmpty(snippet)) {\n return EMPTY_VALUE;\n }\n\n if (isEmpty(url)) {\n return getSnippetText();\n }\n\n const isLocal = url[0] === '/';\n\n return (\n \n {getSnippetText()}\n \n );\n }\n\n return (\n {renderSnippet}\n );\n}\n\nSnippetColumn.defaultProps = {\n item: {},\n};\n\nSnippetColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.object,\n};\n\nexport default SnippetColumn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Column } from 'components/core/Table';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nfunction RecordColumn({ keyName, item, recordTypes }) {\n const { type } = item || {};\n\n function renderRecord() {\n const foundRecord = recordTypes.find(({ id }) => id === type) || {};\n\n return foundRecord.label || foundRecord.labelPlural || EMPTY_VALUE;\n }\n\n return (\n {renderRecord}\n );\n}\n\nRecordColumn.defaultProps = {\n item: {},\n};\n\nRecordColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.object,\n recordTypes: PropTypes.array,\n};\n\nexport default RecordColumn;\n","export const BILL_TOPIC_SLUG = 'bill';\n\nexport const LOCAL_TYPE_KEYS = ['sponsored_bills', 'cosponsored_bills'];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport TrimTextItem from 'components/core/Table/components/ColumnItem/TrimTextItem';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { Column } from 'components/core/Table';\nimport Link from 'components/core/Link';\n\nimport { LOCAL_TYPE_KEYS } from '../utils/constants';\nimport styles from '../styles.module.scss';\n\nfunction TitleColumn({ keyName, item, customTextComponent }) {\n const { url, title, type } = item || {};\n\n function renderTitle() {\n if (isEmpty(title)) {\n return EMPTY_VALUE;\n }\n\n const textComponent = customTextComponent || ;\n\n if (isEmpty(url)) {\n return textComponent;\n }\n\n const isLocal = LOCAL_TYPE_KEYS.includes(type);\n\n return (\n \n {textComponent}\n \n );\n }\n\n return (\n {renderTitle}\n );\n}\n\nTitleColumn.defaultProps = {\n item: {},\n};\n\nTitleColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n customTextComponent: PropTypes.node,\n item: PropTypes.object,\n};\n\nexport default TitleColumn;\n","import { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useSortTable from 'utils/useSortTable';\nimport { getColumnLabelBySortingKey } from 'utils/table';\n\nfunction useTable({\n sort: sortRedux,\n isLoadingPublicRecords,\n paginator,\n onSearch,\n trackingContext,\n toResetTable,\n onResetTable,\n tableColumns,\n trackPageVisited,\n trackColumnSorted,\n}) {\n const sort = useSortTable({ toReset: toResetTable }, isLoadingPublicRecords);\n\n const isPaginatorPresent = !isEmpty(paginator);\n\n /** Fix default sort */\n useEffect(() => {\n if (!isEmpty(sortRedux)) {\n const { sort: reduxColumn, direction } = sortRedux;\n\n sort && sort.setSortData({ direction, column: reduxColumn });\n }\n }, [sortRedux]);\n\n function handleSortColumn(column) {\n onResetTable(false);\n\n const { getDirection } = sort;\n const direction = getDirection(column);\n const columnLabel = getColumnLabelBySortingKey(tableColumns, column);\n\n onSearch({ sort: column, direction });\n trackColumnSorted(trackingContext, columnLabel, direction);\n }\n\n function handleChangePage(page) {\n onResetTable(false);\n\n const { sortData = {} } = sort;\n const { column, direction } = sortData;\n\n onSearch({ page, sort: column, direction });\n trackPageVisited(trackingContext, page);\n }\n\n return {\n ...sort,\n isPaginatorPresent,\n onSortColumn: handleSortColumn,\n onChangePage: handleChangePage,\n };\n}\n\nexport default useTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport withPublicRecords from 'components/core/Profile/components/Cards/PublicRecord/utils/withPublicRecords';\nimport { ClearableEmptyPlaceholder } from 'components/core/Profile/components/Placeholders';\nimport AddedToItem from 'components/core/Table/components/ColumnItem/AddedToItem';\nimport ActionsItem from 'components/core/Table/components/ColumnItem/ActionsItem';\nimport TagsItem from 'components/core/Table/components/ColumnItem/TagsItem';\nimport { DateItem } from 'components/core/Table/components/ColumnItem';\nimport { PAGE_SIZE } from 'components/core/Profile/utils';\nimport Table, { Column } from 'components/core/Table';\nimport Paginator from 'components/core/Paginator';\nimport { sortShape } from 'components/core/Sort/shapes';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport { tableColumnShape } from 'components/core/Profile/components/Cards/utils/shapes';\n\nimport SnippetColumn from './components/SnippetColumn';\nimport RecordColumn from './components/RecordColumn';\nimport TitleColumn from './components/TitleColumn';\nimport tableColumns from './utils/tableColumns';\nimport useTable from './utils/useTable';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n isMobile,\n isLoading,\n records,\n paginator,\n recordTypes,\n trackingContext,\n customTableColumns,\n emptyDescription,\n emptyDescriptionFiltering,\n areFiltersApplied,\n selectedTypes,\n onClearAll,\n customColumnComponents,\n customTransformers,\n sort,\n defaultSort,\n onSearch,\n trackingFunctions,\n updateDataItem,\n defaultSubscription,\n isLoadingSubscriptions,\n isLoadingTags,\n isLoadingMyFeedDocuments,\n ...restProps\n}) {\n const currentTableColumns = customTableColumns || tableColumns;\n\n const {\n isPaginatorPresent,\n sortData,\n onSortColumn,\n onChangePage,\n } = useTable({\n tableColumns: currentTableColumns,\n paginator,\n isLoading,\n trackingContext,\n sort,\n defaultSort,\n onSearch,\n ...trackingFunctions,\n ...restProps,\n });\n\n if (!isLoading && (isEmpty(records) || isEmpty(selectedTypes))) {\n return (\n \n );\n }\n\n function renderColumn(column) {\n const { keyName } = column;\n\n function getColumn(value) {\n return
    {value}
    ;\n }\n\n const columnProps = {\n keyName,\n key: keyName,\n };\n\n const columns = {\n type: ,\n title: ,\n addedTo: (\n \n ),\n tags: (\n \n ),\n actions: (\n \n ),\n date: ,\n snippet: ,\n ...customColumnComponents,\n };\n\n return columns[keyName] || {getColumn};\n }\n\n function renderPagination() {\n if (isPaginatorPresent) {\n const { current, total, totalCount, pageSize } = paginator;\n\n return (\n \n );\n }\n\n return null;\n }\n\n const tableClassName = classNames(\n styles.tableContent,\n paginator\n && paginator.current > 1\n && paginator.current === paginator.total\n && styles.fixedHeight\n );\n\n return (\n
    \n \n {currentTableColumns.map(renderColumn)}\n \n\n {renderPagination()}\n
    \n );\n}\n\nTableView.defaultTypes = {\n customColumnComponents: {},\n};\n\nTableView.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n records: PropTypes.arrayOf(PropTypes.shape({})).isRequired, // TODO: define recordShape\n paginator: paginatorShape.isRequired,\n onSearch: PropTypes.func.isRequired,\n toResetTable: PropTypes.bool.isRequired,\n trackingContext: PropTypes.string.isRequired,\n recordTypes: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n labelPlural: PropTypes.string,\n })),\n customTransformers: PropTypes.shape({\n transformRecord: PropTypes.func,\n transformRecords: PropTypes.func,\n }),\n customTableColumns: PropTypes.arrayOf(tableColumnShape),\n emptyDescription: PropTypes.string,\n emptyDescriptionFiltering: PropTypes.string,\n areFiltersApplied: PropTypes.bool,\n selectedTypes: PropTypes.arrayOf(PropTypes.string),\n onClearAll: PropTypes.func.isRequired,\n customColumnComponents: PropTypes.objectOf(PropTypes.node),\n sort: sortShape,\n defaultSort: sortShape,\n trackingFunctions: PropTypes.shape({}).isRequired, // { fnName: fn, ... }\n updateDataItem: PropTypes.func,\n defaultSubscription: PropTypes.string,\n isLoadingSubscriptions: PropTypes.bool,\n isLoadingTags: PropTypes.bool,\n isLoadingMyFeedDocuments: PropTypes.bool,\n};\n\nexport default withPublicRecords(TableView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Title from 'components/core/Table/components/Dimensions/components/Title';\nimport withPublicRecords from 'components/core/Profile/components/Cards/PublicRecord/utils/withPublicRecords';\nimport ResponsiveTooltipContainer from 'components/core/Tooltip/components/ResponsiveTooltipContainer';\nimport SearchableCheckboxGroup from 'components/core/Checkbox/components/SearchableCheckboxGroup';\n\nimport styles from '../styles.module.scss';\n\nfunction TooltipContent({\n selectedTypes,\n onCheckType,\n onCheckAllTypes,\n onClose,\n isMobile,\n checkboxRecordTypes,\n}) {\n const options = checkboxRecordTypes.map(({ id, label, labelPlural }) => ({\n keyName: id,\n label: labelPlural || label,\n }));\n\n function renderNoResultsPlaceholder(query) {\n return `There are no record types that match \"${query}\".`;\n }\n\n return (\n \n \n <SearchableCheckboxGroup\n options={options}\n numColumns={2}\n onItemCheck={onCheckType}\n onCheckAll={onCheckAllTypes}\n checkedItems={selectedTypes}\n isMobile={isMobile}\n labelGroupClassName={styles.checkboxGroup}\n renderNoResultsPlaceholder={renderNoResultsPlaceholder}\n />\n {!isMobile && <div className={styles.footer} />}\n </ResponsiveTooltipContainer>\n );\n}\n\nTooltipContent.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n checkboxRecordTypes: PropTypes.array.isRequired,\n selectedTypes: PropTypes.array.isRequired,\n onClose: PropTypes.func.isRequired,\n onCheckType: PropTypes.func.isRequired,\n onCheckAllTypes: PropTypes.func.isRequired,\n};\n\nexport default withPublicRecords(TooltipContent);\n","import React, { createRef } from 'react';\n\nimport Tooltip from 'components/core/Tooltip';\nimport Button from 'components/core/Button';\n\nimport TooltipContent from './components/TooltipContent';\nimport styles from './styles.module.scss';\n\nfunction RecordTypesButton() {\n const tooltipRef = createRef();\n const handleClose = () => setTimeout(tooltipRef.current.toggleHint, 0);\n const getTooltip = () => <TooltipContent onClose={handleClose} />;\n\n return (\n <Tooltip\n content={getTooltip}\n persist\n className={styles.tooltip}\n forwardRef={tooltipRef}\n hintEvent=\"click\"\n >\n <div className={styles.container}>\n <Button\n theme=\"tertiary\"\n className={styles.filterButton}\n customIcon={<i className=\"fas fa-filter\" />}\n >\n Filters\n </Button>\n </div>\n </Tooltip>\n );\n}\n\nexport default RecordTypesButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, size, map } from 'lodash';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport withPublicRecords from 'components/core/Profile/components/Cards/PublicRecord/utils/withPublicRecords';\nimport Checkbox from 'components/core/Checkbox';\n\nimport styles from './styles.module.scss';\n\nfunction Types({ checkboxRecordTypes, selectedTypes, onCheckType }) {\n if (isEmpty(checkboxRecordTypes)) {\n return <TextPlaceholder className={styles.placeholder} />;\n }\n\n function handleChange(typeId) {\n return (event) => {\n onCheckType(typeId, event);\n };\n }\n\n return (\n <div className={styles.container}>\n {map(checkboxRecordTypes, (type = {}) => (\n <Checkbox\n key={`${type.id}-${type.labelPlural}`}\n label={type.labelPlural}\n name={type.id}\n value={type.id}\n className={styles.checkbox}\n isChecked={selectedTypes.includes(type.id)}\n onChange={handleChange(type.id)}\n isDisabled={size(checkboxRecordTypes) === 1}\n />\n ))}\n </div>\n );\n}\n\nTypes.propTypes = {\n checkboxRecordTypes: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n labelPlural: PropTypes.string,\n })\n ),\n selectedTypes: PropTypes.arrayOf(PropTypes.string).isRequired,\n onCheckType: PropTypes.func.isRequired,\n};\n\nexport default withPublicRecords(Types);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\n\nimport RecordTypesButton from '../../RecordTypesButton';\nimport Types from '../../Types';\nimport styles from '../styles.module.scss';\n\nfunction RecordTypeFilter({\n recordTypes,\n recordTypeTitles,\n baseOptionClassName,\n displayButtonRecordTypes,\n}) {\n if (isEmpty(recordTypes)) {\n return null;\n }\n\n if (displayButtonRecordTypes) {\n return (\n <BaseOption\n {...recordTypeTitles}\n className={baseOptionClassName}\n customComponent={<RecordTypesButton />}\n />\n );\n }\n\n return (\n <BaseOption\n {...recordTypeTitles}\n className={classNames(baseOptionClassName, styles.regularRecordType)}\n customComponent={<Types />}\n />\n );\n}\n\nRecordTypeFilter.propTypes = {\n recordTypes: PropTypes.array.isRequired,\n recordTypeTitles: PropTypes.object.isRequired,\n baseOptionClassName: PropTypes.string.isRequired,\n displayButtonRecordTypes: PropTypes.bool.isRequired,\n};\n\nexport default RecordTypeFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport DateRange from 'components/core/DateRange';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport SearchBox from 'components/core/SearchBox';\nimport Button from 'components/core/Button';\nimport { formatToMoment } from 'components/core/Profile/utils';\nimport TagInput from 'components/core/TagInput';\nimport { sortShape } from 'components/core/Sort/shapes';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport { tableColumnShape } from 'components/core/Profile/components/Cards/utils/shapes';\nimport {\n trackPublicRecordResultsFiltered,\n trackPublicRecordResultsDateRangeFiltered,\n trackPublicRecordColumnSorted,\n trackPublicRecordPageVisited,\n trackPublicRecordSavedToTopic,\n} from 'utils/tracking';\nimport { stringNumberType } from 'utils/shapes';\n\nimport getSnippetTableColumns from '../../utils/snippetTableColumns';\nimport rangeTitles from '../../utils/recordTitles';\nimport { PublicRecordsContext } from '../../utils/withPublicRecords';\nimport usePublicRecords from '../../utils/usePublicRecords';\nimport { publicRecordShape } from '../../utils/shapes';\nimport TableView from '../TableView';\nimport RecordTypesFilter from './components/RecordTypesFilter';\nimport styles from './styles.module.scss';\n\nfunction PublicRecord({\n id,\n isMobile,\n slug,\n fetchPublicRecords,\n recordTypes,\n ui,\n paginator,\n records,\n keywordSearchTitles,\n rangeDateTitles,\n recordTypeTitles,\n tagsTitles,\n trackingContext,\n customTableColumns,\n customTransformers,\n title,\n description,\n questionText,\n emptyDescription,\n emptyDescriptionFiltering,\n displayButtonRecordTypes,\n customColumnComponents,\n sort,\n defaultSort,\n customCheckboxRecordTypes,\n trackingFunctions,\n searchProps,\n updateDataItem,\n defaultSubscription,\n withSnippet,\n shouldFetch,\n ...restProps\n}) {\n const checkboxRecordTypes = !isEmpty(customCheckboxRecordTypes)\n ? customCheckboxRecordTypes\n : recordTypes;\n\n const {\n tags,\n keywordSearch,\n searchedKeyword,\n rangeDate,\n selectedTypes,\n toResetTable,\n onResetTable,\n allSearchData,\n areFiltersApplied,\n onStartDateChange,\n onEndDateChange,\n onChangeTags,\n onChangeKeywordSearch,\n onCheckType,\n onCheckAllTypes,\n onSearch,\n onSubmit,\n onClearAll,\n onClearSearch,\n } = usePublicRecords({\n ...trackingFunctions,\n ...restProps,\n id,\n slug,\n checkboxRecordTypes,\n fetchPublicRecords,\n trackingContext,\n customTransformers,\n defaultSort,\n shouldFetch,\n });\n\n const tableColumns = withSnippet ? getSnippetTableColumns(searchedKeyword) : customTableColumns;\n\n const baseOptionClassName = classNames(\n styles.baseOption,\n styles.flexNone,\n );\n\n const searchComponent = (\n <SearchBox\n withButton\n className={styles.inputSearch}\n inputClassName=\"test__public-record-search\"\n value={keywordSearch}\n onChange={onChangeKeywordSearch}\n onSubmit={onSubmit}\n onClearSearch={onClearSearch}\n isClearable\n {...searchProps}\n />\n );\n\n const rangeDataComponent = (\n <DateRange\n placeholder={GLOBAL_DATE_FORMAT.toLowerCase()}\n className={styles.rangeDates}\n startDateClassName={styles.date}\n endDateClassName={styles.date}\n startDate={formatToMoment(rangeDate.startDate)}\n endDate={formatToMoment(rangeDate.endDate)}\n handleChangeStart={onStartDateChange}\n handleChangeEnd={onEndDateChange}\n showMonthDropdown\n showYearDropdown\n />\n );\n\n const tagsComponent = (\n <TagInput\n autoload\n name=\"tags\"\n strategy=\"tag\"\n value={tags}\n overrideValue={tags}\n onChange={onChangeTags}\n withAjaxAbort={false}\n isMobile={isMobile}\n shouldOverrideValue\n />\n );\n\n const context = {\n ...ui,\n trackingFunctions,\n records,\n paginator,\n isMobile,\n toResetTable,\n onResetTable,\n allSearchData,\n trackingContext,\n fetchPublicRecords,\n recordTypes,\n selectedTypes,\n onCheckType,\n onCheckAllTypes,\n checkboxRecordTypes,\n };\n\n return (\n <PublicRecordsContext.Provider value={context}>\n <DataCard\n title={title}\n description={description}\n questionText={questionText}\n >\n <div className={styles.content}>\n <div className={styles.keywordForm}>\n <div className={styles.searchContainer}>\n <BaseOption\n {...keywordSearchTitles}\n className={classNames(baseOptionClassName, styles.keyword)}\n customComponent={searchComponent}\n />\n {areFiltersApplied && (\n <Button\n theme=\"link\"\n onClick={onClearAll}\n className={styles.clearAll}\n >\n Clear all filters\n </Button>\n )}\n </div>\n <BaseOption\n {...tagsTitles}\n className={classNames(styles.baseOption, styles.tags)}\n customComponent={tagsComponent}\n />\n <BaseOption\n {...rangeDateTitles}\n className={baseOptionClassName}\n customComponent={rangeDataComponent}\n />\n <RecordTypesFilter\n recordTypes={recordTypes}\n recordTypeTitles={recordTypeTitles}\n baseOptionClassName={baseOptionClassName}\n displayButtonRecordTypes={displayButtonRecordTypes}\n />\n </div>\n\n <TableView\n recordTypes={recordTypes}\n toResetTable={toResetTable}\n allSearchData={allSearchData}\n onResetTable={onResetTable}\n updateDataItem={updateDataItem}\n defaultSubscription={defaultSubscription}\n customTableColumns={tableColumns}\n customColumnComponents={customColumnComponents}\n customTransformers={customTransformers}\n emptyDescription={emptyDescription}\n emptyDescriptionFiltering={emptyDescriptionFiltering}\n areFiltersApplied={areFiltersApplied}\n onClearAll={onClearAll}\n sort={sort}\n onSearch={onSearch}\n defaultSort={defaultSort}\n />\n </div>\n </DataCard>\n </PublicRecordsContext.Provider>\n );\n}\n\nPublicRecord.propTypes = {\n id: stringNumberType,\n isMobile: PropTypes.bool.isRequired,\n slug: PropTypes.string,\n recordTypes: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n labelPlural: PropTypes.string,\n saveToTopicSlug: PropTypes.string,\n })).isRequired,\n fetchPublicRecords: PropTypes.func.isRequired,\n trackingContext: PropTypes.string.isRequired,\n ui: PropTypes.shape({\n isLoading: PropTypes.bool.isRequired,\n isLoadingTags: PropTypes.bool.isRequired,\n isLoadingSubscriptions: PropTypes.bool.isRequired,\n isLoadingMyFeedDocuments: PropTypes.bool.isRequired,\n }).isRequired,\n paginator: paginatorShape.isRequired,\n records: PropTypes.arrayOf(publicRecordShape).isRequired,\n keywordSearchTitles: PropTypes.shape({\n title: PropTypes.string,\n placeholder: PropTypes.string,\n }),\n rangeDateTitles: PropTypes.shape({\n title: PropTypes.string,\n placeholder: PropTypes.string,\n }),\n recordTypeTitles: PropTypes.shape({\n title: PropTypes.string,\n placeholder: PropTypes.string,\n }),\n tagsTitles: PropTypes.shape({\n title: PropTypes.string,\n }),\n customTransformers: PropTypes.shape({\n transformRecords: PropTypes.func,\n transformRecord: PropTypes.func,\n }),\n customTableColumns: PropTypes.arrayOf(tableColumnShape),\n title: PropTypes.string,\n description: PropTypes.string,\n questionText: PropTypes.string,\n emptyDescription: PropTypes.string,\n emptyDescriptionFiltering: PropTypes.string,\n displayButtonRecordTypes: PropTypes.bool,\n withSnippet: PropTypes.bool,\n customColumnComponents: PropTypes.objectOf(PropTypes.node),\n sort: sortShape,\n defaultSort: sortShape,\n customCheckboxRecordTypes: PropTypes.arrayOf(PropTypes.shape({\n id: stringNumberType.isRequired,\n })),\n trackingFunctions: PropTypes.shape({\n trackResultsFiltered: PropTypes.func,\n trackResultsDateRangeFiltered: PropTypes.func,\n trackColumnSorted: PropTypes.func,\n trackPageVisited: PropTypes.func,\n trackSavedToTopic: PropTypes.func,\n }),\n updateDataItem: PropTypes.func,\n defaultSubscription: PropTypes.string,\n searchProps: PropTypes.shape({\n withSearchDisclaimer: PropTypes.bool,\n disclaimerProps: PropTypes.shape({\n withButtons: PropTypes.bool,\n title: PropTypes.string,\n content: PropTypes.node,\n modalTheme: PropTypes.string,\n }),\n }),\n shouldFetch: PropTypes.bool,\n};\n\nPublicRecord.defaultProps = {\n keywordSearchTitles: rangeTitles.keywordSearch,\n rangeDateTitles: rangeTitles.rangeDate,\n recordTypeTitles: rangeTitles.recordType,\n tagsTitles: rangeTitles.tags,\n customTransformers: {},\n searchProps: {},\n title: 'Public record',\n description: '',\n emptyDescription: '',\n emptyDescriptionFiltering: '',\n displayButtonRecordTypes: false,\n withSnippet: false,\n defaultSort: {},\n customCheckboxRecordTypes: [],\n trackingFunctions: {\n trackResultsFiltered: trackPublicRecordResultsFiltered,\n trackResultsDateRangeFiltered: trackPublicRecordResultsDateRangeFiltered,\n trackColumnSorted: trackPublicRecordColumnSorted,\n trackPageVisited: trackPublicRecordPageVisited,\n trackSavedToTopic: trackPublicRecordSavedToTopic,\n },\n shouldFetch: true,\n};\n\nexport default PublicRecord;\n","import { useState, useEffect } from 'react';\nimport isNil from 'lodash/isNil';\n\nfunction useFrequency({\n initialSendWeekAheadEmail,\n initialFrequency,\n isOpenModal,\n}) {\n const defaultSendWeekAhead = !isNil(initialSendWeekAheadEmail) ? initialSendWeekAheadEmail : false;\n const [frequency, setFrequency] = useState(initialFrequency);\n const [sendWeekAheadEmail, setSendWeekAheadEmail] = useState(defaultSendWeekAhead);\n\n function handleChangeSendEmail({ target: { checked } = {} }) {\n setSendWeekAheadEmail(checked);\n }\n\n useEffect(() => {\n setFrequency(initialFrequency);\n setSendWeekAheadEmail(defaultSendWeekAhead);\n }, [isOpenModal]);\n\n return {\n frequency,\n onFrequencyChange: setFrequency,\n sendWeekAheadEmail,\n defaultSendWeekAhead,\n onSendWeekAheadEmailChange: setSendWeekAheadEmail,\n onChangeSendEmail: handleChangeSendEmail,\n };\n}\n\nexport default useFrequency;\n","import { map, flatMap, isEmpty, filter, includes } from 'lodash';\n\nimport * as api from 'redux/dashboardV2/common/subscriptions/api';\n\nimport { transformSubscriptionsForUI } from './transformers';\nimport { getWorkspacesToTrack } from '.';\n\nconst deleteSubscription = (subscription, feedToken) => (\n api.deleteSubscription(feedToken, subscription)\n);\n\nconst deleteSubscriptions = (payload, feedToken) => {\n if (feedToken) {\n return Promise.all(\n map(payload, subscription => deleteSubscription(subscription, feedToken))\n );\n }\n\n const { trackings, type, selectedFeeds } = payload || {};\n const getTrackingsRequests = () => flatMap(trackings, ({ feed, subscription, subscriptions }) => {\n if (!includes(selectedFeeds, feed.token)) return false;\n\n if (!isEmpty(subscriptions)) {\n return map(\n subscriptions,\n item => deleteSubscription({ ...item, type }, feed.token)\n );\n }\n\n return deleteSubscription({ ...subscription, type }, feed.token);\n });\n const getTrackingsLeft = () => filter(\n trackings, ({ feed }) => !includes(selectedFeeds, feed.token)\n );\n\n return Promise.all(getTrackingsRequests())\n .then(getTrackingsLeft);\n};\n\nconst updateSubscription = (data, feedToken) => (\n api.updateSubscription(feedToken, data)\n);\n\nconst createSubscription = (payload = {}, feedToken) => {\n const workspacesToTrack = getWorkspacesToTrack(payload.workspaces, payload);\n const workspaceTokens = feedToken ? [feedToken] : map(workspacesToTrack, 'token');\n\n return Promise.all(map(workspaceTokens, token => api.createSubscription(token, payload)))\n .then(response => transformSubscriptionsForUI(response, workspacesToTrack));\n};\n\nexport default {\n createSubscription,\n deleteSubscription,\n deleteSubscriptions,\n updateSubscription,\n};\n","import { useEffect } from 'react';\nimport { isEmpty, map, size, reject, get, isUndefined } from 'lodash';\n\nimport {\n notifyTrackItem,\n notifyUntrackItem,\n notifySubscriptionChange,\n notifySubscriptionSendEmail,\n notifyWorkspaceSubscriptionUpdateSuccess,\n notifyWorkspaceSubscriptionUpdateFailure,\n notifyWorkspaceSubscriptionSubscribeSuccess,\n notifyWorkspaceSubscriptionSubscribeFailure,\n notifyWorkspaceSubscriptionUnsubscribeFailure,\n notifyWorkspaceSubscriptionUnsubscribeSuccess,\n} from 'components/Dashboard/common/UserNotifications';\nimport notifications from 'components/Dashboard/utils/notifications';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getFeedSettingsUrl, isMyFeed } from 'components/Dashboard/utils';\nimport { getWorkspacesToTrack } from 'components/core/TrackButton/utils';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport useModal from 'components/core/Modal/useModal';\nimport { WORKSPACE_TYPE } from 'redux/dashboardV2/constants';\nimport { NEWSFEED_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport useLoader from 'utils/useLoader';\n\nimport useWorkspaces from './useWorkspaces';\nimport useFrequency from './useFrequency';\nimport defaultApi from './api';\n\nfunction useTrackButton({\n withSelectedWorkspace,\n isCommittee,\n feedToken,\n feedName,\n listSubscriptions,\n subscriptionInfo,\n recordId,\n recordType,\n itemType,\n itemTitle,\n updateDataItem,\n initialFrequency = NONE_ID,\n initialSendWeekAheadEmail,\n withWeekAheadEmail,\n initialModalOpen = false,\n searchId,\n isUpdate,\n api = defaultApi,\n trackings,\n updateCommitteeSubscriptions,\n}) {\n const { isLoading, stopLoading, startLoading } = useLoader();\n const { isOpenModal, toggleModal, closeModal } = useModal(initialModalOpen);\n const workspaces = useWorkspaces();\n\n const isNewsSearch = recordType === DOCUMENT_TYPES.NEWS_SEARCH;\n const modelId = isNewsSearch ? searchId : recordId;\n const modelParams = { modelId, type: recordType };\n const recordItemType = isNewsSearch ? NEWSFEED_ITEM_TYPE : itemType;\n const isWorkspace = recordType === WORKSPACE_TYPE;\n const onWorkspace = !isMyFeed(feedToken) && withSelectedWorkspace;\n\n const {\n frequency,\n onFrequencyChange,\n sendWeekAheadEmail,\n defaultSendWeekAhead,\n onSendWeekAheadEmailChange,\n onChangeSendEmail,\n } = useFrequency({\n initialSendWeekAheadEmail,\n initialFrequency,\n isOpenModal,\n });\n\n useEffect(() => {\n !isOpenModal && workspaces.reset();\n }, [isOpenModal]);\n\n function setFinalState() {\n stopLoading();\n closeModal();\n }\n\n function updateData({\n newFrequency,\n newSendWeekAhead = false,\n newTrackings = [],\n newIsTracking,\n }) {\n const isTracking = isUndefined(newIsTracking) ? !isEmpty(newFrequency) : newIsTracking;\n\n onFrequencyChange(newFrequency || initialFrequency);\n onSendWeekAheadEmailChange(newSendWeekAhead);\n\n updateDataItem && updateDataItem({\n ...isCommittee && { listSubscriptions: [] },\n ...isNewsSearch && !isTracking && { modelId },\n isTracking,\n sendWeekAheadEmail: newSendWeekAhead,\n frequency: newFrequency,\n recordId,\n trackings: newTrackings,\n });\n }\n\n const getSelectedFeedName = selectedFeeds => get(selectedFeeds, '0.name');\n const getSelectedFeedToken = selectedFeeds => get(selectedFeeds, '0.token');\n\n function handleRemove(selectedFeeds) {\n startLoading();\n\n const getAction = () => {\n if (!isEmpty(trackings)) {\n return api.deleteSubscriptions({\n trackings,\n selectedFeeds: map(selectedFeeds, 'token'),\n ...(!isCommittee && { type: recordType }),\n });\n }\n\n return isCommittee\n ? api.deleteSubscriptions(reject(listSubscriptions, { isRemoved: true }), feedToken)\n : api.deleteSubscription(modelParams, feedToken);\n };\n\n const trackingsCount = size(selectedFeeds) || size(listSubscriptions) || 1;\n\n const notificationProps = {\n url: getFeedSettingsUrl(feedToken || getSelectedFeedToken(selectedFeeds)),\n itemType: recordItemType,\n itemTitle: feedName || getSelectedFeedName(selectedFeeds),\n trackingsCount,\n };\n\n return getAction()\n .then(trackingsLeft => updateData({\n newFrequency: frequency,\n newSendWeekAhead: sendWeekAheadEmail,\n newTrackings: trackingsLeft,\n newIsTracking: false,\n recordId,\n }))\n .then(() => {\n isWorkspace\n ? notifyWorkspaceSubscriptionUnsubscribeSuccess(notificationProps)\n : notifyUntrackItem(notificationProps);\n })\n .catch((error) => {\n isWorkspace\n ? notifyWorkspaceSubscriptionUnsubscribeFailure({ ...notificationProps, itemTitle })\n : notifications.generalFailedNotification();\n\n throw error;\n })\n .finally(setFinalState);\n }\n\n function handleSave(newFrequency = frequency) {\n startLoading();\n const data = {\n ...subscriptionInfo,\n ...modelParams,\n sendWeekAheadEmail,\n withWeekAheadEmail,\n frequency: newFrequency,\n workspaces,\n };\n\n const selectedFeeds = workspaces && getWorkspacesToTrack(workspaces, data);\n const hasSendWeekAheadEmailChanged = sendWeekAheadEmail !== defaultSendWeekAhead;\n const selectedFeedName = getSelectedFeedName(selectedFeeds);\n const selectedFeedToken = getSelectedFeedToken(selectedFeeds);\n const selectedFeedCount = size(selectedFeeds);\n const saveSubscription = isUpdate ? api.updateSubscription : api.createSubscription;\n const notificationProps = {\n ...(feedToken && { url: getFeedSettingsUrl(feedToken) }),\n itemType: recordItemType,\n itemToken: recordId,\n itemTitle,\n };\n\n return saveSubscription(data, feedToken)\n .then((response) => {\n updateData({\n newFrequency,\n newSendWeekAhead: sendWeekAheadEmail,\n newTrackings: response,\n });\n\n const selectedItemsCount = size(response);\n const trackingsCount = selectedFeedCount > selectedItemsCount\n ? selectedFeedCount\n : selectedItemsCount;\n const notificationUpdate = isWorkspace\n ? notifyWorkspaceSubscriptionUpdateSuccess\n : notifyTrackItem;\n const notificationCreate = isWorkspace\n ? notifyWorkspaceSubscriptionSubscribeSuccess\n : notifyTrackItem;\n\n isUpdate\n ? notificationUpdate({ ...notificationProps, trackingsCount })\n : notificationCreate({\n ...notificationProps,\n ...((!onWorkspace && selectedFeedCount >= 1) && {\n itemTitle: selectedFeedName,\n url: getFeedSettingsUrl(selectedFeedToken),\n }),\n trackingsCount,\n });\n\n if (hasSendWeekAheadEmailChanged) {\n notifySubscriptionSendEmail({ itemType, sendWeekAheadEmail });\n }\n })\n .catch((error) => {\n const errorNotificationUpdate = isWorkspace\n ? notifyWorkspaceSubscriptionUpdateFailure\n : notifications.generalFailedNotification;\n const errorNotificationCreate = isWorkspace\n ? notifyWorkspaceSubscriptionSubscribeFailure\n : notifications.generalFailedNotification;\n\n isUpdate\n ? errorNotificationUpdate(notificationProps)\n : errorNotificationCreate(notificationProps);\n\n throw error;\n })\n .finally(setFinalState);\n }\n\n function handleSaveDesktop() {\n handleSave();\n }\n\n function handleSaveMobile(newFrequency) {\n handleSave(newFrequency);\n }\n\n function handleSaveTrackCommittee(data) {\n startLoading();\n\n return updateCommitteeSubscriptions(data)\n .then(() => {\n const { isPresentStaffers, isPresentHearings } = data;\n const selectedFeeds = workspaces && getWorkspacesToTrack(workspaces, data);\n const selectedFeedName = getSelectedFeedName(selectedFeeds);\n const selectedFeedToken = getSelectedFeedToken(selectedFeeds);\n const selectedFeedCount = size(selectedFeeds);\n const trackingsCount = size(selectedFeeds);\n const notificationProps = {\n ...(feedToken && { url: getFeedSettingsUrl(feedToken) }),\n trackingsCount,\n itemType,\n };\n\n return ((isPresentHearings || isPresentStaffers)\n ? notifySubscriptionChange(notificationProps)\n : notifyTrackItem({\n ...notificationProps,\n ...((!onWorkspace && selectedFeedCount >= 1) && {\n itemTitle: selectedFeedName,\n url: getFeedSettingsUrl(selectedFeedToken),\n }),\n }));\n })\n .finally(setFinalState);\n }\n\n const handleCancel = () => {\n workspaces.reset();\n toggleModal();\n };\n\n return {\n isOpenModal,\n isLoading,\n frequency,\n workspaces,\n sendWeekAheadEmail,\n onSaveMobile: handleSaveMobile,\n onSaveTrackCommittee: handleSaveTrackCommittee,\n onSave: handleSaveDesktop,\n onChange: onFrequencyChange,\n onRemove: handleRemove,\n onCancel: handleCancel,\n onChangeSendEmail,\n toggleModal,\n };\n}\n\nexport default useTrackButton;\n","import PropTypes from 'prop-types';\n\nimport { summaryProps } from 'components/core/DocumentContainer/utils/shapes';\nimport { stringNumberType } from 'utils/shapes';\n\nexport const dataShape = PropTypes.shape({\n ...summaryProps,\n id: stringNumberType,\n onDocumentShared: PropTypes.func.isRequired,\n onTagsSaved: PropTypes.func.isRequired,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from '../styles.module.scss';\n\nfunction MenuItem({ item, activeItem, onClick }) {\n const { title, id } = item || {};\n const { id: activeId } = activeItem || {};\n const isActive = activeId === id;\n\n function handleClick() {\n const currentItem = isActive ? {} : item;\n onClick(currentItem);\n }\n\n return (\n <Button\n theme=\"light\"\n size=\"none\"\n className={classNames(styles.button, isActive && styles.buttonActive)}\n onClick={handleClick}\n >\n {title}\n </Button>\n );\n}\n\nMenuItem.propTypes = {\n item: PropTypes.object.isRequired,\n activeItem: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n};\n\nexport default MenuItem;\n","import React, { useState, cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, isObject } from 'lodash';\n\nimport { canRenderTopBar } from 'components/core/ProductBar/utils';\nimport Button from 'components/core/Button';\nimport useModal from 'components/core/Modal/useModal';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { dataShape } from './utils/shapes';\nimport MenuItem from './components/MenuItem';\nimport styles from './styles.module.scss';\n\nfunction RightSideBar({ items, className, contentClassName, data }) {\n const [activeContent, setActiveContent] = useState({});\n const {\n isOpenModal: isOpenMenu,\n closeModal: closeInitialMenu,\n openModal: openMenu,\n } = useModal();\n const { isMobile, isDesktopLarge } = useMediaQuery();\n const withProductBar = canRenderTopBar(isMobile);\n const { isNavigationV2Enabled } = gon;\n const containerClassNames = classNames(\n styles.container,\n className,\n isOpenMenu && styles.menuActive,\n withProductBar && styles.withProductBar,\n );\n\n const sidebarClassnames = classNames(\n styles.sidebar,\n (withProductBar && isNavigationV2Enabled) && styles.withProductBarSidebar,\n (!isMobile && isNavigationV2Enabled) && styles.withNavigationV2Sidebar\n );\n\n const contentClassnames = classNames(\n styles.content,\n contentClassName,\n withProductBar && styles.withProductBarContent,\n (isDesktopLarge && isNavigationV2Enabled) && styles.withNavigationV2Content,\n );\n\n if (isEmpty(items)) {\n return null;\n }\n\n function closeMenu() {\n setActiveContent({});\n closeInitialMenu();\n }\n\n function handleClick(item) {\n setActiveContent(item);\n isEmpty(item) ? closeMenu() : openMenu();\n }\n\n function renderItem(item, index) {\n return (\n <li className={styles.listItem} key={`tab-item-${index}`}>\n <MenuItem\n item={item}\n onClick={handleClick}\n activeItem={activeContent}\n />\n </li>\n );\n }\n\n function renderContent() {\n const { content } = activeContent || {};\n\n if (isObject(content)) {\n return cloneElement(content, { ...data, closeMenu });\n }\n\n return content;\n }\n\n return (\n <div className={containerClassNames}>\n <ul className={sidebarClassnames}>\n {items.map(renderItem)}\n </ul>\n\n <div className={contentClassnames}>\n <Button\n theme=\"light\"\n size=\"none\"\n onClick={closeMenu}\n className={styles.closeButton}\n >\n <i className=\"fal fa-times\" />\n </Button>\n {renderContent()}\n </div>\n </div>\n );\n}\n\nRightSideBar.propTypes = {\n data: dataShape,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.node,\n }),\n ),\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n};\n\nexport default RightSideBar;\n","import { useState, useEffect } from 'react';\n\nfunction useSearchOptions({ searchValue: defaultSearchValue, searchType: defaultSearchType }) {\n const [searchValue, setSearchValue] = useState(defaultSearchValue || '');\n const [searchType, setSearchType] = useState(defaultSearchType);\n const [searchTypeAdvanced, setSearchTypeAdvanced] = useState(defaultSearchType);\n const [isDirty, setIsDirty] = useState(false);\n const [allowSubmit, setAllowSubmit] = useState(false);\n const [isClickedItem, setIsClickedItem] = useState(false);\n\n useEffect(() => {\n setSearchValue(defaultSearchValue);\n }, [defaultSearchValue]);\n\n function handleStateOnClickItem() {\n setIsClickedItem(true);\n setIsDirty(false);\n setAllowSubmit(true);\n }\n\n function handleStateOnChange() {\n setIsClickedItem(false);\n setIsDirty(true);\n setAllowSubmit(true);\n }\n\n function handleStateOnClearAll() {\n setIsDirty(false);\n setAllowSubmit(false);\n setIsClickedItem(false);\n }\n\n function handleClickSearch() {\n setIsDirty(false);\n setIsClickedItem(false);\n }\n\n return {\n searchValue,\n searchType,\n searchTypeAdvanced,\n isDirty,\n isClickedItem,\n allowSubmit,\n setSearchValue,\n setSearchType,\n setSearchTypeAdvanced,\n setIsDirty,\n setAllowSubmit,\n setIsClickedItem,\n onClickItemHandleState: handleStateOnClickItem,\n onChangeHandleState: handleStateOnChange,\n onClearAllHandleState: handleStateOnClearAll,\n onClickSearch: handleClickSearch,\n };\n}\n\nexport default useSearchOptions;\n","type RemoveUnusedOptionsFn = (\n filterOptions: { [key: string]: unknown },\n ignoreOptions: string[],\n) => { [key: string]: unknown };\n\nexport const removeUnusedOptions: RemoveUnusedOptionsFn = (filterOptions, ignoreOptions) => {\n if (!ignoreOptions) {\n return filterOptions;\n }\n\n return Object.keys(filterOptions).reduce((validOptions, optionKey) => {\n if (ignoreOptions.includes(optionKey)) {\n return validOptions;\n }\n\n return { ...validOptions, [optionKey]: filterOptions[optionKey] };\n }, {});\n};\n","import { useEffect, useState } from 'react';\nimport { isFunction, merge, isEqual } from 'lodash';\n\nimport useSearchOptions from 'components/core/AdvancedSearch/utils/useSearchOptions';\nimport { hasAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport Notifications from 'components/core/PageLookup/utils/Notifications';\nimport { queryParse } from 'utils/query-string';\n\nimport { removeUnusedOptions } from './removeUnusedOptions';\nimport { SEARCH_ID_PARAM } from '../../../utils/constants';\nimport defaultUseSearchParams from '../../../utils/useSearchParams';\n\nfunction useAdvancedSearch({\n initialState = false,\n dataProps = {},\n dataOptions = {},\n advancedSearch = {},\n notifications = {},\n appliedFilters = {},\n onSearchTransform,\n onCloseCustomView,\n useSearchParams = defaultUseSearchParams,\n lastSearchId,\n setLastSearchId,\n tableData,\n}) {\n const {\n searchId: querySearchId,\n direction: queryDirection,\n sort: queryColumn,\n page: queryPage,\n } = queryParse(window.location.search);\n const { paginator = {}, sort: sortData = {} } = tableData;\n const { current: currentPage } = paginator;\n const { direction: sortDirection, sort: sortColumn } = sortData;\n const { useOptions, emptyState, ignoreOptions } = dataOptions;\n const { options: emptyOptions } = emptyState || {};\n const {\n id,\n sort,\n onSearch,\n onSaveItem,\n onRemoveItem,\n saveInRecentSearch,\n loadSavedSearches,\n } = advancedSearch;\n\n const {\n getSearchParams,\n handleReset: onClearAllSearchParams,\n handleSearchIdChange: handleSavedSearchExecution,\n clearParams,\n } = useSearchParams({\n sortDirection: sortDirection || queryDirection,\n sortColumn: sortColumn || queryColumn,\n currentPage: currentPage || queryPage,\n lastSearchId: lastSearchId || querySearchId,\n });\n\n const handlePreviousSearchExecution = (searchId) => {\n handleSavedSearchExecution(searchId);\n setLastSearchId && setLastSearchId(searchId);\n };\n\n const {\n allowSubmit,\n isDirty,\n isClickedItem,\n searchValue,\n searchType,\n setAllowSubmit,\n setSearchValue,\n setSearchTypeAdvanced,\n onClickItemHandleState,\n onClearAllHandleState,\n onChangeHandleState,\n onClickSearch,\n } = useSearchOptions({ ...emptyState, ...appliedFilters });\n\n const [previousSearchSelectedId, setPreviousSearchSelectedId] = useState(null);\n const [isAdvancedSearchOpen, setIsAdvancedSearchOpen] = useState(initialState);\n const [isSearchOpen, setIsSearchOpen] = useState(false);\n const options = useOptions({ onChangeHandleState, setAllowSubmit, searchValue, appliedFilters, dataOptions });\n const { optionValues, fillOptions, resetValues, onChange } = options;\n const searchData = { searchValue, searchType, options: optionValues };\n\n useEffect(() => {\n setSearchTypeAdvanced(searchType);\n }, [isAdvancedSearchOpen]);\n\n function handleCloseSection() {\n setIsAdvancedSearchOpen(false);\n }\n\n function handleToggle() {\n onCloseCustomView();\n setIsAdvancedSearchOpen(!isAdvancedSearchOpen);\n }\n\n function handleSearchToggle() {\n setIsSearchOpen(!isSearchOpen);\n }\n\n function getNotificationFailed() {\n const { defaultFetchDataFailed } = notifications || {};\n isFunction(defaultFetchDataFailed) && defaultFetchDataFailed();\n }\n\n function fetchData(params) {\n try {\n loadSavedSearches(params);\n } catch (error) {\n getNotificationFailed();\n throw error;\n }\n }\n\n function handleSavedPageChange(page) {\n fetchData({ page });\n }\n\n function handleClearSearch() {\n setSearchValue('');\n onChangeHandleState();\n }\n\n function handleClear() {\n handleClearSearch();\n\n resetValues();\n onClearAllHandleState();\n onClearAllSearchParams();\n }\n\n function handleClearAll() {\n handleClear();\n\n /** Reset table search on clear all */\n if (hasAppliedFilters(appliedFilters)) {\n onSearch({ id, searchType, clearAll: true, dataProps, searchData: emptyState });\n }\n }\n\n function handleCancel() {\n handleCloseSection();\n }\n\n function handleSaveItem(data = {}) {\n onSaveItem && onSaveItem(data, dataProps)\n .then(Notifications.defaultSavedItemSuccess)\n .catch((error) => {\n Notifications.defaultSavedItemFailed();\n throw error;\n });\n }\n\n function handleRemoveItem(data = {}) {\n onRemoveItem && onRemoveItem(data.id, dataProps)\n .then(Notifications.defaultRemoveSavedItemSuccess)\n .catch((error) => {\n Notifications.defaultRemoveSavedItemFailed();\n throw error;\n });\n }\n\n function handleOnClickItem(item) {\n const { id: searchId } = item;\n const { searchValue: inputValue, ...restProps } = item.options || {};\n\n fillOptions(restProps);\n setSearchValue(inputValue || emptyState.searchValue);\n onClickItemHandleState();\n setPreviousSearchSelectedId(searchId);\n }\n\n function handleSearchChange(event) {\n const { value } = event.target;\n\n setSearchValue(value);\n onChangeHandleState();\n }\n\n function handleAdvancedSearch(eventData) {\n const { newOptions } = eventData || {};\n const currentSort = sort || {};\n const data = merge({}, searchData, newOptions);\n const { options: searchDataOptions } = data;\n\n const payload = {\n ...currentSort,\n id,\n isClickedItem,\n dataProps,\n searchData: onSearchTransform ? onSearchTransform(data) : data,\n };\n\n onSearch({ ...payload, isAdvancedSearchOpen, isSearchClick: true })\n .then(() => saveInRecentSearch && saveInRecentSearch(payload))\n .catch((error) => {\n getNotificationFailed();\n throw error;\n });\n\n clearParams([\n ...(\n isEqual(\n removeUnusedOptions(searchDataOptions, ignoreOptions),\n removeUnusedOptions(emptyOptions, ignoreOptions),\n ) ? [SEARCH_ID_PARAM] : []),\n ]);\n\n handleCancel();\n onClickSearch();\n\n if (!isDirty) {\n handlePreviousSearchExecution(previousSearchSelectedId);\n }\n }\n\n function handleOnSubmitSearch() {\n isSearchOpen && handleSearchToggle();\n handleAdvancedSearch();\n }\n\n /**\n * Applicable only to simple data structure, no nested object values, prevState not available\n * Add a different onChange func to use prevState (e.g onChangeDateRange for changing: date: { start, end }))\n * */\n function handleChangeFilter(key, value) {\n onChange(key, value);\n onChangeHandleState();\n\n const newOptions = { options: { [key]: value } };\n handleAdvancedSearch({ newOptions });\n }\n\n return {\n isDirty,\n isSearchOpen,\n isAdvancedSearchOpen,\n allowSubmit,\n searchData,\n searchValue,\n isClickedItem,\n onSearchToggle: handleSearchToggle,\n onToggleAdvancedSearch: handleToggle,\n onClearSearch: handleClearSearch,\n onChangeSearchValue: handleSearchChange,\n onChangeSavedPage: handleSavedPageChange,\n options,\n onSaveItem: handleSaveItem,\n onRemoveItem: handleRemoveItem,\n onClickItem: handleOnClickItem,\n onClearItem: handleClear,\n onClearAll: handleClearAll,\n onSearch: handleAdvancedSearch,\n onCancel: handleCancel,\n onSubmit: handleOnSubmitSearch,\n onSearchValueChange: setSearchValue,\n onChangeFilter: handleChangeFilter,\n getSearchParams,\n onClearAllSearchParams,\n };\n}\n\nexport default useAdvancedSearch;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\nimport { ReportTitlePreview } from 'components/core/ExportDocument/components/ExportModal/components/Preview';\nimport styles from './styles.module.scss';\n\nfunction ExportPreview({ logoUrl, documentTitle }) {\n return (\n <ReportTitlePreview\n logoUrl={logoUrl}\n documentTitle={documentTitle}\n >\n <div className={styles.content}>\n <h3 className={styles.contentTitle}>Overview</h3>\n <hr className={styles.line} />\n\n <TextPlaceholder className={classNames(styles.shortPlaceholder, styles.placeholder)} />\n <TextPlaceholder className={styles.placeholder} />\n </div>\n </ReportTitlePreview>\n );\n}\n\nExportPreview.propTypes = {\n documentTitle: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n};\n\nexport default ExportPreview;\n","import { LOGO_CUSTOMIZATION_ID, PDF_ID } from 'utils/constants/export';\n\nexport const EXPORT_FILE_ITEMS = [\n {\n id: PDF_ID,\n title: 'PDF',\n },\n];\n\nexport const EXPORT_CUSTOMIZATION_ITEMS = [\n {\n id: LOGO_CUSTOMIZATION_ID,\n title: 'Show my logo',\n },\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Loader from 'components/core/Loader';\nimport ExportModal, {\n Sections,\n FileFormat,\n Preview,\n Customization,\n} from 'components/core/ExportDocument/components/ExportModal';\nimport useExportPDFDocument from 'components/core/ExportDocument/utils/useExportPDFDocument';\nimport { LOGO_CUSTOMIZATION_ID } from 'utils/constants/export';\n\nimport { sectionShape } from '../../utils/shapes';\nimport ExportPreview from '../ExportPreview';\nimport {\n EXPORT_FILE_ITEMS,\n EXPORT_CUSTOMIZATION_ITEMS,\n} from './constants';\nimport styles from './styles.module.scss';\n\nfunction Modal({\n isOpenModal,\n toggleModal,\n documentComponent,\n fileName,\n fetchComponentData,\n defaultSectionValues,\n defaultCustomizationValues,\n sections,\n previewDocumentTitle,\n onFileExport,\n trackingActions,\n}) {\n // TODO: add success and failure notifications to replace the legacy ones\n const { isDocumentLoading, onExport } = useExportPDFDocument({\n documentComponent,\n onFileExported: toggleModal,\n fileName,\n fetchComponentData,\n trackingActions,\n });\n\n function handleExport(...args) {\n onFileExport && onFileExport(...args);\n return onExport(...args);\n }\n\n const renderModalContent = (exportProps) => {\n const {\n getFileFormatProps,\n getCustomizationProps,\n getSectionsProps,\n companyHasLogo,\n logoUrl,\n } = exportProps;\n const { values } = getCustomizationProps();\n const previewCompanyLogo = values.includes(LOGO_CUSTOMIZATION_ID);\n const previewLogoUrl = previewCompanyLogo ? logoUrl : undefined;\n\n const previewComponent = (\n <ExportPreview documentTitle={previewDocumentTitle} logoUrl={previewLogoUrl} />\n );\n\n function getCustomization() {\n if (!companyHasLogo) {\n return null;\n }\n\n return (\n <div className={styles.flexItem}>\n <div className={styles.section}>\n <Customization\n {...getCustomizationProps()}\n exportCustomizationItems={EXPORT_CUSTOMIZATION_ITEMS}\n />\n </div>\n <div className={styles.section}>\n <Preview previewComponent={previewComponent} />\n </div>\n </div>\n );\n }\n\n return (\n <>\n <div className={styles.flexItem}>\n <div className={styles.section}>\n <Sections\n {...getSectionsProps()}\n exportTabItems={sections}\n />\n </div>\n <div className={styles.section}>\n <FileFormat\n {...getFileFormatProps()}\n exportFileItems={EXPORT_FILE_ITEMS}\n />\n </div>\n </div>\n {getCustomization()}\n </>\n );\n };\n\n const placeholder = (\n <div className={styles.loaderContainer}>\n <Loader message=\"Loading ...\" />\n </div>\n );\n\n return (\n <ExportModal\n isLoading={isDocumentLoading}\n isOpenModal={isOpenModal}\n toggleModal={toggleModal}\n onExport={handleExport}\n defaultSectionValues={defaultSectionValues}\n defaultCustomizationValues={defaultCustomizationValues}\n displayCompanyLogo\n >\n {({ isLogoLoading, ...props }) => (\n isLogoLoading\n ? placeholder\n : renderModalContent(props)\n )}\n </ExportModal>\n );\n}\n\nModal.propTypes = {\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n fileName: PropTypes.string.isRequired,\n fetchComponentData: PropTypes.func,\n documentComponent: PropTypes.node.isRequired,\n defaultSectionValues: PropTypes.arrayOf(PropTypes.string.isRequired),\n sections: PropTypes.arrayOf(sectionShape).isRequired,\n defaultCustomizationValues: PropTypes.arrayOf(PropTypes.string.isRequired),\n previewDocumentTitle: PropTypes.string.isRequired,\n onFileExport: PropTypes.func,\n trackingActions: PropTypes.shape({\n trackOpenExportModal: PropTypes.func,\n trackGeneratedExport: PropTypes.func,\n }),\n};\n\nexport default Modal;\n","import { error, success } from 'components/core/Notification';\n\nexport const exportEventSuccess = () => success('Data has been exported successfully.');\nexport const exportEventFailed = () => error('Data export failed. Please try again.');\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, map } from 'lodash';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport DocumentPlaceholder from 'components/core/DocumentPlaceholder';\nimport PDF from 'components/core/PDF';\n\nimport * as Notifications from './notifications';\nimport styles from './styles.module.scss';\n\nfunction DocumentContent({\n isLoadingDocument,\n isLoadingExports,\n texts,\n onExportDocument,\n pdfUrl,\n sourceUrl,\n documents,\n documentType,\n strategySlug,\n actionButtons,\n}) {\n const isContentEmpty = isEmpty(texts) && !pdfUrl;\n\n if (!isLoadingDocument && isContentEmpty) {\n return <DocumentPlaceholder isEmptyText sourceUrl={sourceUrl} />;\n }\n\n function getDataForExport() {\n if (pdfUrl) {\n return {\n url: pdfUrl,\n };\n }\n\n return {\n strategy_slug: strategySlug,\n strategy_inputs: {\n document_ids: map(documents, 'id'),\n },\n };\n }\n\n function handleExport() {\n const exportNotifications = {\n getSuccess: Notifications.exportEventSuccess,\n getFailed: Notifications.exportEventFailed,\n };\n\n if (!pdfUrl && isEmpty(documents)) {\n return Notifications.exportEventFailed();\n }\n\n const data = getDataForExport();\n\n return onExportDocument({ data, exportNotifications, documentType });\n }\n\n function renderText(text, index) {\n const { content } = text || {};\n\n if (isEmpty(content)) {\n return null;\n }\n\n return (\n <div\n key={`content-${index}`}\n className={styles.content}\n dangerouslySetInnerHTML={{ __html: content }}\n />\n );\n }\n\n function renderContent() {\n if (pdfUrl || isLoadingDocument) {\n return (\n <PDF\n link={pdfUrl}\n sourceType=\"GET\"\n hasPdf\n iframeClass={styles.pdfIframe}\n containerClass={styles.pdfContainer}\n isLoading={isLoadingDocument}\n originalSourceUrl={sourceUrl}\n />\n );\n }\n\n return texts.map(renderText);\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.contentContainer}>\n {renderContent()}\n <div className={styles.actionButtons}>\n {actionButtons}\n <Button\n theme=\"none\"\n size=\"none\"\n className={styles.exportButton}\n disabled={isLoadingExports}\n onClick={handleExport}\n >\n {isLoadingExports\n ? <Loader onlyIcon size=\"small\" className={styles.loader} />\n : <i className={classNames(styles.icon, 'fas fa-download')} />}\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\nDocumentContent.propTypes = {\n isLoadingDocument: PropTypes.bool,\n isLoadingExports: PropTypes.bool,\n texts: PropTypes.arrayOf(\n PropTypes.shape({\n content: PropTypes.string,\n type: PropTypes.string,\n }),\n ),\n pdfUrl: PropTypes.string,\n sourceUrl: PropTypes.string,\n strategySlug: PropTypes.string,\n documents: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n }),\n ),\n documentType: PropTypes.shape({\n name: PropTypes.string,\n apiUrl: PropTypes.string,\n }),\n onExportDocument: PropTypes.func.isRequired,\n actionButtons: PropTypes.element,\n};\n\nexport default DocumentContent;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partyIcon\":\"styles-module__partyIcon___VoEFK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"indeterminate\":\"styles-module__indeterminate___1aWbY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkboxButton\":\"styles-module__checkboxButton___1vytT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textLabel\":\"styles-module__textLabel___2b3uo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___3bJsI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textInputPlaceholder\":\"styles-module__textInputPlaceholder___1rwEZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"itemTitle\":\"styles-module__itemTitle___3BKD3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"errorMessage\":\"styles-module__errorMessage___3kRrQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"withRichOption\":\"styles-module__withRichOption___5BT-w\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdownIndicatorIcon\":\"styles-module__dropdownIndicatorIcon___2oV_A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputType\":\"styles-module__inputType___1zezZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"numberColumn\":\"styles-module__numberColumn___1pHoE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"capitalize\":\"styles-module__capitalize___2dfix\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legislation\":\"styles-module__legislation___3aGew\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contactLink\":\"styles-module__contactLink___1mhE0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"deleteButton\":\"styles-module__deleteButton___MuVkC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"styles-module__input___9BfjP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___2I26Y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___SRUhE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mentionsInput\":\"defaultTheme-module__mentionsInput___BUVAA\",\"mentionsHighlighter\":\"defaultTheme-module__mentionsHighlighter___3A4Vv\",\"mentionsControl\":\"defaultTheme-module__mentionsControl___chGQI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mentionsInput\":\"contentTheme-module__mentionsInput___1IyTE\",\"mentionsHighlighter\":\"contentTheme-module__mentionsHighlighter___3cx2M\",\"mentionsControl\":\"contentTheme-module__mentionsControl___1p9kk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"styles-module__tooltip___39e5E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"styles-module__body___2mtyF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"styles-module__footer___1sg-K\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___2aX0_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"workspaceLink\":\"styles-module__workspaceLink___1E55e\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"linkBlock\":\"styles-module__linkBlock___PwTwU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listBiography\":\"styles-module__listBiography___3IeaY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2E3mJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3rDUH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"styles-module__placeholder___2FOFE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"styles-module__placeholder___1E5i3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logo\":\"styles-module__logo___3MNIW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"openIcon\":\"styles-module__openIcon___lOvM6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"animationTransitionDuration\":\"300ms\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\n// TODO: fix cyclic dependency\n// eslint-disable-next-line import/no-cycle\nimport { SettingsButton } from 'components/core/PageHeader';\n\nexport default function PageActionsButton({ tooltipTitle, pageLinks, className }) {\n const mapLinkToOption = ({ title, href }) => ({\n label: title,\n url: href,\n });\n\n return (\n <SettingsButton\n title={tooltipTitle}\n options={pageLinks.map(mapLinkToOption)}\n className={className}\n />\n );\n}\n\nPageActionsButton.defaultProps = {\n tooltipTitle: 'Settings',\n};\n\nPageActionsButton.propTypes = {\n tooltipTitle: PropTypes.string,\n pageLinks: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n href: PropTypes.string,\n }),\n ).isRequired,\n className: PropTypes.string,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container____Ok8L\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"board\":\"styles-module__board___3z3Jt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"styles-module__footer___32JFk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"emptyPlaceholder\":\"styles-module__emptyPlaceholder___2LUoT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___klqgU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3xx1m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3yWZ_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actionBar\":\"styles-module__actionBar___1LETL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"styles-module__loader___2VDyp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipContent\":\"styles-module__tooltipContent___23jDH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___1Fg86\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___1Uzc7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"styles-module__box___2tMmC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___2ToHw\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\nimport Select from 'components/core/Select';\nimport Label from 'components/core/Label';\n\nimport styles from './styles.module.scss';\n\nfunction ButtonGroupResponsive({\n title,\n value,\n options,\n onChange,\n displaySelect = false,\n}) {\n const renderField = () => {\n if (displaySelect) {\n return (\n <Select\n value={value}\n options={options}\n onChange={option => onChange(option.value)}\n searchable={false}\n clearable={false}\n hasNewStyle\n />\n );\n }\n\n return (\n <ButtonGroup theme=\"light\" className={styles.buttonGroup}>\n {options.map(option => (\n <Button\n key={option.value}\n theme=\"default\"\n onClick={() => onChange(option.value)}\n className={classNames(styles.button, option.value === value && styles.isActive)}\n >\n {option.label}\n </Button>\n ))}\n </ButtonGroup>\n );\n };\n\n return (\n <>\n <Label>{title}</Label>\n {renderField()}\n </>\n );\n}\n\nButtonGroupResponsive.propTypes = {\n title: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n displaySelect: PropTypes.bool.isRequired,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n })\n ),\n};\n\nexport default ButtonGroupResponsive;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"default\":\"themes-module__default___2swx3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___2Q4_4\",\"placeholderContainer\":\"styles-module__placeholderContainer___3uO7z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3EQMc\",\"chartPlaceholder\":\"styles-module__chartPlaceholder___SCcoS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"styles-module__footer___3-b58\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"source\":\"styles-module__source___-V4Ic\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"summaryBody\":\"styles-module__summaryBody___3Rdzb\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Line } from 'react-chartjs-2';\nimport classNames from 'classnames';\n\nimport useAreaChart from './useAreaChart';\nimport styles from './styles.module.scss';\n\nfunction ExportTimeSeries({\n chartClassName,\n lineChartData,\n onSetChartImage,\n ...chartOptionProps\n}) {\n const { data, chartOptions, chartRef } = useAreaChart({\n lineChartData,\n isMobile: false,\n ...chartOptionProps,\n });\n\n function handleAnimationComplete() {\n const chartInstance = chartRef.current && chartRef.current.chartInstance;\n chartInstance && onSetChartImage && onSetChartImage(chartInstance.toBase64Image());\n }\n\n const exportChartOptions = {\n ...chartOptions,\n animation: {\n onComplete: handleAnimationComplete,\n },\n };\n\n return (\n <div className={classNames(styles.exportGraph, chartClassName)}>\n <Line ref={chartRef} options={exportChartOptions} data={data} />\n </div>\n );\n}\n\nExportTimeSeries.propTypes = {\n chartClassName: PropTypes.string,\n lineChartData: PropTypes.array.isRequired,\n onSetChartImage: PropTypes.func,\n};\n\nexport default ExportTimeSeries;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"viewAllButton\":\"styles-module__viewAllButton___kC2sT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___DkNJ6\",\"container\":\"styles-module__container___1BSrv\",\"marker\":\"styles-module__marker___2dibB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stafferColumn\":\"styles-module__stafferColumn___2snoS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3FoF8\",\"separator\":\"styles-module__separator___TlBA3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stateBadge\":\"styles-module__stateBadge___O-zB_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"electionInfo\":\"styles-module__electionInfo___lX3VQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___1pGwt\",\"separator\":\"styles-module__separator___VpF92\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medalButton\":\"styles-module__medalButton___3CVv6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"advancedSearchContainer\":\"styles-module__advancedSearchContainer___jtZy2\",\"exportBtn\":\"styles-module__exportBtn___iizJB\",\"actionsContent\":\"styles-module__actionsContent___3TqB2\",\"btnDisabled\":\"styles-module__btnDisabled___3ZGq-\",\"textButton\":\"styles-module__textButton___3M3MN\",\"icon\":\"styles-module__icon___gYeIC\",\"loader\":\"styles-module__loader___1iggh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1DhhW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2PVm7\",\"bold\":\"styles-module__bold___3vKJw\",\"fixedWidth\":\"styles-module__fixedWidth___2dumv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2OSFa\",\"table\":\"styles-module__table___3-dMi\",\"bold\":\"styles-module__bold___1VAK8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___37z7M\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___3FNM7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___D0Wmg\",\"tableContainer\":\"styles-module__tableContainer___2DYJU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"columnsContainer\":\"styles-module__columnsContainer___Tr_Tv\"};","import isEmpty from 'lodash/isEmpty';\n\nimport { AUTOCOMPLETE_SLUG, CHECKBOX_TYPE_SLUG, RADIO_TYPE_SLUG } from './constants';\n\nexport function isEmptyFieldType(fieldType) {\n return isEmpty(fieldType) || isEmpty(fieldType.value);\n}\n\nexport function hasOptions(fieldTypeSlug) {\n return [CHECKBOX_TYPE_SLUG, RADIO_TYPE_SLUG, AUTOCOMPLETE_SLUG].includes(fieldTypeSlug);\n}\n","const errorMessages = {\n fieldName: 'Please enter a label for your question',\n fieldType: 'Please select a field type',\n fieldDescription: 'Please enter a description',\n productSlugs: 'Please select an option',\n options: {\n min: 'Options should contain at least one value, Please add a new option value',\n required: 'Please insert a value',\n unique: 'Each value must be unique',\n },\n};\n\nexport default errorMessages;\n","import * as Yup from 'yup';\n\nimport validateUniqueness from 'utils/yup/validateUniqueness';\n\nimport { hasOptions } from '.';\nimport errorMessages from './errorMessages';\n\nYup.addMethod(Yup.array, 'unique', validateUniqueness);\n\nconst validationSchema = Yup.object().shape({\n fieldName: Yup.string().required(errorMessages.fieldName),\n fieldType: Yup.object().shape({\n value: Yup.string().required(errorMessages.fieldType),\n }),\n productSlugs: Yup.array().required(errorMessages.productSlugs),\n fieldDescription: Yup.string().required(errorMessages.fieldDescription),\n options: Yup.mixed()\n .when(\n 'fieldType', {\n is: (fieldType => hasOptions(fieldType.value)),\n then: Yup.array()\n .min(1, errorMessages.options.min)\n .of(Yup.object().shape({\n value: Yup.string().required(errorMessages.options.required),\n }))\n .unique(errorMessages.options.unique, 'value'),\n },\n ),\n});\n\nexport default validationSchema;\n","import React from 'react';\n\nexport const CustomFieldsContext = React.createContext();\n\nfunction withCustomField(Component) {\n return function CustomFieldContext(props) {\n return (\n <CustomFieldsContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </CustomFieldsContext.Consumer>\n );\n };\n}\nexport default withCustomField;\n","import PropTypes from 'prop-types';\n\nimport { suggestionShape } from 'utils/shapes/suggestion';\nimport { PRODUCT_SLUGS } from './constants';\n\nexport const uiShape = PropTypes.shape({\n isLoadingCustomFields: PropTypes.bool.isRequired,\n isLoadingCustomFieldByToken: PropTypes.bool.isRequired,\n isSavingCustomField: PropTypes.bool.isRequired,\n isUpdatingCustomField: PropTypes.bool.isRequired,\n resetTable: PropTypes.bool.isRequired,\n isEnabled: PropTypes.bool.isRequired,\n isUpdatingPositions: PropTypes.bool.isRequired,\n availableIn: PropTypes.oneOf([PRODUCT_SLUGS.GRM, PRODUCT_SLUGS.STAKEHOLDER_MGMT]).isRequired,\n});\n\nexport const actionsShape = PropTypes.shape({\n enabled: PropTypes.bool,\n token: PropTypes.string,\n editable: PropTypes.bool,\n});\n\nexport const productSlugsShape = PropTypes.shape({\n value: PropTypes.arrayOf(PropTypes.string),\n token: PropTypes.string,\n});\n\nexport const allCustomFieldsItemShape = PropTypes.shape({\n fieldType: PropTypes.string,\n createdAt: PropTypes.string,\n isEditable: PropTypes.bool,\n actions: actionsShape,\n productSlugs: productSlugsShape,\n required: PropTypes.bool.isRequired,\n});\n\nexport const optionShape = PropTypes.shape({\n value: PropTypes.string,\n});\n\nexport const productSlugsType = PropTypes.arrayOf(suggestionShape);\n\nexport const customFieldShape = PropTypes.shape({\n fieldType: PropTypes.shape({\n value: PropTypes.string,\n }),\n fieldDescription: PropTypes.string,\n isEditable: PropTypes.bool,\n question: PropTypes.string,\n options: PropTypes.arrayOf(optionShape),\n required: PropTypes.bool,\n productSlugs: productSlugsType,\n});\n\nexport const fieldTypeShape = PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n});\n\nexport const valuesShape = PropTypes.shape({\n fieldName: PropTypes.string,\n fieldType: fieldTypeShape,\n productSlugs: productSlugsType,\n fieldDescription: PropTypes.string,\n question: PropTypes.string,\n options: PropTypes.arrayOf(optionShape),\n initialOptionsLength: PropTypes.number,\n required: PropTypes.bool,\n});\n\nconst errorShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.string,\n});\n\nexport const errorsShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(errorShape),\n ]),\n});\n\nconst touchedItemShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.bool,\n});\n\nexport const touchedShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.arrayOf(touchedItemShape),\n ]),\n});\n","import { useState, useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Notifications from 'components/core/CustomFields/utils/notifications';\nimport useSortTable from 'utils/useSortTable';\n\nimport { DEFAULT_PAGE_SIZE } from '../../utils/constants';\n\nfunction useTable({\n isEnabled,\n paginator,\n fetchCustomFields,\n getCustomFieldByToken,\n toggleCustomFieldStatus,\n updatePosition,\n availableIn,\n}) {\n const [isEditModal, setIsEditModal] = useState(false);\n const [selectedItems, setSelectedItems] = useState([]);\n const { sortData, resetSortData, getDirection } = useSortTable();\n const { direction, column } = sortData;\n const isPaginatorPresent = !isEmpty(paginator) && paginator.totalCount > DEFAULT_PAGE_SIZE;\n\n function getApiSearchForm(enabled, product) {\n return {\n search_form: {\n enabled,\n product_slugs: [product || availableIn],\n },\n per_page: DEFAULT_PAGE_SIZE,\n direction,\n sort: column,\n };\n }\n\n function handleFetchCustomFields(enabled, product) {\n resetSortData();\n fetchCustomFields(getApiSearchForm(enabled, product))\n .catch(Notifications.customFieldFailed);\n }\n\n function setIsEnable() {\n handleFetchCustomFields(true);\n }\n\n function setIsDisable() {\n handleFetchCustomFields(false);\n }\n\n function handleSelectChange({ value: enabled }) {\n enabled ? setIsEnable() : setIsDisable();\n }\n\n function toggleEditModal() {\n setIsEditModal(!isEditModal);\n }\n\n function getApiStatusField(tokens, enabled) {\n return {\n custom_fields: {\n tokens: tokens.map(token => token.token || token),\n enabled,\n },\n availableIn,\n };\n }\n\n function handleSelectItems(items) {\n const tokens = items.map(({ token }) => ({ token }));\n\n setSelectedItems(tokens);\n }\n\n function handleClearSelectedItems() {\n setSelectedItems([]);\n }\n\n function handleDisableItems() {\n toggleCustomFieldStatus(\n getApiStatusField(selectedItems, false),\n handleClearSelectedItems,\n )\n .then(Notifications.customFieldUpdated)\n .catch(Notifications.customFieldFailed);\n }\n\n function handleEnableItems() {\n toggleCustomFieldStatus(\n getApiStatusField(selectedItems, true),\n handleClearSelectedItems,\n )\n .then(Notifications.customFieldUpdated)\n .catch(Notifications.customFieldFailed);\n }\n\n const handleOpenEditForm = token => () => {\n getCustomFieldByToken(token)\n .then(toggleEditModal)\n .catch(Notifications.customFieldFailed);\n };\n\n const handleFieldStatus = ({ token, enabled }) => () => {\n toggleCustomFieldStatus(getApiStatusField([token], !enabled))\n .then(Notifications.customFieldUpdated)\n .catch(Notifications.customFieldFailed);\n };\n\n const handleSortByColumn = (selectedColumn) => {\n const searchParams = getApiSearchForm(isEnabled);\n const params = {\n ...searchParams,\n sort: selectedColumn,\n direction: getDirection(selectedColumn),\n };\n\n fetchCustomFields(params)\n .catch(Notifications.customFieldFailed);\n };\n\n function handleChangePage(page) {\n const searchParams = getApiSearchForm(isEnabled);\n const params = {\n page,\n ...searchParams,\n };\n\n fetchCustomFields(params)\n .catch(Notifications.customFieldFailed);\n }\n\n function handlePositionChange(event) {\n updatePosition({ ...event, isEnabled, availableIn });\n }\n\n const handleChangeAvailableIn = product => () => handleFetchCustomFields(isEnabled, product);\n\n useEffect(() => handleFetchCustomFields(isEnabled), []);\n\n return {\n isEditModal,\n selectedItems,\n handleSelectItems,\n handleDisableItems,\n handleEnableItems,\n handleClearSelectedItems,\n handleChangePage,\n handleOpenEditForm,\n handleFieldStatus,\n toggleEditModal,\n handleSortByColumn,\n isPaginatorPresent,\n sort: {\n sortData,\n resetSortData,\n getDirection,\n },\n handleSelectChange,\n availableIn,\n handlePositionChange,\n handleChangeAvailableIn,\n };\n}\n\nexport default useTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport moment from 'moment';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { fieldColumnsLabels } from '../../../utils/constants';\nimport styles from '../styles.module.scss';\n\nfunction Item({ title, content }) {\n if (isEmpty(content) || typeof content === 'object') {\n return null;\n }\n\n let currentContent = content;\n\n if (typeof content === 'boolean') {\n currentContent = content ? 'Yes' : 'No';\n }\n\n if (title === fieldColumnsLabels.createdAt) {\n currentContent = moment(content).format(GLOBAL_DATE_FORMAT);\n }\n\n return (\n <div className={styles.group}>\n <div className={styles.title}>{title}</div>\n <div className={styles.content}>{currentContent}</div>\n </div>\n );\n}\n\nItem.propTypes = {\n title: PropTypes.string.isRequired,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.bool,\n PropTypes.array,\n ]),\n};\n\nexport default Item;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport Item from './components/Item';\nimport { fieldColumnsLabels, getFieldTypeDescription } from '../../utils/constants';\nimport { allCustomFieldsItemShape } from '../../utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction MobileCardView({ data, renderRowActions }) {\n const { isMobile, isTablet } = useMediaQuery();\n const isMobileOrTablet = isMobile || isTablet;\n\n if (!isMobileOrTablet) {\n return null;\n }\n\n function getContent(itemName, itemValue) {\n if (itemName === 'fieldType') {\n return getFieldTypeDescription(itemValue);\n }\n\n return itemValue;\n }\n\n function renderCard(item, index) {\n return (\n <div\n key={`cardMobile-${index}`}\n className={styles.itemCard}\n >\n {Object.keys(item).map(key => (\n <Item\n key={`${key}-${index}`}\n title={fieldColumnsLabels[key]}\n content={getContent(key, item[key])}\n />\n ))}\n\n {renderRowActions(item.actions)}\n <hr />\n </div>\n );\n }\n\n const emptyContent = <div>Sorry, the requested data is currently unavailable</div>;\n\n return (\n <div className={styles.card}>\n {isEmpty(data) ? emptyContent : data.map(renderCard)}\n </div>\n );\n}\n\nMobileCardView.propTypes = {\n data: PropTypes.arrayOf(allCustomFieldsItemShape).isRequired,\n renderRowActions: PropTypes.func.isRequired,\n};\n\nexport default MobileCardView;\n","import React, { Fragment } from 'react';\n\nimport TextPlaceholder from 'components/core/Placeholder/components/Text';\n\nimport styles from '../styles.module.scss';\n\nfunction Placeholder() {\n function renderItem() {\n return (\n <div className={styles.itemPlaceholder}>\n {Array(3).fill(0).map((_, index) => (\n <Fragment key={`text-card-mobile-${index}`}>\n <div className={styles.titlePlaceholder}><TextPlaceholder /></div>\n <div className={styles.contentPlaceholder}><TextPlaceholder /></div>\n </Fragment>\n ))}\n <hr />\n </div>\n );\n }\n\n return (\n <div className={styles.card}>\n {Array(3).fill(0).map((_, index) => (\n <div key={`cardMobile-${index}`} className={styles.itemCard}>\n {renderItem()}\n </div>\n ))}\n </div>\n );\n}\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNil from 'lodash/isNil';\n\nimport { DISABLED_MSG, OPTION_PLACEHOLDER } from 'components/core/CustomFields/utils/constants';\nimport withCustomField from 'components/core/CustomFields/utils/withCustomField';\nimport Button from 'components/core/Button';\nimport Label from 'components/core/Label';\nimport Input from 'components/core/Input';\nimport { getError } from 'utils/forms';\n\nimport styles from '../styles.module.scss';\n\nfunction Option({\n ui,\n index,\n option: {\n value,\n initialValue,\n } = {},\n formState,\n isEditable,\n answered,\n onRemove,\n initialOptionsLength,\n onChange,\n onBlur,\n optionsCount,\n}) {\n function handleRemove() {\n onRemove(index);\n }\n\n function getIsDisabled() {\n return !isEditable && index < initialOptionsLength;\n }\n\n function getErrorMessage() {\n return getIsDisabled()\n ? DISABLED_MSG\n : getError(`options[${index}].value`, formState);\n }\n\n const isLoading = ui.isSavingCustomField || ui.isUpdatingCustomField;\n const isDisabledOrLoading = getIsDisabled(index) || isLoading;\n const withDeleteButton = answered ? (optionsCount > 2 && isNil(initialValue)) : optionsCount > 2;\n const commonProps = {\n onChange,\n onBlur,\n };\n\n return (\n <div className={styles.option}>\n <Label htmlFor={`options-${index}`} theme=\"light\">Value {index + 1}</Label>\n\n <div className={styles.optionForm}>\n <div className={styles.fieldWrap}>\n <Input\n id={`options-${index}`}\n name={`options.${index}.value`}\n value={value}\n placeholder={OPTION_PLACEHOLDER}\n disabled={isDisabledOrLoading}\n errorMessage={getErrorMessage()}\n {...commonProps}\n />\n </div>\n\n {withDeleteButton && (\n <Button\n type=\"button\"\n size=\"none\"\n theme=\"light\"\n onClick={handleRemove}\n isRemoveIcon\n disabled={isDisabledOrLoading}\n />\n )}\n </div>\n </div>\n );\n}\n\nOption.propTypes = {\n ui: PropTypes.object.isRequired,\n isEditable: PropTypes.bool,\n answered: PropTypes.bool,\n index: PropTypes.number.isRequired,\n option: PropTypes.object.isRequired,\n initialOptionsLength: PropTypes.number,\n formState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n optionsCount: PropTypes.number.isRequired,\n};\n\nexport default withCustomField(Option);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FieldArray } from 'formik';\n\nimport Button from 'components/core/Button';\n\nimport withCustomField from '../../utils/withCustomField';\nimport { uiShape, fieldTypeShape, optionShape } from '../../utils/shapes';\nimport { isEmptyFieldType, hasOptions } from '../../utils';\nimport Option from './components/Option';\nimport styles from './styles.module.scss';\n\nfunction FieldsOptions({\n ui,\n fieldType,\n options,\n handleChange,\n handleBlur,\n}) {\n if (isEmptyFieldType(fieldType)) {\n return null;\n }\n\n const isLoading = ui.isSavingCustomField || ui.isUpdatingCustomField;\n const defaultValue = { value: '' };\n const commonProps = {\n onChange: handleChange,\n onBlur: handleBlur,\n };\n\n return (\n <div className={styles.fieldsInteraction}>\n {hasOptions(fieldType.value) && (\n <FieldArray\n name=\"options\"\n render={({ remove, push }) => (\n <>\n <div className={classNames(styles.formGroup, styles.options)}>\n {options.map((option, index) => (\n <Option\n {...commonProps}\n // this component is used for creating an option, there no unique key available\n // eslint-disable-next-line react/no-array-index-key\n key={`custom-option-${index}`}\n index={index}\n option={option}\n onRemove={remove}\n optionsCount={options.length}\n />\n ))}\n </div>\n\n <div className={styles.formGroup}>\n <Button\n type=\"button\"\n size=\"none\"\n theme=\"light\"\n onClick={() => push(defaultValue)}\n isAddIcon\n disabled={isLoading}\n >\n Add Value\n </Button>\n </div>\n </>\n )}\n />\n )}\n </div>\n );\n}\n\nFieldsOptions.propTypes = {\n ui: uiShape.isRequired,\n fieldType: fieldTypeShape.isRequired,\n options: PropTypes.arrayOf(optionShape).isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n};\n\nexport default withCustomField(FieldsOptions);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Select from 'components/core/Select';\nimport Label from 'components/core/Label';\nimport { getError } from 'utils/forms';\n\nimport { PRODUCT_SLUGS_OPTIONS } from '../../utils/constants';\nimport { errorsShape, productSlugsType, touchedShape } from '../../utils/shapes';\nimport styles from '../FieldsData/styles.module.scss';\n\nfunction AvailableInField({ setFieldValue, productSlugs, formState }) {\n function handleProductSlugsChange(selectedOption) {\n setFieldValue('productSlugs', selectedOption);\n }\n\n return (\n <div className={styles.availableIn}>\n <Label theme=\"light\">Make available in…</Label>\n <Select\n hasNewStyle\n multi\n name=\"productSlugs\"\n value={productSlugs}\n options={PRODUCT_SLUGS_OPTIONS}\n onChange={handleProductSlugsChange}\n errorMessage={getError('productSlugs', formState)}\n clearable={false}\n className=\"custom-fields__available-in\"\n />\n </div>\n );\n}\n\nAvailableInField.propTypes = {\n setFieldValue: PropTypes.func.isRequired,\n productSlugs: productSlugsType,\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: touchedShape,\n }),\n};\n\nexport default AvailableInField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label from 'components/core/Label';\nimport RadioBox from 'components/core/RadioBox';\nimport { REQUIRED_FIELD_OPTIONS } from 'components/core/CustomFields/utils/constants';\n\nfunction RequiredProperty({ required, onChange }) {\n return (\n <>\n <Label theme=\"light\">Required field?</Label>\n {REQUIRED_FIELD_OPTIONS.map(({ label, value }) => (\n <RadioBox\n key={`required-field-${value}`}\n label={label}\n value={value}\n theme=\"default\"\n onChange={onChange}\n checked={required === value}\n />\n ))}\n </>\n );\n}\n\nRequiredProperty.propTypes = {\n required: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default RequiredProperty;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Textarea from 'components/core/Textarea';\nimport Select from 'components/core/Select';\nimport Label from 'components/core/Label';\nimport Input from 'components/core/Input';\nimport { getError } from 'utils/forms';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nimport withCustomField from '../../utils/withCustomField';\nimport { hasOptions } from '../../utils';\nimport {\n TYPE_OPTIONS,\n TYPE_PLACEHOLDER,\n DESCRIPTION_PLACEHOLDER,\n} from '../../utils/constants';\nimport { fieldTypeShape, errorsShape, touchedShape } from '../../utils/shapes';\nimport AvailableInField from '../AvailableInField';\nimport RequiredProperty from './components/RequiredProperty';\nimport styles from './styles.module.scss';\n\nexport { RequiredProperty };\n\nfunction FieldsData({\n formState,\n fieldName,\n fieldType,\n productSlugs,\n fieldDescription,\n setFieldValue,\n handleChange,\n handleBlur,\n required,\n}) {\n const commonProps = {\n className: styles.input,\n onChange: handleChange,\n onBlur: handleBlur,\n };\n\n function initEmptyOptions(selectedOption) {\n /** Init two values options for checkbox/radio */\n if (hasOptions(selectedOption && selectedOption.value)) {\n const emptyValue = { value: '' };\n setFieldValue('options', [{ ...emptyValue }, { ...emptyValue }]);\n }\n }\n\n function handleTypeFieldChange(selectedOption) {\n initEmptyOptions(selectedOption);\n setFieldValue('fieldType', selectedOption);\n }\n\n function handleRequiredFieldChange({ target }) {\n setFieldValue('required', target.value === 'true');\n }\n\n return (\n <>\n <div className={styles.fieldsContainer}>\n <div className={styles.formGroup}>\n <Label htmlFor=\"fieldName\" theme=\"light\">Label</Label>\n <Input\n {...commonProps}\n id=\"fieldName\"\n name=\"fieldName\"\n value={fieldName}\n errorMessage={getError('fieldName', formState)}\n />\n </div>\n\n <div className={styles.formGroup}>\n <Label theme=\"light\">Custom Field Type</Label>\n <Select\n value={fieldType.value}\n id=\"fieldType\"\n name=\"fieldType\"\n optionKey=\"value\"\n options={TYPE_OPTIONS}\n onChange={handleTypeFieldChange}\n placeholder={TYPE_PLACEHOLDER}\n className={styles.input}\n errorMessage={getError('fieldType.value', formState)}\n hasNewStyle\n clearable={false}\n searchable={false}\n />\n </div>\n\n <div className={styles.formGroup}>\n <RequiredProperty required={required} onChange={handleRequiredFieldChange} />\n </div>\n </div>\n\n <AvailableInField\n setFieldValue={setFieldValue}\n productSlugs={productSlugs}\n formState={formState}\n />\n\n <div className={styles.formGroup}>\n <Label htmlFor=\"fieldDescription\" theme=\"light\">Description</Label>\n <Textarea\n {...commonProps}\n id=\"fieldDescription\"\n name=\"fieldDescription\"\n value={fieldDescription}\n placeholder={DESCRIPTION_PLACEHOLDER}\n errorMessage={getError('fieldDescription', formState)}\n />\n </div>\n </>\n );\n}\n\nFieldsData.propTypes = {\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: touchedShape,\n }).isRequired,\n fieldName: PropTypes.string.isRequired,\n fieldType: fieldTypeShape,\n productSlugs: PropTypes.arrayOf(suggestionShape),\n fieldDescription: PropTypes.string.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n required: PropTypes.bool.isRequired,\n};\n\nexport default withCustomField(FieldsData);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label from 'components/core/Label';\nimport Input from 'components/core/Input';\nimport Textarea from 'components/core/Textarea';\nimport withCustomField from 'components/core/CustomFields/utils/withCustomField';\nimport { DESCRIPTION_PLACEHOLDER } from 'components/core/CustomFields/utils/constants';\nimport { errorsShape, productSlugsType, touchedShape } from 'components/core/CustomFields/utils/shapes';\nimport { RequiredProperty } from 'components/core/CustomFields/components/FieldsData';\nimport AvailableInField from 'components/core/CustomFields/components/AvailableInField';\nimport { getError } from 'utils/forms';\n\nimport styles from '../styles.module.scss';\n\nexport function FieldInfo({\n formState,\n handleChange,\n name,\n fieldDescription,\n required,\n setFieldValue,\n productSlugs,\n}) {\n function handleRequiredPropertyChange({ target }) {\n setFieldValue('required', target.value === 'true');\n }\n\n return (\n <>\n <div className={styles.row}>\n <div className={styles.formGroup}>\n <Label htmlFor=\"name\" theme=\"light\">Label</Label>\n <Input\n name=\"name\"\n className={styles.input}\n value={name}\n onChange={handleChange}\n errorMessage={getError('name', formState)}\n />\n </div>\n <div className={styles.formGroup}>\n <RequiredProperty required={required} onChange={handleRequiredPropertyChange} />\n </div>\n </div>\n\n <AvailableInField\n setFieldValue={setFieldValue}\n productSlugs={productSlugs}\n formState={formState}\n />\n\n <div className={styles.formGroup}>\n <Label htmlFor=\"fieldDescription\" theme=\"light\">Description</Label>\n <Textarea\n placeholder={DESCRIPTION_PLACEHOLDER}\n name=\"fieldDescription\"\n className={styles.input}\n value={fieldDescription}\n onChange={handleChange}\n errorMessage={getError('fieldDescription', formState)}\n />\n </div>\n </>\n );\n}\n\nFieldInfo.propTypes = {\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: touchedShape,\n }).isRequired,\n handleChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n fieldDescription: PropTypes.string,\n required: PropTypes.bool,\n setFieldValue: PropTypes.func.isRequired,\n productSlugs: productSlugsType.isRequired,\n};\n\nexport default withCustomField(FieldInfo);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Loader from 'components/core/Loader';\nimport Button from 'components/core/Button';\nimport FieldsOptions from 'components/core/CustomFields/components/FieldsOptions';\nimport { CustomFieldsContext } from 'components/core/CustomFields/utils/withCustomField';\nimport {\n uiShape,\n errorsShape,\n touchedShape,\n valuesShape,\n} from 'components/core/CustomFields/utils/shapes';\n\nimport FieldInfoConsumer from './FieldInfo';\nimport styles from '../styles.module.scss';\n\nfunction Form({\n ui,\n toggleModal,\n errors,\n touched,\n values,\n handleChange,\n handleBlur,\n setFieldValue,\n handleSubmit,\n}) {\n const editFormContext = {\n ...values,\n ui,\n handleChange,\n handleBlur,\n setFieldValue,\n formState: { errors, touched },\n };\n\n const loader = <Loader size=\"small\" theme=\"light\" className={styles.loadingBtn} />;\n const buttonSubmitContent = ui.isUpdatingCustomField ? loader : 'Save';\n\n return (\n <form onSubmit={handleSubmit} className={styles.modal}>\n <CustomFieldsContext.Provider value={editFormContext}>\n <FieldInfoConsumer />\n <FieldsOptions />\n </CustomFieldsContext.Provider>\n\n <div className={styles.modalActions}>\n <Button\n type=\"reset\"\n theme=\"light\"\n size=\"small\"\n onClick={toggleModal}\n >\n Cancel\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n >\n {buttonSubmitContent}\n </Button>\n </div>\n </form>\n );\n}\n\nForm.propTypes = {\n ui: uiShape.isRequired,\n errors: errorsShape,\n touched: touchedShape,\n values: valuesShape.isRequired,\n toggleModal: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n};\n\nexport default Form;\n","import * as Yup from 'yup';\n\nimport errorMessages from 'components/core/CustomFields/utils/errorMessages';\nimport { hasOptions } from 'components/core/CustomFields/utils';\nimport validateUniqueness from 'utils/yup/validateUniqueness';\n\nYup.addMethod(Yup.array, 'unique', validateUniqueness);\n\nconst validationSchema = Yup.object().shape({\n name: Yup.string().required(errorMessages.fieldName),\n fieldDescription: Yup.string().required(errorMessages.fieldDescription),\n productSlugs: Yup.array().required(errorMessages.productSlugs),\n options: Yup.mixed()\n .when(\n 'fieldType', {\n is: (fieldType => hasOptions(fieldType.value)),\n then: Yup.array()\n .min(1, errorMessages.options.min)\n .of(Yup.object().shape({\n value: Yup.string().required(errorMessages.options.required),\n }))\n .unique(errorMessages.options.unique, 'value'),\n },\n ),\n});\n\nexport default validationSchema;\n","import { withFormik } from 'formik';\nimport { map, size } from 'lodash';\n\nimport Notifications from 'components/core/CustomFields/utils/notifications';\n\nimport Form from './components/Form';\nimport validationSchema from './validationSchema';\n\nfunction onSubmitForm(values, actions) {\n const { toggleModal, updateCustomField } = actions.props;\n const {\n token,\n name,\n options,\n enabled,\n fieldDescription: description,\n productSlugs,\n required,\n } = values;\n\n const customField = {\n name,\n description,\n product_slugs: map(productSlugs, 'value'),\n options: map(options, ({ initialValue, value }) => ({\n old_value: initialValue,\n new_value: value,\n })),\n required,\n };\n\n updateCustomField(token, customField, toggleModal, enabled)\n .then(Notifications.customFieldUpdated)\n .catch(Notifications.customFieldFailed);\n}\n\nconst EditForm = withFormik({\n validationSchema,\n mapPropsToValues: ({ customField }) => {\n const { options, ...restCustomField } = customField || {};\n\n return ({\n ...restCustomField,\n initialOptionsLength: size(options),\n options: map(options, ({ value }) => ({\n initialValue: value,\n value,\n })),\n });\n },\n enableReinitialize: false,\n handleSubmit: onSubmitForm,\n})(Form);\n\nexport default EditForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Button from 'components/core/Button';\n\nimport styles from '../styles.module.scss';\n\nfunction CardButtonGroup({\n isEnabled,\n setIsEnable,\n setIsDisable,\n enabledLabel,\n disabledLabel,\n}) {\n return (\n <ButtonGroup theme=\"light\" className={styles.btnGroup}>\n <Button\n theme=\"default\"\n size=\"small\"\n className={classNames(isEnabled && styles.activeBtn)}\n onClick={setIsEnable}\n >\n {enabledLabel}\n </Button>\n <Button\n theme=\"default\"\n size=\"small\"\n className={classNames(!isEnabled && styles.activeBtn)}\n onClick={setIsDisable}\n >\n {disabledLabel}\n </Button>\n </ButtonGroup>\n );\n}\n\nCardButtonGroup.defaultProps = {\n enabledLabel: 'Enabled',\n disabledLabel: 'Disabled',\n};\n\nCardButtonGroup.propTypes = {\n isEnabled: PropTypes.bool.isRequired,\n setIsEnable: PropTypes.func.isRequired,\n setIsDisable: PropTypes.func.isRequired,\n enabledLabel: PropTypes.string,\n disabledLabel: PropTypes.string,\n};\n\nexport default CardButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport ActionBar from 'components/core/ActionBar';\n\nimport styles from '../styles.module.scss';\n\nfunction FooterActions({\n ui,\n selectedItems,\n onClear,\n onDisable,\n onEnable,\n}) {\n const isLoading = ui.isUpdatingCustomField || ui.isSavingCustomField;\n const isPresentSelectedItems = selectedItems.length > 0;\n const buttonProps = {\n theme: 'light',\n size: 'medium',\n className: styles.barBtn,\n };\n\n return isPresentSelectedItems && (\n <ActionBar\n title=\"Action\"\n selectedItems={selectedItems}\n isFixed={false}\n className={styles.actionBar}\n >\n <Button\n {...buttonProps}\n onClick={onClear}\n >\n Clear\n </Button>\n\n <Button\n {...buttonProps}\n onClick={onDisable}\n disabled={isLoading}\n >\n Disable\n </Button>\n <Button\n {...buttonProps}\n onClick={onEnable}\n disabled={isLoading}\n >\n Enable\n </Button>\n </ActionBar>\n );\n}\n\nFooterActions.propTypes = {\n ui: PropTypes.object.isRequired,\n selectedItems: PropTypes.array.isRequired,\n onClear: PropTypes.func.isRequired,\n onDisable: PropTypes.func.isRequired,\n onEnable: PropTypes.func.isRequired,\n};\n\nexport default FooterActions;\n","import PropTypes from 'prop-types';\n\nconst sortDataShape = PropTypes.shape({\n direction: PropTypes.string,\n column: PropTypes.string,\n});\n\nexport const sortShape = PropTypes.shape({\n sortData: sortDataShape.isRequired,\n resetSortData: PropTypes.func.isRequired,\n getDirection: PropTypes.func.isRequired,\n});\n","const tableColumns = [\n {\n label: 'Display order',\n keyName: 'displayOrder',\n },\n {\n label: 'Title',\n keyName: 'name',\n sortingKey: 'name',\n },\n {\n label: 'Description',\n keyName: 'description',\n sortingKey: 'description',\n },\n {\n label: 'Type',\n keyName: 'fieldType',\n sortingKey: 'field_type',\n },\n {\n label: 'Required',\n keyName: 'required',\n sortingKey: 'required',\n },\n {\n label: 'Created',\n keyName: 'createdAt',\n sortingKey: 'created_at',\n },\n {\n label: 'Action',\n keyName: 'actions',\n },\n];\n\nexport default tableColumns;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport TablePlaceholder from 'components/core/Placeholder/components/Table';\nimport { TrimTextItem, DateItem, DraggableItem } from 'components/core/Table/components/ColumnItem';\nimport Table, { Column } from 'components/core/Table';\nimport {\n uiShape,\n allCustomFieldsItemShape,\n customFieldShape,\n} from 'components/core/CustomFields/utils/shapes';\nimport { DRAG_END_REASON } from 'components/core/KanbanBoard/constants';\n\nimport { getFieldTypeDescription } from '../../../utils/constants';\nimport { sortShape } from '../utils/shapes';\nimport tableColumns from '../tableColumns';\nimport styles from '../styles.module.scss';\n\nconst DESCRIPTION_MAX_LIMIT = 55;\n\nfunction FieldsTable({\n sort,\n ui,\n isLoadingCustomFields,\n allCustomFields,\n selectedItems,\n renderRowActions,\n onSelectItems,\n handleSortByColumn,\n onUpdatePosition,\n}) {\n const { sortData, resetSortData } = sort;\n\n useEffect(() => {\n resetSortData();\n }, [ui.resetTable]);\n\n if (isLoadingCustomFields) {\n return <TablePlaceholder columns={6} />;\n }\n\n function getRequiredDescription(value) {\n return value === true ? 'Yes' : 'No';\n }\n\n const onDragEnd = ({ destination, source, reason }) => {\n if (!destination || destination.index === source.index || reason === DRAG_END_REASON.CANCEL) {\n return;\n }\n\n onUpdatePosition({ destination, source });\n };\n\n return (\n <Table\n uniqueKey=\"token\"\n columns={tableColumns}\n data={allCustomFields}\n selectedItems={selectedItems}\n onSelectItems={onSelectItems}\n sortColumn={sortData.column}\n sortDirection={sortData.direction}\n onSort={handleSortByColumn}\n containerStyle={styles.table}\n isDroppingDisabled={ui.isUpdatingPositions}\n onDragEnd={onDragEnd}\n droppableId=\"droppable-custom-fields\"\n isCheckboxPresent\n preserveCheckboxes\n withDragNDrop\n >\n <DraggableItem keyName=\"displayOrder\" />\n <Column keyName=\"name\" />\n <Column keyName=\"description\">\n {description => (\n <TrimTextItem textToTrim={description} maxTextLength={DESCRIPTION_MAX_LIMIT} />\n )}\n </Column>\n <Column keyName=\"fieldType\">{fieldType => getFieldTypeDescription(fieldType)}</Column>\n <Column keyName=\"required\">{getRequiredDescription}</Column>\n <DateItem keyName=\"createdAt\" id=\"createdAt\" />\n <Column keyName=\"actions\">{renderRowActions}</Column>\n </Table>\n );\n}\n\nFieldsTable.propTypes = {\n sort: sortShape.isRequired,\n ui: uiShape.isRequired,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n allCustomFields: PropTypes.arrayOf(allCustomFieldsItemShape).isRequired,\n selectedItems: PropTypes.arrayOf(customFieldShape).isRequired,\n renderRowActions: PropTypes.func.isRequired,\n onSelectItems: PropTypes.func.isRequired,\n handleSortByColumn: PropTypes.func.isRequired,\n onUpdatePosition: PropTypes.func.isRequired,\n};\n\nexport default FieldsTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport Button from 'components/core/Button';\n\nimport styles from '../../styles.module.scss';\n\nexport default function EditButton({ onClick, isEnabled, children }) {\n const Control = (\n <Button\n theme=\"secondary\"\n size=\"small\"\n type=\"button\"\n onClick={onClick}\n className={styles.actionBtn}\n disabled={!isEnabled}\n >\n {children}\n </Button>\n );\n const Hint = (\n <p className={styles.tooltipText}>\n Editing is disabled because this field already has values.\n </p>\n );\n\n if (isEnabled) {\n return Control;\n }\n\n return (\n <Tooltip\n className={classNames(styles.tooltipWrapper, styles.tooltipContainer)}\n content={Hint}\n placement=\"bottom\"\n interactive\n appendTo={document.body}\n >\n <span tabIndex=\"0\">\n {Control}\n </span>\n </Tooltip>\n );\n}\n\nEditButton.propTypes = {\n onClick: PropTypes.func.isRequired,\n isEnabled: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n};\n","export const ENABLED_OPTIONS = [\n { label: 'Enabled', value: true },\n { label: 'Disabled', value: false },\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, find } from 'lodash';\nimport classNames from 'classnames';\n\nimport Card from 'components/core/Card';\nimport Modal from 'components/core/Modal';\nimport Button from 'components/core/Button';\nimport Paginator from 'components/core/Paginator';\nimport Select from 'components/core/Select';\nimport withCustomField from 'components/core/CustomFields/utils/withCustomField';\nimport useTable from 'components/core/CustomFields/components/TableView/useTable';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport {\n uiShape,\n allCustomFieldsItemShape,\n customFieldShape,\n} from '../../utils/shapes';\nimport { PRODUCT_SLUGS } from '../../utils/constants';\nimport MobileCardView from '../MobileCardView';\nimport MobileCardViewPlaceholder from '../MobileCardView/components/Placeholder';\nimport EditForm from './components/EditForm';\nimport CardButtonGroup from './components/CardButtonGroup';\nimport FooterActions from './components/FooterActions';\nimport FieldsTable from './components/FieldsTable';\nimport EditButton from './components/EditButton';\nimport { ENABLED_OPTIONS } from './utils/constants';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n ui,\n customField,\n allCustomFields,\n updateCustomField,\n paginator,\n updatePosition,\n ...restProps\n}) {\n const { isLoadingCustomFields, isEnabled, availableIn } = ui;\n const {\n isEditModal,\n selectedItems,\n handleOpenEditForm,\n handleFieldStatus,\n handleSelectItems,\n handleDisableItems,\n handleEnableItems,\n handleClearSelectedItems,\n toggleEditModal,\n sort,\n handleSortByColumn,\n handleChangePage,\n isPaginatorPresent,\n handleSelectChange,\n handlePositionChange,\n handleChangeAvailableIn,\n } = useTable({\n isEnabled,\n isLoadingCustomFields,\n paginator,\n updatePosition,\n availableIn,\n ...restProps,\n });\n const { isDesktop } = useMediaQuery();\n\n function renderRowActions(action) {\n const { token, enabled, editable } = action;\n return (\n <div className={styles.actions}>\n <EditButton\n onClick={handleOpenEditForm(token)}\n isEnabled={editable}\n >\n Edit\n </EditButton>\n <Button\n theme=\"tertiary\"\n size=\"small\"\n onClick={handleFieldStatus(action)}\n className={styles.actionBtn}\n >\n {enabled ? 'Disable' : 'Enable'}\n </Button>\n </div>\n );\n }\n\n function handlePaginatorChangePage(page) {\n handleChangePage(page);\n }\n\n function renderMobileCard() {\n if (isLoadingCustomFields) {\n return <MobileCardViewPlaceholder />;\n }\n\n return (\n <MobileCardView\n data={allCustomFields}\n renderRowActions={renderRowActions}\n />\n );\n }\n\n function renderPaginator(isMobile) {\n if (!isPaginatorPresent) {\n return null;\n }\n\n const { current, total, totalCount, pageSize } = paginator;\n return (\n <Paginator\n current={current}\n total={total}\n pageSize={pageSize}\n isLoading={isLoadingCustomFields}\n isMobile={isMobile}\n totalItems={totalCount}\n onChange={handlePaginatorChangePage}\n />\n );\n }\n\n const formatOptionLabel = ({ label }, { context }) => (\n context === 'value' ? <span><b>Showing:</b> {label}</span> : label\n );\n\n const headerNodes = (\n <>\n <Select\n hasNewStyle\n value={find(ENABLED_OPTIONS, { value: isEnabled })}\n options={ENABLED_OPTIONS}\n clearable={false}\n searchable={false}\n onChange={handleSelectChange}\n className={classNames(styles.selectEnabled, 'custom-fields__enabled')}\n isDisabled={isLoadingCustomFields}\n formatOptionLabel={formatOptionLabel}\n />\n <CardButtonGroup\n isEnabled={availableIn === PRODUCT_SLUGS.GRM}\n setIsDisable={handleChangeAvailableIn(PRODUCT_SLUGS.STAKEHOLDER_MGMT)}\n setIsEnable={handleChangeAvailableIn(PRODUCT_SLUGS.GRM)}\n enabledLabel=\"Activity\"\n disabledLabel={isDesktop ? 'Stakeholder management' : 'Stakeholder'}\n />\n </>\n );\n\n return (\n <section className={styles.customFields}>\n <h4>Manage Custom Fields</h4>\n <Card\n className={styles.tableCard}\n headerNodes={headerNodes}\n headerNodeWrapperClassName={styles.headerNodes}\n >\n <div className={styles.table}>\n <FieldsTable\n sort={sort}\n ui={ui}\n fetchCustomFields={restProps.fetchCustomFields}\n isLoadingCustomFields={isLoadingCustomFields}\n allCustomFields={allCustomFields}\n selectedItems={selectedItems}\n renderRowActions={renderRowActions}\n onSelectItems={handleSelectItems}\n handleSortByColumn={handleSortByColumn}\n onUpdatePosition={handlePositionChange}\n />\n <FooterActions\n ui={ui}\n selectedItems={selectedItems}\n onClear={handleClearSelectedItems}\n onDisable={handleDisableItems}\n onEnable={handleEnableItems}\n />\n {renderPaginator(false)}\n </div>\n\n <div className={styles.mobileCard}>\n {renderMobileCard()}\n {renderPaginator(true)}\n </div>\n </Card>\n\n <Modal\n title={isEmpty(customField) ? 'Edit Custom Field' : `Edit: ${customField.name}`}\n isOpen={isEditModal}\n toggleOpen={toggleEditModal}\n theme=\"scrollable\"\n >\n <EditForm\n ui={ui}\n customField={customField}\n toggleModal={toggleEditModal}\n updateCustomField={updateCustomField}\n />\n </Modal>\n </section>\n );\n}\n\nTableView.propTypes = {\n ui: uiShape.isRequired,\n allCustomFields: PropTypes.arrayOf(allCustomFieldsItemShape).isRequired,\n customField: customFieldShape.isRequired,\n updateCustomField: PropTypes.func.isRequired,\n paginator: paginatorShape,\n updatePosition: PropTypes.func.isRequired,\n};\n\nexport default withCustomField(TableView);\n","import React, { useState } from 'react';\n\nimport DatePicker from 'components/core/DatePicker';\n\nimport styles from '../styles.module.scss';\n\nfunction PreviewDateInput() {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const handleChange = date => setSelectedDate(date);\n\n return (\n <DatePicker\n selected={selectedDate}\n onChange={handleChange}\n iconPosition=\"right\"\n className={styles.datePicker}\n />\n );\n}\n\nexport default PreviewDateInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Input from 'components/core/Input';\nimport Textarea from 'components/core/Textarea';\nimport Checkbox from 'components/core/Checkbox';\nimport RadioBox from 'components/core/RadioBox';\nimport LabelGroup from 'components/core/LabelGroup';\nimport Select from 'components/core/Select';\nimport {\n CHECKBOX_TYPE_SLUG,\n INPUT_TYPE_SLUG,\n NUMERIC_TYPE_SLUG,\n OPTION_PLACEHOLDER,\n RADIO_TYPE_SLUG,\n TEXTAREA_TYPE_SLUG,\n DATE_TYPE_SLUG,\n AUTOCOMPLETE_SLUG,\n} from 'components/core/CustomFields/utils/constants';\nimport { optionShape } from 'components/core/CustomFields/utils/shapes';\nimport getStyle from 'components/core/TagInput/theme';\n\nimport PreviewDateInput from './PreviewDateInput';\nimport styles from '../styles.module.scss';\n\nfunction PreviewInput({ slug, options }) {\n const formatAutocompleteOptions = () => options.map(\n ({ value }, index) => ({ value: index, label: value || OPTION_PLACEHOLDER })\n );\n\n const { [slug]: previewNode } = {\n [INPUT_TYPE_SLUG]: <Input type=\"text\" />,\n [NUMERIC_TYPE_SLUG]: <Input type=\"number\" />,\n [TEXTAREA_TYPE_SLUG]: <Textarea />,\n [DATE_TYPE_SLUG]: <PreviewDateInput />,\n [CHECKBOX_TYPE_SLUG]: (\n <LabelGroup containerClassName={styles.options}>\n {options.map(({ value }, index) => (\n <Checkbox\n // at this point we might not have a unique value to use as key\n // eslint-disable-next-line react/no-array-index-key\n key={`checkbox-option-${index}`}\n label={value || OPTION_PLACEHOLDER}\n theme=\"light\"\n className={classNames(styles.previewOption, !value && styles.optionPlaceholder)}\n />\n ))}\n </LabelGroup>\n ),\n [RADIO_TYPE_SLUG]: (\n <LabelGroup containerClassName={styles.options}>\n {options.map(({ value }, index) => (\n <RadioBox\n // eslint-disable-next-line react/no-array-index-key\n key={`radio-option-${index}`}\n name=\"value\"\n theme=\"light\"\n label={value || OPTION_PLACEHOLDER}\n className={classNames(styles.previewOption, !value && styles.optionPlaceholder)}\n />\n ))}\n </LabelGroup>\n ),\n [AUTOCOMPLETE_SLUG]: <Select customTheme={getStyle()} options={formatAutocompleteOptions()} />,\n };\n\n return previewNode;\n}\n\nPreviewInput.propTypes = {\n slug: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(optionShape),\n};\n\nexport default PreviewInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { NAME_PLACEHOLDER } from 'components/core/CustomFields/utils/constants';\nimport withCustomField from 'components/core/CustomFields/utils/withCustomField';\nimport { fieldTypeShape, optionShape } from 'components/core/CustomFields/utils/shapes';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport Asterisk from 'components/core/Asterisk';\n\nimport PreviewInput from './PreviewInput';\nimport styles from '../styles.module.scss';\n\nfunction PreviewContent({ fieldName, fieldDescription, fieldType, options, required }) {\n return (\n <>\n <p\n className={classNames(\n !fieldName && styles.placeholder,\n fieldName && styles.label\n )}\n >\n {fieldName || NAME_PLACEHOLDER} <Asterisk show={required} />\n </p>\n <div\n className={classNames(\n !fieldDescription && styles.placeholder,\n fieldDescription && styles.label\n )}\n >\n <TextInputPlaceholder className={styles.placeholder}>{fieldDescription}</TextInputPlaceholder>\n </div>\n\n <PreviewInput\n slug={fieldType.value}\n options={options}\n />\n </>\n );\n}\n\nPreviewContent.propTypes = {\n fieldName: PropTypes.string.isRequired,\n fieldDescription: PropTypes.string.isRequired,\n fieldType: fieldTypeShape,\n options: PropTypes.arrayOf(optionShape),\n required: PropTypes.bool.isRequired,\n};\n\nexport default withCustomField(PreviewContent);\n","import React from 'react';\n\nimport Label from 'components/core/Label';\nimport Card from 'components/core/Card';\n\nimport PreviewContent from './components/PreviewContent';\nimport { isEmptyFieldType } from '../../utils';\nimport { fieldTypeShape } from '../../utils/shapes';\nimport withCustomField from '../../utils/withCustomField';\nimport styles from './styles.module.scss';\n\nfunction PreviewFields({ fieldType }) {\n const Title = <Label theme=\"light\">Custom Field Preview</Label>;\n\n if (isEmptyFieldType(fieldType)) {\n return (\n <div className={styles.preview}>\n {Title}\n <div className={styles.content}>\n <p>Nothing to preview</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className={styles.preview}>\n {Title}\n\n <Card className={styles.card}>\n <PreviewContent />\n </Card>\n </div>\n );\n}\n\nPreviewFields.propTypes = {\n fieldType: fieldTypeShape.isRequired,\n};\n\nexport default withCustomField(PreviewFields);\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Card from 'components/core/Card';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\nimport Loader from 'components/core/Loader';\nimport { CustomFieldsContext } from 'components/core/CustomFields/utils/withCustomField';\nimport { isEmptyFieldType } from 'components/core/CustomFields/utils';\nimport { paginatorShape } from 'components/core/Paginator/shapes';\n\nimport {\n uiShape,\n allCustomFieldsItemShape,\n customFieldShape,\n valuesShape,\n errorsShape,\n touchedShape,\n} from '../../utils/shapes';\nimport TableView from '../TableView';\nimport FieldsData from '../FieldsData';\nimport FieldsOptions from '../FieldsOptions';\nimport PreviewFields from '../PreviewFields';\nimport PreviewContent from '../PreviewFields/components/PreviewContent';\nimport styles from './styles.module.scss';\n\nfunction Form({\n ui,\n allCustomFields,\n customField,\n fetchCustomFields,\n getCustomFieldByToken,\n createCustomField,\n updateCustomField,\n toggleCustomFieldStatus,\n values,\n touched,\n errors,\n setFieldValue,\n handleReset,\n handleChange,\n handleSubmit,\n handleBlur,\n paginator,\n updatePosition,\n}) {\n const [isPreviewModal, setIsPreviewModal] = useState(false);\n const { isSavingCustomField } = ui;\n\n function togglePreviewModal() {\n setIsPreviewModal(!isPreviewModal);\n }\n\n const loader = <Loader size=\"small\" theme=\"light\" className={styles.loadingBtn} />;\n const actions = (\n <>\n <Button\n type=\"reset\"\n theme=\"light\"\n size=\"small\"\n onClick={handleReset}\n className={styles.actionBtn}\n disabled={isSavingCustomField}\n >\n Cancel\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n className={styles.actionBtn}\n disabled={isSavingCustomField}\n >\n {isSavingCustomField ? loader : 'Create'}\n </Button>\n </>\n );\n\n const previewBtn = (!isEmptyFieldType(values.fieldType) && (\n <Button\n type=\"button\"\n size=\"small\"\n theme=\"secondary\"\n className={styles.previewBtn}\n onClick={togglePreviewModal}\n >\n Preview\n </Button>\n ));\n\n const fieldsContext = {\n ui,\n allCustomFields,\n customField,\n fetchCustomFields,\n getCustomFieldByToken,\n createCustomField,\n updateCustomField,\n toggleCustomFieldStatus,\n setFieldValue,\n handleChange,\n handleBlur,\n handleReset,\n formState: { errors, touched },\n paginator,\n updatePosition,\n ...values,\n };\n\n return (\n <div className={styles.container}>\n <form onSubmit={handleSubmit}>\n <Card\n title=\"New Custom Fields\"\n headerNodes={previewBtn}\n footerNodes={actions}\n >\n <CustomFieldsContext.Provider value={fieldsContext}>\n <div className={styles.layout}>\n <div className={styles.form}>\n <FieldsData />\n {!isEmptyFieldType(values.fieldType) && <hr />}\n <FieldsOptions />\n </div>\n\n <PreviewFields />\n </div>\n\n <Modal\n title=\"Preview\"\n isOpen={isPreviewModal}\n toggleOpen={togglePreviewModal}\n >\n <PreviewContent />\n </Modal>\n </CustomFieldsContext.Provider>\n </Card>\n </form>\n\n <CustomFieldsContext.Provider value={fieldsContext}>\n <TableView />\n </CustomFieldsContext.Provider>\n </div>\n );\n}\n\nForm.propTypes = {\n ui: uiShape.isRequired,\n allCustomFields: PropTypes.arrayOf(allCustomFieldsItemShape),\n customField: customFieldShape,\n fetchCustomFields: PropTypes.func.isRequired,\n getCustomFieldByToken: PropTypes.func.isRequired,\n createCustomField: PropTypes.func.isRequired,\n updateCustomField: PropTypes.func.isRequired,\n toggleCustomFieldStatus: PropTypes.func.isRequired,\n values: valuesShape,\n errors: errorsShape,\n touched: touchedShape,\n setFieldValue: PropTypes.func.isRequired,\n handleReset: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n paginator: paginatorShape,\n updatePosition: PropTypes.func.isRequired,\n};\n\nexport default Form;\n","import { withFormik } from 'formik';\nimport map from 'lodash/map';\n\nimport validationSchema from 'components/core/CustomFields/utils/validationSchema';\nimport Notifications from 'components/core/CustomFields/utils/notifications';\n\nimport Form from '../Form';\n\nconst initialValues = {\n fieldName: '',\n fieldType: {\n value: '',\n },\n productSlugs: [],\n fieldDescription: '',\n question: '',\n options: [],\n initialOptionsLength: 0,\n required: false,\n};\n\nfunction onResetForm(values, actions) {\n actions.resetForm(initialValues);\n}\n\nfunction onSubmitForm(values, actions) {\n const { createCustomField, resetLoadingFields } = actions.props;\n\n const payload = {\n custom_field: {\n name: values.fieldName,\n product_slugs: map(values.productSlugs, 'value'),\n field_type: values.fieldType.value,\n description: values.fieldDescription,\n question: values.question,\n options: map(values.options, ({ value }) => ({\n old_value: null,\n new_value: value,\n })),\n required: values.required,\n },\n };\n\n createCustomField(payload, actions.resetForm)\n .then(Notifications.customFieldSaved)\n .catch(() => {\n Notifications.customFieldFailed();\n resetLoadingFields();\n });\n}\n\nconst Container = withFormik({\n validationSchema,\n mapPropsToValues: () => initialValues,\n enableReinitialize: true,\n handleReset: onResetForm,\n handleSubmit: onSubmitForm,\n})(Form);\n\nexport default Container;\n","import React from 'react';\nimport { bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\n\nimport store from 'redux/store';\nimport * as actions from 'redux/customFields/actions';\n\nimport Container from './components/Container';\n\nfunction mapStateToProps(state) {\n return { ...state.customFields };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(actions, dispatch);\n}\n\nconst ConnectedContainer = connect(mapStateToProps, mapDispatchToProps)(Container);\n\nexport default function CustomFields(props) {\n return (\n <Provider store={store}>\n <ConnectedContainer {...props} />\n </Provider>\n );\n}\n","import { isEmpty } from 'lodash';\n\nexport const CommentsRepository = comments => ({\n deleteById: commentId => (\n comments.filter(comment => comment.id !== commentId)\n ),\n updateComment: (updatedComment) => {\n const replaceComment = comment => (\n comment.id === updatedComment.id\n ? updatedComment\n : comment\n );\n\n return comments.map(replaceComment);\n },\n prependComments: newComment => ([\n ...newComment,\n ...comments,\n ]),\n appendComments: newComments => ([\n ...comments,\n ...newComments,\n ]),\n getOldestCreatedAt: () => (\n isEmpty(comments) ? undefined : comments[comments.length - 1].createdAt\n ),\n});\n","import { useState, useEffect } from 'react';\n\nimport {\n fetchComments,\n saveComment,\n updateComment,\n deleteComment,\n transformCommentForUI,\n} from '../api';\nimport { CommentsRepository } from './index';\n\nconst useComments = ({\n parentId,\n parentType,\n onBeforeLoadComments,\n onLoadComments,\n onSaveComment,\n onUpdateComment,\n onDeleteComment,\n shouldLoadAllComments,\n}) => {\n const [comments, setComments] = useState([]);\n const [hasMoreToLoad, setHasMoreToLoad] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const handleLoadComments = () => {\n setIsLoading(true);\n onBeforeLoadComments && onBeforeLoadComments();\n // in order to avoid problem with duplicates after fetching due to new comments between two fetches,\n // we don't use pagination, instead we fetch the comments older than the oldest comment already loaded\n const oldestCreatedAt = CommentsRepository(comments).getOldestCreatedAt();\n\n fetchComments({\n parentId,\n parentType,\n createdAtBefore: oldestCreatedAt,\n shouldLoadAllComments,\n })\n .then((response) => {\n const { data: newComments, next_page: nextPage } = response;\n const responseComments = newComments.map(transformCommentForUI);\n\n setHasMoreToLoad(!!nextPage);\n setComments(CommentsRepository(comments).appendComments(responseComments));\n\n onLoadComments && onLoadComments(response);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n useEffect(() => {\n setComments([]);\n handleLoadComments();\n }, [parentId]);\n\n const handleSaveComment = (comment) => {\n setIsSaving(true);\n\n return saveComment(comment)\n .then((response) => {\n const responseComment = transformCommentForUI(response);\n\n setComments(CommentsRepository(comments).prependComments([responseComment]));\n\n onSaveComment && onSaveComment(response, comment.mentions);\n })\n .finally(() => {\n setIsSaving(false);\n });\n };\n\n const handleUpdateComment = comment => (\n updateComment(comment)\n .then((response) => {\n const responseComment = transformCommentForUI(response);\n\n setComments(CommentsRepository(comments).updateComment(responseComment));\n\n onUpdateComment && onUpdateComment(response, comment.mentions);\n }));\n\n const handleDeleteComment = commentId => (\n deleteComment(commentId)\n .then((response) => {\n setComments(CommentsRepository(comments).deleteById(commentId));\n\n onDeleteComment && onDeleteComment(response);\n }));\n\n return {\n comments,\n hasMoreToLoad,\n isSaving,\n isLoading,\n handleLoadComments,\n handleSaveComment,\n handleUpdateComment,\n handleDeleteComment,\n };\n};\n\nexport default useComments;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport useComments from './utils/useComments';\nimport Comment from './components/Comment';\nimport NewComment from './components/NewComment';\nimport styles from './styles.module.scss';\n\nfunction Comments({\n className,\n parentId,\n parentType,\n highlightedCommentId,\n highlightedParentId,\n shouldLoadAllComments,\n onBeforeLoadComments,\n onLoadComments,\n onSaveComment,\n onUpdateComment,\n onDeleteComment,\n onBeforeLoadReplies,\n onLoadReplies,\n onSaveReply,\n onUpdateReply,\n onDeleteReply,\n}) {\n const {\n comments,\n hasMoreToLoad,\n isSaving,\n isLoading,\n handleLoadComments,\n handleSaveComment,\n handleUpdateComment,\n handleDeleteComment,\n } = useComments({\n parentId,\n parentType,\n onBeforeLoadComments,\n onLoadComments,\n onSaveComment,\n onUpdateComment,\n onDeleteComment,\n shouldLoadAllComments,\n });\n\n const shouldLoadReplies = commentId => (\n shouldLoadAllComments && Number(highlightedParentId || highlightedCommentId) === commentId\n );\n\n return (\n <div className={className}>\n <NewComment\n parentId={parentId}\n parentType={parentType}\n isPosting={isSaving}\n onPost={handleSaveComment}\n />\n {comments.map(comment => (\n <Comment\n comment={comment}\n key={comment.id}\n onEdit={handleUpdateComment}\n onDelete={handleDeleteComment}\n highlightedCommentId={highlightedCommentId}\n shouldLoadAllComments={shouldLoadReplies(comment.id)}\n onBeforeLoadReplies={onBeforeLoadReplies}\n onLoadReplies={onLoadReplies}\n onSaveReply={onSaveReply}\n onUpdateReply={onUpdateReply}\n onDeleteReply={onDeleteReply}\n />\n ))}\n {hasMoreToLoad && (\n <Button\n theme=\"tableLink\"\n className={styles.loadMore}\n onClick={handleLoadComments}\n disabled={isLoading}\n >\n Load more comments\n {isLoading && <Loader size=\"small\" onlyIcon className={styles.loader} />}\n </Button>\n )}\n </div>\n );\n}\n\nComments.defaultProps = {\n shouldLoadAllComments: false,\n};\n\nComments.propTypes = {\n className: PropTypes.string,\n parentId: PropTypes.number.isRequired,\n parentType: PropTypes.string.isRequired,\n highlightedCommentId: PropTypes.string,\n highlightedParentId: PropTypes.string,\n shouldLoadAllComments: PropTypes.bool,\n onBeforeLoadComments: PropTypes.func,\n onLoadComments: PropTypes.func,\n onSaveComment: PropTypes.func,\n onUpdateComment: PropTypes.func,\n onDeleteComment: PropTypes.func,\n onBeforeLoadReplies: PropTypes.func,\n onLoadReplies: PropTypes.func,\n onSaveReply: PropTypes.func,\n onUpdateReply: PropTypes.func,\n onDeleteReply: PropTypes.func,\n};\n\nexport default Comments;\n","export const handleDragOver = (event) => {\n event.stopPropagation();\n event.preventDefault();\n};\n\nexport const handleDrop = handleChange => (event) => {\n handleChange(event.dataTransfer.files);\n handleDragOver(event);\n};\n\nexport const handleUploadClick = (handleChange, setProgress, setFailures) => () => {\n const input = document.createElement('input');\n input.type = 'file';\n input.multiple = true;\n input.style.display = 'none';\n document.body.appendChild(input);\n input.onchange = event => handleChange(event.target.files, setProgress, setFailures);\n input.click();\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport { formatBytes, getProgress, createFileId } from './utils';\nimport styles from './styles.module.scss';\nimport {\n handleUploadClick,\n} from './handlers';\n\nfunction FileUpload({\n alreadyAddedFiles,\n filesUploaded,\n filesAdded,\n addFiles,\n deleteFile,\n emptyState,\n onChange,\n className,\n btnClassName,\n listClassName,\n}) {\n const [progress, setProgress] = useState({});\n const [failures, setFailures] = useState({});\n\n useEffect(() => {\n onChange(filesUploaded);\n }, [filesUploaded]);\n\n useEffect(() => {\n alreadyAddedFiles && alreadyAddedFiles.length && filesAdded(alreadyAddedFiles);\n return () => {\n emptyState();\n };\n }, []);\n\n // eslint-disable-next-line\n const renderFileName = ({ file_upload_url: url, name, size }) => {\n if (!isEmpty(url)) {\n return (\n <div>\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {name}\n </a>\n </div>\n );\n }\n const failedMessage = failures[createFileId({ name, size })] ? '(failed upload) ' : '';\n return <div>{failedMessage}{name}</div>;\n };\n\n // eslint-disable-next-line\n const renderFileSize = ({ size }) => (<div> ({formatBytes(size)})</div>)\n const uploadIcon = (<i className=\"far fa-paperclip\" />);\n\n const handleDeleteClick = index => () => deleteFile(index);\n const errorClassName = key => failures[key] && styles.withError;\n\n const btnClassNames = classNames(\n styles.uploadBtn,\n btnClassName\n );\n const listClassNames = classNames(\n styles.uploadedList,\n listClassName\n );\n\n const renderUploadedList = (filesList) => {\n if (isEmpty(filesList)) {\n return null;\n }\n\n return (\n <div className={listClassNames}>\n {filesList.map((file, index) => (\n <div key={createFileId(file)}>\n <div\n className={styles.progressBar}\n style={{ width: `${getProgress(progress, file)}%` }}\n />\n <div className={classNames(styles.fileName, errorClassName(createFileId(file)))}>\n {renderFileName(file)}\n {renderFileSize(file)}\n </div>\n <div\n role=\"button\"\n onClick={handleDeleteClick(index)}\n >\n <i className=\"fal fa-times\" />\n </div>\n </div>\n )).reverse()}\n </div>\n );\n };\n\n return (\n <div className={classNames(styles.container, className)}>\n <Button\n onClick={handleUploadClick(addFiles, setProgress, setFailures)}\n customIcon={uploadIcon}\n theme=\"link\"\n className={btnClassNames}\n iconClassName={styles.uploadIcon}\n >\n Add attachment\n </Button>\n {renderUploadedList(filesUploaded)}\n </div>\n );\n}\n\nFileUpload.propTypes = {\n alreadyAddedFiles: PropTypes.array,\n filesUploaded: PropTypes.array.isRequired,\n addFiles: PropTypes.func.isRequired,\n deleteFile: PropTypes.func.isRequired,\n emptyState: PropTypes.func.isRequired,\n filesAdded: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n btnClassName: PropTypes.string,\n listClassName: PropTypes.string,\n};\n\nexport default FileUpload;\n","import reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/fileUpload/actions';\n\nimport Container from './Container';\n\nconst connectStore = reduxConnect('fileUpload', actions);\n\nexport default connectStore(Container);\n","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Input from 'components/core/Input';\n\nimport styles from './styles.module.scss';\n\nconst TimePickerInput = forwardRef(({ isDisabled, customClassName, ...restProps }, ref) => {\n const iconStyles = classNames('fas fa-clock', styles.icon);\n\n return (\n <span>\n <i className={iconStyles} />\n <Input\n ref={ref}\n {...restProps}\n disabled={isDisabled}\n className={classNames(styles.input, customClassName)}\n />\n </span>\n );\n});\n\nTimePickerInput.propTypes = {\n isDisabled: PropTypes.bool,\n customClassName: PropTypes.string,\n ref: PropTypes.func,\n};\n\nexport default TimePickerInput;\n","export const TIME_FORMAT = 'h:mm a';\n","import React from 'react';\nimport ReactDatePicker from 'react-datepicker';\nimport PropTypes from 'prop-types';\n\nimport TimePickerInput from './components/TimePickerInput';\n\nimport { TIME_FORMAT } from './constants';\nimport styles from './styles.module.scss';\n\nfunction TimePicker({\n placeholder,\n value,\n onChange,\n className,\n interval,\n isDisabled,\n ...restProps\n}) {\n return (\n <span className={styles.tooltip}>\n <ReactDatePicker\n {...restProps}\n showTimeSelect\n showTimeSelectOnly\n timeIntervals={interval}\n dateFormat={TIME_FORMAT}\n customInput={<TimePickerInput customClassName={className} isDisabled={isDisabled} />}\n placeholderText={placeholder}\n selected={value}\n onChange={onChange}\n />\n </span>\n );\n}\n\nTimePicker.propTypes = {\n placeholder: PropTypes.string,\n value: PropTypes.instanceOf(Date),\n interval: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n isDisabled: PropTypes.bool,\n className: PropTypes.string,\n};\n\nTimePicker.defaultProps = {\n value: null,\n interval: 15,\n isDisabled: false,\n placeholder: TIME_FORMAT.toUpperCase(),\n};\n\nexport default TimePicker;\n","import PropTypes from 'prop-types';\n\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { stringNumberType } from 'utils/shapes';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\n\nexport const itemShape = PropTypes.shape({\n id: stringNumberType.isRequired,\n url: PropTypes.string,\n documentType: PropTypes.string,\n title: PropTypes.string,\n itemType: PropTypes.string,\n tags: PropTypes.arrayOf(tagShape),\n trackings: PropTypes.arrayOf(trackingShape),\n withTrack: PropTypes.bool.isRequired,\n});\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { POSITION_BUTTON_RECORD_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport Actions from 'components/core/Profile/components/Actions';\nimport ButtonTagManager from 'components/core/ButtonTagManager';\nimport ButtonShare from 'components/core/ButtonShare';\nimport { Column } from 'components/core/Table';\n\nimport CallToActions from '../CallToActions';\nimport { itemShape } from './utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction ActionsItem({\n item,\n isColumn,\n keyName,\n onSaveTags,\n updateDataItem,\n defaultSubscription,\n shouldDisplayTrackIcon,\n withBadges,\n}) {\n const {\n id,\n url,\n documentType,\n title,\n itemType,\n tags = [],\n trackings,\n } = item || {};\n const callToActionsProps = {\n id,\n itemType,\n isMobile: false,\n withTrack: true,\n defaultSubscription,\n shouldDisplayIcon: shouldDisplayTrackIcon,\n positionClassName: styles.positionContainer,\n placeholderClassName: styles.positionPlaceholder,\n containerClassName: styles.callToActionsContainer,\n documentType: POSITION_BUTTON_RECORD_TYPES[documentType],\n onUpdateTrackings: updateDataItem,\n withBadges,\n trackings,\n };\n\n const options = [\n {\n id: 'tag',\n component: (\n <ButtonTagManager\n autoload\n theme=\"light\"\n tags={tags}\n recordId={id}\n recordType={documentType}\n itemType={itemType}\n buttonClassName={styles.linkButton}\n onSaveTags={onSaveTags}\n updateDataItem={updateDataItem}\n />\n ),\n },\n {\n id: 'share',\n component: (\n <ButtonShare\n withModal\n theme=\"light\"\n recordId={id}\n recordType={documentType}\n itemType={itemType}\n itemUrl={url}\n itemName={title}\n className={styles.linkButton}\n />\n ),\n },\n ];\n\n const renderActions = () => {\n if (!id) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n <CallToActions\n {...callToActionsProps}\n onUpdateTrackings={updateDataItem}\n withPosition\n />\n\n <Actions\n theme=\"secondary\"\n options={options}\n />\n </div>\n );\n };\n\n if (!isColumn) {\n return renderActions();\n }\n\n return (\n <Column key={keyName} keyName={keyName}>{renderActions}</Column>\n );\n}\n\nActionsItem.defaultProps = {\n isColumn: true,\n keyName: 'actions',\n shouldDisplayTrackIcon: false,\n};\n\nActionsItem.propTypes = {\n keyName: PropTypes.string,\n item: itemShape.isRequired,\n isMobile: PropTypes.bool,\n isColumn: PropTypes.bool,\n isLoadingSubscriptions: PropTypes.bool,\n defaultSubscription: PropTypes.string,\n onSaveTags: PropTypes.func,\n updateDataItem: PropTypes.func,\n withWeekAheadEmail: PropTypes.bool,\n shouldDisplayTrackIcon: PropTypes.bool,\n withBadges: PropTypes.bool,\n};\n\nexport default memo(ActionsItem);\n","import PropTypes from 'prop-types';\n\nimport { NUMBER_COLUMN_ID, STRING_COLUMN_ID } from './constants';\n\nexport const valueTypeShape = PropTypes.oneOf([\n NUMBER_COLUMN_ID,\n STRING_COLUMN_ID,\n]);\n","import PropTypes from 'prop-types';\n\nexport const isOpenShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.bool,\n});\n","import PropTypes from 'prop-types';\n\nexport const disclaimerPropsShape = PropTypes.shape({\n title: PropTypes.string,\n className: PropTypes.string,\n content: PropTypes.node,\n withButtons: PropTypes.bool,\n modalTheme: PropTypes.string,\n});\n","import { isEmpty, cloneDeep } from 'lodash';\n\nexport function transformFirstOption(params = {}) {\n const { defaultComponentData, componentData, item } = params;\n\n return {\n ...componentData,\n firstOption: item,\n secondOption: defaultComponentData.secondOption,\n };\n}\n\nexport function transformSecondOption(params = {}) {\n const { componentData, item } = params;\n\n return { ...componentData, secondOption: item };\n}\n\nexport function transformFinalData(params = {}) {\n const { componentData, filter } = params;\n const { firstOption, secondOption } = componentData || {};\n\n return {\n ...cloneDeep(filter),\n operator: firstOption,\n value: secondOption,\n };\n}\n\nexport function transformSuggesterValue(link) {\n return !isEmpty(link) ? link : null;\n}\n\nexport function getInitialComponentData(obj = {}, defaultComponentData = {}) {\n const { firstOption, secondOption, addons: defaultAddons } = defaultComponentData;\n const { options, operator, value } = obj;\n const { toType, toValue, addons: optionsAddons } = options || {};\n\n if (options && Object.entries(options).length > 0) {\n return {\n firstOption: toType,\n secondOption: toValue,\n addons: optionsAddons,\n };\n }\n\n if (operator && value) {\n return {\n firstOption: operator,\n secondOption: value,\n addons: optionsAddons,\n };\n }\n\n return {\n firstOption,\n secondOption,\n addons: defaultAddons,\n };\n}\n\nexport function filterTools({\n defaultComponentData = { firstOption: {}, secondOption: [] },\n suggester,\n filter,\n}) {\n const initialComponentData = getInitialComponentData(filter, defaultComponentData);\n const handleFirstTransform = params => transformFirstOption({ ...params, defaultComponentData });\n const handleDataTransform = params => transformFinalData({ ...params, filter });\n const handleSecondSuggester = () => transformSuggesterValue(suggester);\n\n return {\n initialComponentData,\n handleFirstTransform,\n handleSecondSuggester,\n handleDataTransform,\n };\n}\n","import React from 'react';\n\nexport const LookupContext = React.createContext();\n\nfunction withLookup(Component) {\n return function PageLookupComponent(props) {\n return (\n <LookupContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </LookupContext.Consumer>\n );\n };\n}\n\nexport default withLookup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport ActionBar from 'components/core/ActionBar';\nimport Loader from 'components/core/Loader';\nimport { getEmailsLink } from 'utils/emails';\n\nimport Notifications from '../../../utils/Notifications';\nimport withLookup from '../../../utils/withLookup';\nimport styles from '../styles.module.scss';\n\nfunction FooterActions({\n ui,\n dataLookup,\n tracking,\n actions,\n fetchData,\n onClear,\n ActionBarButtons,\n renderActionBarButtons,\n ...restProps\n}) {\n const { isLoadingExports } = ui;\n const { selectedItems } = restProps;\n const { allData, appliedFilters, areEmptyEmails = false } = dataLookup;\n const { submitExport } = actions;\n const { trackResultsExported, trackResultEmailed } = tracking;\n\n const actionBarProps = {\n ...restProps,\n className: styles.actionBar,\n };\n\n const btnProps = {\n theme: 'light',\n size: 'medium',\n };\n\n function handleEmailAll(event) {\n event.preventDefault();\n getEmailsLink({ data: allData, selectedItems, trackResultEmailed });\n }\n\n function handleExportAll(event) {\n event.preventDefault();\n submitExport({\n items: selectedItems,\n searchData: appliedFilters,\n exportNotifications: {\n getSuccess: Notifications.exportEventSuccess,\n getFailed: Notifications.exportEventFailed,\n },\n }).then(() => {\n trackResultsExported && trackResultsExported();\n });\n }\n\n return (\n <ActionBar {...actionBarProps}>\n <Button {...btnProps} onClick={onClear}>Clear</Button>\n\n {renderActionBarButtons && renderActionBarButtons({ btnProps, selectedItems, fetchData })}\n\n {ActionBarButtons && (\n <ActionBarButtons\n btnProps={btnProps}\n selectedItems={selectedItems}\n fetchData={fetchData}\n />\n )}\n\n {submitExport && (\n <Button\n {...btnProps}\n className={styles.actionBtn}\n onClick={handleExportAll}\n disabled={isLoadingExports}\n >\n {isLoadingExports && <Loader size=\"small\" theme=\"dark\" onlyIcon />}\n Export\n </Button>\n )}\n\n {!areEmptyEmails && (\n <Button\n {...btnProps}\n className={styles.actionBtn}\n onClick={handleEmailAll}\n >\n Email\n </Button>\n )}\n </ActionBar>\n );\n}\n\nFooterActions.defaultProps = {\n tracking: {},\n};\n\nFooterActions.propTypes = {\n ui: PropTypes.object.isRequired,\n actions: PropTypes.object.isRequired,\n dataLookup: PropTypes.object.isRequired,\n fetchData: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n isFixed: PropTypes.bool.isRequired,\n tracking: PropTypes.object,\n ActionBarButtons: PropTypes.elementType,\n renderActionBarButtons: PropTypes.func,\n};\n\nexport default withLookup(FooterActions);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Error from 'components/core/Table/components/Error';\nimport useChatPosition from 'components/core/ActionBar/useChatPosition';\nimport { PaginatorPlaceholder } from 'components/core/Placeholder';\nimport Paginator from 'components/core/Paginator';\nimport Table from 'components/core/Table';\n\nimport useTable from '../../utils/useTable';\nimport withLookup from '../../utils/withLookup';\nimport { EXPORT_OPTIONS } from '../../utils/constants';\nimport useFetchData from './utils/useFetchData';\nimport FooterActions from './components/FooterActions';\nimport styles from './styles.module.scss';\n\nfunction TableView({\n dataProps,\n dataLookup,\n tableData,\n advancedProps,\n advancedSearch,\n actions,\n notifications,\n pageView,\n tracking,\n columnOptions,\n}) {\n const {\n id,\n uniqueKey = 'id',\n title,\n columns,\n sort,\n paginator,\n renderTableColumn,\n renderExpandedRow,\n customEmptyMessage,\n isEmptyFooterActions,\n renderFooterActions,\n tableCustomComponents,\n useRenderFooterActions,\n useTableCustomComponents,\n defaultHiddenColumns,\n withContextualMenu = false,\n tableWrapperClassname,\n isAlignedToTop,\n fixedEmptyMessage,\n } = tableData;\n const { fetchData, submitExport } = actions;\n const { ui, isMobile, isDesktopLarge, exportReport, allData, allDataError, appliedFilters } = dataLookup;\n const isHiddenTable = !isEmpty(pageView) && !pageView.isTablePageView;\n const { isLoadingData, toResetSelectedItems, isInitialLoading } = ui;\n const { tableProps, paginatorProps } = advancedProps;\n const { onChangeFilter } = columnOptions || {};\n\n const {\n selectedItems,\n isSelectedItemsPresent,\n sortData,\n getDirection,\n handleSelectItems,\n handleClearItems,\n hiddenColumns,\n handleHideColumn,\n } = useTable({\n data: allData,\n sort,\n isLoading: isLoadingData,\n defaultHiddenColumns,\n toResetSelectedItems,\n });\n\n const { isEstimated, current, total, totalCount, totalItems } = paginator;\n const isPaginatorPresent = !isEmpty(allData) && !isEmpty(paginator) && total >= 1;\n\n useChatPosition(false);\n\n const actionsMap = {\n ...exportReport,\n submitExport,\n exportModalTitle: `Export ${title}`,\n exportModalOptions: EXPORT_OPTIONS,\n };\n\n const advancedData = advancedSearch && advancedSearch.data\n ? { data: advancedSearch.data }\n : {};\n\n const filters = {\n ...advancedData,\n appliedFilters,\n dataProps,\n };\n\n const { defaultFetchDataFailed: notifyDefaultFetchDataFailed } = notifications || {};\n\n const { handleFetchData } = useFetchData({\n fetchData,\n pageView,\n notifyDefaultFetchDataFailed,\n filters,\n });\n\n function handleSortByColumn(column) {\n handleFetchData({\n page: 1,\n sort: column,\n direction: getDirection(column),\n isSortColumn: true,\n });\n }\n\n function handleChangePage(page) {\n const { column, direction } = sortData;\n\n handleFetchData({\n page,\n direction,\n sort: column,\n });\n }\n\n const errorMessage = allDataError && {\n customEmptyMessage: customEmptyMessage || <Error reload={handleFetchData} />,\n };\n\n function handleColumnToggle(columnKeyName, isHidden) {\n handleHideColumn(columnKeyName, isHidden);\n }\n\n const onColumnToggle = withContextualMenu ? handleColumnToggle : null;\n\n function footerActionsNode() {\n if (isEmptyFooterActions) return null;\n\n const commonProps = {\n tracking,\n actionsMap,\n selectedItems,\n data: allData,\n paginator,\n ui,\n isFixed: false,\n onClear: handleClearItems,\n fetchData: handleFetchData,\n className: styles.actionBar,\n };\n\n return renderFooterActions\n ? renderFooterActions({ ...commonProps, ...useRenderFooterActions })\n : <FooterActions {...commonProps} />;\n }\n\n function renderTableComponents() {\n if (isInitialLoading) return <PaginatorPlaceholder className=\"paginator-placeholder\" />;\n if (!isPaginatorPresent) {\n return tableCustomComponents ? tableCustomComponents(useTableCustomComponents) : null;\n }\n\n return (\n <>\n {isSelectedItemsPresent && footerActionsNode()}\n\n {tableCustomComponents && tableCustomComponents(useTableCustomComponents)}\n\n <Paginator\n {...paginatorProps}\n current={current}\n total={total}\n onChange={handleChangePage}\n totalItems={totalCount || totalItems}\n isMobile={isMobile}\n isEstimated={isEstimated}\n isLoading={isLoadingData}\n className={classNames(styles.paginator, isSelectedItemsPresent && styles.margin)}\n />\n </>\n );\n }\n\n return (\n <div className={classNames(styles.tableContainer, { hidden: isHiddenTable })}>\n <Table\n {...errorMessage}\n {...tableProps}\n containerStyle={`${id}__data-results`}\n uniqueKey={uniqueKey}\n isLoading={isLoadingData}\n columns={columns}\n data={allData}\n selectedItems={selectedItems}\n onSelectItems={handleSelectItems}\n sortColumn={sortData.column}\n sortDirection={sortData.direction}\n onSort={handleSortByColumn}\n tableContainerClassname={classNames(styles.tableWrapper, tableWrapperClassname)}\n renderExpandedRow={renderExpandedRow}\n isMobile={isMobile}\n isDesktopLarge={isDesktopLarge}\n isPaginatorPresent={isPaginatorPresent}\n onColumnToggle={onColumnToggle}\n hiddenColumns={hiddenColumns}\n fullWidthTable\n isCheckboxPresent\n isAlignedToTop={isAlignedToTop}\n preserveCheckboxes\n isDefaultTable\n isFixed\n fixedEmptyMessage={fixedEmptyMessage}\n >\n {columns.map(props => renderTableColumn({\n ...props,\n ...useTableCustomComponents,\n onChangeFilter,\n dataLength: allData.length,\n fetchData: handleFetchData,\n allData,\n onClear: handleClearItems,\n }))}\n </Table>\n\n {renderTableComponents()}\n </div>\n );\n}\n\nTableView.defaultProps = {\n advancedProps: {\n tableProps: {},\n paginatorProps: {},\n },\n};\n\nTableView.propTypes = {\n dataLookup: PropTypes.object.isRequired,\n dataProps: PropTypes.object,\n advancedSearch: PropTypes.object,\n tableData: PropTypes.object.isRequired,\n advancedProps: PropTypes.object,\n actions: PropTypes.object.isRequired,\n pageView: PropTypes.object.isRequired,\n tracking: PropTypes.object,\n notifications: PropTypes.func,\n columnOptions: PropTypes.shape({\n onChangeFilter: PropTypes.func,\n }),\n};\n\nexport default withLookup(TableView);\n","import { useEffect, useState } from 'react';\n\nimport { getMapBounds } from './index';\n\nfunction useMapBounds({\n map,\n markers,\n showMap,\n}) {\n const [markersBounds, setMarkersBounds] = useState(null);\n\n useEffect(() => {\n if (map) {\n setMarkersBounds(getMapBounds(markers));\n }\n }, [map, markers]);\n\n useEffect(() => {\n if (map && markersBounds && showMap) {\n map.resize();\n map.fitBounds(markersBounds, { duration: 0, padding: 100 });\n }\n }, [markersBounds, showMap]);\n\n return {\n markersBounds,\n };\n}\n\nexport default useMapBounds;\n","import React from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nexport function getLink(hrefBaseUrl, value) {\n if (isEmpty(value)) {\n return null;\n }\n\n return (\n <Link\n href={`${hrefBaseUrl}${value}`}\n className={styles.link}\n iconClassName={styles.linkIcon}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n theme=\"light\"\n isExternal\n >\n {value}\n </Link>\n );\n}\n\nexport function getDescriptionLabel(label, value) {\n if (isEmpty(value)) {\n return null;\n }\n\n return (\n <li>\n <span>{label}:</span>{value}\n </li>\n );\n}\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport Button from 'components/core/Button';\nimport { handleLinkListClick } from 'utils/table';\nimport { linkListLimit, remainedLinkListLimit } from 'components/core/Map/utils/constants';\nimport withMap from 'components/core/Map/utils/withMap';\nimport { parseArray } from 'components/core/Map/utils';\n\nimport styles from '../styles.module.scss';\n\nfunction LinkList({ markerId, data, columnKeyName, onFetch, profileUrl }) {\n const visibleLinks = parseArray(data).slice(0, linkListLimit);\n const remainedLinksCount = visibleLinks.length - linkListLimit;\n const listLimitExceeded = visibleLinks.length > linkListLimit;\n const remainedListLimitExceeded = remainedLinksCount > remainedLinkListLimit;\n const remainedLinks = remainedListLimitExceeded ? `${remainedLinkListLimit}+` : remainedLinksCount;\n\n function onClick(item) {\n return handleLinkListClick({\n id: item.id,\n name: item.name,\n columnKeyName,\n onFetch,\n isTablePageView: false,\n });\n }\n\n const viewMoreLink = (\n <Link\n href={`${profileUrl}${markerId}`}\n theme=\"light\"\n size=\"medium\"\n className={classNames('marker-view', styles.link)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {remainedLinks} More\n <i className=\"far fa-external-link\" />\n </Link>\n );\n\n function renderLinks() {\n return visibleLinks.map((item, index) => [\n <Button\n key={`${index}-${item.id}`}\n theme=\"light\"\n size=\"small\"\n onClick={onClick(item)}\n className={styles.link}\n >\n {item.name}\n </Button>,\n (index < visibleLinks.length - 1) && ', ',\n ]);\n }\n\n return (\n <Fragment>\n {renderLinks()}\n {listLimitExceeded && viewMoreLink}\n </Fragment>\n );\n}\n\nLinkList.propTypes = {\n data: PropTypes.string.isRequired,\n columnKeyName: PropTypes.string.isRequired,\n onFetch: PropTypes.func.isRequired,\n profileUrl: PropTypes.string.isRequired,\n markerId: PropTypes.number.isRequired,\n};\n\nexport default withMap(LinkList);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withMap from 'components/core/Map/utils/withMap';\nimport { parseArray } from 'components/core/Map/utils';\n\nimport { getDescriptionLabel, getLink } from '../utils';\nimport LinkList from './LinkList';\nimport styles from '../styles.module.scss';\n\nfunction Body({ properties, onFetch, profileUrl }) {\n const {\n id,\n district,\n phone,\n email,\n organization,\n title,\n lists,\n tags,\n } = properties;\n\n const commonListProps = {\n onFetch,\n profileUrl,\n markerId: id,\n };\n\n return (\n <section className={styles.content}>\n <ul className={styles.list}>\n {getDescriptionLabel('organization', organization)}\n {getDescriptionLabel('title', title)}\n {getDescriptionLabel('district', district)}\n {getDescriptionLabel('phone', getLink('tel:', phone))}\n {getDescriptionLabel('email', getLink('mailto:', email))}\n {!isEmpty(parseArray(lists)) && getDescriptionLabel('lists', (\n <LinkList\n {...commonListProps}\n data={lists}\n columnKeyName=\"lists\"\n />\n ))}\n {!isEmpty(parseArray(tags)) && getDescriptionLabel('tags', (\n <LinkList\n {...commonListProps}\n data={tags}\n columnKeyName=\"tags\"\n />\n ))}\n </ul>\n </section>\n );\n}\n\nBody.propTypes = {\n properties: PropTypes.object.isRequired,\n onFetch: PropTypes.func.isRequired,\n profileUrl: PropTypes.string.isRequired,\n};\n\nexport default withMap(Body);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport styles from '../styles.module.scss';\n\nfunction Footer({ properties, profileUrl }) {\n const { id } = properties;\n\n return (\n <footer className={styles.footer}>\n <Link\n href={`${profileUrl}${id}`}\n theme=\"light\"\n size=\"medium\"\n className={classNames('marker-view', styles.link)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n View Profile\n <i className=\"far fa-external-link\" />\n </Link>\n </footer>\n );\n}\n\nFooter.propTypes = {\n properties: PropTypes.object.isRequired,\n profileUrl: PropTypes.string.isRequired,\n};\n\nexport default withMap(Footer);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport withMap from 'components/core/Map/utils/withMap';\n\nimport styles from '../styles.module.scss';\n\nfunction Header({ properties }) {\n const { name } = properties;\n\n return (\n <header className={styles.header}>\n <i className={classNames('fas', 'fa-address-card', styles.icon)} />\n <h3 className={styles.title}>{name}</h3>\n </header>\n );\n}\n\nHeader.propTypes = {\n properties: PropTypes.object.isRequired,\n};\n\nexport default withMap(Header);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MapContext } from 'components/core/Map/utils/withMap';\n\nimport Body from './components/Body';\nimport Footer from './components/Footer';\nimport Header from './components/Header';\nimport styles from './styles.module.scss';\n\nfunction Popup({ properties, ...restProps }) {\n return properties.map(property => (\n <MapContext.Provider value={{ properties: property, ...restProps }} key={property.id}>\n <section className={styles.popup}>\n <Header />\n <Body />\n <Footer />\n </section>\n </MapContext.Provider>\n ));\n}\n\nPopup.propTypes = {\n properties: PropTypes.array.isRequired,\n onFetch: PropTypes.func.isRequired,\n profileUrl: PropTypes.string.isRequired,\n};\n\nexport default Popup;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport Popup from '../components/Popup';\n\nfunction getPopupSettings() {\n const markerHeight = 40;\n const markerRadius = 30;\n const linearOffset = 10;\n\n const popupOffsets = {\n top: [0, markerHeight / 2],\n 'top-left': [0, markerHeight / 2],\n 'top-right': [0, markerHeight / 2],\n bottom: [0, -markerHeight + linearOffset],\n 'bottom-left': [0, -(markerHeight / 2)],\n 'bottom-right': [0, -(markerHeight / 2)],\n left: [markerRadius, (markerHeight - markerRadius - linearOffset) * -1],\n right: [-markerRadius, (markerHeight - markerRadius - linearOffset) * -1],\n };\n\n return {\n offset: popupOffsets,\n closeButton: false,\n maxWidth: '290px',\n className: 'map-popup',\n };\n}\n\nfunction getPopupNode(popupProps) {\n const popupNode = document.createElement('div');\n popupNode.classList.add('map-popup-container');\n\n const PopupComponent = popupProps.PopupComponent || Popup;\n\n ReactDOM.render(<PopupComponent {...popupProps} />, popupNode);\n\n return popupNode;\n}\n\nexport function getMapPopup({ properties, onFetch, profileUrl, PopupComponent }) {\n const settings = getPopupSettings();\n const popupProps = { properties, onFetch, profileUrl, PopupComponent };\n const popupNode = getPopupNode(popupProps);\n\n return new mapboxgl.Popup(settings)\n .setDOMContent(popupNode);\n}\n","import isArray from 'lodash/isArray';\n\nimport { clusterCircleGradient, clusterCircleBorderColor, textColor } from './settings.scss';\nimport { getMapPopup } from './getMapPopup';\nimport { addMarkerImage, addMapSource } from './index';\n\nfunction addClusterLayers(sourceName, map, isHeatmapChecked) {\n const visibility = isHeatmapChecked ? 'none' : 'visible';\n\n map.addLayer({\n id: 'clusters',\n type: 'circle',\n source: sourceName,\n filter: ['has', 'point_count'],\n paint: {\n 'circle-stroke-width': 1,\n 'circle-stroke-color': clusterCircleBorderColor,\n 'circle-color': clusterCircleGradient,\n 'circle-radius': ['step', ['get', 'point_count'], 10, 2, 20, 20, 50, 50, 80],\n },\n layout: {\n visibility,\n },\n });\n\n map.addLayer({\n id: 'cluster-count',\n type: 'symbol',\n source: sourceName,\n filter: ['has', 'point_count'],\n layout: {\n 'text-field': '{point_count_abbreviated}',\n 'text-font': ['DIN Offc Pro Medium', 'Arial Unicode MS Bold'],\n 'text-size': 12,\n visibility,\n },\n paint: {\n 'text-color': textColor,\n },\n });\n\n map.addLayer({\n id: 'unclustered-point',\n type: 'symbol',\n source: sourceName,\n filter: ['!', ['has', 'point_count']],\n layout: {\n 'icon-image': 'map-marker',\n 'icon-size': 0.3,\n 'icon-allow-overlap': true,\n visibility,\n },\n });\n}\n\nfunction onClusterClick(sourceName, map) {\n map.on('click', 'clusters', (e) => {\n const features = map.queryRenderedFeatures(e.point, { layers: ['clusters'] });\n const clusterId = features[0].properties.cluster_id;\n const center = features[0].geometry.coordinates;\n\n map.getSource(sourceName).getClusterExpansionZoom(clusterId, (error, zoom) => {\n if (error) throw error;\n\n map.easeTo({ center, zoom });\n });\n });\n}\n\nfunction onUnclusteredPointClick(popupProps, map) {\n map.on('click', 'unclustered-point', (e) => {\n const { setActivePopup } = popupProps || {};\n const { features } = e || {};\n const properties = [];\n\n isArray(features) && features.forEach(feature => properties.push(feature.properties));\n\n const coordinates = e.features[0].geometry.coordinates.slice();\n const popupOptions = { properties, ...popupProps };\n\n while (Math.abs(e.lngLat.lng - coordinates[0]) > 180) {\n coordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360;\n }\n\n const popup = getMapPopup(popupOptions)\n .setLngLat(coordinates)\n .addTo(map);\n\n setActivePopup && setActivePopup(popup);\n });\n}\n\nfunction styleMapCursor(target, map) {\n map.on('mouseenter', target, () => {\n map.getCanvas().style.cursor = 'pointer';\n });\n\n map.on('mouseleave', target, () => {\n map.getCanvas().style.cursor = '';\n });\n}\n\nfunction initClusterEvents(sourceName, popupProps, map) {\n styleMapCursor('unclustered-point', map);\n styleMapCursor('clusters', map);\n\n onClusterClick(sourceName, map);\n onUnclusteredPointClick(popupProps, map);\n}\n\nexport function setMarkersAndClusters(sourceName, map, data, popupProps, markerImage, isHeatmapChecked) {\n map.on('load', () => {\n addMapSource(sourceName, data, map, true);\n\n addMarkerImage(map, markerImage, () => {\n addClusterLayers(sourceName, map, isHeatmapChecked);\n });\n\n initClusterEvents(sourceName, popupProps, map);\n });\n}\n","import { toggleLayer, addMapSource } from './index';\nimport {\n veryHigh,\n high,\n mediumHigh,\n medium,\n mediumLow,\n low,\n veryLow,\n} from './settings.scss';\n\nfunction addHeatMapLayer(sourceName, map, isHeatmapChecked) {\n map.addLayer({\n id: 'heatmap',\n type: 'heatmap',\n source: sourceName,\n layout: {\n visibility: isHeatmapChecked ? 'visible' : 'none',\n },\n paint: {\n 'heatmap-weight': ['interpolate', ['linear'], ['zoom'], 0, 3, 22, 1],\n 'heatmap-intensity': 0.1,\n 'heatmap-radius': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 0,\n 30,\n 3.6,\n 45,\n 8.79,\n 90,\n 11.91,\n 130,\n 13.98,\n 150,\n 22,\n 30,\n ],\n 'heatmap-opacity': 0.61,\n 'heatmap-color': [\n 'interpolate',\n ['linear'],\n ['heatmap-density'],\n 0,\n 'rgba(0, 0, 255, 0)',\n 0.1,\n veryLow,\n 0.3,\n low,\n 0.4,\n mediumLow,\n 0.5,\n medium,\n 0.7,\n mediumHigh,\n 0.85,\n high,\n 1,\n veryHigh,\n ],\n },\n });\n}\n\nexport function setHeatMap(sourceName, data, map, isHeatmapChecked) {\n map.on('load', () => {\n addMapSource(sourceName, data, map, false);\n addHeatMapLayer(sourceName, map, isHeatmapChecked);\n });\n}\n\nexport function onToggleHeatMap(map) {\n toggleLayer(map, 'clusters');\n toggleLayer(map, 'cluster-count');\n toggleLayer(map, 'unclustered-point');\n toggleLayer(map, 'heatmap');\n}\n","import { useEffect, useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useMap from 'components/core/Map/utils/useMap';\nimport useMapBounds from 'components/core/Map/utils/useMapBounds';\nimport { setMarkersAndClusters } from 'components/core/Map/utils/clusters';\nimport { setHeatMap, onToggleHeatMap } from 'components/core/Map/utils/heatmap';\nimport { displayTypeCodes } from 'components/core/Map/utils/constants';\n\nfunction useMapLookup({\n mapRef,\n data,\n onFetch,\n profileUrl,\n defaultFilters,\n withFilters,\n withNavigation,\n clusterName,\n withHeatmap,\n heatmapName,\n isLoadingMap,\n center,\n isTablePageView,\n onFilterChange,\n PopupComponent,\n markerImage,\n}) {\n const mapProps = {\n mapRef,\n data,\n defaultFilters,\n withNavigation,\n withFilters,\n isLoadingMap,\n center,\n };\n\n const {\n map,\n activeFilters,\n onChangeFilter,\n setFilters,\n } = useMap(mapProps);\n const { mapType, displayType } = activeFilters;\n const isMapViewVisible = !isTablePageView;\n const [activePopup, setActivePopup] = useState(null);\n\n useMapBounds({ map, markers: data && data.features, showMap: isMapViewVisible });\n\n useEffect(() => {\n if (isMapViewVisible && map) {\n mapRef.current && map.resize();\n }\n }, [isMapViewVisible, map]);\n\n const destroyMap = () => map && map.remove();\n\n function initMapLookup() {\n if (map && !isEmpty(data)) {\n map.once('styledata', () => {\n mapRef.current && setFilters(defaultFilters.mapType);\n });\n\n const isHeatmapChecked = withHeatmap && displayType === displayTypeCodes.heatmap;\n\n setMarkersAndClusters(\n clusterName,\n map,\n data,\n { onFetch, profileUrl, PopupComponent, setActivePopup },\n markerImage,\n isHeatmapChecked\n );\n\n withHeatmap && setHeatMap(heatmapName, data, map, isHeatmapChecked);\n }\n\n return destroyMap;\n }\n\n useEffect(() => {\n if (map && withFilters && mapType) {\n setFilters(mapType);\n onFilterChange && onFilterChange({ mapType, activeFilters });\n }\n }, [mapType]);\n\n useEffect(() => {\n if (map && withHeatmap && displayType) {\n onToggleHeatMap(map);\n }\n activePopup && activePopup.remove();\n }, [displayType]);\n\n useEffect(initMapLookup, [map, data]);\n\n return {\n map,\n activeFilters,\n onChangeFilter,\n };\n}\n\nexport default useMapLookup;\n","import { useEffect } from 'react';\n\nimport { desktopOffset, mobileOffset } from './settings.scss';\n\nfunction useMapView({ dataLookup, pageView, actions }) {\n const { fetchData } = actions;\n const { isTablePageView } = pageView;\n const { ui, isMobile, appliedFilters } = dataLookup;\n const { isLoadingMapData: isLoadingMap } = ui;\n\n function getHeight() {\n const mobileHeight = `calc(100vh - ${mobileOffset})`;\n const desktopHeight = `calc(100vh - ${desktopOffset})`;\n\n return isMobile ? mobileHeight : desktopHeight;\n }\n\n useEffect(() => {\n if (!isTablePageView) {\n fetchData({ appliedFilters, isTablePageView });\n }\n }, [isTablePageView]);\n\n return {\n height: getHeight(),\n isMobile,\n isLoadingMap,\n isTablePageView,\n onFetch: fetchData,\n };\n}\n\nexport default useMapView;\n","import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport MapContainer from 'components/core/Map';\nimport { US_COORDINATES } from 'utils/constants';\n\nimport withLookup from '../../utils/withLookup';\nimport useMapLookup from '../../utils/useMap';\nimport useMapView from './useMapView';\n\nconst mapRef = createRef();\n\nfunction MapView({ dataLookup, actions, mapData, pageView, PopupComponent, markerImage }) {\n const {\n height,\n onFetch,\n isMobile,\n isLoadingMap,\n isTablePageView,\n } = useMapView({ dataLookup, actions, pageView });\n\n const {\n data,\n profileUrl,\n defaultLoadingMessage,\n getFilters,\n defaultFilters,\n withFilters,\n withNavigation,\n withHeatmap,\n heatmapName,\n clusterName,\n onFilterChange,\n } = mapData;\n\n const mapProps = {\n isMobile,\n mapRef,\n data,\n onFetch,\n profileUrl,\n defaultFilters,\n isLoadingMap,\n withFilters,\n withNavigation,\n withHeatmap,\n heatmapName,\n clusterName,\n isTablePageView,\n center: [US_COORDINATES.longitude, US_COORDINATES.latitude],\n onFilterChange,\n PopupComponent,\n markerImage,\n };\n\n const mapLookupProps = useMapLookup({ mapRef, ...mapProps });\n\n const mapContext = {\n isLoadingMap,\n height,\n forwardRef: mapRef,\n filters: getFilters(isMobile),\n ...mapProps,\n ...mapLookupProps,\n className: classNames({ hidden: isTablePageView }),\n loadingMessage: defaultLoadingMessage,\n };\n\n return <MapContainer {...mapContext} />;\n}\n\nMapView.defaultProps = {\n withFilters: true,\n withNavigation: true,\n withHeatmap: true,\n pageView: {},\n};\n\nMapView.propTypes = {\n mapData: PropTypes.object.isRequired,\n dataLookup: PropTypes.object.isRequired,\n actions: PropTypes.object.isRequired,\n pageView: PropTypes.object,\n PopupComponent: PropTypes.elementType,\n markerImage: PropTypes.string,\n};\n\nexport default withLookup(MapView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { getAppliedFiltersLength } from 'components/core/AdvancedSearch/utils';\nimport TableView from 'components/core/PageLookup/components/TableView';\nimport SearchHeader from 'components/core/SearchHeader';\nimport CommonActions from 'components/core/SearchHeader/components/CommonActions';\nimport AdvancedSearch from 'components/core/AdvancedSearch';\nimport SearchBox from 'components/core/SearchBox';\nimport { withTrack } from 'utils/tracking/utils';\nimport { settingsButtonOptionsShape } from 'components/core/PageHeader';\n\nimport { advancedSearchShape, mapDataShape } from '../../utils/shapes';\nimport usePageLookup from '../../utils/usePageLookup';\nimport withLookup from '../../utils/withLookup';\nimport MapView from '../MapView';\nimport useAdvancedSearch from './utils/useAdvancedSearch';\nimport useCustomToggleView from './utils/useCustomToggleView';\nimport usePageViewTracking from './utils/usePageViewTracking';\nimport styles from './styles.module.scss';\n\nfunction Container({\n pageView,\n dataProps,\n dataLookup,\n dataOptions,\n tableData,\n actions,\n mapData,\n advancedSearch,\n notifications,\n renderCustomActions,\n useCustomActions,\n tracking,\n HeaderButtons,\n renderHeaderButtons,\n customToggleViewProps: customToggleView,\n withSearchDisclaimer,\n disclaimerProps,\n settingsButtonOptions,\n}) {\n const {\n isVisible,\n isSaveNameEnabled,\n advancedContainerClassName,\n lastSearchId,\n setLastSearchId,\n transformSearchesForUI,\n saveInRecentSearch,\n filtersCountFn,\n } = advancedSearch;\n\n const { fetchData, resetData, initialFetch } = actions;\n const { ui, allData, appliedFilters, isMobile, disabledActionsText } = dataLookup;\n const { optionsComponent, emptyState } = dataOptions;\n const { isLoadingData } = ui;\n const appliedFiltersLength = filtersCountFn ? filtersCountFn(appliedFilters.options) : getAppliedFiltersLength(appliedFilters, emptyState);\n const {\n customToggleViewProps,\n onCloseCustomView,\n } = useCustomToggleView({ customToggleViewProps: customToggleView });\n\n const advancedOptionsProps = useAdvancedSearch({\n dataProps,\n dataOptions,\n advancedSearch,\n notifications,\n appliedFilters,\n onCloseCustomView,\n lastSearchId,\n setLastSearchId,\n tableData,\n });\n\n const {\n searchValue,\n onSearchValueChange,\n options,\n onChangeSearchValue,\n onSubmit,\n searchData,\n onClearAll,\n isSearchOpen,\n isAdvancedSearchOpen,\n onToggleAdvancedSearch,\n onSearchToggle,\n onRemoveItem,\n onSearch,\n onSaveItem,\n onClickItem,\n onChangeFilter,\n onClearAllSearchParams,\n getSearchParams,\n } = advancedOptionsProps;\n\n usePageLookup({\n setLastSearchId,\n initialFetch,\n fetchData,\n notifications,\n resetData,\n dataProps,\n emptyState,\n transformSearchesForUI,\n searchValue,\n onSearchOptionsChange: onClickItem,\n onSearchValueChange,\n saveInRecentSearch,\n onClearAllSearchParams,\n getSearchParams,\n });\n\n const {\n trackRecentSearchSavedItem,\n trackSaveSearchDeletedItem,\n trackResultSearched,\n trackMapViewVisited,\n trackTableViewVisited,\n } = tracking;\n\n usePageViewTracking({\n pageView,\n trackMapViewVisited,\n trackTableViewVisited,\n });\n\n function getAdvancedSearchProperties() {\n if (!isVisible) return {};\n\n const advancedSearchContent = (\n <div\n id=\"advancedSearchContainer\"\n className={advancedContainerClassName}\n >\n <AdvancedSearch\n {...advancedSearch}\n {...advancedOptionsProps}\n onSearch={withTrack(onSearch, trackResultSearched)}\n onSaveItem={withTrack(onSaveItem, trackRecentSearchSavedItem)}\n onRemoveItem={withTrack(onRemoveItem, trackSaveSearchDeletedItem)}\n optionsNode={optionsComponent({ data: options, isMobile, ...dataProps })}\n isSaveNameEnabled={isSaveNameEnabled}\n withSearchDisclaimer={withSearchDisclaimer}\n disclaimerProps={disclaimerProps}\n />\n </div>\n );\n\n return ({\n isAdvancedSearchOpen,\n advancedSearchContent,\n handleAdvancedSearchToggle: onToggleAdvancedSearch,\n });\n }\n\n const commonActionProps = {\n ...tableData,\n ...actions,\n ...dataLookup,\n data: allData,\n dataProps,\n appliedSearches: searchData,\n ui,\n tracking,\n HeaderButtons,\n renderHeaderButtons,\n };\n\n const customActionProps = {\n ...actions,\n ...dataLookup,\n ...useCustomActions,\n tracking,\n data: allData,\n dataProps,\n appliedSearches: searchData,\n ui,\n };\n\n const tableColumnOptions = {\n onChangeFilter,\n };\n\n const headerActions = <CommonActions {...commonActionProps} />;\n const customActions = () => renderCustomActions(customActionProps);\n\n const actionsContent = {\n ...(renderCustomActions && { actionsContent: customActions }),\n ...(!renderCustomActions && { rightContent: headerActions }),\n };\n\n const searchContent = (\n <SearchBox\n withIcon\n withButton\n value={searchValue}\n onChange={onChangeSearchValue}\n onSubmit={withTrack(onSubmit, trackResultSearched)}\n withSearchDisclaimer={withSearchDisclaimer}\n disclaimerProps={disclaimerProps}\n />\n );\n\n return (\n <>\n <header className={styles.container}>\n <SearchHeader\n {...getAdvancedSearchProperties()}\n {...actionsContent}\n customToggleViewProps={customToggleViewProps}\n isSearchOpen={isSearchOpen}\n searchContent={searchContent}\n appliedFiltersLength={appliedFiltersLength}\n handleSearchToggle={onSearchToggle}\n disabledActionsText={disabledActionsText}\n onClearAll={onClearAll}\n pageView={pageView}\n isLoading={isLoadingData}\n settingsButtonOptions={settingsButtonOptions}\n />\n </header>\n\n <div role=\"main\">\n <TableView columnOptions={tableColumnOptions} />\n {!isEmpty(mapData) && <MapView />}\n </div>\n </>\n );\n}\n\nContainer.defaultProps = {\n tracking: {},\n customToggleViewProps: {},\n};\n\n/*\n Note: prop types definition here might not be accurate since there's\n extensive usage of the spread operator\n*/\nContainer.propTypes = {\n dataProps: PropTypes.shape({\n yearsRange: PropTypes.arrayOf(PropTypes.string),\n }),\n dataLookup: PropTypes.shape({\n isMobile: PropTypes.bool,\n allData: PropTypes.arrayOf(PropTypes.object),\n isDesktopLarge: PropTypes.bool,\n areEmptyEmails: PropTypes.bool,\n appliedFilters: PropTypes.shape({\n searchValue: PropTypes.string,\n options: PropTypes.shape({}),\n }),\n disabledActionsText: PropTypes.node,\n ui: PropTypes.shape({\n isInitialLoading: PropTypes.bool,\n isSavingSearches: PropTypes.bool,\n toResetSelectedItems: PropTypes.bool,\n isLoadingAllEmails: PropTypes.bool,\n isLoadingData: PropTypes.bool,\n isLoadingExports: PropTypes.bool,\n isRecentSearchesLoading: PropTypes.bool,\n isRemovingItem: PropTypes.bool,\n isSavedSearchesLoading: PropTypes.bool,\n }),\n }),\n mapData: mapDataShape,\n dataOptions: PropTypes.shape({\n useOptions: PropTypes.func,\n optionsComponent: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n emptyState: PropTypes.shape({\n searchValue: PropTypes.string,\n options: PropTypes.shape({\n legislator: PropTypes.arrayOf(PropTypes.object),\n }),\n omit: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n advancedSearch: advancedSearchShape,\n tableData: PropTypes.shape({\n columns: PropTypes.arrayOf(PropTypes.object),\n id: PropTypes.string,\n title: PropTypes.string,\n }),\n actions: PropTypes.shape({\n submitAllExport: PropTypes.func,\n fetchData: PropTypes.func,\n resetData: PropTypes.func,\n initialFetch: PropTypes.func,\n }),\n pageView: PropTypes.shape({\n pageView: PropTypes.string,\n isTablePageView: PropTypes.bool,\n onPageViewChange: PropTypes.func,\n }),\n renderCustomActions: PropTypes.func,\n notifications: PropTypes.func,\n tracking: PropTypes.shape({\n trackRecentSearchSavedItem: PropTypes.func,\n trackSaveSearchDeletedItem: PropTypes.func,\n trackSearchedItems: PropTypes.func,\n trackAllResultsEmailed: PropTypes.func,\n trackResultEmailed: PropTypes.func,\n trackAllResultsExported: PropTypes.func,\n trackResultsExported: PropTypes.func,\n trackResultSearched: PropTypes.func,\n trackTableViewVisited: PropTypes.func,\n trackMapViewVisited: PropTypes.func,\n }),\n useCustomActions: PropTypes.shape({\n isOpen: PropTypes.bool,\n toggleModal: PropTypes.func,\n toggleOpen: PropTypes.func,\n paginator: PropTypes.shape({\n current: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n totalCount: PropTypes.number,\n }),\n }),\n HeaderButtons: PropTypes.elementType,\n customToggleViewProps: PropTypes.shape({\n viewContent: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n }),\n renderHeaderButtons: PropTypes.func,\n withSearchDisclaimer: PropTypes.bool,\n disclaimerProps: PropTypes.shape({\n withButtons: PropTypes.bool,\n content: PropTypes.node,\n isDisabled: PropTypes.bool,\n title: PropTypes.node,\n modalTheme: PropTypes.string,\n modalClassName: PropTypes.string,\n }),\n settingsButtonOptions: settingsButtonOptionsShape,\n};\n\nexport default withLookup(Container);\n","import { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nexport default function usePageViewTracking({\n pageView,\n trackTableViewVisited = () => {},\n trackMapViewVisited = () => {},\n}) {\n const { isTablePageView } = pageView;\n const hasPageView = !isEmpty(pageView);\n\n const trackPageViewVisited = () => {\n if (!hasPageView || isTablePageView) {\n return trackTableViewVisited();\n }\n\n return trackMapViewVisited();\n };\n\n useEffect(trackPageViewVisited, [isTablePageView]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, isFunction } from 'lodash';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport PageHeader, { settingsButtonOptionsShape } from 'components/core/PageHeader';\n\nimport {\n trackSaveSearchDeletedItem,\n trackRecentSearchSavedItem,\n trackSearchedItems,\n trackAllResultsEmailed,\n trackResultEmailed,\n trackAllResultsExported,\n trackResultsExported,\n trackResultSearched,\n trackTableViewVisited,\n trackMapViewVisited,\n} from './utils/trackingFunctions';\nimport { advancedSearchShape, mapDataShape } from './utils/shapes';\nimport { LookupContext } from './utils/withLookup';\nimport Container from './components/Container';\nimport { defaultDisclaimerProps } from './utils/constants';\n\nfunction PageLookup({\n headerData,\n dataProps,\n dataLookup,\n dataOptions,\n tableData,\n mapData,\n pageView,\n PopupComponent,\n markerImage,\n renderCustomActions,\n advancedProps,\n advancedSearch,\n actions,\n notifications,\n trackFunction,\n ActionBarButtons,\n renderActionBarButtons,\n HeaderButtons,\n renderHeaderButtons,\n useCustomActions,\n customToggleViewProps,\n withSearchDisclaimer,\n disclaimerProps,\n settingsButtonOptions,\n}) {\n const { isMobile, isDesktopLarge } = useMediaQuery();\n const { fetchData } = actions;\n const { ui: dataLookupUi, exportReport } = dataLookup;\n const { ui: exportReportUi } = exportReport || {};\n\n const {\n ui: advancedSearchUi,\n savedPaginator,\n loadAllRecentSearches,\n loadAllSavedSearches,\n } = advancedSearch || {};\n\n const commonUi = {\n ...dataLookupUi,\n ...exportReportUi,\n ...advancedSearchUi,\n };\n\n function loadRecentSearches(params = {}) {\n loadAllRecentSearches && loadAllRecentSearches(params, dataProps);\n }\n\n function loadSavedSearches(params = {}) {\n loadAllSavedSearches && loadAllSavedSearches(params, dataProps);\n }\n\n function handleChangeSavedItems(page) {\n loadAllSavedSearches && loadAllSavedSearches({ page }, dataProps);\n }\n\n function getTrackingFunctions() {\n if (!isFunction(trackFunction)) {\n return {};\n }\n\n return {\n trackRecentSearchSavedItem: () => trackRecentSearchSavedItem(trackFunction),\n trackSaveSearchDeletedItem: () => trackSaveSearchDeletedItem(trackFunction),\n trackSearchedItems: () => trackSearchedItems(trackFunction),\n trackAllResultsEmailed: () => trackAllResultsEmailed(trackFunction),\n trackResultEmailed: () => trackResultEmailed(trackFunction),\n trackAllResultsExported: () => trackAllResultsExported(trackFunction),\n trackResultsExported: () => trackResultsExported(trackFunction),\n trackResultSearched: () => trackResultSearched(trackFunction),\n trackTableViewVisited: () => trackTableViewVisited(trackFunction),\n trackMapViewVisited: () => trackMapViewVisited(trackFunction),\n };\n }\n\n const context = {\n dataProps,\n dataLookup: {\n ...dataLookup,\n ui: commonUi,\n isMobile,\n isDesktopLarge,\n },\n dataOptions,\n tableData,\n pageView,\n mapData,\n PopupComponent,\n markerImage,\n renderCustomActions,\n useCustomActions,\n advancedProps,\n actions,\n customToggleViewProps,\n advancedSearch: {\n ...advancedSearch,\n onSearch: fetchData,\n isLoadingSearches: advancedSearch.ui.isSavedSearchesLoading || advancedSearch.ui.isRecentSearchesLoading,\n loadRecentSearches,\n loadSavedSearches,\n paginatorSaved: savedPaginator,\n onChangeSavedPage: handleChangeSavedItems,\n },\n notifications,\n tracking: getTrackingFunctions(),\n renderActionBarButtons,\n ActionBarButtons,\n renderHeaderButtons,\n HeaderButtons,\n withSearchDisclaimer,\n disclaimerProps,\n settingsButtonOptions,\n };\n\n return (\n <LookupContext.Provider value={context}>\n {!isEmpty(headerData) && (\n <PageHeader {...headerData} isFullWidth />\n )}\n\n <section>\n <Container />\n </section>\n </LookupContext.Provider>\n );\n}\n\nPageLookup.defaultProps = {\n pageView: {},\n withSearchDisclaimer: false,\n disclaimerProps: defaultDisclaimerProps,\n};\n\nPageLookup.propTypes = {\n customToggleViewProps: PropTypes.shape({\n viewContent: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n }),\n headerData: PropTypes.shape({\n title: PropTypes.string,\n }),\n dataProps: PropTypes.shape({\n yearsRange: PropTypes.arrayOf(PropTypes.string),\n }),\n dataLookup: PropTypes.shape({\n customKeyMessage: PropTypes.string,\n allData: PropTypes.arrayOf(PropTypes.object),\n exportReport: PropTypes.shape({\n isLoadingExports: PropTypes.bool,\n }),\n ui: PropTypes.shape({\n isLoadingData: PropTypes.bool,\n }),\n }).isRequired,\n dataOptions: PropTypes.shape({\n useOptions: PropTypes.func,\n optionsComponent: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n emptyState: PropTypes.shape({\n searchValue: PropTypes.string,\n options: PropTypes.shape({\n legislator: PropTypes.arrayOf(PropTypes.object),\n }),\n omit: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n tableData: PropTypes.shape({\n columns: PropTypes.arrayOf(PropTypes.object),\n id: PropTypes.string,\n title: PropTypes.string,\n }).isRequired,\n mapData: mapDataShape,\n pageView: PropTypes.shape({\n pageView: PropTypes.string,\n isTablePageView: PropTypes.bool,\n onPageViewChange: PropTypes.func,\n }),\n renderCustomActions: PropTypes.func,\n advancedSearch: advancedSearchShape.isRequired,\n actions: PropTypes.shape({\n submitAllExport: PropTypes.func,\n fetchData: PropTypes.func,\n resetData: PropTypes.func,\n initialFetch: PropTypes.func,\n }),\n notifications: PropTypes.func,\n trackFunction: PropTypes.func,\n advancedProps: PropTypes.shape({\n tableProps: PropTypes.shape({\n perPage: PropTypes.number,\n }),\n paginatorProps: PropTypes.shape({\n pageSize: PropTypes.number,\n }),\n }),\n useCustomActions: PropTypes.shape({\n isOpen: PropTypes.bool,\n toggleModal: PropTypes.func,\n toggleOpen: PropTypes.func,\n paginator: PropTypes.shape({\n current: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n totalCount: PropTypes.number,\n }),\n }),\n ActionBarButtons: PropTypes.elementType,\n renderActionBarButtons: PropTypes.func,\n HeaderButtons: PropTypes.elementType,\n renderHeaderButtons: PropTypes.func,\n withSearchDisclaimer: PropTypes.bool,\n disclaimerProps: PropTypes.shape({\n withButtons: PropTypes.bool,\n content: PropTypes.node,\n isDisabled: PropTypes.bool,\n title: PropTypes.node,\n modalTheme: PropTypes.string,\n modalClassName: PropTypes.string,\n }),\n PopupComponent: PropTypes.elementType,\n markerImage: PropTypes.string,\n settingsButtonOptions: settingsButtonOptionsShape,\n};\n\nexport default PageLookup;\n","/** Common tracking functions */\nexport function trackSaveSearchDeletedItem(trackFunction) {\n trackFunction('save search deleted');\n}\n\nexport function trackRecentSearchSavedItem(trackFunction) {\n trackFunction('search saved');\n}\n\nexport function trackSearchedItems(trackFunction) {\n trackFunction('searched');\n}\n\nexport function trackAllResultsEmailed(trackFunction) {\n trackFunction('all results emailed');\n}\n\nexport function trackResultEmailed(trackFunction) {\n trackFunction('result emailed');\n}\n\nexport function trackAllResultsExported(trackFunction) {\n trackFunction('all results exported');\n}\n\nexport function trackResultsExported(trackFunction) {\n trackFunction('results exported');\n}\n\nexport function trackResultSearched(trackFunction) {\n trackFunction('searched');\n}\n\nexport function trackTableViewVisited(trackFunction) {\n trackFunction('table view visited');\n}\nexport function trackMapViewVisited(trackFunction) {\n trackFunction('map view visited');\n}\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_LINE_COLOR,\n DEFAULT_HEADER_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n billHeaderSection: {\n borderTopRightRadius: 4,\n borderTopLeftRadius: 4,\n backgroundColor: DEFAULT_HEADER_COLOR,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'top',\n flexDirection: 'row',\n width: '100%',\n padding: '5px 10px',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: DEFAULT_LINE_COLOR,\n height: 35,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction BillHeader({ children }) {\n return (\n <View style={styles.billHeaderSection}>\n {children}\n </View>\n );\n}\n\nBillHeader.propTypes = {\n children: PropTypes.object,\n};\n\nexport default BillHeader;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { DEFAULT_LINE_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n billFooterSection: {\n display: 'flex',\n justifyContent: 'space-between',\n flexDirection: 'row',\n alignItems: 'center',\n borderBottomRightRadius: 4,\n borderBottomLeftRadius: 4,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: DEFAULT_LINE_COLOR,\n padding: '7px 10px',\n width: '100%',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction BillFooter({ children }) {\n return (\n <View style={styles.billFooterSection}>\n {children}\n </View>\n );\n}\n\nBillFooter.propTypes = {\n children: PropTypes.object,\n};\n\nexport default BillFooter;\n","import { StyleSheet } from '@react-pdf/renderer';\nimport { DEFAULT_LINE_COLOR } from 'components/core/ExportDocument/utils/colors';\n\nconst styles = StyleSheet.create({\n billCard: {\n marginBottom: 6,\n },\n billBodySection: {\n padding: '7px 10px 0 10px',\n borderRightWidth: 1,\n borderLeftWidth: 1,\n borderStyle: 'solid',\n borderColor: DEFAULT_LINE_COLOR,\n },\n withoutHeader: {\n borderTopWidth: 1,\n borderTopRightRadius: 4,\n borderTopLeftRadius: 4,\n },\n withoutFooter: {\n borderBottomWidth: 1,\n borderBottomRightRadius: 4,\n borderBottomLeftRadius: 4,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { View } from '@react-pdf/renderer';\n\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport styles from './styles';\n\nfunction BillCard({\n bill,\n headerContent,\n footerContent,\n children,\n}) {\n const { billId } = bill || {};\n const bodyStyles = {\n ...styles.billBodySection,\n ...(!headerContent && styles.withoutHeader),\n ...(!footerContent && styles.withoutFooter),\n };\n\n if (isEmpty(billId)) {\n return null;\n }\n\n return (\n <View className=\"bill-card\" style={styles.billCard}>\n <View break>\n {headerContent && <Header>{headerContent}</Header>}\n </View>\n\n <View style={bodyStyles}>\n {children}\n </View>\n\n {footerContent && <Footer>{footerContent}</Footer>}\n </View>\n );\n}\n\nBillCard.propTypes = {\n bill: PropTypes.object,\n headerContent: PropTypes.node,\n footerContent: PropTypes.node,\n children: PropTypes.node,\n};\n\nexport default BillCard;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { DEFAULT_LABEL_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n billHeaderItem: {\n width: '25%',\n },\n billDescriptionText: {\n fontSize: 8,\n fontWeight: 300,\n color: DEFAULT_LABEL_COLOR,\n lineHeight: 1,\n },\n billHeaderText: {\n fontSize: 9,\n fontWeight: 500,\n color: DEFAULT_LABEL_COLOR,\n textTransform: 'capitalize',\n overflowWrap: 'break-word',\n wordBreak: 'break-all',\n },\n});\n\nexport default styles;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LabelText } from 'components/core/ExportDocument';\n\nimport styles from './styles';\n\nfunction getHeaderItem(itemValue, itemLabel) {\n return (\n <LabelText\n style={styles.billHeaderItem}\n textStyle={styles.billHeaderText}\n labelStyle={styles.billDescriptionText}\n value={itemValue}\n label={itemLabel}\n wrap={false}\n />\n );\n}\n\nfunction BillHeader({\n bill,\n displayBillStateSection,\n displayBillStatusSection,\n displayIntroducedSection,\n displayVoteSection,\n}) {\n const {\n status,\n state,\n dateIntroduced,\n hasVote,\n } = bill || {};\n\n return (\n <Fragment>\n {displayBillStateSection && getHeaderItem(state, 'State')}\n {displayIntroducedSection && getHeaderItem(dateIntroduced, 'Introduced')}\n {displayBillStatusSection && getHeaderItem(status, 'Status')}\n {displayVoteSection && getHeaderItem(hasVote, 'Has vote?')}\n </Fragment>\n );\n}\n\nBillHeader.propTypes = {\n bill: PropTypes.object,\n displayBillStateSection: PropTypes.bool,\n displayBillStatusSection: PropTypes.bool,\n displayIntroducedSection: PropTypes.bool,\n displayVoteSection: PropTypes.bool,\n};\n\nexport default BillHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\nimport size from 'lodash/size';\n\nimport { LabelItemList, LabelLink } from 'components/core/ExportDocument';\n\nimport BillCard from '../../../BillCard';\nimport BillFooter from '../../../BillFooter';\nimport { getDescriptionItem, renderLegislator, renderSnippet } from '../../../utils';\nimport styles from '../../../utils/styles';\nimport BillHeader from '../Header';\n\nfunction Bill({\n bill,\n displayBillTitleSection,\n displaySnippetSection,\n displayLastActionDateSection,\n displayLastActionSection,\n displayDescriptionSection,\n displaySummarySection,\n displaySponsorsSection,\n displayCosponsorsSection,\n ...restDisplayProps\n}) {\n const {\n billId,\n billTitle,\n lastAction,\n lastActionDate,\n sponsors,\n cosponsors,\n billDescription,\n allSponsorsSize,\n allCosponsorsSize,\n govPredictLink,\n billSummary,\n billSummaryLastUpdated,\n snippet,\n } = bill || {};\n const {\n displayBillStateSection,\n displayBillStatusSection,\n displayIntroducedSection,\n displayVoteSection,\n displayBillTextSection,\n displayGovpredictLinkSection,\n displayTagsSection,\n } = restDisplayProps || {};\n\n const displayHeader = displayBillStateSection || displayIntroducedSection\n || displayBillStatusSection || displayVoteSection;\n\n const displayFooter = displayBillTextSection || displayGovpredictLinkSection || displayTagsSection;\n\n const headerContent = displayHeader ? <BillHeader bill={bill} {...restDisplayProps} /> : null;\n const footerContent = displayFooter ? <BillFooter bill={bill} {...restDisplayProps} billLinkLabel=\"Bill website\" /> : null;\n\n const displayViewAllSponsors = size(sponsors) < allSponsorsSize;\n const displayViewAllCosponsors = size(cosponsors) < allCosponsorsSize;\n\n const summaryLabelPrefix = 'Bill summary';\n const summaryLabel = billSummaryLastUpdated\n ? `${summaryLabelPrefix} - Last updated ${billSummaryLastUpdated}`\n : summaryLabelPrefix;\n\n return (\n <BillCard\n {...restDisplayProps}\n headerContent={headerContent}\n footerContent={footerContent}\n bill={bill}\n >\n <View style={styles.billRowSection}>\n {getDescriptionItem(billId, 'Bill number', govPredictLink)}\n </View>\n\n {displayBillTitleSection && (\n <View style={styles.billRowSection}>\n {getDescriptionItem(billTitle, 'Bill title', govPredictLink, 500)}\n </View>\n )}\n {displaySnippetSection && (\n <View style={styles.billRowSection}>\n {renderSnippet(snippet)}\n </View>\n )}\n\n <View style={styles.billRowSection}>\n {displayLastActionDateSection && (\n <View style={styles.billLastActionDateSection}>\n {getDescriptionItem(lastActionDate, 'Last action date')}\n </View>\n )}\n\n {displayLastActionSection && (\n <View style={styles.billLastActionSection}>\n {getDescriptionItem(lastAction, 'Last action', govPredictLink, 500)}\n </View>\n )}\n </View>\n\n {displayDescriptionSection && (\n <View style={styles.billRowSection}>\n {getDescriptionItem(billDescription, 'Bill description', govPredictLink)}\n </View>\n )}\n\n {displaySummarySection && (\n <View style={styles.billRowSection}>\n {getDescriptionItem(billSummary, summaryLabel, govPredictLink, 1500)}\n </View>\n )}\n\n {displaySponsorsSection && (\n <View style={styles.billRowSection}>\n <LabelItemList\n listStyle={styles.billDescriptionText}\n labelStyle={styles.billLabelText}\n label=\"Sponsors\"\n hideComma\n >\n {sponsors.map(renderLegislator)}\n {displayViewAllSponsors ? (\n <LabelLink\n value={`View all ${allSponsorsSize} on bill page`}\n href={govPredictLink}\n linkStyle={styles.billDescriptionLink}\n />\n ) : null}\n </LabelItemList>\n </View>\n )}\n\n {displayCosponsorsSection && (\n <View style={styles.billRowSection}>\n <LabelItemList\n listStyle={styles.billDescriptionText}\n labelStyle={styles.billLabelText}\n label=\"Cosponsors\"\n hideComma\n >\n {cosponsors.map(renderLegislator)}\n {displayViewAllCosponsors ? (\n <LabelLink\n value={`View all ${allCosponsorsSize} on bill page`}\n href={govPredictLink}\n linkStyle={styles.billDescriptionLink}\n />\n ) : null}\n </LabelItemList>\n </View>\n )}\n </BillCard>\n );\n}\n\nBill.propTypes = {\n bill: PropTypes.object.isRequired,\n displayBillStateSection: PropTypes.bool,\n displayBillStatusSection: PropTypes.bool,\n displayBillTitleSection: PropTypes.bool,\n displayDescriptionSection: PropTypes.bool,\n displaySummarySection: PropTypes.bool,\n displayIntroducedSection: PropTypes.bool,\n displayLastActionSection: PropTypes.bool,\n displayLastActionDateSection: PropTypes.bool,\n displaySponsorsSection: PropTypes.bool,\n displayCosponsorsSection: PropTypes.bool,\n displayBillTextSection: PropTypes.bool,\n displayTagsSection: PropTypes.bool,\n displayGovpredictLinkSection: PropTypes.bool,\n displayVoteSection: PropTypes.bool,\n displaySnippetSection: PropTypes.bool,\n};\n\nexport default Bill;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\n\nimport Bill from './components/Bill';\n\nfunction StateBills({ bills, style, ...restDisplayProps }) {\n return (\n <View style={style}>\n {bills.map((bill, index) => (\n <Bill key={`bill=${bill.id}-${index}`} bill={bill} {...restDisplayProps} />\n ))}\n </View>\n );\n}\n\nStateBills.defaultProps = {\n bills: [],\n};\n\nStateBills.propTypes = {\n bills: PropTypes.array,\n style: PropTypes.object,\n};\n\nexport default StateBills;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { DEFAULT_LABEL_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n billHeaderItem: {\n width: '25%',\n },\n billDescriptionText: {\n fontSize: 8,\n fontWeight: 300,\n color: DEFAULT_LABEL_COLOR,\n lineHeight: 1,\n },\n billHeaderText: {\n fontSize: 9,\n fontWeight: 500,\n color: DEFAULT_LABEL_COLOR,\n textTransform: 'capitalize',\n overflowWrap: 'break-word',\n wordBreak: 'break-all',\n },\n});\n\nexport default styles;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LabelText } from 'components/core/ExportDocument';\n\nimport styles from './styles';\n\nfunction getHeaderItem(itemValue, itemLabel) {\n return (\n <LabelText\n style={styles.billHeaderItem}\n textStyle={styles.billHeaderText}\n labelStyle={styles.billDescriptionText}\n value={itemValue}\n label={itemLabel}\n wrap={false}\n />\n );\n}\n\nfunction BillHeader({\n bill,\n displayCongressSection,\n displayBillStatusSection,\n displayIntroducedSection,\n displayVoteSection,\n}) {\n const {\n status,\n congress,\n introducedAt,\n hasVote,\n } = bill || {};\n\n return (\n <Fragment>\n {displayCongressSection && getHeaderItem(congress, 'Congress')}\n {displayIntroducedSection && getHeaderItem(introducedAt, 'Introduced')}\n {displayBillStatusSection && getHeaderItem(status, 'Status')}\n {displayVoteSection && getHeaderItem(hasVote, 'Has vote?')}\n </Fragment>\n );\n}\n\nBillHeader.propTypes = {\n bill: PropTypes.object,\n displayCongressSection: PropTypes.bool,\n displayBillStatusSection: PropTypes.bool,\n displayIntroducedSection: PropTypes.bool,\n displayVoteSection: PropTypes.bool,\n};\n\nexport default BillHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\nimport size from 'lodash/size';\n\nimport { LabelItemList, LabelLink } from 'components/core/ExportDocument';\n\nimport BillCard from '../../../BillCard';\nimport BillFooter from '../../../BillFooter';\nimport { getDescriptionItem, renderLegislator, renderSnippet } from '../../../utils';\nimport styles from '../../../utils/styles';\nimport BillHeader from '../Header';\n\nfunction Bill({\n bill,\n displayBillTitleSection,\n displaySnippetSection,\n displayLastActionDateSection,\n displayLastActionSection,\n displayDescriptionSection,\n displaySummarySection,\n displaySponsorsSection,\n displayCosponsorsSection,\n ...restDisplayProps\n}) {\n const {\n billId,\n billTitle,\n lastAction,\n lastActionDate,\n sponsors,\n cosponsors,\n billDescription,\n allCosponsorsSize,\n govPredictLink,\n billSummary,\n billSummaryLastUpdated,\n snippet,\n } = bill || {};\n const {\n displayCongressSection,\n displayBillStatusSection,\n displayIntroducedSection,\n displayVoteSection,\n displayBillTextSection,\n displayGovpredictLinkSection,\n displayTagsSection,\n } = restDisplayProps || {};\n\n const displayHeader = displayCongressSection || displayIntroducedSection\n || displayBillStatusSection || displayVoteSection;\n\n const displayFooter = displayBillTextSection || displayGovpredictLinkSection || displayTagsSection;\n\n const headerContent = displayHeader ? <BillHeader bill={bill} {...restDisplayProps} /> : null;\n const footerContent = displayFooter ? <BillFooter bill={bill} {...restDisplayProps} /> : null;\n\n const displayViewAllCosponsors = size(cosponsors) < allCosponsorsSize;\n\n const summaryLabelPrefix = 'Bill summary';\n const summaryLabel = billSummaryLastUpdated\n ? `${summaryLabelPrefix} - Last updated ${billSummaryLastUpdated}`\n : summaryLabelPrefix;\n\n return (\n <BillCard\n {...restDisplayProps}\n headerContent={headerContent}\n footerContent={footerContent}\n bill={bill}\n >\n <View style={styles.billRowSection}>\n {getDescriptionItem(billId, 'Bill number', govPredictLink)}\n </View>\n\n {displayBillTitleSection && (\n <View style={styles.billRowSection}>\n {getDescriptionItem(billTitle, 'Bill name', govPredictLink, 500)}\n </View>\n )}\n\n {displaySnippetSection && (\n <View style={styles.billRowSection}>\n {renderSnippet(snippet)}\n </View>\n )}\n\n {displayDescriptionSection && (\n <View style={styles.billRowSection}>\n {getDescriptionItem(billDescription, 'Description', govPredictLink)}\n </View>\n )}\n\n {displaySummarySection && (\n <View style={styles.billRowSection}>\n {getDescriptionItem(billSummary, summaryLabel, govPredictLink, 1500)}\n </View>\n )}\n\n <View style={styles.billRowSection}>\n {displayLastActionDateSection && (\n <View style={styles.billLastActionDateSection}>\n {getDescriptionItem(lastActionDate, 'Last action date')}\n </View>\n )}\n\n {displayLastActionSection && (\n <View style={styles.billLastActionSection}>\n {getDescriptionItem(lastAction, 'Last action', govPredictLink, 500)}\n </View>\n )}\n </View>\n\n {displaySponsorsSection && (\n <View style={styles.billRowSection}>\n <LabelItemList\n listStyle={styles.billDescriptionText}\n labelStyle={styles.billLabelText}\n label=\"Sponsor\"\n hideComma\n >\n {sponsors.map(renderLegislator)}\n </LabelItemList>\n </View>\n )}\n\n {displayCosponsorsSection && (\n <View style={styles.billRowSection}>\n <LabelItemList\n listStyle={styles.billDescriptionText}\n labelStyle={styles.billLabelText}\n label=\"Cosponsors\"\n hideComma\n >\n {cosponsors.map(renderLegislator)}\n {displayViewAllCosponsors ? (\n <LabelLink\n value={`View all ${allCosponsorsSize} on bill page`}\n href={govPredictLink}\n linkStyle={styles.billDescriptionLink}\n />\n ) : null}\n </LabelItemList>\n </View>\n )}\n </BillCard>\n );\n}\n\nBill.propTypes = {\n bill: PropTypes.object.isRequired,\n displayCongressSection: PropTypes.bool,\n displayBillStatusSection: PropTypes.bool,\n displayBillTitleSection: PropTypes.bool,\n displaySnippetSection: PropTypes.bool,\n displayDescriptionSection: PropTypes.bool,\n displaySummarySection: PropTypes.bool,\n displayIntroducedSection: PropTypes.bool,\n displayLastActionSection: PropTypes.bool,\n displayLastActionDateSection: PropTypes.bool,\n displaySponsorsSection: PropTypes.bool,\n displayCosponsorsSection: PropTypes.bool,\n displayTagsSection: PropTypes.bool,\n displayBillTextSection: PropTypes.bool,\n displayGovpredictLinkSection: PropTypes.bool,\n displayVoteSection: PropTypes.bool,\n};\n\nexport default Bill;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\n\nimport Bill from './components/Bill';\n\nfunction FederalBills({ bills, style, ...restDisplayProps }) {\n return (\n <View style={style}>\n {bills.map((bill, index) => (\n <Bill key={`bill=${bill.id}-${index}`} bill={bill} {...restDisplayProps} />\n ))}\n </View>\n );\n}\n\nFederalBills.defaultProps = {\n bills: [],\n};\n\nFederalBills.propTypes = {\n bills: PropTypes.array,\n style: PropTypes.object,\n};\n\nexport default FederalBills;\n","export { default as BillCard } from './BillCard';\nexport { default as StateBills } from './StateBills';\nexport { default as FederalBills } from './FederalBills';\nexport { default as BillFooter } from './BillFooter';\n","import { useState, useEffect } from 'react';\n\nimport Notifications from 'components/Moneyball/utils/Notifications';\n\nimport { ALL_CONTRIBUTIONS_KEY, STAKEHOLDER_CONTRIBUTIONS_KEY } from './constants';\n\nfunction useContributions({ searchProperties, perPage, searchReceipts }) {\n const [contribution, setContribution] = useState(ALL_CONTRIBUTIONS_KEY);\n const stakeholdersContributionsOnly = contribution === STAKEHOLDER_CONTRIBUTIONS_KEY;\n\n const fetchData = filters => searchReceipts(filters, stakeholdersContributionsOnly)\n .catch(Notifications.defaultFetchDataFailed);\n\n useEffect(() => {\n fetchData({\n ...searchProperties[contribution],\n perPage,\n });\n }, [contribution]);\n\n function handleChangeContribution(selectedObject = {}) {\n const { value } = selectedObject;\n setContribution(value);\n }\n\n return {\n contribution,\n onChangeContribution: handleChangeContribution,\n fetchData,\n };\n}\n\nexport default useContributions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport Select from 'components/core/Select';\n\nimport titles from '../../utils/titles';\nimport styles from './styles.module.scss';\n\nfunction Form({ contributionOptions, contribution, onChangeContribution }) {\n const contributionsComponent = (\n <Select\n onChange={onChangeContribution}\n options={contributionOptions}\n className={styles.contributorsOption}\n value={contribution}\n clearable={false}\n isSearchable={false}\n hasNewStyle\n />\n );\n\n return (\n <div className={styles.container}>\n <BaseOption\n {...titles.contributionsForm}\n customComponent={contributionsComponent}\n />\n </div>\n );\n}\n\nForm.propTypes = {\n contributionOptions: PropTypes.array.isRequired,\n contribution: PropTypes.string,\n onChangeContribution: PropTypes.func.isRequired,\n};\n\nexport default Form;\n","const tableColumns = [\n {\n label: 'Contributor name',\n keyName: 'name',\n allowToggle: false,\n },\n {\n label: 'Amount',\n keyName: 'amount',\n sortingKey: 'contribution_amount',\n allowToggle: true,\n },\n {\n label: 'Recipient name',\n keyName: 'recipient',\n allowToggle: false,\n },\n {\n label: 'Receipt date',\n keyName: 'contribution_date',\n sortingKey: 'contribution_date',\n allowToggle: true,\n },\n {\n label: 'Source type',\n keyName: 'source_type_full',\n allowToggle: false,\n },\n {\n label: 'Election type',\n keyName: 'election_type_full',\n allowToggle: false,\n },\n {\n label: 'Recipient party',\n keyName: 'recipientParty',\n allowToggle: false,\n },\n {\n label: 'Conduit',\n keyName: 'conduitName',\n allowToggle: false,\n },\n {\n label: 'Filing',\n keyName: 'receipts',\n allowToggle: false,\n },\n];\n\nexport default tableColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport TableView from 'components/Moneyball/common/TableView';\nimport Notifications from 'components/Moneyball/utils/Notifications';\n\nimport tableColumns from '../../utils/tableColumns';\nimport styles from './styles.module.scss';\n\nfunction Table({\n history,\n ui,\n sort,\n paginator,\n receipt,\n receiptError,\n searchReceipt,\n receipts,\n receiptsError,\n searchReceipts,\n submitExport,\n isMobile,\n tableClassName,\n nrRowsPlaceholder,\n perPage,\n searchParams,\n searchProperties,\n appliedSearchFilters,\n customEmptyMessage,\n}) {\n const { appliedFilters } = appliedSearchFilters || {};\n const {\n isInitialLoading,\n isLoadingData,\n isReceiptLoading,\n isLoadingReport,\n toResetSelectedItems,\n } = ui;\n\n const actionsMap = {\n receipt,\n receiptError,\n searchReceipt,\n isReceiptLoading,\n exportModalTitle: 'Receipt export',\n isLoadingReport,\n submitExport,\n };\n\n return (\n <div className={styles.tableContainer}>\n <TableView\n uniqueKey=\"id\"\n data={receipts}\n tableClassName={tableClassName}\n nrRowsPlaceholder={nrRowsPlaceholder}\n sorting={sort}\n paginator={paginator}\n tableColumns={tableColumns}\n isInitialLoading={isInitialLoading}\n displayPaginatorPlaceholder={false}\n isLoading={isLoadingData}\n toResetSelectedItems={toResetSelectedItems}\n onFetchData={searchReceipts}\n onFailedNotification={Notifications.defaultFetchDataFailed}\n appliedFilters={appliedFilters}\n searchParams={searchParams}\n actionsMap={actionsMap}\n error={receiptsError}\n isMobile={isMobile}\n perPage={perPage}\n isCheckboxPresent={false}\n fullWidthTable={false}\n customSearchProperties={searchProperties}\n customEmptyMessage={customEmptyMessage}\n history={history}\n />\n </div>\n );\n}\n\nTable.defaultProps = {\n nrRowsPlaceholder: 10,\n customEmptyMessage: '',\n};\n\nTable.propTypes = {\n ui: PropTypes.object.isRequired,\n appliedSearchFilters: PropTypes.object.isRequired,\n receipt: PropTypes.object.isRequired,\n receiptError: PropTypes.bool.isRequired,\n receipts: PropTypes.array.isRequired,\n receiptsError: PropTypes.bool.isRequired,\n searchParams: PropTypes.object.isRequired,\n searchReceipt: PropTypes.func.isRequired,\n searchReceipts: PropTypes.func.isRequired,\n submitExport: PropTypes.func.isRequired,\n paginator: PropTypes.object.isRequired,\n sort: PropTypes.object.isRequired,\n isMobile: PropTypes.bool.isRequired,\n tableClassName: PropTypes.string,\n nrRowsPlaceholder: PropTypes.number,\n perPage: PropTypes.number,\n searchProperties: PropTypes.object,\n history: PropTypes.object.isRequired,\n customEmptyMessage: PropTypes.string,\n};\n\nexport default Table;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { MONEYBALL_COMBINE_INDIVIDUALS_VIEW_URL } from 'components/Moneyball/utils/constants';\nimport { queryParser, queryStringify } from 'utils/query-string';\nimport Link from 'components/core/Link';\nimport EmptyPlaceholder, { NoSubscriptionMessage } from 'components/core/EmptyPlaceholder';\n\nimport useContributions from '../../utils/useContributions';\nimport { CONTRIBUTION_OPTIONS, STAKEHOLDER_CONTRIBUTIONS_KEY } from '../../utils/constants';\nimport titles from '../../utils/titles';\nimport Form from '../Form';\nimport Table from '../Table';\nimport styles from './styles.module.scss';\n\nconst { isStakeholderMgmtEnabled } = gon;\n\nfunction Container({\n ids,\n isMobile,\n lookUp,\n history,\n searchReceipt,\n searchReceipts,\n submitExport,\n contributionOptions,\n customTitles,\n tableClassName,\n nrRowsPlaceholder,\n perPage,\n searchProperties,\n appliedSearchFilters,\n isEmptyData,\n customEmptyMessage,\n}) {\n const searchParams = queryParser(history.location.search, { arrayFormat: 'none' });\n const { contribution, onChangeContribution, fetchData } = useContributions({\n ids,\n searchProperties,\n perPage,\n searchReceipts,\n });\n\n const noSubscriptionMessage = (\n <NoSubscriptionMessage\n name=\"Stakeholder Management\"\n description=\"Stakeholder Management\"\n />\n );\n\n /** TODO add to DataCard -> rightItems={getMoneyballLink()} when available */\n // eslint-disable-next-line no-unused-vars\n function getMoneyballLink() {\n if (isEmpty(ids)) {\n return null;\n }\n\n const itemsToken = queryStringify({ ids }, { arrayFormat: 'none' });\n return (\n <Link\n className={styles.moneyballLink}\n theme=\"default\"\n size=\"none\"\n href={`${MONEYBALL_COMBINE_INDIVIDUALS_VIEW_URL}?${itemsToken}`}\n >\n View on moneyball\n </Link>\n );\n }\n\n function getTable() {\n const isStakeholdersFilterSelected = contribution === STAKEHOLDER_CONTRIBUTIONS_KEY;\n\n if (isStakeholdersFilterSelected && !isStakeholderMgmtEnabled) {\n return (\n <EmptyPlaceholder\n iconNode={<img src=\"/images/empty-custom-fields.svg\" alt=\"Looking for something?\" />}\n title=\"Looking for something?\"\n description={noSubscriptionMessage}\n className={styles.noSubscriptionWarning}\n />\n );\n }\n\n return (\n <Table\n {...lookUp}\n history={history}\n perPage={perPage}\n tableClassName={tableClassName}\n searchReceipt={searchReceipt}\n searchReceipts={fetchData}\n submitExport={submitExport}\n isMobile={isMobile}\n nrRowsPlaceholder={nrRowsPlaceholder}\n searchProperties={searchProperties[contribution]}\n appliedSearchFilters={appliedSearchFilters}\n customEmptyMessage={customEmptyMessage}\n searchParams={searchParams}\n />\n );\n }\n\n return (\n <DataCard {...customTitles} showPlaceholder={isEmptyData}>\n <Form\n contributionOptions={contributionOptions}\n contribution={contribution}\n onChangeContribution={onChangeContribution}\n />\n {getTable()}\n </DataCard>\n );\n}\n\nContainer.defaultProps = {\n customTitles: titles.contributions,\n contributionOptions: CONTRIBUTION_OPTIONS,\n customEmptyMessage: '',\n};\n\nContainer.propTypes = {\n ids: PropTypes.array,\n searchProperties: PropTypes.object,\n appliedSearchFilters: PropTypes.object.isRequired,\n isMobile: PropTypes.bool.isRequired,\n lookUp: PropTypes.object.isRequired,\n searchReceipt: PropTypes.func.isRequired,\n searchReceipts: PropTypes.func.isRequired,\n submitExport: PropTypes.func.isRequired,\n customTitles: PropTypes.object,\n contributionOptions: PropTypes.array,\n tableClassName: PropTypes.string,\n nrRowsPlaceholder: PropTypes.number,\n perPage: PropTypes.number,\n isEmptyData: PropTypes.bool,\n history: PropTypes.object.isRequired,\n customEmptyMessage: PropTypes.string,\n};\n\nexport default Container;\n","import React from 'react';\nimport { bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\n\nimport * as Actions from 'redux/moneyball/receiptPages/lookup/actions';\nimport store from 'redux/store';\n\nimport Container from './components/Container';\n\nfunction mapStateToProps(state) {\n return { ...state.moneyball.receiptLookup };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(Actions, dispatch);\n}\n\nconst ConnectedContainer = connect(mapStateToProps, mapDispatchToProps)(Container);\n\nexport default function Contributors(props) {\n return (\n <Provider store={store}>\n <ConnectedContainer {...props} />\n </Provider>\n );\n}\n","import FederalContributionsWidget from './components/FederalContributionsWidget';\nimport ReceiptModal from './components/ReceiptModal';\nimport useTableReceipts from './components/Contributions/components/Table/useTableReceipts';\n\nexport { FederalContributionsWidget, ReceiptModal, useTableReceipts };\n","import { useEffect, useState } from 'react';\nimport { utcDayEnd, utcDayStart } from 'utils/date';\n\nimport { areValuesChanged } from 'components/core/AdvancedSearch/utils';\n\nfunction useOptions({ setAllowSubmit, onChangeHandleState, searchValue, emptyState }) {\n const [optionValues, setOptionValues] = useState(emptyState.options);\n\n /** Set enable/disable search button */\n useEffect(() => {\n setAllowSubmit(areValuesChanged(optionValues, emptyState, searchValue));\n }, [optionValues, searchValue]);\n\n function resetValues() {\n setOptionValues(emptyState.options);\n }\n\n function handleChange(name, value) {\n setOptionValues(prevProps => ({ ...prevProps, [name]: value }));\n onChangeHandleState();\n }\n\n function handleChangeRange(value, property, isStart = false) {\n setOptionValues(prevProps => ({\n ...prevProps,\n [property]: {\n ...prevProps[property],\n [isStart ? 'start' : 'end']: value,\n },\n }));\n\n onChangeHandleState();\n }\n\n function handleChangeStart(start, property) {\n handleChangeRange(utcDayStart(start), property, true);\n }\n\n function handleChangeEnd(end, property) {\n handleChangeRange(utcDayEnd(end), property);\n }\n\n return {\n optionValues,\n resetValues,\n setOptionValues,\n onChange: handleChange,\n onChangeDateRange: handleChangeRange,\n onChangeStart: handleChangeStart,\n onChangeEnd: handleChangeEnd,\n };\n}\n\nexport default useOptions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getDate, utcDayEnd, utcDayStart } from 'utils/date';\nimport DateRange from 'components/core/DateRange';\n\nimport styles from '../styles.module.scss';\n\nfunction DateFilter({ id, values, onChange }) {\n const { startDate, endDate } = values;\n\n const handleChange = newValue => onChange(id, newValue);\n\n const handleChangeStart = newDate => handleChange({ startDate: utcDayStart(newDate), endDate });\n\n const handleChangeEnd = newDate => handleChange({ startDate, endDate: utcDayEnd(newDate) });\n\n return (\n <DateRange\n autoOpenEndDate={false}\n maxStartDate={new Date()}\n startDate={getDate(startDate)}\n endDate={getDate(endDate)}\n handleChangeStart={handleChangeStart}\n handleChangeEnd={handleChangeEnd}\n className={styles.item}\n showMonthDropdown\n showYearDropdown\n />\n );\n}\n\nDateFilter.propTypes = {\n id: PropTypes.string.isRequired,\n values: PropTypes.shape({\n startDate: PropTypes.string,\n endDate: PropTypes.string,\n }).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default DateFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport LabelGroup from 'components/core/LabelGroup';\nimport CoreRadioBox from 'components/core/RadioBox';\n\nimport styles from '../styles.module.scss';\n\nfunction Radiobox({ id, items, values, onChange }) {\n const handleChange = ({ target: { value: changedValue } }) => onChange(id, changedValue);\n\n const renderRadiobox = (item) => {\n const { id: radioboxId, label, disabled } = item || {};\n\n return (\n <CoreRadioBox\n key={radioboxId}\n label={label}\n value={radioboxId}\n disabled={disabled}\n checked={values === radioboxId}\n onChange={handleChange}\n />\n );\n };\n\n return (\n <LabelGroup containerClassName={styles.item}>\n {items.map(renderRadiobox)}\n </LabelGroup>\n );\n}\n\nRadiobox.propTypes = {\n id: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n values: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default Radiobox;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport CoreTagInput from 'components/core/TagInput';\nimport { suggestionShape } from 'utils/shapes/suggestion';\nimport { strategyInputsShape } from 'components/Autosuggest/utils/shapes';\n\nimport styles from '../styles.module.scss';\n\nfunction TagInput({ id, strategy, values, onChange, multiple, strategyInputs }) {\n const handleChange = newValue => onChange(id, newValue);\n\n return (\n <CoreTagInput\n shouldOverrideValue\n strategy={strategy}\n overrideValue={values}\n groupClassName={styles.item}\n onChange={handleChange}\n multiple={multiple}\n strategyInputs={strategyInputs}\n />\n );\n}\n\nTagInput.propTypes = {\n id: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n values: PropTypes.oneOfType([\n PropTypes.arrayOf(suggestionShape).isRequired,\n suggestionShape,\n ]),\n onChange: PropTypes.func.isRequired,\n multiple: PropTypes.bool,\n strategyInputs: strategyInputsShape,\n};\n\nexport default TagInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Item({ label, isChecked }) {\n const starIconClassName = isChecked ? classNames('fas fa-star', styles.saved) : 'far fa-star';\n\n return (\n <div className={styles.container}>\n <div className={styles.icon}>\n <i className={starIconClassName} />\n </div>\n <div className={styles.label}>\n {label}\n </div>\n </div>\n );\n}\n\nItem.propTypes = {\n label: PropTypes.string.isRequired,\n isChecked: PropTypes.bool,\n};\n\nexport default Item;\n","import PropTypes from 'prop-types';\n\nexport const itemShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]).isRequired,\n disabled: PropTypes.bool,\n});\n\nexport const valuesShape = PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n]);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { map, filter, includes } from 'lodash';\n\nimport LabelGroup from 'components/core/LabelGroup';\nimport CoreCheckbox from 'components/core/Checkbox';\n\nimport SelectAll from '../SelectAll';\nimport styles from '../styles.module.scss';\nimport Item from './components/Item';\nimport { itemShape, valuesShape } from './utils/shapes';\n\nfunction Checkbox({\n withoutBorders,\n withStars,\n withSelectAll,\n id,\n items,\n values,\n onChange,\n isSingleSelection,\n}) {\n const handleChange = item => ({ target: { checked } }) => {\n isSingleSelection\n ? onChange(id, checked ? item.id : '')\n : onChange(\n id, checked ? [...values, item.id] : filter(values, valueItem => valueItem !== item.id)\n );\n };\n\n const renderLabel = (labelProps) => {\n const { label } = labelProps || {};\n\n if (withStars) {\n return <Item {...labelProps} />;\n }\n\n return label;\n };\n\n const renderCheckbox = (item) => {\n const { id: checkboxId, label, disabled } = item || {};\n const isChecked = isSingleSelection ? values === checkboxId : includes(values, checkboxId);\n\n return (\n <CoreCheckbox\n key={checkboxId}\n isDisabled={disabled}\n isChecked={isChecked}\n label={renderLabel({ label, isChecked })}\n className={withStars && styles.checkboxWithStars}\n onChange={handleChange(item)}\n />\n );\n };\n\n return (\n <LabelGroup\n containerClassName={styles.item}\n className={withoutBorders && styles.checkboxWithoutBorders}\n >\n {withSelectAll && (\n <SelectAll\n id={id}\n values={values}\n items={items}\n selector=\"id\"\n onChange={onChange}\n />\n )}\n {map(items, renderCheckbox)}\n </LabelGroup>\n );\n}\n\nCheckbox.defaultProps = {\n isSingleSelection: false,\n};\n\nCheckbox.propTypes = {\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(itemShape).isRequired,\n values: valuesShape.isRequired,\n onChange: PropTypes.func.isRequired,\n withoutBorders: PropTypes.bool,\n withStars: PropTypes.bool,\n withSelectAll: PropTypes.bool,\n isSingleSelection: PropTypes.bool,\n};\n\nexport default Checkbox;\n","// @ts-nocheck\nimport React from 'react';\nimport { map, size, reject, reduce } from 'lodash';\n\nimport Checkbox from 'components/core/Checkbox';\nimport { CheckEvent } from 'utils/types/events';\n\nimport { CheckboxItem, OnChange } from '../../utils/types';\n\ntype SelectAllWithSubItemsProps = {\n id: string;\n values: string[];\n items: CheckboxItem[];\n selector: string;\n onChange: OnChange;\n className?: string;\n}\n\nfunction SelectAllWithSubItems({\n id,\n values,\n items,\n selector,\n onChange,\n className,\n}: SelectAllWithSubItemsProps) {\n const enabledItems = reject(items, 'disabled');\n const isChecked = size(values) === size(enabledItems);\n\n const handleSelectAll = ({ target: { checked } }: CheckEvent) => {\n const getOptionalFields = () => (\n reduce(enabledItems, (subFields, field) => {\n if (!field.subItems) {\n return subFields;\n }\n\n return {\n ...subFields,\n [field.subItems.id]: checked ? map(field.subItems.options, 'value') : [],\n };\n }, {})\n );\n\n const value = checked ? map(enabledItems, selector) : [];\n\n onChange(id, value, { optionalFields: getOptionalFields() });\n };\n\n return (\n <Checkbox\n isChecked={isChecked}\n label=\"Select/deselect all\"\n onChange={handleSelectAll}\n className={className}\n />\n );\n}\n\nexport default SelectAllWithSubItems;\n","import React, { ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\ntype ItemProps = {\n label: ReactNode;\n isChecked: boolean;\n}\n\nfunction Item({ label, isChecked }: ItemProps): ReactNode {\n const starIconClassName = isChecked ? classNames('fas fa-star', styles.saved) : 'far fa-star';\n\n return (\n <div className={styles.container}>\n <div className={styles.icon}>\n <i className={starIconClassName} />\n </div>\n <div className={styles.label}>\n {label}\n </div>\n </div>\n );\n}\n\nexport default Item;\n","// @ts-nocheck\nimport React, { Fragment, ReactNode } from 'react';\nimport { map, filter, includes, get } from 'lodash';\n\nimport LabelGroup from 'components/core/LabelGroup';\nimport Checkbox from 'components/core/Checkbox';\nimport { CheckEvent } from 'utils/types/events';\n\nimport SelectAll from '../SelectAll';\nimport filterStyles from '../styles.module.scss';\nimport { CheckboxWithSubItemsProps, CheckboxItem, SubItems, SubItem } from './utils/types';\nimport SelectAllWithSubItems from './components/SelectAllWithSubItems';\nimport Item from './components/Item';\nimport styles from './styles.module.scss';\n\nfunction CheckboxWithSubItems({\n withoutBorders,\n withStars,\n withSelectAll,\n id,\n items,\n values,\n onChange,\n isSingleSelection,\n allValues,\n}: CheckboxWithSubItemsProps): ReactNode {\n const handleMultiChange = (checked: boolean, item: CheckboxItem) => {\n const filterValue = checked ? [...values, item.id] : filter(values, val => val !== item.id);\n const subFieldId = get(item, 'subItems.id');\n\n const getSubField = () => {\n if (!subFieldId) return null;\n\n return {\n [subFieldId]: checked ? map(item.subItems.options, 'value') : [],\n };\n };\n\n onChange(id, filterValue, { optionalFields: getSubField() });\n };\n\n const handleChange = (item: CheckboxItem) => (\n ({ target: { checked } }: CheckEvent) => {\n if (isSingleSelection) {\n onChange(id, checked ? item.id : '');\n } else {\n handleMultiChange(checked, item);\n }\n }\n );\n\n const renderLabel = (labelProps: { label: ReactNode, isChecked: boolean }) => {\n const { label } = labelProps || {};\n\n if (withStars) {\n return <Item {...labelProps} />;\n }\n\n return label;\n };\n\n const handleSubItemChange = (subId: string, value: string) => ({ target }: CheckEvent) => {\n const subValues = allValues && allValues[subId] || [];\n\n const handleCheck = (checked: boolean) => (\n checked ? [...subValues, value] : filter(subValues, subValue => subValue !== value)\n );\n\n onChange(subId, handleCheck(target.checked));\n };\n\n const renderSubItems = (subItems: SubItems) => {\n const subItemValues = allValues && allValues[subItems.id];\n\n const renderSubItem = (subItem: SubItem) => {\n const isChecked = includes(subItemValues, subItem.value);\n\n return (\n <Checkbox\n key={subItem.value}\n isChecked={isChecked}\n label={subItem.label}\n onChange={handleSubItemChange(subItems.id, subItem.value)}\n className={styles.item}\n />\n );\n };\n\n return (\n <div className={styles.subItems}>\n <h5 className={styles.title}>{subItems.title}</h5>\n {subItems.withSelectAll && Array.isArray(subItemValues) && (\n <SelectAll\n id={subItems.id}\n values={subItemValues}\n items={subItems.options}\n selector=\"value\"\n onChange={onChange}\n className={styles.item}\n />\n )}\n {subItems.options.map(renderSubItem)}\n </div>\n );\n };\n\n const renderCheckbox = (item: CheckboxItem) => {\n const { id: checkboxId, label, disabled, subItems } = item || {};\n const isChecked = isSingleSelection\n ? values === checkboxId\n : includes(values, checkboxId);\n const showSubItems = isChecked && subItems;\n\n return (\n <Fragment key={checkboxId}>\n <Checkbox\n isDisabled={disabled}\n isChecked={isChecked}\n label={renderLabel({ label, isChecked })}\n className={withStars && filterStyles.checkboxWithStars}\n onChange={handleChange(item)}\n />\n {showSubItems && renderSubItems(subItems)}\n </Fragment>\n );\n };\n\n return (\n <LabelGroup\n containerClassName={filterStyles.item}\n className={withoutBorders && filterStyles.checkboxWithoutBorders}\n >\n {withSelectAll && Array.isArray(values) && (\n <SelectAllWithSubItems\n id={id}\n values={values}\n items={items}\n selector=\"id\"\n onChange={onChange}\n />\n )}\n {map(items, renderCheckbox)}\n </LabelGroup>\n );\n}\n\nCheckboxWithSubItems.defaultProps = {\n isSingleSelection: false,\n};\n\nexport default CheckboxWithSubItems;\n","export { default as Date } from './Date';\nexport { default as Radiobox } from './Radiobox';\nexport { default as TagInput } from './TagInput';\nexport { default as Checkbox } from './Checkbox';\nexport { default as SelectAll } from './SelectAll';\nexport { default as CheckboxWithSubItems } from './CheckboxWithSubItems';\n","import { useState, useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nfunction useSearch({\n isDesktop,\n filterValues,\n onChangeSearchParam,\n onChangeSearchValue,\n}) {\n const [showSearch, setShowSearch] = useState(false);\n const [showFilters, setShowFilters] = useState(false);\n const { searchValue: appliedSearchValue } = filterValues || {};\n const [currentSearchValue, setCurrentSearchValue] = useState(appliedSearchValue);\n\n const handleShowFilters = () => setShowFilters(!showFilters);\n\n const handleShowSearch = () => setShowSearch(!showSearch);\n\n const handleSearchChange = ({ target: { value } = {} }) => setCurrentSearchValue(value);\n\n const handleSearchSubmit = () => {\n onChangeSearchValue(currentSearchValue);\n !isDesktop && setShowSearch(!showSearch);\n\n if (onChangeSearchParam) {\n isEmpty(currentSearchValue) ? onChangeSearchParam() : onChangeSearchParam(currentSearchValue);\n }\n };\n\n useEffect(() => {\n (appliedSearchValue !== currentSearchValue) && setCurrentSearchValue(appliedSearchValue);\n }, [appliedSearchValue]);\n\n return {\n showSearch,\n showFilters,\n handleShowSearch,\n handleShowFilters,\n handleSearchSubmit,\n search: currentSearchValue,\n handleSearchChange,\n };\n}\n\nexport default useSearch;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport AddedToItem from 'components/core/Table/components/ColumnItem/AddedToItem';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { workspaceShape } from 'redux/events/utils/shapes';\n\nimport InfoTab from '../InfoTab';\nimport styles from './styles.module.scss';\n\nexport default function AddedToTab({ tags, sharings }) {\n const renderAddedToItem = () => {\n if (isEmpty(tags) && !sharings) {\n return (\n <div className={styles.tabValue}>\n {EMPTY_VALUE}\n </div>\n );\n }\n\n return (\n <div className={styles.tabValue}>\n <AddedToItem\n isColumn={false}\n item={{ tags, sharings }}\n withTags\n />\n </div>\n );\n };\n\n return <InfoTab label=\"Added to\" renderValue={renderAddedToItem} />;\n}\n\nAddedToTab.propTypes = {\n tags: PropTypes.arrayOf(tagShape),\n sharings: PropTypes.arrayOf(workspaceShape),\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { getMyFeed } from 'components/Dashboard/utils';\nimport ButtonTagManager from 'components/core/ButtonTagManager';\nimport ButtonShare from 'components/core/ButtonShare';\n\nimport InfoTab from '../InfoTab';\nimport styles from './styles.module.scss';\n\nexport default function ActionsTab({\n documentId,\n documentTitle,\n documentType,\n documentTypeLabel,\n documentUrl,\n tags,\n onDocumentShared,\n onTagsSaved,\n}) {\n // TODO: adjust once we have share to workspaces\n const onShareSuccess = () => onDocumentShared([getMyFeed()]);\n\n const renderActions = () => (\n <div>\n <ButtonShare\n size=\"small\"\n theme=\"secondary\"\n tooltipPlacement=\"bottom-end\"\n recordId={documentId}\n recordType={documentType}\n itemType={documentTypeLabel}\n itemName={documentTitle}\n itemUrl={documentUrl}\n className={styles.shareButton}\n onSuccess={onShareSuccess}\n />\n\n <ButtonTagManager\n autoload\n size=\"small\"\n theme=\"secondary\"\n tags={tags}\n recordId={documentId}\n recordType={documentType}\n itemType={documentTypeLabel}\n buttonClassName={styles.tagButton}\n updateDataItem={onTagsSaved}\n />\n </div>\n );\n\n return <InfoTab label=\"Actions\" renderValue={renderActions} />;\n}\n\nActionsTab.propTypes = {\n documentId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n documentTitle: PropTypes.string.isRequired,\n documentType: PropTypes.string.isRequired,\n documentTypeLabel: PropTypes.string.isRequired,\n documentUrl: PropTypes.string.isRequired,\n tags: PropTypes.arrayOf(tagShape),\n onDocumentShared: PropTypes.func.isRequired,\n onTagsSaved: PropTypes.func.isRequired,\n};\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DocumentContent from 'components/core/DocumentContent';\nimport Placeholder from 'components/core/DocumentPlaceholder';\nimport RightSideBar from 'components/core/RightSideBar';\n\nimport { summaryShape } from './utils/shapes';\n\nfunction DocumentContainer({\n summary,\n ui,\n fetchDetails,\n onExportDocument,\n sidebarItems,\n match,\n documentType,\n actionButtons,\n onDocumentShared,\n onTagsSaved,\n}) {\n const { pdfUrl, source_url: sourceUrl } = summary || {};\n const { isLoading, isExporting } = ui || {};\n const { params } = match || {};\n const { id } = params || {};\n\n useEffect(() => {\n fetchDetails(documentType, id);\n }, []);\n\n if (!isLoading && isEmpty(summary)) {\n return <Placeholder isEmptyText />;\n }\n\n const rightSideBarData = {\n ...summary,\n id,\n onDocumentShared,\n onTagsSaved,\n };\n\n return (\n <>\n <RightSideBar items={sidebarItems} data={rightSideBarData} />\n <DocumentContent\n isLoadingDocument={isLoading}\n pdfUrl={pdfUrl}\n sourceUrl={sourceUrl}\n documentType={documentType}\n isLoadingExports={isExporting}\n onExportDocument={onExportDocument}\n actionButtons={actionButtons}\n />\n </>\n );\n}\n\nDocumentContainer.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n }).isRequired,\n }),\n documentType: PropTypes.shape({\n name: PropTypes.string,\n apiUrl: PropTypes.string,\n }),\n summary: summaryShape,\n ui: PropTypes.shape({\n isLoading: PropTypes.bool,\n }),\n exportReport: PropTypes.shape({\n ui: PropTypes.shape({\n isLoadingExports: PropTypes.bool,\n }),\n }),\n fetchDetails: PropTypes.func.isRequired,\n onExportDocument: PropTypes.func.isRequired,\n sidebarItems: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n content: PropTypes.element,\n }),\n ),\n actionButtons: PropTypes.element,\n onDocumentShared: PropTypes.func.isRequired,\n onTagsSaved: PropTypes.func.isRequired,\n};\n\nexport default DocumentContainer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { pluralize } from 'utils/string';\nimport { btnPropsShape } from 'components/core/PageLookup/utils/shapes';\nimport { ConfirmationModal } from 'components/core/Modal';\nimport useModal from 'components/core/Modal/useModal';\nimport Button from 'components/core/Button';\n\nfunction ButtonShareToMyFeed({ onShare, isLoading, itemsSize, className, btnProps }) {\n const { isOpenModal, toggleModal } = useModal();\n const confirmationText = `Are you sure you would like to share ${itemsSize} \n ${pluralize('item', 'items', itemsSize)} to 'My feed'?`;\n\n return (\n <>\n <Button\n {...btnProps}\n className={className}\n onClick={toggleModal}\n isLoading={isLoading}\n >\n Share\n </Button>\n\n <ConfirmationModal\n isOpen={isOpenModal}\n toggle={toggleModal}\n action={onShare}\n title=\"Share items\"\n message={confirmationText}\n messageContinue=\"Confirm\"\n />\n </>\n );\n}\n\nButtonShareToMyFeed.propTypes = {\n onShare: PropTypes.func.isRequired,\n isLoading: PropTypes.bool,\n itemsSize: PropTypes.number.isRequired,\n className: PropTypes.string,\n btnProps: btnPropsShape,\n};\n\nexport default ButtonShareToMyFeed;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useListener } from 'react-bus';\nimport { some, every, isEmpty } from 'lodash';\n\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\nimport theme from 'components/core/TagInput/theme';\nimport TagInput from 'components/core/TagInput';\nimport Select from 'components/core/Select';\n\nimport styles from './styles.module.scss';\n\nconst REQUEST_CONTENT_TYPE = 'application/json';\n\nfunction AddedDraggableItem({\n bus,\n data,\n addons,\n message,\n withSource,\n sourceMultiValueLabel,\n sourceOption,\n replaceOldNode,\n parentComponentData,\n defaultComponentData,\n hideFirstOptionNode,\n firstOptionOptions,\n firstOptionPlaceholder,\n firstOptionTransform,\n secondOptionMultiSelect,\n secondOptionOptions,\n secondOptionStrategy,\n secondOptionSuggester,\n secondOptionReqMethod,\n secondOptionReqTransform,\n secondOptionResTransform,\n secondOptionTransform,\n secondOptionAsyncCreatable,\n secondOptionCustomMessage,\n secondOptionCustomProps,\n transformData,\n updateData,\n onFocus,\n pagination,\n secondaryOptionRender,\n customInstantValidator,\n customSubmitValidator,\n}) {\n const baseComponentData = useState(defaultComponentData);\n const [componentData, setComponentData] = parentComponentData || baseComponentData;\n const suggester = secondOptionSuggester && secondOptionSuggester({ componentData });\n const { firstOption, secondOption } = componentData || {};\n const { value: firstOptionValue } = firstOption || {};\n const { type } = replaceOldNode || {};\n\n const defaultErrorData = { errorFirstOption: undefined, errorSecondOption: undefined };\n const [errors, setErrors] = useState(defaultErrorData);\n const { errorFirstOption, errorSecondOption } = errors || {};\n\n useEffect(() => {\n customInstantValidator && customInstantValidator({ firstOption, secondOption });\n }, [firstOptionValue, secondOption]);\n\n useListener('submitting', useCallback(() => {\n const isEmptyFirst = isEmpty(firstOptionValue);\n const isEmptySecond = !isEmptyFirst && firstOptionValue !== 'any' && isEmpty(secondOption);\n const validatorErrors = {\n ...customSubmitValidator && customSubmitValidator({ firstOption, secondOption }),\n ...isEmptyFirst && { errorFirstOption: true },\n ...isEmptySecond && { errorSecondOption: true },\n };\n\n if (!isEmpty(validatorErrors)) {\n setErrors(validatorErrors);\n bus.emit('errors', true);\n }\n }, [firstOptionValue, secondOption]));\n\n const secondOptionType = (type !== 'statement' && !some(firstOptionOptions, ['value', 'in'])) && {\n asyncCreatable: !!suggester && secondOptionAsyncCreatable,\n creatable: !suggester,\n uniqueIdValue: false,\n };\n\n useEffect(() => {\n if (!every(componentData, property => isEmpty(property))) {\n const replaceNewNode = transformData({ componentData });\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(replaceOldNode),\n JSON.stringify(replaceNewNode),\n ),\n ),\n });\n }\n }, [componentData]);\n\n const transformProps = item => ({ componentData, item });\n\n const handleFirstOption = (item) => {\n onFocus('errorSecondOption', setErrors)();\n setComponentData(firstOptionTransform(transformProps(item)));\n };\n\n const handleSecondOption = item => setComponentData(secondOptionTransform(transformProps(item)));\n\n const componentFirstOptionNode = !hideFirstOptionNode && (\n <section className={styles.selector}>\n <Select\n value={firstOptionValue}\n options={firstOptionOptions}\n placeholder={firstOptionPlaceholder}\n onChange={handleFirstOption}\n onFocus={onFocus('errorFirstOption', setErrors)}\n className={classNames(errorFirstOption && styles.invalid)}\n searchable={false}\n clearable={false}\n hasNewStyle\n />\n </section>\n );\n\n const getSecondaryOptionNode = () => {\n if (isEmpty(firstOptionValue) || firstOptionValue === 'any') return null;\n\n const commonProps = {\n value: secondOption,\n onChange: handleSecondOption,\n onFocus: onFocus('errorSecondOption', setErrors),\n className: classNames(errorSecondOption && styles.invalid),\n };\n const suggesterProps = {\n name: 'lists',\n createOptionPosition: 'first',\n uri: suggester,\n overrideValue: secondOption,\n customMultiValueLabel: withSource && sourceMultiValueLabel,\n customOption: withSource && sourceOption,\n strategy: secondOptionStrategy,\n reqContentType: REQUEST_CONTENT_TYPE,\n reqTransform: secondOptionReqTransform,\n resTransform: secondOptionResTransform,\n reqMethod: secondOptionReqMethod,\n pagination,\n allowCreateWhileLoading: true,\n shouldOverrideValue: true,\n firstOptionValue,\n };\n const customNode = secondaryOptionRender && secondaryOptionRender({\n ...commonProps,\n ...suggesterProps,\n });\n\n if (customNode) return customNode;\n\n return (\n <section className={styles.value}>\n {secondOptionOptions && (\n <>\n <Select\n {...commonProps}\n {...secondOptionCustomProps}\n options={secondOptionOptions}\n customTheme={theme()}\n searchable={false}\n multi={secondOptionMultiSelect}\n />\n {secondOptionCustomMessage}\n </>\n )}\n\n {!secondOptionOptions && (\n <>\n <TagInput\n {...secondOptionType}\n {...commonProps}\n {...suggesterProps}\n {...secondOptionCustomProps}\n />\n {secondOptionCustomMessage}\n </>\n )}\n </section>\n );\n };\n const componentSecondOptionNode = getSecondaryOptionNode();\n\n return (\n <div className={styles.container}>\n <div className={styles.base}>\n <span id=\"baseMessage\">{message}</span> {componentFirstOptionNode} {componentSecondOptionNode}\n </div>\n\n {addons && (\n <div className={styles.addons}>\n {addons}\n </div>\n )}\n </div>\n );\n}\n\nAddedDraggableItem.defaultProps = {\n secondOptionReqMethod: 'POST',\n secondOptionAsyncCreatable: true,\n hideFirstOptionNode: false,\n secondOptionMultiSelect: true,\n};\n\nAddedDraggableItem.propTypes = {\n bus: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n addons: PropTypes.object,\n message: PropTypes.string.isRequired,\n withSource: PropTypes.bool,\n parentComponentData: PropTypes.array,\n replaceOldNode: PropTypes.object.isRequired,\n defaultComponentData: PropTypes.object.isRequired,\n hideFirstOptionNode: PropTypes.bool,\n firstOptionOptions: PropTypes.array.isRequired,\n firstOptionPlaceholder: PropTypes.string.isRequired,\n firstOptionTransform: PropTypes.func.isRequired,\n secondOptionOptions: PropTypes.array,\n secondOptionMultiSelect: PropTypes.bool,\n secondOptionStrategy: PropTypes.string,\n secondOptionSuggester: PropTypes.func,\n secondOptionReqMethod: PropTypes.string,\n secondOptionReqTransform: PropTypes.func,\n secondOptionResTransform: PropTypes.func,\n secondOptionTransform: PropTypes.func.isRequired,\n secondOptionAsyncCreatable: PropTypes.bool,\n secondOptionCustomProps: PropTypes.object,\n secondOptionCustomMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n transformData: PropTypes.func.isRequired,\n updateData: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n pagination: PropTypes.object.isRequired,\n sourceMultiValueLabel: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.element,\n ]),\n sourceOption: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.element,\n ]),\n secondaryOptionRender: PropTypes.func,\n customInstantValidator: PropTypes.func,\n customSubmitValidator: PropTypes.func,\n};\n\nexport default withSmartSearch(AddedDraggableItem);\n","import React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useListener } from 'react-bus';\nimport { every, isEmpty } from 'lodash';\n\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\nimport Select from 'components/core/Select';\nimport Input from 'components/core/Input';\n\nimport styles from './styles.module.scss';\n\nfunction AddedDraggableInputItem({\n bus,\n data,\n message,\n replaceOldNode,\n parentComponentData,\n defaultComponentData,\n hideFirstOptionNode,\n firstOptionOptions,\n firstOptionPlaceholder,\n firstOptionTransform,\n secondOptionTransform,\n transformData,\n updateData,\n onFocus,\n inputType,\n secondaryOptionRender,\n}) {\n const baseComponentData = useState(defaultComponentData);\n const [componentData, setComponentData] = parentComponentData || baseComponentData;\n const { firstOption, secondOption } = componentData || {};\n const { value: firstOptionValue } = firstOption || {};\n\n const defaultErrorData = { errorFirstOption: undefined, errorSecondOption: undefined };\n const [errors, setErrors] = useState(defaultErrorData);\n const { errorFirstOption, errorSecondOption } = errors || {};\n\n useListener('submitting', useCallback(() => {\n const isEmptyFirst = isEmpty(firstOptionValue);\n const isEmptySecond = !isEmptyFirst && firstOptionValue !== 'any' && isEmpty(secondOption);\n const validator = {\n ...isEmptyFirst && { errorFirstOption: true },\n ...isEmptySecond && { errorSecondOption: true },\n };\n\n if (!isEmpty(validator)) {\n setErrors(validator);\n bus.emit('errors', true);\n }\n }, [firstOptionValue, secondOption]));\n\n useEffect(() => {\n if (!every(componentData, property => isEmpty(property))) {\n const replaceNewNode = transformData({ componentData });\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(replaceOldNode),\n JSON.stringify(replaceNewNode),\n ),\n ),\n });\n }\n }, [componentData]);\n\n\n const transformProps = item => ({ componentData, item });\n const handleSecondOption = ({ target: { value } }) => setComponentData(secondOptionTransform(transformProps(value)));\n const getSecondaryOptionNode = () => {\n if (isEmpty(firstOptionValue) || firstOptionValue === 'any') return null;\n\n const props = {\n value: secondOption,\n onChange: handleSecondOption,\n onFocus: onFocus('errorSecondOption', setErrors),\n className: classNames(errorSecondOption && styles.invalid),\n type: inputType,\n };\n const customProps = { ...props, firstOptionValue };\n\n const customNode = secondaryOptionRender && secondaryOptionRender(customProps);\n\n return (\n customNode || (\n <section className={styles.value}>\n <Input {...props} />\n </section>\n )\n );\n };\n\n const handleFirstOption = (item) => {\n onFocus('errorSecondOption', setErrors)();\n setComponentData(firstOptionTransform(transformProps(item)));\n };\n\n const componentFirstOptionNode = !hideFirstOptionNode && (\n <section className={styles.selector}>\n <Select\n value={firstOptionValue}\n options={firstOptionOptions}\n placeholder={firstOptionPlaceholder}\n onChange={handleFirstOption}\n onFocus={onFocus('errorFirstOption', setErrors)}\n className={classNames(errorFirstOption && styles.invalid)}\n searchable={false}\n clearable={false}\n hasNewStyle\n />\n </section>\n );\n\n const componentSecondOptionNode = getSecondaryOptionNode();\n\n return (\n <div className={styles.container}>\n <div className={styles.base}>\n <span id=\"baseMessage\">{message}</span> {componentFirstOptionNode} { componentSecondOptionNode }\n </div>\n </div>\n );\n}\n\nAddedDraggableInputItem.defaultProps = {\n secondOptionReqMethod: 'POST',\n secondOptionAsyncCreatable: true,\n hideFirstOptionNode: false,\n secondOptionMultiSelect: true,\n inputType: 'text',\n};\n\nAddedDraggableInputItem.propTypes = {\n bus: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n message: PropTypes.string.isRequired,\n parentComponentData: PropTypes.array,\n replaceOldNode: PropTypes.object.isRequired,\n defaultComponentData: PropTypes.object.isRequired,\n hideFirstOptionNode: PropTypes.bool,\n firstOptionOptions: PropTypes.array.isRequired,\n firstOptionPlaceholder: PropTypes.string.isRequired,\n firstOptionTransform: PropTypes.func.isRequired,\n secondOptionTransform: PropTypes.func.isRequired,\n transformData: PropTypes.func.isRequired,\n updateData: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n inputType: PropTypes.string,\n secondaryOptionRender: PropTypes.func,\n};\n\nexport default withSmartSearch(AddedDraggableInputItem);\n","import isEmpty from 'lodash/isEmpty';\n\nfunction getNameInFilters(id, filters) {\n const filterName = filters.reduce((accumulator, currentFilter) => {\n const { options } = currentFilter;\n\n const searchedOption = options.find(({ id: optionId }) => optionId === id);\n\n if (!isEmpty(searchedOption)) {\n const { name } = searchedOption;\n accumulator = name;\n }\n\n return accumulator;\n }, []);\n\n return filterName;\n}\n\nfunction getNameInStatements(id, statements) {\n const searchedStatement = statements.find(({ id: statementId }) => statementId === id);\n const { name } = searchedStatement || {};\n\n return name;\n}\n\nexport function getNameInDraggableItems(id, draggableItems) {\n const statementName = draggableItems.reduce((accumulator, currentItem) => {\n const { filters, statements } = currentItem;\n\n const searchedFilter = getNameInFilters(id, filters);\n const searchedStatement = getNameInStatements(id, statements);\n\n if (!isEmpty(searchedFilter)) {\n accumulator = searchedFilter;\n }\n\n if (!isEmpty(searchedStatement)) {\n accumulator = searchedStatement.toLowerCase();\n }\n\n return accumulator;\n }, []);\n\n return statementName;\n}\n","import { cloneDeep, some } from 'lodash';\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nfunction findNode(object, searchId) {\n let response;\n\n function traverseArray(arr) {\n let traverseArrayResponse;\n\n for (const arrItem of arr) {\n const arrItemResponse = findNode(arrItem, searchId);\n if (arrItemResponse) {\n traverseArrayResponse = arrItemResponse;\n break;\n }\n }\n\n return traverseArrayResponse;\n }\n\n function traverseObject(obj) {\n let traverseObjectResponse;\n const { id, ...restObj } = obj || {};\n\n if (id === searchId) traverseObjectResponse = obj;\n if (!traverseObjectResponse && restObj) {\n for (const key of Object.keys(restObj)) {\n const statementItemResponse = findNode(restObj[key], searchId);\n if (statementItemResponse) {\n traverseObjectResponse = statementItemResponse;\n break;\n }\n }\n }\n\n return traverseObjectResponse;\n }\n\n if (Array.isArray(object)) response = traverseArray(object);\n else if (typeof object === 'object') response = traverseObject(object);\n\n return cloneDeep(response);\n}\n\nfunction findParentNode(object, searchId) {\n let response;\n\n function traverseArray(arr) {\n let traverseArrayResponse;\n\n for (const arrItem of arr) {\n const arrItemResponse = findParentNode(arrItem, searchId);\n if (arrItemResponse) {\n traverseArrayResponse = arrItemResponse;\n break;\n }\n }\n\n return traverseArrayResponse;\n }\n\n function traverseObject(obj) {\n let traverseObjectResponse;\n\n if (obj) {\n for (const key of Object.keys(obj)) {\n if (some(obj, ['id', searchId])) {\n traverseObjectResponse = obj;\n break;\n }\n\n if (Array.isArray(obj[key]) && obj[key].some(item => item.id === searchId)) {\n traverseObjectResponse = obj;\n break;\n }\n\n if (!traverseObjectResponse) {\n const statementItemResponse = findParentNode(obj[key], searchId);\n if (statementItemResponse) {\n traverseObjectResponse = statementItemResponse;\n break;\n }\n }\n }\n }\n\n return traverseObjectResponse;\n }\n\n if (Array.isArray(object)) response = traverseArray(object);\n else if (typeof object === 'object') response = traverseObject(object);\n\n return cloneDeep(response);\n}\n\nexport {\n reorder,\n findNode,\n findParentNode,\n};\n","import handleDroppedStatementReorder from './handleDroppedStatementReorder';\nimport handleDroppedStatementGroup from './handleDroppedStatementGroup';\nimport handleDroppedFilterReorder from './handleDroppedFilterReorder';\nimport handleDroppedStatementJoin from './handleDroppedStatementJoin';\nimport handleDroppedFilterGroup from './handleDroppedFilterGroup';\nimport handleDroppedFilterJoin from './handleDroppedFilterJoin';\n\nexport default function dragEndActions({ action, ...rest }) {\n const actions = {\n isDroppedFilterJoin() {\n return handleDroppedFilterJoin(rest);\n },\n isDroppedFilterGroup() {\n return handleDroppedFilterGroup(rest);\n },\n isDroppedStatementJoin() {\n return handleDroppedStatementJoin(rest);\n },\n isDroppedStatementGroup() {\n return handleDroppedStatementGroup(rest);\n },\n isDroppedStatementReorder() {\n return handleDroppedStatementReorder(rest);\n },\n isDroppedFilterReorder() {\n return handleDroppedFilterReorder(rest);\n },\n };\n\n return actions[action] || (() => {});\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode } from './common';\n\nexport default function handleDroppedFilterJoin({ parentId, result, data, updateData }) {\n const draggedFilter = {\n id: `filter-${new Date().getTime()}`,\n type: 'filter',\n dimension: result.draggableId,\n };\n\n const oldFilterGroup = findNode(data, parentId);\n const newFilterGroup = cloneDeep(oldFilterGroup);\n newFilterGroup.filters.splice(newFilterGroup.filters.length, 0, draggedFilter);\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldFilterGroup),\n JSON.stringify(newFilterGroup),\n ),\n ),\n });\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode } from '../dragEndActions/common';\n\nexport default function handleDroppedFilterGroup({ parentId, result, data, updateData }) {\n const draggedGroupWithFilter = {\n id: `filtergroup-${new Date().getTime()}`,\n type: 'filters_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n filters: [{\n id: `filter-${new Date().getTime()}`,\n type: 'filter',\n dimension: result.draggableId,\n }],\n };\n\n const node = findNode(data, parentId);\n const { type, filter } = node || {};\n\n if (type !== 'statement') {\n // case when statement filter contain filter groups\n const newFilterGroup = cloneDeep(node);\n newFilterGroup.filters.splice(newFilterGroup.filters.length, 0, draggedGroupWithFilter);\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(node),\n JSON.stringify(newFilterGroup),\n ),\n ),\n });\n } else {\n // case when statement contain empty filter\n const { id } = filter || {};\n\n if (!id) {\n const newFilterGroup = cloneDeep(node);\n newFilterGroup.filter = {\n id: `filtergroup-${new Date().getTime()}0`,\n type: 'filters_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n filters: [draggedGroupWithFilter],\n };\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(node),\n JSON.stringify(newFilterGroup),\n ),\n ),\n });\n } else {\n // case when statement filter contain empty filters\n handleDroppedFilterGroup({ result, data, updateData, parentId: id });\n }\n }\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode } from '../dragEndActions/common';\n\nexport default function handleDroppedStatementJoin({ parentId, result, data, updateData }) {\n const draggedItem = {\n id: `statement-${new Date().getTime()}`,\n type: 'statement',\n name: result.draggableId,\n options: {},\n };\n\n const oldStatementGroup = findNode(data, parentId);\n const newStatementGroup = cloneDeep(oldStatementGroup);\n newStatementGroup.statements.splice(newStatementGroup.statements.length, 0, draggedItem);\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldStatementGroup),\n JSON.stringify(newStatementGroup),\n ),\n ),\n });\n}\n","export default function handleDroppedStatementGroup({ result, data, updateData }) {\n updateData({\n payload: {\n ...data,\n statement: {\n ...data.statement,\n statements: [\n ...data.statement.statements,\n {\n id: `statementgroup-${new Date().getTime()}`,\n type: 'statements_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n statements: [\n {\n id: `statement-${new Date().getTime()}`,\n type: 'statement',\n name: result.draggableId,\n options: {},\n },\n ],\n },\n ],\n },\n },\n });\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode, reorder } from './common';\n\nexport default function handleDroppedStatementReorder({ parentId, result, data, updateData }) {\n const oldStatementGroup = findNode(data, parentId);\n const newStatementGroup = cloneDeep(oldStatementGroup);\n\n newStatementGroup.statements = [\n ...reorder(\n newStatementGroup.statements,\n result.source.index,\n result.destination.index,\n ),\n ];\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldStatementGroup),\n JSON.stringify(newStatementGroup),\n ),\n ),\n });\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode, reorder } from './common';\n\nexport default function handleDroppedFilterReorder({ parentId, result, data, updateData }) {\n const oldFiltersGroup = findNode(data, parentId);\n const newFiltersGroup = cloneDeep(oldFiltersGroup);\n\n newFiltersGroup.filters = [\n ...reorder(\n newFiltersGroup.filters,\n result.source.index,\n result.destination.index,\n ),\n ];\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldFiltersGroup),\n JSON.stringify(newFiltersGroup),\n ),\n ),\n });\n}\n","import { useEffect, useState } from 'react';\nimport { useListener } from 'react-bus';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode, findParentNode } from './dragEndActions/common';\nimport dragEndActions from './dragEndActions';\n\nfunction useSmartSearch({\n bus,\n history,\n listId,\n data,\n title,\n description,\n isTemplate,\n updateData,\n submitList,\n draggableItems,\n afterSubmittingURL,\n onSuccess,\n trackingActions,\n}) {\n const [errors, setErrors] = useState([]);\n const [submitting, setSubmitting] = useState(false);\n const [isDraggingFilter, setIsDraggingFilter] = useState(false);\n const [isDraggingStatement, setIsDraggingStatement] = useState(false);\n const setIsDraggingFilterToFalse = () => setIsDraggingFilter(false);\n const setIsDraggingStatementToFalse = () => setIsDraggingStatement(false);\n\n useListener('submitting', () => setSubmitting(true));\n useListener('errors', error => setErrors(prevState => [...prevState, error]));\n\n useEffect(() => {\n if (submitting) {\n setTimeout(() => {\n const isValid = errors.filter(Boolean).length === 0;\n\n setSubmitting(false);\n setErrors([]);\n\n if (isValid) {\n submitList({\n id: listId,\n payload: { title, description, data, isTemplate },\n onSuccess: (payload) => {\n if (onSuccess) {\n onSuccess(payload);\n } else {\n history.push(afterSubmittingURL);\n }\n },\n });\n }\n }, 250);\n }\n }, [submitting]);\n\n useEffect(() => {\n document.addEventListener('mouseup', setIsDraggingFilterToFalse);\n document.addEventListener('mouseup', setIsDraggingStatementToFalse);\n\n return () => {\n document.removeEventListener('mouseup', setIsDraggingFilterToFalse);\n document.removeEventListener('mouseup', setIsDraggingStatementToFalse);\n };\n }, []);\n\n function onBeforeCapture({ draggableId }) {\n // scrollTo is required to fix MON-1340\n const offsetScroll = window.pageYOffset;\n const { scrollHeight, offsetHeight } = document.documentElement;\n const { type } = findNode(draggableItems, draggableId) || {};\n\n scrollHeight === offsetHeight + offsetScroll && window.scrollTo({ top: offsetScroll - 1 });\n type && type === 'statement' && setIsDraggingStatement(true);\n type && type === 'filter' && setIsDraggingFilter(true);\n }\n\n function onDragEnd(result = {}) {\n if (!result.destination) return;\n\n const { draggableId, destination: { droppableId } } = result;\n const regexIsFilterJoin = /droppableFiltersJoinFor:([a-z0-9-]+)/gi;\n const regexIsFilterGroup = /droppableFiltersGroupFor:([a-z0-9-]+)/gi;\n const regexIsFilterReorder = /droppableFiltersReorder:([a-z0-9-]+)/gi;\n const regexIsStatementJoin = /droppableStatementsJoinFor:([a-z0-9-]+)/gi;\n const regexIsStatementReorder = /droppableStatementsReorder:([a-z0-9-]+)/gi;\n const isDroppedFilterJoin = regexIsFilterJoin.exec(droppableId);\n const isDroppedFilterGroup = regexIsFilterGroup.exec(droppableId);\n const isDroppedFilterReorder = regexIsFilterReorder.exec(droppableId);\n const isDroppedStatementJoin = regexIsStatementJoin.exec(droppableId);\n const isDroppedStatementReorder = regexIsStatementReorder.exec(droppableId);\n const isDroppedStatementGroup = droppableId.match('droppableStatementsGroupNew');\n\n const action = isDroppedFilterJoin && 'isDroppedFilterJoin'\n || isDroppedFilterGroup && 'isDroppedFilterGroup'\n || isDroppedFilterReorder && 'isDroppedFilterReorder'\n || isDroppedStatementJoin && 'isDroppedStatementJoin'\n || isDroppedStatementGroup && 'isDroppedStatementGroup'\n || isDroppedStatementReorder && 'isDroppedStatementReorder';\n\n const parentId = isDroppedStatementJoin && isDroppedStatementJoin[1]\n || isDroppedStatementReorder && isDroppedStatementReorder[1]\n || isDroppedFilterJoin && isDroppedFilterJoin[1]\n || isDroppedFilterGroup && isDroppedFilterGroup[1]\n || isDroppedFilterReorder && isDroppedFilterReorder[1];\n\n const { trackItemAddedToBuilder } = trackingActions;\n trackItemAddedToBuilder(draggableId);\n\n dragEndActions({\n action,\n result,\n data,\n updateData,\n parentId,\n })();\n }\n\n function onDelete(id) {\n let oldNode;\n let newNode;\n const { type } = findNode(data, id);\n const toCheck = type === 'statement' ? 'statements' : 'filters';\n\n oldNode = findParentNode(data, id);\n newNode = cloneDeep(oldNode);\n newNode[toCheck] = newNode[toCheck].filter(item => item.id !== id);\n\n if (newNode[toCheck].length === 0) {\n const { id: oldNodeId } = oldNode;\n oldNode = findParentNode(data, oldNodeId);\n newNode = cloneDeep(oldNode);\n newNode[toCheck] = newNode[toCheck].filter(item => item.id !== oldNodeId);\n\n // node with null value is removed while submitting\n if (toCheck === 'filters' && newNode[toCheck].length === 0) {\n newNode = null;\n }\n }\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldNode),\n JSON.stringify(newNode),\n ),\n ),\n });\n }\n\n function onCreate() {\n bus.emit('submitting', true);\n }\n\n const onFocus = (name, fn) => () => fn(prevState => ({ ...prevState, [name]: undefined }));\n\n return {\n submitting,\n isDraggingFilter,\n isDraggingStatement,\n setIsDraggingFilter,\n setIsDraggingStatement,\n onBeforeCapture,\n onDragEnd,\n onDelete,\n onCreate,\n onFocus,\n };\n}\n\nexport default useSmartSearch;\n","export default (isDragging, draggableStyle) => ({\n border: isDragging && '1px solid #e7e8ed',\n borderRadius: isDragging && '4px',\n outline: isDragging && 'none',\n ...draggableStyle,\n});\n","import React from 'react';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport getItemStyle from '../theme';\nimport styles from '../styles.module.scss';\n\nfunction Placeholder() {\n return (\n <div className={styles.container}>\n <ul className={styles.group}>\n {\n Array(3).fill(0).map((_, index) => (\n <li\n className={styles.draggable}\n style={getItemStyle(false)}\n key={index}\n >\n <i className=\"far fa-arrows-alt\" /> {<TextPlaceholder />}\n </li>\n ))\n }\n </ul>\n </div>\n );\n}\n\nexport default Placeholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Tooltip from 'components/core/Table/components/Header/components/Tooltip';\nimport Caret from 'components/core/Accordion/components/Caret';\n\nimport styles from './styles.module.scss';\n\nfunction AccordionTitle({ isOpen, title, tooltip, toggle }) {\n return (\n <div className={styles.container}>\n <div className={styles.content} onClick={toggle}>\n <h4>\n {title}{tooltip && <Tooltip content={<div>{tooltip}</div>} />}\n </h4>\n <Caret isOpen={isOpen} />\n </div>\n\n <hr />\n </div>\n );\n}\n\nAccordionTitle.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n title: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n toggle: PropTypes.func.isRequired,\n};\n\nexport default AccordionTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Draggable } from 'react-beautiful-dnd';\n\nimport getItemStyle from '../theme';\nimport styles from '../styles.module.scss';\n\nfunction DraggableOption({\n id,\n name,\n index,\n disabled,\n droppableSnapshot,\n}) {\n const shouldRenderClone = id === droppableSnapshot.draggingFromThisWith;\n\n const clone = (\n <li className={classNames(styles.draggable, styles.draggableCopy)}>\n <i className=\"far fa-arrows-alt\" /> {name}\n </li>\n );\n\n const draggable = (\n <Draggable index={index} draggableId={id} isDragDisabled={disabled}>\n {(provided, snapshot) => {\n const draggableItemProps = {\n ...provided.draggableProps,\n ...provided.dragHandleProps,\n ref: provided.innerRef,\n className: classNames(styles.draggable, disabled && styles.draggableDisabled),\n style: getItemStyle(snapshot.isDragging, provided.draggableProps.style),\n };\n\n return (\n <li {...draggableItemProps}>\n <i className=\"far fa-arrows-alt\" /> {name}\n </li>\n );\n }}\n </Draggable>\n );\n\n if (shouldRenderClone) {\n return clone;\n }\n\n return draggable;\n}\n\nDraggableOption.propTypes = {\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n disabled: PropTypes.bool,\n droppableSnapshot: PropTypes.object.isRequired,\n};\n\nexport default DraggableOption;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport DraggableOption from './DraggableOption';\nimport styles from '../styles.module.scss';\n\nfunction Options({ dragDropPlaceholder, options, droppableSnapshot }) {\n return (\n <ul className={styles.group}>\n {options.map((option, optionIndex) => (\n <DraggableOption\n {...option}\n key={`label-${option.id}-${optionIndex}`}\n index={optionIndex}\n droppableSnapshot={droppableSnapshot}\n />\n ))}\n {dragDropPlaceholder}\n </ul>\n );\n}\n\nOptions.propTypes = {\n options: PropTypes.array.isRequired,\n dragDropPlaceholder: PropTypes.object.isRequired,\n droppableSnapshot: PropTypes.object.isRequired,\n};\n\nexport default Options;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport Options from './components/Options';\nimport getItemStyle from './theme';\nimport styles from './styles.module.scss';\n\nfunction DroppableItem({ index, type, options }) {\n const getRenderItem = (provided, snapshot, rubric) => {\n const { name } = options[rubric.source.index];\n\n const draggableItemProps = {\n ...provided.draggableProps,\n ...provided.dragHandleProps,\n ref: provided.innerRef,\n className: styles.dragging,\n style: getItemStyle(snapshot.isDragging, provided.draggableProps.style),\n };\n\n return (\n <span {...draggableItemProps}>\n <i className=\"far fa-arrows-alt\" /> {name}\n </span>\n );\n };\n\n return (\n <div className={styles.container}>\n <Droppable droppableId={`droppable${index}`} isDropDisabled type={type} renderClone={getRenderItem}>\n {(provided, snapshot) => (\n <div ref={provided.innerRef} {...provided.droppableProps}>\n <Options\n options={options}\n dragDropPlaceholder={provided.placeholder}\n droppableSnapshot={snapshot}\n />\n </div>\n )}\n </Droppable>\n </div>\n );\n}\n\nDroppableItem.propTypes = {\n index: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n type: PropTypes.string.isRequired,\n options: PropTypes.array.isRequired,\n};\n\nexport default DroppableItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport map from 'lodash/map';\n\nimport stickyStyles from 'components/core/StickyContainer/styles.module.scss';\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\nimport Accordion, { Item as AccordionItem } from 'components/core/Accordion';\n\nimport DroppableItemPlaceholder from './components/DroppableItem/components/Placeholder';\nimport useStatementsAndFilters from './useStatementsAndFilters';\nimport AccordionTitle from './components/AccordionTitle';\nimport DroppableItem from './components/DroppableItem';\nimport styles from './styles.module.scss';\n\nfunction StatementsAndFilters({ transactor, ...restProps }) {\n const {\n isStickyAndNotDragging,\n withProductBar,\n statements,\n styleProps,\n filters,\n nodeRef,\n } = useStatementsAndFilters({ ...restProps, transactor });\n\n const stickyClassNames = classNames(\n stickyStyles.wrapper,\n isStickyAndNotDragging && stickyStyles.isSticky,\n withProductBar && stickyStyles.withProductBar\n );\n\n return (\n <div className={styles.container}>\n <div className={styles.title}>\n <span className={styles.icon}>\n <i className=\"fas fa-hexagon\" />\n </span>\n <h2>Statements and filters</h2>\n </div>\n\n <div ref={nodeRef} className={stickyStyles.container}>\n <div {...styleProps} className={stickyClassNames}>\n {!transactor && (\n <div className={styles.placeholder}>\n <img src=\"/images/group.svg\" alt=\"No transactor\" />\n <p>\n Define what kind of list you would like to build before selecting statements and filters.\n </p>\n </div>\n )}\n\n {transactor && (\n <div id=\"statementsAndFiltersContent\" className={styles.content}>\n <div className={styles.filter}>\n <h3>Statements</h3>\n <DroppableItem\n type=\"droppableStatements\"\n index=\"statements\"\n options={statements}\n />\n </div>\n\n <div className={styles.filter}>\n <h3>Filters</h3>\n <Accordion renderTitle={AccordionTitle} className={styles.accordion} multi>\n {map(filters, ({ id, name, tooltip, options, isLoading }, index) => (\n <AccordionItem key={id} keyName={index} title={name} tooltip={tooltip} isOpen>\n {isLoading\n ? <DroppableItemPlaceholder />\n : (\n <DroppableItem\n type=\"droppableFilters\"\n options={options}\n index={index}\n />\n )}\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nStatementsAndFilters.propTypes = {\n transactor: PropTypes.string,\n};\n\nexport default withSmartSearch(StatementsAndFilters);\n","import { useEffect, useRef, useState } from 'react';\nimport find from 'lodash/find';\n\nimport { largeNavHeaderHeight } from 'components/core/StickyContainer/styles.module.scss';\nimport useStickyNode from 'components/core/StickyContainer/useStickyNode';\nimport { canRenderTopBar } from 'components/core/ProductBar/utils';\nimport { PRODUCT_BAR_HEIGHT } from 'utils/constants';\n\nexport default function useStatementsAndFilters({\n isMobile,\n isDraggingStatement,\n isDraggingFilter,\n draggableItems,\n transactor,\n}) {\n const nodeRef = useRef();\n const [stickMargin, setStickMargin] = useState(0);\n const withProductBar = canRenderTopBar(isMobile);\n const offsetHeight = parseInt(largeNavHeaderHeight, 10);\n const topBarOffset = withProductBar ? PRODUCT_BAR_HEIGHT : 0;\n const isDragging = isDraggingStatement || isDraggingFilter;\n const { statements, filters } = find(draggableItems, ({ id }) => id === transactor) || {};\n const isSticky = useStickyNode({ ref: nodeRef, offsetHeight: offsetHeight + topBarOffset });\n const isStickyAndNotDragging = isSticky && !isDragging;\n\n const styleProps = !isStickyAndNotDragging && {\n style: { transform: `translateY(${stickMargin}px)` },\n };\n\n function updateStickMargin() {\n const scrolledDistanceFromTop = window.pageYOffset || (\n document.documentElement\n || document.body.parentNode\n || document.body\n ).scrollTop;\n\n const HEADER_PAGE_HEIGHT = 100;\n const STATEMENTS_AND_FILTERS_TITLE = 69;\n const margin = scrolledDistanceFromTop - (HEADER_PAGE_HEIGHT + STATEMENTS_AND_FILTERS_TITLE);\n\n setStickMargin(margin >= 0 ? margin : 0);\n }\n\n useEffect(() => {\n document.addEventListener('scroll', updateStickMargin);\n\n return () => {\n document.removeEventListener('scroll', updateStickMargin);\n };\n });\n\n return {\n isStickyAndNotDragging,\n withProductBar,\n statements,\n styleProps,\n filters,\n nodeRef,\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from 'components/core/Input';\nimport { InputWithCharInfo } from 'components/core/CharInfo';\n\nfunction TitleInput({ charactersLimit, ...restProps }) {\n if (!charactersLimit) {\n return (\n <Input {...restProps} />\n );\n }\n\n return (\n <InputWithCharInfo\n {...restProps}\n charInfo={{\n limit: charactersLimit,\n }}\n />\n );\n}\n\nTitleInput.propTypes = {\n charactersLimit: PropTypes.number,\n};\n\nexport default TitleInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Textarea from 'components/core/Textarea';\nimport { TextareaWithCharInfo } from 'components/core/CharInfo';\n\nfunction DescriptionTextArea({ charactersLimit, ...restProps }) {\n if (!charactersLimit) {\n return (\n <Textarea {...restProps} />\n );\n }\n\n return (\n <TextareaWithCharInfo\n {...restProps}\n charInfo={{\n limit: charactersLimit,\n }}\n />\n );\n}\n\nDescriptionTextArea.propTypes = {\n charactersLimit: PropTypes.number,\n};\n\nexport default DescriptionTextArea;\n","const labels = {\n title: {\n name: 'Title',\n desc: 'This is the label that will be displayed for this search on your smart search home.',\n },\n description: {\n name: 'Description',\n desc: 'This is the description that will be displayed on smart search home (recommended < 155 characters).',\n },\n isTemplate: {\n name: 'Template',\n desc: 'Check to mark this search as template',\n },\n};\n\nexport default labels;\n","import { useState } from 'react';\nimport { useListener } from 'react-bus';\nimport { isEmpty, findKey, size } from 'lodash';\n\nimport scrollIntoViewElementById from 'utils/scrollIntoViewElementById';\n\nconst isTextInvalid = (text, charactersLimit) => (!charactersLimit\n ? isEmpty(text)\n : (isEmpty(text) || size(text) > charactersLimit));\n\nconst errorMessages = {\n title: 'Please add a Title.',\n description: 'Please add a Description.',\n};\n\nconst useValidation = ({\n description,\n descriptionCharactersLimit,\n isDescriptionRequired,\n title,\n titleCharactersLimit,\n bus,\n isScrollIntoViewErrors,\n}) => {\n const [errors, setErrors] = useState({});\n const { title: errorTitle, description: errorDescription } = errors || {};\n\n const validateDescription = () => (isDescriptionRequired\n ? !isTextInvalid(description, descriptionCharactersLimit)\n : (!isTextInvalid(description, descriptionCharactersLimit) || isEmpty(description)));\n\n const validate = () => {\n const validator = {\n ...(isTextInvalid(title, titleCharactersLimit) && { title: errorMessages.title }),\n ...(!validateDescription() && { description: errorMessages.description }),\n };\n\n if (isEmpty(validator)) return;\n\n setErrors(validator);\n bus.emit('errors', true);\n\n const errorField = findKey(validator, error => !!error);\n isScrollIntoViewErrors && scrollIntoViewElementById(errorField);\n };\n\n useListener('submitting', validate);\n\n return {\n errorTitle,\n errorDescription,\n setErrors,\n };\n};\n\nexport default useValidation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\nimport Tooltip from 'components/core/Table/components/Header/components/Tooltip';\nimport Checkbox from 'components/core/Checkbox';\nimport Label from 'components/core/Label';\nimport Asterisk from 'components/core/Asterisk';\nimport ErrorMessage from 'components/core/ErrorMessage';\n\nimport TitleInput from './components/TitleInput';\nimport DescriptionTextArea from './components/DescriptionTextArea';\nimport defaultLabels from './labels';\nimport useValidation from './useValidation';\nimport styles from './styles.module.scss';\n\nfunction GeneralDetails({\n bus,\n title,\n description,\n isTemplate,\n updateTitle,\n updateDescription,\n updateIsTemplate,\n onFocus,\n labels,\n disableIsTemplate,\n titleCharactersLimit,\n descriptionCharactersLimit,\n enableTooltip,\n isDescriptionRequired,\n isTitleRequired,\n isScrollIntoViewErrors,\n}) {\n const { govpredictAdmin } = gon.currentUser;\n\n const { title: defaultTitleLabel, description: defaultDescriptionLabel, isTemplate: defaultTemplateLabel } = defaultLabels;\n const {\n title: titleLabel = defaultTitleLabel,\n description: descriptionLabel = defaultDescriptionLabel,\n isTemplate: templateLabel = defaultTemplateLabel,\n } = labels;\n\n const {\n errorTitle,\n errorDescription,\n setErrors,\n } = useValidation({\n description,\n descriptionCharactersLimit,\n isDescriptionRequired,\n title,\n titleCharactersLimit,\n bus,\n isScrollIntoViewErrors,\n });\n\n const handleTitle = event => updateTitle({ payload: event.target.value });\n\n const handleDescription = event => updateDescription({ payload: event.target.value });\n\n function renderLabel(label, isRequired) {\n const { name, desc } = label || {};\n\n if (enableTooltip) {\n return (\n <div className={styles.tooltipLabel}>\n {name}\n <Tooltip content={desc} />\n </div>\n );\n }\n\n return (\n <>\n {name}\n <Asterisk show={isRequired} />\n <p>{desc}</p>\n </>\n );\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.formGroup}>\n <Label id=\"titleLabel\" htmlFor=\"title\" theme=\"light\">\n {renderLabel(titleLabel, isTitleRequired)}\n </Label>\n <TitleInput\n id=\"title\"\n name=\"title\"\n value={title}\n onFocus={onFocus('title', setErrors)}\n onChange={handleTitle}\n isError={!!errorTitle}\n charactersLimit={titleCharactersLimit}\n />\n <ErrorMessage message={errorTitle} />\n </div>\n\n <div className={styles.formGroup}>\n <Label id=\"descriptionLabel\" htmlFor=\"description\" theme=\"light\">\n {renderLabel(descriptionLabel, isDescriptionRequired)}\n </Label>\n <DescriptionTextArea\n id=\"description\"\n name=\"description\"\n value={description}\n onFocus={onFocus('description', setErrors)}\n onChange={handleDescription}\n isError={!!errorDescription}\n charactersLimit={descriptionCharactersLimit}\n />\n <ErrorMessage message={errorDescription} />\n </div>\n\n {govpredictAdmin && !disableIsTemplate && (\n <div className={styles.formGroup}>\n <Label id=\"templateLabel\" htmlFor=\"template\" theme=\"light\">\n {templateLabel.name}\n </Label>\n <Checkbox\n id=\"template\"\n label={templateLabel.desc}\n isChecked={isTemplate}\n onChange={updateIsTemplate}\n />\n </div>\n )}\n </div>\n );\n}\n\nGeneralDetails.defaultProps = {\n labels: defaultLabels,\n isDescriptionRequired: true,\n isTitleRequired: true,\n isScrollIntoViewErrors: true,\n};\n\nGeneralDetails.propTypes = {\n bus: PropTypes.object.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n isTemplate: PropTypes.bool.isRequired,\n updateTitle: PropTypes.func.isRequired,\n updateDescription: PropTypes.func.isRequired,\n updateIsTemplate: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n labels: PropTypes.object,\n disableIsTemplate: PropTypes.bool,\n titleCharactersLimit: PropTypes.number,\n descriptionCharactersLimit: PropTypes.number,\n enableTooltip: PropTypes.bool,\n isDescriptionRequired: PropTypes.bool,\n isTitleRequired: PropTypes.bool,\n isScrollIntoViewErrors: PropTypes.bool,\n};\n\nexport default withSmartSearch(GeneralDetails);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { getNameInDraggableItems } from '../utils';\nimport styles from '../styles.module.scss';\n\nfunction joinWithSeparator(separator) {\n return (prev, curr, index) => [\n prev,\n <Fragment key={`${separator}-${index}`}> {separator} </Fragment>,\n curr,\n ];\n}\n\nfunction getOperatorElement(operatorLabel, index) {\n return <b key={`${operatorLabel}-${index}`}> {operatorLabel.toLowerCase()} </b>;\n}\n\nfunction StatementDescription({\n transactor,\n parentStatements,\n parentOperator,\n getFilterTranscript,\n draggableItems,\n searchTitle,\n}) {\n let { label: transactorLabel = '' } = transactor || {};\n transactorLabel = transactorLabel.toLowerCase();\n\n function getFilterGroupTranscript(filtersGroup, parentSize) {\n const { id, operator, filters } = filtersGroup;\n const { label: operatorLabel } = operator || {};\n\n const filtersSize = filters.length;\n\n const filtersTranscript = filters.reduce((accumulator, filter, index) => {\n const { type, value } = filter;\n let filterTranscript;\n\n if (type === 'filter') {\n if (!isEmpty(value)) {\n filterTranscript = getFilterTranscript({ filter, index, draggableItems });\n }\n } else {\n filterTranscript = getFilterGroupTranscript(filter, filtersSize);\n }\n\n if (!isEmpty(filterTranscript)) {\n if (!isEmpty(accumulator)) {\n accumulator.push(getOperatorElement(operatorLabel, index));\n }\n\n accumulator.push(filterTranscript);\n }\n\n return accumulator;\n }, []);\n\n if (isEmpty(filtersTranscript)) {\n return null;\n }\n\n const shouldWrap = parentSize > 1;\n return (\n <Fragment key={id}>\n {shouldWrap && '('}{filtersTranscript}{shouldWrap && ')'}\n </Fragment>\n );\n }\n\n function getStatementTranscript(statement, parentSize) {\n const { id, filter, name } = statement;\n\n let filtersElement;\n let filtersTranscript;\n\n if (!isEmpty(filter)) {\n filtersTranscript = getFilterGroupTranscript(filter);\n }\n\n if (!isEmpty(filtersTranscript)) {\n filtersElement = <Fragment> where {filtersTranscript}</Fragment>;\n }\n\n const statementName = getNameInDraggableItems(name, draggableItems);\n\n const shouldWrap = parentSize > 1;\n return (\n <Fragment key={id}>\n {shouldWrap && '('}{transactorLabel} {statementName}{filtersElement}{shouldWrap && ')'}\n </Fragment>\n );\n }\n\n function getStatementGroupTranscript(statementGroup, parentSize) {\n const { id, operator, statements } = statementGroup;\n const { label: operatorLabel } = operator || {};\n\n const statementsSize = statements.length;\n\n let statementsTranscript;\n\n if (!isEmpty(statements)) {\n statementsTranscript = statements.map(statement => getStatementTranscript(statement, statementsSize))\n .reduce(joinWithSeparator(getOperatorElement(operatorLabel)));\n }\n\n const shouldWrap = parentSize > 1;\n return (\n <Fragment key={id}>\n {shouldWrap && '('}{statementsTranscript}{shouldWrap && ')'}\n </Fragment>\n );\n }\n\n function getSearchTitle() {\n if (isEmpty(searchTitle)) { return 'new list'; }\n return searchTitle;\n }\n\n function getStatementDescription() {\n if (isEmpty(transactorLabel)) {\n return <div>N/A</div>;\n }\n\n let statementsDescription = '..';\n\n if (!isEmpty(parentStatements)) {\n const { label: operatorLabel } = parentOperator;\n const statementsSize = parentStatements.length;\n\n statementsDescription = parentStatements.map(statement => getStatementGroupTranscript(statement, statementsSize))\n .reduce(joinWithSeparator(getOperatorElement(operatorLabel)));\n }\n\n return <div>Include a <b>{transactorLabel}</b> in {getSearchTitle()} IF {statementsDescription}.</div>;\n }\n\n return (\n <div className={styles.statementDescription}>\n <div className={styles.statementDescriptionTitle}>\n Statement:\n </div>\n {getStatementDescription()}\n </div>\n );\n}\n\nStatementDescription.defaultProps = {\n transactor: {},\n parentStatements: [],\n parentOperator: {},\n searchTitle: '',\n};\n\nStatementDescription.propTypes = {\n transactor: PropTypes.object,\n parentStatements: PropTypes.array,\n parentOperator: PropTypes.object,\n getFilterTranscript: PropTypes.func.isRequired,\n draggableItems: PropTypes.array.isRequired,\n searchTitle: PropTypes.string,\n};\n\nexport default StatementDescription;\n","import defaultSelectTheme from 'components/core/Select/theme';\n\n// fix issue with non clickable select after modal\nexport const transactorTheme = ({\n ...defaultSelectTheme,\n dropdownIndicator: base => ({\n ...base,\n paddingTop: 0,\n paddingBottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n }),\n});\n\nexport const addNewStatementStyle = (isDraggingStatement, isDraggingOver, statements) => {\n const hasEmptyStatements = statements && statements.length === 0;\n\n return {\n ...(isDraggingStatement && { border: 'dashed 1px #c3cbf1' }),\n background: isDraggingStatement && (isDraggingOver ? '#fff7ec' : '#e8f0ff'),\n display: hasEmptyStatements || isDraggingStatement ? 'block' : 'none',\n minHeight: hasEmptyStatements ? '210px' : '90px',\n };\n};\n\nexport const addNewFilterStyle = (isDraggingFilter, isDraggingOver, filters) => ({\n ...(isDraggingFilter && { border: 'dashed 1px #c3cbf1' }),\n background: isDraggingFilter && (isDraggingOver ? '#fff7ec' : '#e8f0ff'),\n display: filters && filters.length === 0 || isDraggingFilter ? 'block' : 'none',\n minHeight: '90px',\n});\n\nexport const getStatementsStyle = isDraggingOver => ({\n ...(isDraggingOver && { background: '#fff7ec' }),\n});\n\nexport const getStatementStyle = (isDragging, draggableStyle) => ({\n ...draggableStyle,\n});\n\nexport const getStatementFiltersStyle = isDraggingOver => ({\n ...(isDraggingOver && { background: '#fff7ec' }),\n});\n\nexport const getStatementFilterStyle = (isDragging, draggableStyle) => ({\n ...draggableStyle,\n ...(isDragging && { outline: 'solid 1px #eff1f6' }),\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport Select from 'components/core/Select';\n\nimport { addNewStatementStyle } from '../theme';\nimport styles from '../styles.module.scss';\n\nfunction StatementsAdd({\n isNewGroupPartHidden,\n isJoinGroupPartHidden,\n isDraggingStatement,\n statementsGroupId,\n errorStatements,\n statements,\n}) {\n const hasStatements = statements.length > 0;\n const displayOperator = isDraggingStatement && hasStatements;\n const displayJoinGroup = !isJoinGroupPartHidden && hasStatements;\n const displayAddNewGroup = !(isNewGroupPartHidden && hasStatements);\n const messageJoinGroup = 'Drop here to merge this statement with another';\n const messageAddGroup = `${(isDraggingStatement && 'Drop') || 'Drag'} a statement here`;\n\n const commonDroppableProps = { type: 'droppableStatements' };\n\n const droppableStatementsJoinProps = {\n ...commonDroppableProps,\n droppableId: `droppableStatementsJoinFor:${statementsGroupId}`,\n };\n\n const droppableStatementsGroupProps = {\n ...commonDroppableProps,\n droppableId: 'droppableStatementsGroupNew',\n };\n\n return (\n <>\n {displayJoinGroup && (\n <Droppable {...droppableStatementsJoinProps}>\n {(droppableProvided, droppableSnapshot) => (\n <div\n ref={droppableProvided.innerRef}\n className={styles.droppableJoinStatement}\n style={\n addNewStatementStyle(\n isDraggingStatement,\n droppableSnapshot.isDraggingOver,\n statements,\n )\n }\n >\n <div className={styles.placeholder}>\n <span>{messageJoinGroup}</span>\n </div>\n {droppableProvided.placeholder}\n </div>\n )}\n </Droppable>\n )}\n\n {displayAddNewGroup && (\n <>\n {displayOperator && (\n <section className={styles.droppableStatementOperator}>\n <Select\n placeholder=\"AND\"\n hasNewStyle\n isDisabled\n />\n </section>\n )}\n\n <Droppable {...droppableStatementsGroupProps}>\n {(droppableProvided, droppableSnapshot) => (\n <div\n ref={droppableProvided.innerRef}\n className={classNames(\n styles.droppableNew,\n errorStatements && styles.invalid\n )}\n style={\n addNewStatementStyle(\n isDraggingStatement,\n droppableSnapshot.isDraggingOver,\n statements,\n )\n }\n >\n <div className={styles.placeholder}>\n <span>{messageAddGroup}</span>\n </div>\n {droppableProvided.placeholder}\n </div>\n )}\n </Droppable>\n </>\n )}\n </>\n );\n}\n\nStatementsAdd.defaultProps = {\n isNewGroupPartHidden: false,\n isJoinGroupPartHidden: false,\n};\n\nStatementsAdd.propTypes = {\n isNewGroupPartHidden: PropTypes.bool,\n isJoinGroupPartHidden: PropTypes.bool,\n isDraggingStatement: PropTypes.bool.isRequired,\n statementsGroupId: PropTypes.string,\n statements: PropTypes.array.isRequired,\n};\n\nexport default StatementsAdd;\n","export const groupOperators = [\n {\n label: 'And',\n value: 'and',\n },\n {\n label: 'Or',\n value: 'or',\n },\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport updateGroupOperator from 'components/core/SmartSearchBuilder/utils/operatorActions/updateGroupOperator';\nimport updateItemOperator from 'components/core/SmartSearchBuilder/utils/operatorActions/updateItemOperator';\nimport { groupOperators } from 'components/core/SmartSearchBuilder/utils/groupOperators';\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\nimport Select from 'components/core/Select';\n\nimport styles from '../styles.module.scss';\n\nconst groupOperatorActions = {\n group: updateGroupOperator,\n item: updateItemOperator,\n};\n\nfunction GroupOperator({ type, id, operator, data, updateData }) {\n const { value: operatorValue } = operator || {};\n\n const handleOperatorChange = item => groupOperatorActions[type]({\n id,\n data,\n value: item,\n updateData,\n });\n\n return (\n <section className={styles.operator}>\n <Select\n value={operatorValue}\n options={groupOperators}\n onChange={handleOperatorChange}\n placeholder=\"Operator\"\n searchable={false}\n clearable={false}\n hasNewStyle\n />\n </section>\n );\n}\n\nGroupOperator.propTypes = {\n type: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n operator: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n updateData: PropTypes.func.isRequired,\n};\n\nexport default withSmartSearch(GroupOperator);\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode } from '../dragEndActions/common';\n\nexport default function updateGroupOperator({ id, value, data, updateData }) {\n const oldFilterGroup = findNode(data, id);\n const newFilterGroup = cloneDeep(oldFilterGroup);\n newFilterGroup.operator = value;\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldFilterGroup),\n JSON.stringify(newFilterGroup),\n ),\n ),\n });\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nimport { findNode } from '../dragEndActions/common';\n\nexport default function updateItemOperator({ id, value, data, updateData }) {\n const oldFilterGroup = findNode(data, id);\n const newFilterGroup = cloneDeep(oldFilterGroup);\n newFilterGroup.operator = value;\n\n updateData({\n payload: JSON.parse(\n JSON.stringify(data).replace(\n JSON.stringify(oldFilterGroup),\n JSON.stringify(newFilterGroup),\n ),\n ),\n });\n}\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport Select from 'components/core/Select';\n\nimport { addNewFilterStyle } from '../theme';\nimport styles from '../styles.module.scss';\n\nfunction StatementFiltersAdd({\n isJoinGroupPartHidden,\n isNewGroupPartHidden,\n isDraggingFilter,\n currentId,\n parentId,\n filters,\n}) {\n const hasFilters = filters && filters.length > 0;\n const displayOperator = isDraggingFilter && hasFilters;\n const displayJoinGroup = !isJoinGroupPartHidden && hasFilters;\n const displayAddNewGroup = !(isNewGroupPartHidden && hasFilters);\n\n const messageJoinGroup = 'Drop here to join with previous filter';\n const messageAddGroup = hasFilters\n ? 'Drop here to add as a separate filter'\n : 'Drop a filter here';\n\n const commonDroppableProps = { type: 'droppableFilters' };\n\n const droppableFiltersJoinProps = {\n ...commonDroppableProps,\n droppableId: `droppableFiltersJoinFor:${currentId}`,\n };\n\n const droppableFiltersGroupProps = {\n ...commonDroppableProps,\n droppableId: `droppableFiltersGroupFor:${parentId}`,\n };\n\n return (\n <Fragment>\n {displayJoinGroup && (\n <Droppable {...droppableFiltersJoinProps}>\n {(droppableProvidedFilters, droppableSnapshotFilters) => (\n <div\n ref={droppableProvidedFilters.innerRef}\n className={styles.droppableNew}\n style={\n addNewFilterStyle(\n isDraggingFilter,\n droppableSnapshotFilters.isDraggingOver,\n filters,\n )\n }\n >\n <div className={styles.placeholder}>\n <span>{messageJoinGroup}</span>\n </div>\n {droppableProvidedFilters.placeholder}\n </div>\n )}\n </Droppable>\n )}\n\n {displayAddNewGroup && (\n <Fragment>\n {displayOperator && (\n <section className={styles.droppableFilterOperator}>\n <Select\n placeholder=\"AND\"\n hasNewStyle\n isDisabled\n />\n </section>\n )}\n\n <Droppable {...droppableFiltersGroupProps}>\n {(droppableProvidedFiltersGroup, droppableSnapshotFiltersGroup) => (\n <div\n ref={droppableProvidedFiltersGroup.innerRef}\n className={styles.droppableNew}\n style={\n addNewFilterStyle(\n isDraggingFilter,\n droppableSnapshotFiltersGroup.isDraggingOver,\n filters,\n )\n }\n >\n <div className={styles.placeholder}>\n <span>{messageAddGroup}</span>\n </div>\n {droppableProvidedFiltersGroup.placeholder}\n </div>\n )}\n </Droppable>\n </Fragment>\n )}\n </Fragment>\n );\n}\n\nStatementFiltersAdd.defaultProps = {\n isNewGroupPartHidden: false,\n isJoinGroupPartHidden: false,\n};\n\nStatementFiltersAdd.propTypes = {\n isNewGroupPartHidden: PropTypes.bool,\n isJoinGroupPartHidden: PropTypes.bool,\n isDraggingFilter: PropTypes.bool.isRequired,\n currentId: PropTypes.string.isRequired,\n parentId: PropTypes.string.isRequired,\n filters: PropTypes.array,\n};\n\nexport default StatementFiltersAdd;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Draggable } from 'react-beautiful-dnd';\n\nimport { findNode } from 'components/core/SmartSearchBuilder/utils/dragEndActions/common';\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\n\nimport GroupOperator from './GroupOperator';\nimport { getStatementFilterStyle } from '../theme';\nimport styles from '../styles.module.scss';\n\nfunction StatementFilter({\n draggableIndex,\n isDraggingOver,\n isLastOperator,\n parentOperator,\n parentId,\n filter,\n deleteFilter,\n draggableItems,\n}) {\n const { id, dimension } = filter;\n const draggedItem = findNode(draggableItems, dimension);\n const { component: FilterComponent } = draggedItem || {};\n const isGroupOperatorDisplayed = !isLastOperator && !isDraggingOver;\n\n const handleDeleteStatementFilter = () => deleteFilter(id);\n\n return (\n <Draggable draggableId={id} index={draggableIndex}>\n {(draggableProvided, draggableSnapshot) => (\n <div className={styles.statementFilterContainer}>\n <div\n {...draggableProvided.draggableProps}\n ref={draggableProvided.innerRef}\n className={styles.statementFilter}\n style={getStatementFilterStyle(\n draggableSnapshot.isDragging,\n draggableProvided.draggableProps.style\n )}\n >\n <div className={styles.statementFilterInfo}>\n <span className={styles.statementFilterName}>\n {FilterComponent && (\n <FilterComponent filter={filter} draggedItem={draggedItem} />\n )}\n </span>\n <span {...draggableProvided.dragHandleProps} className={styles.statementFilterDrag}>\n <i className=\"far fa-arrows-alt\" />\n </span>\n <span className={styles.statementFilterDelete} onClick={handleDeleteStatementFilter}>\n <i className=\"fal fa-times\" />\n </span>\n </div>\n\n {isGroupOperatorDisplayed && (\n <div className={styles.statementFilterOperator}>\n <GroupOperator type=\"item\" id={parentId} operator={parentOperator} />\n </div>\n )}\n </div>\n {draggableProvided.placeholder}\n </div>\n )}\n </Draggable>\n );\n}\n\nStatementFilter.propTypes = {\n isLastOperator: PropTypes.bool.isRequired,\n isDraggingOver: PropTypes.bool.isRequired,\n draggableIndex: PropTypes.number.isRequired,\n parentOperator: PropTypes.object.isRequired,\n parentId: PropTypes.string.isRequired,\n filter: PropTypes.object.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n draggableItems: PropTypes.array.isRequired,\n};\n\nexport default withSmartSearch(StatementFilter);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport StatementFiltersAdd from './StatementFiltersAdd';\nimport StatementFilter from './StatementFilter';\nimport GroupOperator from './GroupOperator';\nimport { getStatementFiltersStyle } from '../../Definitions/theme';\nimport styles from '../styles.module.scss';\n\nfunction StatementFilterChecker({\n keyPrefix,\n isLastOperator,\n isDraggingOver,\n isDraggingFilter,\n draggableIndex,\n parentOperator,\n parentId,\n filter,\n deleteFilter,\n}) {\n const { id, type, operator, filters } = filter;\n\n if (type === 'filters_group') {\n const isGroupOperatorDisplayed = !isLastOperator && !isDraggingOver;\n\n return (\n <Fragment>\n <Droppable droppableId={`droppableFiltersReorder:${id}`} type={id}>\n {(droppableProvided, droppableSnapshot) => (\n <div\n ref={droppableProvided.innerRef}\n style={getStatementFiltersStyle(droppableSnapshot.isDraggingOver)}\n >\n <div className={styles.statementFiltersGroup}>\n {filters.map((filterItem, index) => (\n <StatementFilterChecker\n key={`${keyPrefix}-${index}`}\n keyPrefix={`${keyPrefix}-${index}`}\n isLastOperator={filters.length - 1 === index}\n isDraggingOver={droppableSnapshot.isDraggingOver}\n isDraggingFilter={isDraggingFilter}\n draggableIndex={index}\n parentOperator={operator}\n parentId={id}\n filter={filterItem}\n deleteFilter={deleteFilter}\n />\n ))}\n\n <StatementFiltersAdd\n isNewGroupPartHidden\n isDraggingFilter={isDraggingFilter}\n currentId={id}\n parentId={parentId}\n filters={filters}\n />\n\n {droppableProvided.placeholder}\n </div>\n </div>\n )}\n </Droppable>\n\n {isGroupOperatorDisplayed && (\n <div className={styles.statementFiltersGroupOperator}>\n <GroupOperator type=\"group\" id={parentId} operator={parentOperator} />\n </div>\n )}\n </Fragment>\n );\n }\n\n return (\n <StatementFilter\n key={`${keyPrefix}-${id}`}\n isDraggingOver={isDraggingOver}\n isLastOperator={isLastOperator}\n draggableIndex={draggableIndex}\n parentOperator={parentOperator}\n parentId={parentId}\n filter={filter}\n deleteFilter={deleteFilter}\n />\n );\n}\n\nStatementFilterChecker.propTypes = {\n keyPrefix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n isLastOperator: PropTypes.bool.isRequired,\n isDraggingOver: PropTypes.bool.isRequired,\n isDraggingFilter: PropTypes.bool.isRequired,\n draggableIndex: PropTypes.number.isRequired,\n parentOperator: PropTypes.object.isRequired,\n parentId: PropTypes.string.isRequired,\n filter: PropTypes.object.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n};\n\nexport default StatementFilterChecker;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport StatementFilterChecker from './StatementFilterChecker';\nimport { getStatementFiltersStyle } from '../theme';\n\nfunction StatementFilters({\n isDraggingFilter,\n parentOperator,\n parentId,\n filters,\n deleteFilter,\n}) {\n return (\n <Droppable droppableId={`droppableFiltersReorder:${parentId}`} type={parentId}>\n {(droppableProvided, droppableSnapshot) => (\n <div\n ref={droppableProvided.innerRef}\n style={getStatementFiltersStyle(droppableSnapshot.isDraggingOver)}\n >\n {filters.map((filter, index) => (\n <StatementFilterChecker\n key={index}\n keyPrefix={index}\n isLastOperator={filters.length - 1 === index}\n isDraggingOver={droppableSnapshot.isDraggingOver}\n isDraggingFilter={isDraggingFilter}\n parentOperator={parentOperator}\n draggableIndex={index}\n parentId={parentId}\n filter={filter}\n deleteFilter={deleteFilter}\n />\n ))}\n\n {droppableProvided.placeholder}\n </div>\n )}\n </Droppable>\n );\n}\n\nStatementFilters.propTypes = {\n isDraggingFilter: PropTypes.bool.isRequired,\n parentOperator: PropTypes.object.isRequired,\n parentId: PropTypes.string.isRequired,\n filters: PropTypes.array.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n};\n\nexport default StatementFilters;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Draggable } from 'react-beautiful-dnd';\n\nimport { findNode } from 'components/core/SmartSearchBuilder/utils/dragEndActions/common';\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\n\nimport GroupOperator from './GroupOperator';\nimport StatementFilters from './StatementFilters';\nimport StatementFiltersAdd from './StatementFiltersAdd';\nimport { getStatementStyle } from '../theme';\nimport styles from '../styles.module.scss';\n\nfunction Statement({\n isDraggingOver,\n isLastOperator,\n isDraggingStatement,\n isDraggingFilter,\n draggableIndex,\n parentOperator,\n parentId,\n statement,\n deleteStatement,\n deleteFilter,\n draggableItems,\n}) {\n const { id, name: statementName } = statement || {};\n const { filter } = statement || {};\n const { filters, id: filterId, operator: filterOperator } = filter || {};\n const statementHasFilters = filters && filters.length > 0;\n const displayFilters = statementHasFilters || isDraggingFilter;\n const draggedItem = findNode(draggableItems, statementName);\n const { component: StatementComponent } = draggedItem || {};\n const isGroupOperatorDisplayed = !isLastOperator && !isDraggingOver;\n\n const handleDeleteStatement = () => deleteStatement(id);\n\n const filtersNode = displayFilters && (\n <div className={styles.statementFilters}>\n <p>Where</p>\n\n {statementHasFilters && (\n <StatementFilters\n isDraggingFilter={isDraggingFilter}\n parentOperator={filterOperator}\n parentId={filterId}\n filters={filters}\n deleteFilter={deleteFilter}\n />\n )}\n\n <StatementFiltersAdd\n isJoinGroupPartHidden\n isDraggingFilter={isDraggingFilter}\n currentId={id}\n parentId={id}\n filters={filters}\n />\n </div>\n );\n\n return (\n <Draggable draggableId={id} index={draggableIndex}>\n {(draggableProvided, draggableSnapshot) => (\n <div\n {...draggableProvided.draggableProps}\n ref={draggableProvided.innerRef}\n className={classNames(\n styles.statement,\n isDraggingStatement && styles.isDragging\n )}\n style={getStatementStyle(\n draggableSnapshot.isDragging,\n draggableProvided.draggableProps.style\n )}\n >\n <div\n className={classNames(\n styles.component,\n displayFilters && styles.componentWithFilters,\n isDraggingStatement && styles.componentWithStatementsAdd,\n )}\n >\n <span className={styles.componentDetails}>\n {StatementComponent && (\n <StatementComponent statement={statement} draggedItem={draggedItem} />\n )}\n </span>\n <span {...draggableProvided.dragHandleProps} className={styles.componentDrag}>\n <i className=\"far fa-arrows-alt\" />\n </span>\n <span className={styles.componentDelete} onClick={handleDeleteStatement}>\n <i className=\"fal fa-times\" />\n </span>\n\n {isGroupOperatorDisplayed && (\n <div className={styles.statementFilterOperator}>\n <GroupOperator type=\"item\" id={parentId} operator={parentOperator} />\n </div>\n )}\n </div>\n\n {filtersNode}\n\n {draggableProvided.placeholder}\n </div>\n )}\n </Draggable>\n );\n}\n\nStatement.propTypes = {\n isLastOperator: PropTypes.bool.isRequired,\n isDraggingOver: PropTypes.bool.isRequired,\n isDraggingStatement: PropTypes.bool.isRequired,\n isDraggingFilter: PropTypes.bool.isRequired,\n draggableIndex: PropTypes.number.isRequired,\n parentOperator: PropTypes.object.isRequired,\n parentId: PropTypes.string.isRequired,\n statement: PropTypes.object.isRequired,\n deleteStatement: PropTypes.func.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n draggableItems: PropTypes.array.isRequired,\n};\n\nexport default withSmartSearch(Statement);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport StatementsAdd from '../components/StatementsAdd';\nimport GroupOperator from './GroupOperator';\nimport Statement from './Statement';\nimport { getStatementsStyle } from '../../Definitions/theme';\nimport styles from '../styles.module.scss';\n\nfunction StatementChecker({\n keyPrefix,\n isLastOperator,\n isDraggingOver,\n isDraggingStatement,\n isDraggingFilter,\n draggableIndex,\n parentOperator,\n parentId,\n statement,\n deleteStatement,\n deleteFilter,\n}) {\n const { id, type, operator, statements } = statement;\n\n if (type === 'statements_group') {\n const isGroupOperatorDisplayed = !isLastOperator && !isDraggingOver;\n\n return (\n <Fragment>\n <Droppable droppableId={`droppableStatementsReorder:${id}`} type={id}>\n {(droppableProvided, droppableSnapshot) => (\n <div\n ref={droppableProvided.innerRef}\n style={getStatementsStyle(droppableSnapshot.isDraggingOver)}\n className={styles.statementGroup}\n >\n <div className={styles.statements}>\n {statements.map((statementItem, index) => (\n <StatementChecker\n key={`${keyPrefix}-${index}`}\n keyPrefix={`${keyPrefix}-${index}`}\n isLastOperator={statements.length - 1 === index}\n isDraggingOver={droppableSnapshot.isDraggingOver}\n isDraggingStatement={isDraggingStatement}\n isDraggingFilter={isDraggingFilter}\n draggableIndex={index}\n parentOperator={operator}\n parentId={id}\n statement={statementItem}\n deleteStatement={deleteStatement}\n deleteFilter={deleteFilter}\n />\n ))}\n\n <StatementsAdd\n isNewGroupPartHidden\n isDraggingStatement={isDraggingStatement}\n statementsGroupId={id}\n statements={statements}\n />\n\n {droppableProvided.placeholder}\n </div>\n </div>\n )}\n </Droppable>\n\n {isGroupOperatorDisplayed && (\n <div className={styles.statementFiltersGroupOperator}>\n <GroupOperator type=\"group\" id={parentId} operator={parentOperator} />\n </div>\n )}\n </Fragment>\n );\n }\n\n return (\n <Statement\n key={`${keyPrefix}-${id}`}\n isDraggingOver={isDraggingOver}\n isLastOperator={isLastOperator}\n isDraggingStatement={isDraggingStatement}\n isDraggingFilter={isDraggingFilter}\n draggableIndex={draggableIndex}\n parentOperator={parentOperator}\n parentId={parentId}\n statement={statement}\n deleteStatement={deleteStatement}\n deleteFilter={deleteFilter}\n />\n );\n}\n\nStatementChecker.propTypes = {\n keyPrefix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n isLastOperator: PropTypes.bool.isRequired,\n isDraggingOver: PropTypes.bool.isRequired,\n isDraggingStatement: PropTypes.bool.isRequired,\n isDraggingFilter: PropTypes.bool.isRequired,\n draggableIndex: PropTypes.number.isRequired,\n parentOperator: PropTypes.object.isRequired,\n parentId: PropTypes.string.isRequired,\n statement: PropTypes.object.isRequired,\n deleteStatement: PropTypes.func.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n};\n\nexport default StatementChecker;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Droppable } from 'react-beautiful-dnd';\n\nimport StatementChecker from './StatementChecker';\nimport { getStatementsStyle } from '../../Definitions/theme';\nimport styles from '../styles.module.scss';\n\nfunction Statements({\n isDraggingStatement,\n isDraggingFilter,\n parentOperator,\n parentId,\n statements,\n deleteStatement,\n deleteFilter,\n}) {\n return (\n <Droppable droppableId={`droppableStatementsReorder:${parentId}`} type={parentId}>\n {(droppableProvided, droppableSnapshot) => (\n <div\n ref={droppableProvided.innerRef}\n style={getStatementsStyle(droppableSnapshot.isDraggingOver)}\n className={styles.statements}\n >\n {statements.map((statement, index) => (\n <StatementChecker\n key={index}\n keyPrefix={index}\n isLastOperator={statements.length - 1 === index}\n isDraggingOver={droppableSnapshot.isDraggingOver}\n isDraggingStatement={isDraggingStatement}\n isDraggingFilter={isDraggingFilter}\n parentOperator={parentOperator}\n draggableIndex={index}\n parentId={parentId}\n statement={statement}\n deleteStatement={deleteStatement}\n deleteFilter={deleteFilter}\n />\n ))}\n\n {droppableProvided.placeholder}\n </div>\n )}\n </Droppable>\n );\n}\n\nStatements.propTypes = {\n isDraggingStatement: PropTypes.bool.isRequired,\n isDraggingFilter: PropTypes.bool.isRequired,\n parentOperator: PropTypes.object.isRequired,\n parentId: PropTypes.string.isRequired,\n statements: PropTypes.array.isRequired,\n deleteStatement: PropTypes.func.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n};\n\nexport default Statements;\n","import React, { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useListener } from 'react-bus';\nimport isEmpty from 'lodash/isEmpty';\n\nimport withSmartSearch from 'components/core/SmartSearchBuilder/utils/withSmartSearch';\nimport { ConfirmationModal } from 'components/core/Modal';\nimport Select from 'components/core/Select';\n\nimport StatementDescription from './components/StatementDescription';\nimport StatementsAdd from './components/StatementsAdd';\nimport Statements from './components/Statements';\nimport { transactorTheme } from './theme';\nimport styles from './styles.module.scss';\n\nfunction Definitions({\n isDraggingStatement,\n isDraggingFilter,\n ui,\n bus,\n data,\n transactor,\n updateTransactor,\n deleteStatement,\n deleteFilter,\n onFocus,\n draggableItems,\n getFilterTranscript,\n title,\n}) {\n const { isLoading } = ui || {};\n const { statement } = data || {};\n const { id: statementId, operator: statementOperator, statements } = statement || {};\n const transactors = draggableItems.map(({ id, name }) => ({ label: name, value: id }));\n const [modal, setModal] = useState({ isOpen: false, message: undefined, action: undefined });\n const defaultErrorData = { transactor: undefined, statements: undefined };\n const [errors, setErrors] = useState(defaultErrorData);\n const { transactor: errorTransactor, statements: errorStatements } = errors || {};\n\n const validate = useCallback(() => {\n const isEmptyTransactor = isEmpty(transactor);\n const validator = {\n ...isEmptyTransactor && { transactor: true },\n ...(!isEmptyTransactor && isEmpty(statements)) && { statements: true },\n };\n\n if (!isEmpty(validator)) {\n setErrors(validator);\n bus.emit('errors', true);\n }\n }, [transactor, statements]);\n\n useListener('submitting', validate);\n\n function toggleModalConfirm() {\n const { isOpen } = modal;\n\n setModal({ isOpen: !isOpen });\n }\n\n const handleTransactorChange = ({ label, value }) => {\n const { name } = transactor && draggableItems.find(i => i.id === transactor);\n const injectedMessage = `${name && `from ${name} search `} to ${label} search`;\n const message = `Changing transactor types (e.g., switching ${injectedMessage}) will reset all your changes. Are you sure you want to continue?`;\n const action = () => updateTransactor({ payload: value });\n\n transactor && statements.length && value !== transactor\n ? setModal({ isOpen: true, message, action })\n : action();\n };\n\n const transactorNode = (\n <section className={styles.transactor}>\n <Select\n id=\"transactor\"\n value={transactor}\n options={transactors}\n onChange={handleTransactorChange}\n onFocus={onFocus('transactor', setErrors)}\n customTheme={transactorTheme}\n className={classNames(errorTransactor && styles.transactorInvalid)}\n placeholder=\"Transactor\"\n isDisabled={isLoading}\n searchable={false}\n clearable={false}\n hasNewStyle\n />\n </section>\n );\n\n const transactorObject = transactors.find(({ value }) => value === transactor);\n\n return (\n <div className={styles.container}>\n <div className={styles.type}>\n Include {transactorNode} in new List IF…\n </div>\n\n {!transactor && (\n <div className={styles.typeDescription} id=\"typeDescription\">\n Select a transactor above to begin building your search.\n </div>\n )}\n\n {transactor && (\n <>\n <Statements\n isDraggingStatement={isDraggingStatement}\n isDraggingFilter={isDraggingFilter}\n draggableIndex={0}\n parentOperator={statementOperator}\n parentId={statementId}\n statements={statements}\n deleteStatement={deleteStatement}\n deleteFilter={deleteFilter}\n />\n\n <StatementsAdd\n isJoinGroupPartHidden\n isDraggingStatement={isDraggingStatement}\n errorStatements={errorStatements}\n statements={statements}\n />\n </>\n )}\n\n {getFilterTranscript && (\n <StatementDescription\n searchTitle={title}\n transactor={transactorObject}\n parentStatements={statements}\n parentOperator={statementOperator}\n getFilterTranscript={getFilterTranscript}\n draggableItems={draggableItems}\n />\n )}\n\n <ConfirmationModal {...modal} toggle={toggleModalConfirm} />\n </div>\n );\n}\n\nDefinitions.propTypes = {\n bus: PropTypes.object.isRequired,\n ui: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n transactor: PropTypes.string.isRequired,\n isDraggingStatement: PropTypes.bool.isRequired,\n isDraggingFilter: PropTypes.bool.isRequired,\n updateTransactor: PropTypes.func.isRequired,\n deleteStatement: PropTypes.func.isRequired,\n deleteFilter: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n draggableItems: PropTypes.array.isRequired,\n getFilterTranscript: PropTypes.func,\n title: PropTypes.string.isRequired,\n};\n\nexport default withSmartSearch(Definitions);\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useBus } from 'react-bus';\nimport { DragDropContext } from 'react-beautiful-dnd';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport PageNotFound from 'components/core/PageNotFound';\nimport Button from 'components/core/Button';\nimport Card from 'components/core/Card';\n\nimport { SmartSearchContext } from '../../utils/withSmartSearch';\nimport useSmartSearch from '../../utils/useSmartSearch';\nimport StatementsAndFilters from '../StatementsAndFilters';\nimport GeneralDetails from '../GeneralDetails';\nimport Definitions from '../Definitions';\nimport styles from './styles.module.scss';\n\nfunction Container({\n match,\n history,\n builder,\n updateTitle,\n updateDescription,\n updateIsTemplate,\n updateTransactor,\n updateData,\n submitList,\n getList,\n reset,\n draggableItems,\n afterSubmittingURL,\n submitButtonLabel,\n onSubmit,\n onSuccess,\n labels,\n disableIsTemplate,\n titleCharactersLimit,\n descriptionCharactersLimit,\n enableTooltip,\n isDescriptionRequired,\n getFilterTranscript,\n onCancel,\n trackingActions,\n}) {\n const { id: listId } = match.params;\n const { govpredictAdmin } = gon.currentUser;\n const copyId = new URLSearchParams(history.location.search).get('copy_id');\n const { error, data, title, description, isTemplate, ui: { isLoading } = {} } = builder;\n const isInitialLoading = (listId || copyId) && isEmpty(data);\n const { isMobile, isDesktop } = useMediaQuery();\n const bus = useBus();\n\n const {\n submitting,\n isDraggingFilter,\n isDraggingStatement,\n setIsDraggingFilter,\n setIsDraggingStatement,\n onBeforeCapture,\n onDragEnd,\n onDelete,\n onCreate,\n onFocus,\n } = useSmartSearch({\n bus,\n history,\n listId,\n data,\n title,\n description,\n isTemplate,\n updateData,\n submitList,\n draggableItems,\n afterSubmittingURL,\n onSuccess,\n trackingActions,\n });\n\n useEffect(() => {\n const id = listId || copyId;\n id && getList({ id, copy: !listId });\n\n return reset;\n }, []);\n\n const smartSearchContext = {\n ...builder,\n isMobile,\n isDraggingStatement,\n isDraggingFilter,\n updateTitle,\n updateDescription,\n updateIsTemplate,\n updateTransactor,\n updateData,\n setIsDraggingFilter,\n setIsDraggingStatement,\n deleteStatement: onDelete,\n deleteFilter: onDelete,\n submitList,\n onFocus,\n bus,\n draggableItems,\n labels,\n disableIsTemplate,\n titleCharactersLimit,\n descriptionCharactersLimit,\n enableTooltip,\n isDescriptionRequired,\n getFilterTranscript,\n };\n\n if (error) {\n return <PageNotFound />;\n }\n\n const getSubmitButtonLabel = () => {\n if (submitButtonLabel) return submitButtonLabel;\n\n if (listId && !isTemplate || listId && (govpredictAdmin && isTemplate)) {\n return 'Update search';\n }\n\n return 'Create new search';\n };\n\n const handleSubmit = (event) => {\n if (onSubmit) {\n return onSubmit(event, onCreate);\n }\n\n return onCreate(event);\n };\n\n const actionsNode = !isInitialLoading && (\n <>\n {onCancel && (\n <Button\n type=\"small\"\n theme=\"light\"\n disabled={isLoading || submitting}\n onClick={onCancel}\n className={styles.cancel}\n >\n Cancel\n </Button>\n )}\n\n <Button\n size=\"small\"\n className={styles.submit}\n disabled={isLoading || submitting}\n onClick={handleSubmit}\n >\n {getSubmitButtonLabel()}\n </Button>\n </>\n );\n\n function renderContent() {\n const iconNode = <img src=\"/images/sad-face.svg\" alt=\"Not found\" />;\n\n if (isDesktop) {\n return (\n <div className={styles.container}>\n <div className={styles.form} id=\"form\">\n <Card footerClassName={styles.cardFooter} footerNodes={actionsNode}>\n {isInitialLoading && (\n <div className={styles.cardLoading} id=\"loading\">\n Loading...\n </div>\n )}\n\n {!isInitialLoading && (\n <div>\n <div className={styles.cardContent}>\n <GeneralDetails />\n </div>\n\n <div className={styles.cardContent}>\n <Definitions />\n </div>\n </div>\n )}\n </Card>\n </div>\n\n <StatementsAndFilters />\n </div>\n );\n }\n\n return (\n <div className={classNames(styles.container, styles.isEmpty)}>\n <EmptyPlaceholder\n title=\"Oops!\"\n iconNode={iconNode}\n description=\"This feature is only available on desktop.\"\n />\n </div>\n );\n }\n\n return (\n <SmartSearchContext.Provider value={smartSearchContext}>\n <DragDropContext onBeforeCapture={onBeforeCapture} onDragEnd={onDragEnd}>\n {renderContent()}\n </DragDropContext>\n </SmartSearchContext.Provider>\n );\n}\n\nContainer.defaultProps = {\n trackingActions: {\n trackItemAddedToBuilder: () => {},\n },\n};\n\nContainer.propTypes = {\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired,\n builder: PropTypes.object.isRequired,\n updateTitle: PropTypes.func.isRequired,\n updateDescription: PropTypes.func.isRequired,\n updateIsTemplate: PropTypes.func.isRequired,\n updateTransactor: PropTypes.func.isRequired,\n updateData: PropTypes.func.isRequired,\n submitList: PropTypes.func.isRequired,\n getList: PropTypes.func.isRequired,\n reset: PropTypes.func.isRequired,\n draggableItems: PropTypes.array.isRequired,\n afterSubmittingURL: PropTypes.string,\n submitButtonLabel: PropTypes.node,\n onSubmit: PropTypes.func,\n onSuccess: PropTypes.func,\n labels: PropTypes.object,\n disableIsTemplate: PropTypes.bool,\n titleCharactersLimit: PropTypes.number,\n descriptionCharactersLimit: PropTypes.number,\n enableTooltip: PropTypes.bool,\n isDescriptionRequired: PropTypes.bool,\n getFilterTranscript: PropTypes.func,\n onCancel: PropTypes.func,\n trackingActions: PropTypes.shape({\n trackItemAddedToBuilder: PropTypes.func,\n }),\n};\n\nexport default Container;\n","import React from 'react';\nimport { Provider as BusProvider } from 'react-bus';\n\nimport AddedDraggableItem from './components/AddedDraggableItem';\nimport AddedDraggableInputItem from './components/AddedDraggableItem/AddedDraggableInputItem';\nimport { getNameInDraggableItems } from './components/Definitions/utils';\nimport Container from './components/Container';\n\nfunction SmartSearchBuilder(props) {\n return (\n <BusProvider>\n <Container {...props} />\n </BusProvider>\n );\n}\n\nexport { AddedDraggableItem, AddedDraggableInputItem, getNameInDraggableItems };\nexport default SmartSearchBuilder;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { DEFAULT_HEADER_COLOR, DEFAULT_LINE_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n headerSection: {\n backgroundColor: DEFAULT_HEADER_COLOR,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n flexDirection: 'row',\n width: '100%',\n padding: '5px 10px',\n borderBottomWidth: 1,\n borderBottomColor: DEFAULT_LINE_COLOR,\n borderTopRightRadius: 4,\n borderTopLeftRadius: 4,\n minHeight: 35,\n },\n bodySection: {\n padding: '7px 10px 0',\n },\n footerSection: {\n display: 'flex',\n justifyContent: 'space-between',\n flexDirection: 'row',\n alignItems: 'center',\n borderBottomRightRadius: 4,\n borderBottomLeftRadius: 4,\n padding: '7px 10px',\n borderTopWidth: 1,\n borderTopColor: DEFAULT_LINE_COLOR,\n width: '100%',\n },\n card: {\n marginBottom: 6,\n borderWidth: 1,\n borderColor: DEFAULT_LINE_COLOR,\n borderBottomRightRadius: 4,\n borderBottomLeftRadius: 4,\n borderTopRightRadius: 4,\n borderTopLeftRadius: 4,\n borderStyle: 'solid',\n },\n separator: {\n width: '100%',\n height: 1,\n backgroundColor: DEFAULT_LINE_COLOR,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from '@react-pdf/renderer';\n\nimport styles from './styles';\n\nfunction LookupCard({\n headerContent,\n footerContent,\n children,\n hideHeader,\n hideFooter,\n wrap,\n}) {\n return (\n <View wrap={wrap} style={styles.card}>\n {!hideHeader && (\n <View wrap={false} style={styles.headerSection}>\n {headerContent}\n </View>\n )}\n\n <View style={styles.bodySection}>\n {children}\n </View>\n\n {!hideFooter && (\n <View wrap={false} style={styles.footerSection}>\n {footerContent}\n </View>\n )}\n </View>\n );\n}\n\nLookupCard.propTypes = {\n wrap: PropTypes.bool,\n hideHeader: PropTypes.bool,\n hideFooter: PropTypes.bool,\n headerContent: PropTypes.node,\n footerContent: PropTypes.node,\n children: PropTypes.node,\n};\n\nexport default LookupCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty } from 'lodash';\n\nimport { EMPTY_VALUE } from 'utils/constants';\nimport Link from 'components/core/Link';\n\nimport { formattingTypes } from './utils';\nimport styles from './styles.module.scss';\n\nexport default function DetailRow({ title, value, customFormatting, isCapitalized, link, onClick, className }) {\n const getFormattedValue = () => {\n const { phone, email, externalLink, internalLink } = formattingTypes;\n\n if (isEmpty(value)) {\n return EMPTY_VALUE;\n }\n\n if (customFormatting === phone) {\n return <Link theme=\"default\" className={styles.link} href={`tel:${value}`} >{value}</Link>;\n }\n\n if (customFormatting === email) {\n return <Link theme=\"default\" className={styles.link} href={`mailto:${value}`} >{value}</Link>;\n }\n\n if (customFormatting === externalLink || customFormatting === internalLink) {\n return (\n <Link\n theme=\"default\"\n isExternal={customFormatting === externalLink}\n className={styles.link}\n onClick={onClick}\n href={link}\n >\n {value}\n </Link>\n );\n }\n\n return value;\n };\n\n return (\n <div className={classNames(styles.label, className)}>\n {title && <div className={styles.title}>{title}</div>}\n <div\n className={classNames(\n styles.content,\n isCapitalized && styles.textCapitalized\n )}\n >\n {getFormattedValue(value)}\n </div>\n </div>\n );\n}\n\nDetailRow.propTypes = {\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n customFormatting: PropTypes.oneOf(Object.values(formattingTypes)),\n isCapitalized: PropTypes.bool,\n onClick: PropTypes.func,\n link: PropTypes.string,\n className: PropTypes.string,\n};\n\nDetailRow.defaultProps = {\n isCapitalized: false,\n onClick: () => {},\n};\n","import PropTypes from 'prop-types';\n\nexport const initialSubscriptionShape = PropTypes.shape({\n frequency: PropTypes.string,\n sendWeekAheadEmail: PropTypes.bool,\n});\n","import { useState, useEffect } from 'react';\nimport { some, map, isNil } from 'lodash';\n\nimport { COMMITTEE_SECTION } from 'redux/dashboardV2/constants';\nimport useModal from 'components/core/Modal/useModal';\nimport useWorkspaces from 'components/core/TrackButton/utils/useWorkspaces';\nimport useLoader from 'utils/useLoader';\n\nfunction useBulkTrack({\n isMultipleItems,\n defaultSubscription,\n initialSubscription,\n selectedItems,\n itemType,\n onBulkTrack,\n}) {\n const {\n frequency: selectedFrequency,\n sendWeekAheadEmail: initialSendWeekAheadEmail,\n } = initialSubscription || {};\n const { isOpenModal, toggleModal } = useModal();\n const { isLoading, stopLoading, startLoading } = useLoader();\n const workspaces = useWorkspaces();\n\n const selectedItemsIdsValues = map(selectedItems, ({ id }) => ({ value: id }));\n\n const defaultFrequency = isNil(selectedFrequency) || isMultipleItems\n ? defaultSubscription\n : selectedFrequency;\n\n const defaultSendWeekAhead = isNil(initialSendWeekAheadEmail) || isMultipleItems\n ? false\n : initialSendWeekAheadEmail;\n\n const [frequency, setFrequency] = useState(defaultFrequency);\n const [sendWeekAheadEmail, setSendWeekAheadEmail] = useState(defaultSendWeekAhead);\n\n useEffect(() => {\n setFrequency(defaultFrequency);\n setSendWeekAheadEmail(defaultSendWeekAhead);\n !isOpenModal && workspaces.reset();\n }, [isOpenModal]);\n\n // TODO: Fix committee bulk track\n const withWeekAheadEmail = some(selectedItems,\n ({ subscription }) => {\n const { sectionType } = subscription || {};\n\n return sectionType === COMMITTEE_SECTION;\n });\n\n function onFinally() {\n stopLoading();\n toggleModal();\n }\n\n function save(value) {\n startLoading();\n\n return onBulkTrack({ values: selectedItemsIdsValues, frequency: value, workspaces, itemType })\n .finally(onFinally);\n }\n\n function handleSaveMobile(value) {\n save(value);\n }\n\n function handleSave() {\n save(frequency);\n }\n\n function handleSaveTrackCommittee(data) {\n startLoading();\n\n return onBulkTrack({ ...data, values: selectedItemsIdsValues, itemType })\n .finally(onFinally);\n }\n\n function handleChange(value) {\n setFrequency(value);\n }\n\n function handleChangeSendEmail({ target: { checked } = {} }) {\n setSendWeekAheadEmail(checked);\n }\n\n function handleCancel() {\n workspaces.reset();\n toggleModal();\n }\n\n return {\n isLoading,\n isOpenModal,\n toggleModal,\n withWeekAheadEmail,\n sendWeekAheadEmail,\n selectedFrequency: frequency,\n onSave: handleSave,\n onSaveMobile: handleSaveMobile,\n onSaveTrackCommittee: handleSaveTrackCommittee,\n onChangeSendEmail: handleChangeSendEmail,\n onChangeFrequency: handleChange,\n workspaces,\n onCancel: handleCancel,\n };\n}\n\nexport default useBulkTrack;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport TrackModal from 'components/Dashboard/common/TrackModal';\nimport Button from 'components/core/Button';\n\nimport { initialSubscriptionShape } from './shapes';\nimport useBulkTrack from './useBulkTrack';\n\nfunction BulkTrack({\n isCommittee,\n isMobile,\n theme,\n title,\n isLoading: isLoadingRedux,\n buttonClassName,\n onBulkTrack,\n selectedItems,\n defaultSubscription,\n isMultipleItems,\n initialSubscription,\n documentType,\n recordType,\n itemType,\n}) {\n const {\n isLoading,\n isOpenModal,\n toggleModal,\n selectedFrequency,\n onChangeFrequency,\n onSaveTrackCommittee,\n onSaveMobile,\n onSave,\n workspaces,\n ...restProps\n } = useBulkTrack({\n documentType,\n onBulkTrack,\n selectedItems,\n defaultSubscription,\n initialSubscription,\n isMultipleItems,\n itemType,\n });\n\n const buttonProps = {\n theme,\n className: buttonClassName,\n };\n\n const modalProps = {\n ...restProps,\n isCommittee,\n isMobile,\n isLoading,\n isOpenModal,\n toggleModal,\n recordType,\n itemType,\n frequency: selectedFrequency,\n onSave,\n onSaveMobile,\n onChange: onChangeFrequency,\n onUpdateTrackCommittee: onSaveTrackCommittee,\n workspaces,\n };\n\n return (\n <>\n <Button\n {...buttonProps}\n disabled={isLoading || isLoadingRedux}\n onClick={toggleModal}\n >\n {title}\n </Button>\n <TrackModal {...modalProps} />\n </>\n );\n}\n\nBulkTrack.defaultProps = {\n theme: 'default',\n title: 'Track',\n};\n\nBulkTrack.propTypes = {\n isCommittee: PropTypes.bool,\n isMobile: PropTypes.bool.isRequired,\n isMultipleItems: PropTypes.bool,\n isLoading: PropTypes.bool,\n theme: PropTypes.string,\n title: PropTypes.string,\n recordType: PropTypes.string,\n documentType: PropTypes.string,\n itemType: PropTypes.string,\n selectedItems: PropTypes.arrayOf(PropTypes.object).isRequired,\n buttonClassName: PropTypes.string,\n defaultSubscription: PropTypes.string,\n initialSubscription: initialSubscriptionShape,\n onBulkTrack: PropTypes.func.isRequired,\n};\n\nexport default BulkTrack;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport BasePageHeader from 'components/core/PageHeader';\n\nfunction PageHeader({\n customBreadcrumb,\n avatarUrl,\n isMobile,\n isLoading,\n ...restProps\n}) {\n const avatar = !isMobile ? avatarUrl : '';\n\n return (\n <BasePageHeader\n {...restProps}\n isLoading={isLoading}\n customBreadcrumb={customBreadcrumb}\n avatarUrl={avatar}\n withBorder\n isFullWidth\n isFullWidthTitle\n />\n );\n}\n\nPageHeader.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n customBreadcrumb: PropTypes.string,\n avatarUrl: PropTypes.string,\n};\n\nexport default PageHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FixedTabs } from 'components/core/Tabs';\n\nimport PageHeader from './components/PageHeader';\n\nfunction Profile({\n pageHeaderProps,\n isLoading,\n items,\n activeId,\n className,\n itemsNumberPlaceholder,\n history,\n ...restProps\n}) {\n return (\n <>\n <PageHeader\n isLoading={isLoading}\n {...pageHeaderProps}\n />\n\n <FixedTabs\n isLoading={isLoading}\n items={items}\n activeId={activeId}\n className={className}\n itemsNumberPlaceholder={itemsNumberPlaceholder}\n history={history}\n {...restProps}\n />\n </>\n );\n}\n\nProfile.propTypes = {\n pageHeaderProps: PropTypes.object.isRequired,\n isLoading: PropTypes.bool.isRequired,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n activeId: PropTypes.string.isRequired,\n className: PropTypes.string,\n itemsNumberPlaceholder: PropTypes.number,\n history: PropTypes.object,\n};\n\nexport default Profile;\n","import {\n minControlHeight,\n backgroundColor,\n indicatorSeparatorColor,\n color,\n fontWeight,\n borderColor,\n} from './settings.scss';\n\nconst style = minHeight => ({\n control: (base, state) => ({\n ...base,\n backgroundColor,\n borderColor,\n backgroundImage: 'none',\n minHeight: minHeight ? `${minHeight}px` : minControlHeight,\n ...(state.isDisabled && {\n opacity: 0.7,\n }),\n '&:hover': {\n backgroundColor: color,\n '> div > div': {\n color: backgroundColor,\n },\n '.icon.fas': {\n color: backgroundColor,\n },\n },\n }),\n dropdownIndicator: base => ({\n ...base,\n color,\n padding: '8px 2px',\n '> i.icon.fas': {\n color,\n padding: '0 7px',\n },\n }),\n menu: base => ({\n ...base,\n }),\n clearIndicator: base => ({\n ...base,\n paddingTop: 0,\n paddingBottom: 0,\n }),\n indicatorSeparator: base => ({\n ...base,\n margin: '0 auto',\n backgroundColor: indicatorSeparatorColor,\n }),\n placeholder: base => ({\n ...base,\n fontStyle: 'normal',\n fontWeight,\n color,\n width: '100%',\n textAlign: 'center',\n left: 0,\n '> span span': {\n marginLeft: '7px !important',\n },\n }),\n singleValue: base => ({\n ...base,\n fontStyle: 'normal',\n fontWeight,\n color,\n width: '100%',\n textAlign: 'center',\n }),\n valueContainer: base => ({\n ...base,\n minHeight: 'inherit',\n justifyContent: 'center',\n }),\n});\n\nexport default style;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Select from '../Select';\n\nimport defaultTheme from './theme';\nimport styles from './styles.module.scss';\n\nfunction ButtonDropdown({\n title,\n iconClass,\n options,\n customTheme,\n minHeight,\n className,\n ...restProps\n}) {\n const theme = customTheme || defaultTheme(minHeight);\n const placeholder = (\n <span>\n {iconClass && <i className={classNames(iconClass, styles.icon)} />}\n <span className={styles.title}>{title}</span>\n </span>\n );\n\n return (\n <div className={classNames('btn-dropdown', styles.buttonDropdown, className)}>\n <Select\n name={title}\n value={null}\n searchable={false}\n options={options}\n placeholder={placeholder}\n hasNewStyle\n customTheme={theme}\n {...restProps}\n />\n </div>\n );\n}\n\nButtonDropdown.propTypes = {\n iconClass: PropTypes.string,\n minHeight: PropTypes.number,\n customTheme: PropTypes.object,\n className: PropTypes.string,\n title: PropTypes.string.isRequired,\n options: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default ButtonDropdown;\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { unknownObjectShape } from 'utils/shapes';\nimport { InfiniteLoadPaginator } from 'components/core/Paginator';\nimport Button from 'components/core/Button';\nimport styles from './styles.module.scss';\n\nfunction InfinitePaginator({\n ui: { isInfiniteDisabled, isLoading },\n type,\n appliedFilters,\n createdAt,\n fetchData,\n}) {\n return useMemo(() => {\n if (isInfiniteDisabled) {\n return null;\n }\n\n const handleOnLoad = page => fetchData({\n type,\n isInfinite: true,\n createdAt,\n searchData: {\n ...appliedFilters,\n page,\n },\n });\n\n const renderCustomLoader = () => isLoading && (\n <Button\n size=\"large\"\n theme=\"secondary\"\n className={styles.button}\n disabled\n >\n <span>Loading...</span>\n </Button>\n );\n\n return (\n <InfiniteLoadPaginator\n isLoading={isLoading}\n isPaginatorPresent={!isInfiniteDisabled}\n renderCustomLoader={renderCustomLoader}\n onLoad={handleOnLoad}\n />\n );\n }, [isInfiniteDisabled, isLoading, appliedFilters]);\n}\n\nInfinitePaginator.propTypes = {\n ui: PropTypes.shape({\n isLoading: PropTypes.bool,\n isInfiniteDisabled: PropTypes.bool,\n }).isRequired,\n type: PropTypes.string,\n appliedFilters: unknownObjectShape.isRequired,\n fetchData: PropTypes.func.isRequired,\n createdAt: PropTypes.string,\n};\n\nexport default InfinitePaginator;\n","export function transformPublicRecordTypes({\n publicRecordTypes = [],\n recordTypeLabelMapping = {},\n}) {\n return publicRecordTypes\n .map(([val, key]) => ({\n id: key,\n labelPlural: val,\n label: recordTypeLabelMapping[key],\n }));\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport styles from './styles.module.scss';\n\nfunction Badge({ children, className, badgeClassName }) {\n return (\n <div className={classNames(styles.container, className)}>\n <span className={classNames(styles.badge, badgeClassName)}>\n {children}\n </span>\n </div>\n );\n}\n\nBadge.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n badgeClassName: PropTypes.string,\n};\n\nexport default Badge;\n","import { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { getColumnLabelBySortingKey } from 'utils/table';\nimport useSortTable from 'utils/useSortTable';\n\nfunction useTable({\n tableColumns,\n sort: sortRedux,\n paginator,\n trackingActions,\n onSearch,\n customData,\n customSortColumn,\n customChangePage,\n}) {\n const sort = useSortTable();\n const isPaginatorPresent = !isEmpty(paginator);\n const { trackSorted, trackPageVisited } = trackingActions || {};\n\n const shouldApplyFixedHeight = paginator\n && paginator.current > 1\n && paginator.current === paginator.total;\n\n /** Fix default sort */\n useEffect(() => {\n if (!isEmpty(sortRedux)) {\n const { sort: reduxColumn, direction } = sortRedux;\n\n sort && sort.setSortData({ direction, column: reduxColumn });\n }\n }, [sortRedux]);\n\n function handleSortColumn(column) {\n if (customSortColumn) {\n return customSortColumn(column);\n }\n\n const { getDirection } = sort || {};\n const direction = getDirection(column);\n\n const columnLabel = getColumnLabelBySortingKey(tableColumns, column);\n trackSorted && trackSorted(columnLabel, direction);\n\n return onSearch({ ...customData, sort: column, direction });\n }\n\n function handleChangePage(page) {\n if (customChangePage) {\n return customChangePage(page);\n }\n\n const { sortData = {} } = sort || {};\n const { column, direction } = sortData || {};\n\n trackPageVisited && trackPageVisited(page);\n\n return onSearch({ ...customData, page, sort: column, direction });\n }\n\n return {\n ...sort,\n shouldApplyFixedHeight,\n isPaginatorPresent,\n onSortColumn: handleSortColumn,\n onChangePage: handleChangePage,\n };\n}\n\nexport default useTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport TablePaginator from 'components/core/Paginator/TablePaginator';\nimport { PAGE_SIZE } from 'components/core/Profile/utils/constants';\nimport Table, { Column } from 'components/core/Table';\n\nimport useTable from './useTable';\nimport styles from './styles.module.scss';\n\nfunction TotalTable({\n id,\n isMobile,\n isLoading,\n title,\n description,\n questionText,\n emptyDescription,\n tableColumns,\n items,\n sort,\n paginator,\n trackingActions,\n renderColumn,\n customColumnsElement,\n onSearch,\n uniqueKey,\n customData,\n totalLength,\n sortUI,\n customSortColumn,\n customChangePage,\n}) {\n const isEmptyData = isEmpty(items);\n\n function getTotalItems() {\n if (totalLength) return totalLength;\n if (!isEmpty(paginator)) return paginator.totalCount || 0;\n if (!isEmptyData) return items.length || 0;\n\n return 0;\n }\n\n const totalItemsLength = getTotalItems();\n const totalTextElement = !isLoading && (\n <div className={styles.totalText}>Total: {totalItemsLength}</div>\n );\n\n const tableProps = {\n tableColumns,\n onSearch,\n sort,\n paginator,\n trackingActions,\n customData,\n totalLength: totalItemsLength,\n isLoading,\n customSortColumn,\n customChangePage,\n };\n\n const {\n isPaginatorPresent,\n shouldApplyFixedHeight,\n sortData,\n onSortColumn,\n onChangePage,\n } = useTable(tableProps);\n\n const tableClassName = classNames(\n styles.tableContent,\n shouldApplyFixedHeight && styles.fixedHeight,\n );\n\n function customRenderColumn(column, data) {\n const { keyName } = column || {};\n\n if (renderColumn) {\n return renderColumn(column, data);\n }\n\n return <Column key={keyName} keyName={keyName} />;\n }\n\n function getSortData(currentSortData) {\n const { column, direction } = currentSortData || {};\n\n return { sortColumn: column, sortDirection: direction };\n }\n\n const currentSortData = isEmpty(sortUI) ? getSortData(sortData) : getSortData(sortUI);\n\n return (\n <DataCard\n id={id}\n title={title}\n description={description}\n questionText={questionText}\n emptyDescription={emptyDescription}\n showPlaceholder={!isLoading && isEmptyData}\n rightItems={totalTextElement}\n >\n <div className={styles.tableContainer}>\n <Table\n {...currentSortData}\n isLoading={isLoading}\n rowLengthPlaceholder={PAGE_SIZE}\n uniqueKey={uniqueKey}\n columns={tableColumns}\n containerStyle={tableClassName}\n data={items}\n onSort={onSortColumn}\n emptyDescription={emptyDescription}\n isPaginatorPresent={isPaginatorPresent}\n isMobile={isMobile}\n isFixed\n >\n {isEmpty(customColumnsElement)\n ? tableColumns.map(customRenderColumn)\n : customColumnsElement\n }\n </Table>\n\n <TablePaginator\n isMobile={isMobile}\n isLoading={isLoading}\n isPaginatorPresent={isPaginatorPresent}\n paginator={paginator}\n onChangePage={onChangePage}\n />\n </div>\n </DataCard>\n );\n}\n\nTotalTable.defaultProps = {\n uniqueKey: 'id',\n};\n\nTotalTable.propTypes = {\n id: PropTypes.string,\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n questionText: PropTypes.string,\n emptyDescription: PropTypes.string,\n tableColumns: PropTypes.array.isRequired,\n items: PropTypes.array,\n sort: PropTypes.object,\n paginator: PropTypes.object.isRequired,\n trackingActions: PropTypes.object,\n renderColumn: PropTypes.func,\n customColumnsElement: PropTypes.node,\n onSearch: PropTypes.func.isRequired,\n uniqueKey: PropTypes.string,\n customData: PropTypes.object,\n totalLength: PropTypes.number,\n sortUI: PropTypes.object,\n customSortColumn: PropTypes.func,\n customChangePage: PropTypes.func,\n};\n\nexport default TotalTable;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport { BOX_SHADOW_COLOR } from 'components/core/ExportDocument/utils/colors.scss';\n\nconst AVATAR_SIZE = 75;\n\nconst styles = StyleSheet.create({\n container: {\n alignContent: 'center',\n backgroundColor: BOX_SHADOW_COLOR,\n borderRadius: AVATAR_SIZE / 2,\n display: 'flex',\n flexDirection: 'row',\n height: AVATAR_SIZE,\n justifyContent: 'center',\n overflow: 'hidden',\n width: AVATAR_SIZE,\n marginRight: 35,\n },\n image: {\n borderRadius: AVATAR_SIZE / 2,\n objectFit: 'cover',\n objectPosition: '50% 50%',\n width: AVATAR_SIZE,\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Image, View } from '@react-pdf/renderer';\nimport { isEmpty } from 'lodash';\n\nimport { getCorsImageUrl } from 'utils/constants/export';\n\nimport styles from './styles';\n\nfunction Avatar({ photoUrl }) {\n if (isEmpty(photoUrl)) {\n return null;\n }\n\n return (\n <View style={styles.container}>\n <Image style={styles.image} src={getCorsImageUrl(photoUrl)} />\n </View>\n );\n}\n\nAvatar.propTypes = {\n photoUrl: PropTypes.string,\n};\n\nexport default Avatar;\n","import { StyleSheet } from '@react-pdf/renderer';\n\nimport {\n DEFAULT_TEXT_COLOR,\n SOCIAL_MEDIA_LINE_COLOR,\n} from 'components/core/ExportDocument/utils/colors.scss';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-start',\n color: DEFAULT_TEXT_COLOR,\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 20,\n },\n textSection: {\n alignItems: 'flex-start',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n },\n rowSection: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n },\n labelText: {\n fontSize: 30,\n fontWeight: 700,\n paddingRight: 10,\n },\n descriptionText: {\n color: DEFAULT_TEXT_COLOR,\n fontSize: 8,\n fontWeight: 400,\n paddingBottom: 8,\n },\n tagShape: {\n borderRadius: 2,\n padding: '1px 3px',\n fontSize: 8,\n },\n colorLessTag: {\n backgroundColor: SOCIAL_MEDIA_LINE_COLOR,\n borderWidth: 0,\n color: DEFAULT_TEXT_COLOR,\n margin: '0 2px',\n },\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text, View } from '@react-pdf/renderer';\nimport { isEmpty } from 'lodash';\n\nimport { PartyIcon, Tags } from 'components/core/ExportDocument';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { getUrlWithBase } from 'utils/url';\n\nimport Avatar from './components/Avatar';\nimport Tag from '../Tags/components/Tag';\nimport tagStyles from '../Tags/components/Tag/styles';\nimport styles from './styles';\n\nfunction Header({\n wrap,\n fixed,\n avatarUrl,\n label,\n description,\n partyBadge,\n badge,\n tags,\n hasAvatar,\n profileUrl,\n}) {\n const { short, slug } = partyBadge || {};\n const url = getUrlWithBase(profileUrl);\n\n return (\n <View style={styles.container} fixed={fixed} wrap={wrap}>\n {hasAvatar && <Avatar photoUrl={avatarUrl} />}\n\n <View style={styles.textSection}>\n <View style={styles.rowSection}>\n <Text style={styles.labelText}>{label}</Text>\n <PartyIcon style={styles.tagShape} partyShort={short} partySlug={slug} />\n {!isEmpty(badge) && <Tag style={styles.colorLessTag}>{badge}</Tag>}\n </View>\n\n <Text style={styles.descriptionText}>{description}</Text>\n\n <Tags tags={tags} url={url} tagStyle={tagStyles.tag} />\n </View>\n </View>\n );\n}\n\nHeader.defaultProps = {\n wrap: false,\n fixed: false,\n tags: [],\n};\n\nHeader.propTypes = {\n wrap: PropTypes.bool,\n fixed: PropTypes.bool,\n avatarUrl: PropTypes.string,\n label: PropTypes.string,\n description: PropTypes.string,\n partyBadge: PropTypes.shape({\n short: PropTypes.string,\n slug: PropTypes.string,\n }),\n badge: PropTypes.string,\n tags: PropTypes.arrayOf(tagShape),\n hasAvatar: PropTypes.bool,\n profileUrl: PropTypes.string,\n};\n\nexport default Header;\n","import PropTypes from 'prop-types';\n\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\n\nconst userShape = PropTypes.shape({\n id: PropTypes.number,\n name: PropTypes.string,\n photo: PropTypes.string,\n email: PropTypes.string,\n});\n\nconst linkShape = PropTypes.shape({\n label: PropTypes.string,\n type: PropTypes.string,\n value: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n token: PropTypes.string,\n value: PropTypes.string,\n externalUrl: PropTypes.string,\n id: PropTypes.number,\n })),\n});\n\nconst uploadShape = PropTypes.shape({\n file_upload_id: PropTypes.number,\n file_upload_url: PropTypes.string,\n name: PropTypes.string,\n size: PropTypes.number,\n});\n\nconst customFieldShape = PropTypes.shape({\n token: PropTypes.string,\n label: PropTypes.string,\n value: PropTypes.string,\n});\n\nconst taskUserShape = PropTypes.shape({\n id: PropTypes.number,\n fullName: PropTypes.string,\n photoUrl: PropTypes.string,\n});\n\nconst taskShape = PropTypes.shape({\n id: PropTypes.number,\n assignee: taskUserShape,\n assigner: taskUserShape,\n dueDateTime: PropTypes.string,\n priority: PropTypes.string,\n status: PropTypes.string,\n});\n\nexport const cardShape = PropTypes.shape({\n id: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n creationDate: PropTypes.string.isRequired,\n fullCreationDate: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n eventDate: PropTypes.string,\n interactionType: PropTypes.string,\n description: PropTypes.string.isRequired,\n tags: PropTypes.arrayOf(tagShape),\n user: userShape,\n createdBy: PropTypes.string.isRequired,\n links: PropTypes.arrayOf(linkShape),\n customFieldsAnswers: PropTypes.arrayOf(customFieldShape),\n cardType: PropTypes.string,\n commentsCount: PropTypes.number,\n uploads: PropTypes.arrayOf(uploadShape),\n disabled: PropTypes.bool,\n task: taskShape,\n documentType: PropTypes.string,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BaseDocument } from 'components/core/ExportDocument';\nimport {\n ProfilePageLayout,\n YourActivity,\n} from 'components/core/Profile/components/Export/components/DocumentLayouts';\nimport { getFullName } from 'components/core/Profile/utils';\nimport { personShape } from 'components/core/Profile/utils/shapes';\nimport Header from 'components/core/Profile/components/Export/components/Header';\nimport {\n cardShape,\n} from 'components/core/Profile/components/Export/components/DocumentLayouts/YourActivity/utils/shapes';\nimport {\n Awards,\n Education,\n EmploymentHistory,\n Membership,\n MilitaryService,\n PersonalDetails,\n PoliticalHistory,\n Positions,\n Publications,\n WebAddresses,\n} from 'components/core/Profile/components/Export';\nimport { getPositionDescriptionForPdf } from 'components/core/Profile/components/Cards/Positions/utils';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\n\nimport { displayShape } from '../../utils/shapes';\nimport { getPartyBadge } from '../../utils';\n\nfunction ExportDocument({\n person,\n logoUrl,\n display,\n timelineCards,\n documentTitle,\n footerName,\n hasAvatar,\n tags,\n profileUrl,\n}) {\n const { yourActivity: displayActivity, profile: displayProfile } = display;\n const { avatarUrl, party, positions } = person || {};\n const fullName = getFullName(person);\n const [primaryPosition] = positions || [];\n const description = getPositionDescriptionForPdf(primaryPosition);\n\n const partyBadge = getPartyBadge(party);\n\n return (\n <BaseDocument>\n <ProfilePageLayout\n documentTitle={documentTitle}\n logoUrl={logoUrl || undefined}\n footerName={footerName}\n isPageNumbersVisible\n >\n <Header\n avatarUrl={avatarUrl}\n label={fullName}\n partyBadge={partyBadge}\n description={description}\n hasAvatar={hasAvatar}\n tags={tags}\n profileUrl={profileUrl}\n />\n {displayProfile && (\n <>\n <Positions positions={positions} />\n <WebAddresses person={person} />\n <PoliticalHistory person={person} />\n <EmploymentHistory person={person} />\n <Education person={person} />\n <MilitaryService person={person} />\n <Membership person={person} />\n <Publications person={person} />\n <Awards person={person} />\n <PersonalDetails person={person} />\n </>\n )}\n {displayActivity && <YourActivity cards={timelineCards} />}\n </ProfilePageLayout>\n </BaseDocument>\n );\n}\n\nExportDocument.propTypes = {\n person: personShape.isRequired,\n logoUrl: PropTypes.string,\n display: displayShape,\n timelineCards: PropTypes.arrayOf(cardShape),\n documentTitle: PropTypes.string,\n footerName: PropTypes.string,\n hasAvatar: PropTypes.bool,\n tags: PropTypes.arrayOf(tagShape),\n profileUrl: PropTypes.string,\n};\n\nexport default ExportDocument;\n","import PropTypes from 'prop-types';\n\nexport const avatarShape = PropTypes.shape({\n name: PropTypes.string,\n photoUrl: PropTypes.string,\n email: PropTypes.string,\n});\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\nimport { map, size, slice, isEmpty } from 'lodash';\n\nimport Avatar from 'components/core/Avatar';\n\nimport { avatarShape } from './shapes';\nimport styles from './styles.module.scss';\n\nexport const AVATAR_STACK_LIMIT = 5;\nexport const MOBILE_AVATAR_STACK_LIMIT = 2;\n\nfunction AvatarGroup({ onClick, avatars, stackLimit, mobileStackLimit, isMobile, id }) {\n if (isEmpty(avatars)) {\n return null;\n }\n\n const avatarsLimit = isMobile ? mobileStackLimit : stackLimit;\n const avatarsSize = size(avatars);\n const overLimitSize = avatarsSize - avatarsLimit;\n const isOverLimit = overLimitSize > 0;\n const shownAvatars = slice(avatars, 0, avatarsLimit);\n const hiddenAvatars = slice(avatars, avatarsLimit);\n\n const getRow = ({ name, email }, isMultiple = false) => (\n <span className={classNames(styles.avatarTooltip, isMultiple && styles.isMultiple)}>\n {name} {email && `(${email})`}\n </span>\n );\n\n const renderAvatar = (avatar, index) => {\n const { name, photoUrl } = avatar;\n\n return (\n <Tooltip key={index} content={getRow(avatar)} arrow>\n <span className={styles.tooltipSpan}>\n <Avatar\n name={name}\n photoUrl={photoUrl}\n className={styles.avatar}\n onClick={onClick}\n isClickable\n />\n </span>\n </Tooltip>\n );\n };\n\n const tooltipOverLimitNode = () => (\n <>\n <p className={styles.header}>Additional Subscribers</p>\n {map(hiddenAvatars, (avatar, index) => (\n <Fragment key={index}>{getRow(avatar, true)}</Fragment>\n ))}\n </>\n );\n\n return (\n <div className={styles.avatarGroup} id={id}>\n <div className={styles.avatars}>\n {map(shownAvatars, renderAvatar)}\n </div>\n {isOverLimit && (\n <Tooltip content={tooltipOverLimitNode()} arrow>\n <span className={styles.badge}>\n +{overLimitSize}\n </span>\n </Tooltip>\n )}\n </div>\n );\n}\n\nAvatarGroup.defaultProps = {\n stackLimit: AVATAR_STACK_LIMIT,\n mobileStackLimit: MOBILE_AVATAR_STACK_LIMIT,\n};\n\nAvatarGroup.propTypes = {\n avatars: PropTypes.arrayOf(avatarShape),\n onClick: PropTypes.func,\n stackLimit: PropTypes.number,\n mobileStackLimit: PropTypes.number,\n isMobile: PropTypes.bool.isRequired,\n id: PropTypes.string,\n};\n\nexport default AvatarGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport AppliedFiltersLabel from 'components/core/AppliedFiltersLabel';\nimport { appliedFiltersShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { pluralize } from 'utils/string';\n\nimport styles from './styles.module.scss';\n\nfunction SearchInfo({\n onClearAll,\n dataLength,\n appliedFilters,\n appliedFiltersLength,\n isLoading,\n}) {\n const { searchValue } = appliedFilters || {};\n const resultsWord = pluralize('result', 'results', dataLength);\n\n return (\n <AppliedFiltersLabel\n containerClass={styles.container}\n isLoading={isLoading}\n results={dataLength}\n resultsWord={resultsWord}\n onClearFilters={onClearAll}\n filtersCount={appliedFiltersLength}\n searchValue={searchValue}\n />\n );\n}\n\nSearchInfo.defaultProps = {\n dataLength: 0,\n};\n\nSearchInfo.propTypes = {\n dataLength: PropTypes.number,\n onClearAll: PropTypes.func.isRequired,\n appliedFilters: appliedFiltersShape,\n appliedFiltersLength: PropTypes.number.isRequired,\n isLoading: PropTypes.bool,\n};\n\nexport default SearchInfo;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport includes from 'lodash/includes';\n\nimport { DOCUMENT_TYPES, POSITION_BUTTON_RECORD_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { notifySetPosition } from 'components/Dashboard/common/UserNotifications';\nimport { positions } from 'components/core/ButtonPosition/utils/constants';\nimport PositionButton from 'components/core/ButtonPosition';\nimport { Column } from 'components/core/Table';\n\nimport styles from './styles.module.scss';\n\nfunction PositionItem({ keyName, item, isLoading }) {\n const { id, recordId, documentType, itemType, position } = item;\n const withPosition = includes([\n POSITION_BUTTON_RECORD_TYPES[DOCUMENT_TYPES.FEDERAL_BILL],\n POSITION_BUTTON_RECORD_TYPES[DOCUMENT_TYPES.STATE_BILL],\n POSITION_BUTTON_RECORD_TYPES[DOCUMENT_TYPES.FEDERAL_REGISTER_REGULATION],\n POSITION_BUTTON_RECORD_TYPES[DOCUMENT_TYPES.STATE_REGULATION],\n ], documentType);\n\n const handleSetPosition = newPosition => notifySetPosition({\n positionLabel: positions[newPosition].label,\n itemType,\n });\n\n const renderPosition = () => withPosition && (\n <PositionButton\n withTooltip\n isLoadingPosition={isLoading}\n size=\"small\"\n initialPosition={position}\n position={position}\n recordId={recordId || id}\n recordType={documentType}\n className={styles.position}\n containerClassName={styles.position}\n placeholderClassName={styles.position}\n handleSetPosition={handleSetPosition}\n />\n );\n\n return (\n <Column key={keyName} keyName={keyName} className={styles.container}>{renderPosition}</Column>\n );\n}\n\nPositionItem.propTypes = {\n keyName: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n item: PropTypes.object,\n};\n\nexport default memo(PositionItem);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { toLower } from 'lodash';\n\nimport CoreEmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nconst defaultGetText = targetType => `This ${toLower(targetType)} does not yet have any tags associated with them`;\nconst defaultGetButtonText = targetType => `Tag this ${toLower(targetType)}`;\n\nfunction EmptyTagsPlaceholder({ onClick, getText, getButtonText, targetType }) {\n const iconNode = <img src=\"/images/tag.svg\" alt=\"Not found\" />;\n\n const getEmptyDescription = () => (\n <>\n <p className={styles.text}>\n {getText(targetType)}\n </p>\n <Button\n onClick={onClick}\n theme=\"tableLink\"\n className={styles.emptyCustomFieldsLink}\n >\n {getButtonText(targetType)}\n </Button>\n </>\n );\n\n return (\n <div className={styles.wrapper}>\n <CoreEmptyPlaceholder\n iconNode={iconNode}\n className={styles.emptyPlaceholder}\n description={getEmptyDescription()}\n />\n </div>\n );\n}\n\nEmptyTagsPlaceholder.defaultProps = {\n getText: defaultGetText,\n getButtonText: defaultGetButtonText,\n targetType: 'item',\n};\n\nEmptyTagsPlaceholder.propTypes = {\n onClick: PropTypes.func.isRequired,\n getText: PropTypes.func,\n getButtonText: PropTypes.func,\n targetType: PropTypes.string,\n};\n\nexport default EmptyTagsPlaceholder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Card from 'components/core/Card';\nimport Title from 'components/core/Profile/components/Title';\nimport CallToActions from 'components/core/Profile/components/CallToActions';\nimport { redirectToGlobalSearch } from 'components/GlobalAdvancedSearch/utils';\nimport { tagShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport ButtonTagManager from 'components/core/ButtonTagManager';\nimport useModal from 'components/core/Modal/useModal';\nimport { stringNumberType } from 'utils/shapes';\n\nimport EmptyTagsPlaceholder from './EmptyTagsPlaceholder';\nimport styles from './styles.module.scss';\n\nfunction Tags({\n isLoadingTags,\n tags,\n onUpdateTags,\n id,\n documentType,\n itemType,\n emptyPlaceholderTargetType,\n getEmptyPlaceholderText,\n getEmptyPlaceholderButtonText,\n}) {\n const { isOpenModal, toggleModal } = useModal();\n\n const tagManagerLabel = (\n <span className={styles.detail}>\n (<span className={styles.label}>edit</span>)\n </span>\n );\n const titleAction = (\n <ButtonTagManager\n buttonClassName={styles.editButton}\n label={tagManagerLabel}\n theme=\"light\"\n recordId={id}\n recordType={documentType}\n itemType={itemType}\n tags={tags}\n updateDataItem={onUpdateTags}\n autoload\n customIsOpenModal={isOpenModal}\n customToggleModal={toggleModal}\n />\n );\n\n const emptyPlaceholder = (\n <EmptyTagsPlaceholder\n getText={getEmptyPlaceholderText}\n getButtonText={getEmptyPlaceholderButtonText}\n targetType={emptyPlaceholderTargetType}\n onClick={toggleModal}\n />\n );\n\n return (\n <Card className={styles.card}>\n <Title\n title=\"Tags\"\n titleClassName={styles.title}\n detail={titleAction}\n />\n\n <CallToActions\n isLoadingTags={isLoadingTags}\n tags={tags}\n onTagClick={redirectToGlobalSearch}\n containerClassName={styles.actions}\n className={styles.tags}\n emptyTagsPlaceholder={emptyPlaceholder}\n />\n </Card>\n );\n}\n\nTags.propTypes = {\n isLoadingTags: PropTypes.bool.isRequired,\n tags: PropTypes.arrayOf(tagShape).isRequired,\n onUpdateTags: PropTypes.func.isRequired,\n id: stringNumberType,\n documentType: PropTypes.string,\n itemType: PropTypes.string,\n emptyPlaceholderTargetType: PropTypes.string,\n getEmptyPlaceholderText: PropTypes.func,\n getEmptyPlaceholderButtonText: PropTypes.func,\n};\n\nexport { EmptyTagsPlaceholder };\nexport default Tags;\n","import PropTypes from 'prop-types';\n\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\n\nexport const locationShape = PropTypes.shape({\n country: PropTypes.string,\n state: PropTypes.string,\n city: PropTypes.string,\n});\n\nexport const sourceShape = PropTypes.shape({\n domain: PropTypes.string,\n id: PropTypes.number,\n locations: PropTypes.arrayOf(locationShape),\n logoUrl: PropTypes.string,\n name: PropTypes.string,\n});\n\nexport const mentionShape = PropTypes.shape({\n text: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n links: PropTypes.shape({}),\n});\n\nexport const subscriptionShape = PropTypes.shape({\n frequency: frequencyType,\n token: PropTypes.string,\n});\n\nexport const selectedFeedShape = PropTypes.shape({\n id: PropTypes.number,\n isPersonal: PropTypes.bool,\n name: PropTypes.string,\n subscription: subscriptionShape,\n});\n\nexport const publishedAtShape = PropTypes.shape({\n raw: PropTypes.string,\n full: PropTypes.string,\n short: PropTypes.string,\n});\n\nexport const sentimentShape = PropTypes.shape({\n percentage: PropTypes.string,\n type: PropTypes.string,\n});\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport PartyIcon from 'components/shared/party-icon';\n\nimport styles from './styles.module.scss';\n\nfunction LegislatorTitle({ moniker, partyShort, partySlug }) {\n const description = partyShort && partySlug && (\n <PartyIcon\n partyShort={partyShort}\n partySlug={partySlug}\n className={styles.partyIcon}\n />\n );\n\n return (\n <>\n {moniker}\n <span className={styles.badges}>\n {description}\n </span>\n </>\n );\n}\n\nLegislatorTitle.propTypes = {\n moniker: PropTypes.string.isRequired,\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n};\n\nexport default LegislatorTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from '../../styles.module.scss';\n\nfunction ReportLabel({ isMobile, className, iconClassName }) {\n const reportIcon = isMobile\n ? <img src=\"/images/report-export.svg\" alt=\"File with download symbol\" />\n : <i className={classNames(styles.triangle, iconClassName)} />;\n\n return (\n <>\n <span className={classNames(styles.label, className)}>Report</span>\n {reportIcon}\n </>\n );\n}\n\nReportLabel.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n};\n\nexport default ReportLabel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { currencyFormat } from 'utils/formatters';\nimport { Column } from 'components/core/Table';\n\nexport default function MoneyColumn({ column, value }) {\n const { keyName } = column;\n const displayAmount = currencyFormat(Math.abs(value));\n\n function renderValue() {\n if (value >= 0) {\n return displayAmount;\n }\n\n return (\n <span>\n (<span>{displayAmount}</span>)\n </span>\n );\n }\n\n return <Column key={keyName} keyName={keyName}>{renderValue}</Column>;\n}\n\nMoneyColumn.propTypes = {\n column: PropTypes.object.isRequired,\n value: PropTypes.number,\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Column } from 'components/core/Table';\n\nimport styles from './styles.module.scss';\n\nconst minThreshold = 50;\nconst maxThreshold = 90;\n\nexport default function ConfidenceColumn({ column, item }) {\n const { keyName } = column;\n const { confidence } = item || {};\n\n function getConfidenceClassName() {\n if (confidence < minThreshold) return styles.low;\n if (confidence >= minThreshold && confidence < maxThreshold) return styles.medium;\n\n return styles.high;\n }\n\n function renderConfidence() {\n return (\n <div className={styles.container}>\n <div className={classNames(styles.circle, getConfidenceClassName())} />\n <span>{Math.round(confidence)}%</span>\n </div>\n );\n }\n\n return (\n <Column key={keyName} keyName={keyName}>\n {renderConfidence}\n </Column>\n );\n}\n\nConfidenceColumn.propTypes = {\n column: PropTypes.object.isRequired,\n item: PropTypes.object,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Column } from 'components/core/Table';\n\nimport styles from './styles.module.scss';\n\n// TODO: Render a Link to the Recipient page in Moneyball after Moneyball V2 is released to the clients.\nexport default function RecipientColumn({ column, item, fixedWidth = false }) {\n const { keyName } = column;\n const { recipient } = item || {};\n\n function renderValue() {\n return (\n <div className={fixedWidth && styles.fixedWidth}>\n {recipient}\n </div>\n );\n }\n\n return <Column key={keyName} keyName={keyName}>{renderValue}</Column>;\n}\n\nRecipientColumn.propTypes = {\n column: PropTypes.object.isRequired,\n item: PropTypes.object,\n fixedWidth: PropTypes.bool,\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport { Column } from 'components/core/Table';\nimport ReceiptModal from 'components/core/Moneyball/components/ReceiptModal';\nimport { queryParser } from 'utils/query-string';\n\nimport useTableReceipts from '../../useTableReceipts';\nimport styles from './styles.module.scss';\n\nfunction FilingColumn({ keyName, item, history, receiptState, searchReceipt, isReceiptLoading, receiptError }) {\n const { receipts } = item || {};\n const { id, is_pdf_available, filing_source_url } = receipts || {};\n const isDisabled = !is_pdf_available && !filing_source_url;\n\n const searchParams = queryParser(history.location.search, { arrayFormat: 'none' });\n\n const {\n isReceiptModalOpen,\n receiptModalId,\n handleReceiptModal,\n } = useTableReceipts({ searchParams });\n\n const actionsMap = {\n receipt: receiptState,\n receiptError,\n searchReceipt,\n isReceiptLoading,\n exportModalTitle: 'Receipt export',\n };\n\n const receiptModalProps = {\n history,\n actionsMap,\n searchParams,\n receiptModalId,\n appliedFilters: {},\n handleReceiptModal,\n };\n\n const renderReceipt = () => (\n <Fragment>\n <i className={classNames('fal fa-receipt', styles.receipts)} onClick={() => handleReceiptModal(id)} />\n {isReceiptModalOpen && <ReceiptModal {...receiptModalProps} />}\n </Fragment>\n );\n\n const renderDisabledReceipt = () => (\n <Tooltip\n content=\"The original filing appears to be unavailable\"\n className={styles.tooltip}\n >\n <i className={classNames('fal fa-receipt', styles.receipts, styles.disabled)} />\n </Tooltip>\n );\n\n return (\n <Column key={keyName} keyName={keyName}>\n {isDisabled ? renderDisabledReceipt : renderReceipt}\n </Column>\n );\n}\n\nFilingColumn.propTypes = {\n keyName: PropTypes.string.isRequired,\n item: PropTypes.object,\n history: PropTypes.object,\n receiptState: PropTypes.object,\n searchReceipt: PropTypes.func,\n isReceiptLoading: PropTypes.bool,\n receiptError: PropTypes.bool,\n};\n\nexport default FilingColumn;\n","import React, { Fragment, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport useSortTable from 'utils/useSortTable';\nimport Table, { Column } from 'components/core/Table';\nimport Paginator from 'components/core/Paginator';\n\nimport MoneyColumn from './components/MoneyColumn';\nimport ConfidenceColumn from './components/ConfidenceColumn';\nimport RecipientColumn from './components/RecipientColumn';\nimport FilingColumn from './components/FilingColumn';\nimport styles from './styles.module.scss';\n\nexport default function TableView({\n columns,\n data,\n isMobile,\n isLoading,\n paginator,\n onPageChange,\n onColumnSort,\n emptyMessage,\n rowLengthPlaceholder,\n sort,\n tableWrapperClassname,\n history,\n receiptState,\n searchReceipt,\n isReceiptLoading,\n receiptError,\n}) {\n const { current, perPage, total, totalItems } = paginator || {};\n const { sortData, setSortData, getDirection } = useSortTable();\n\n useEffect(() => {\n sort && setSortData(sort);\n }, []);\n\n function handlePageChange(page) {\n onPageChange({\n page,\n sort_column: sortData.column,\n sort_direction: sortData.direction,\n });\n }\n\n function handleColumnSort(column) {\n onColumnSort({\n sort_column: column,\n sort_direction: getDirection(column),\n });\n }\n\n function renderColumn(column, tableData) {\n const { keyName, fixedWidth } = column;\n const columnProps = {\n key: keyName,\n keyName,\n column,\n fixedWidth,\n ...tableData,\n };\n\n const filingColumnProps = {\n ...columnProps,\n receiptState,\n searchReceipt,\n isReceiptLoading,\n receiptError,\n history,\n };\n\n const tableColumns = {\n recipient: <RecipientColumn {...columnProps} />,\n amount: <MoneyColumn {...columnProps} />,\n confidence: <ConfidenceColumn {...columnProps} />,\n filing: <FilingColumn {...filingColumnProps} />,\n };\n\n return tableColumns[keyName] || <Column key={keyName} keyName={keyName} />;\n }\n\n function renderPaginator() {\n if (isEmpty(data) || isEmpty(paginator)) {\n return null;\n }\n\n return (\n <Paginator\n isMobile={isMobile}\n isLoading={isLoading}\n onChange={handlePageChange}\n total={total}\n current={current}\n pageSize={perPage}\n totalItems={totalItems}\n />\n );\n }\n\n return (\n <Fragment>\n <Table\n isFixed\n columns={columns}\n isMobile={isMobile}\n isLoading={isLoading}\n sort={sort}\n onSort={handleColumnSort}\n sortColumn={sortData.column}\n sortDirection={sortData.direction}\n tableWrapperClassname={classNames(styles.table, tableWrapperClassname)}\n customEmptyMessage={emptyMessage}\n data={data}\n rowLengthPlaceholder={rowLengthPlaceholder}\n >\n {columns.map(renderColumn)}\n </Table>\n {renderPaginator()}\n </Fragment>\n );\n}\n\nTableView.propTypes = {\n columns: PropTypes.array.isRequired,\n data: PropTypes.array,\n paginator: PropTypes.object,\n sort: PropTypes.object,\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n onPageChange: PropTypes.func.isRequired,\n onColumnSort: PropTypes.func.isRequired,\n emptyMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node,\n ]),\n rowLengthPlaceholder: PropTypes.number,\n tableWrapperClassname: PropTypes.string,\n history: PropTypes.object,\n receiptState: PropTypes.object,\n searchReceipt: PropTypes.func,\n isReceiptLoading: PropTypes.bool,\n receiptError: PropTypes.bool,\n};\n","import Table from './components/Table';\n\nexport { Table };\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\nimport PartyIcon from 'components/shared/party-icon';\n\nimport styles from './styles.module.scss';\n\nfunction Legislator({\n id,\n name,\n partyShort,\n partySlug,\n title,\n className,\n formatLegislatorUrl,\n}) {\n const partyIcon = (\n <PartyIcon partyShort={partyShort} partySlug={partySlug} />\n );\n\n const legislatorTitle = title && (\n <span className={styles.title}>\n ({title})\n </span>\n );\n\n const renderLink = () => {\n if (!id) {\n return (\n <span>\n {name} {partyIcon} {legislatorTitle}\n </span>\n );\n }\n\n return (\n <Link\n theme=\"default\"\n size=\"none\"\n href={formatLegislatorUrl(id)}\n className={styles.link}\n >\n {name} {partyIcon} {legislatorTitle}\n </Link>\n );\n };\n\n return (\n <div className={className}>\n {renderLink()}\n </div>\n );\n}\n\nLegislator.propTypes = {\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n name: PropTypes.string.isRequired,\n partyShort: PropTypes.string.isRequired,\n partySlug: PropTypes.string.isRequired,\n title: PropTypes.string,\n className: PropTypes.string,\n formatLegislatorUrl: PropTypes.func.isRequired,\n};\n\nexport default Legislator;\n\n","const compareLegislators = (a, b) => {\n if (a.rank === b.rank) {\n return a.name < b.name ? -1 : 1;\n }\n\n return a.rank - b.rank;\n};\n\nexport const sortLegislators = legislators =>\n [...legislators].sort(compareLegislators);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport Legislator from './components/Legislator';\nimport { sortLegislators } from './utils';\nimport styles from './styles.module.scss';\n\nfunction LegislatorsSection({ legislators, title, formatLegislatorUrl }) {\n const sortedLegislators = sortLegislators(legislators);\n\n const renderLegislators = () => {\n if (isEmpty(legislators)) {\n return EMPTY_VALUE;\n }\n\n return sortedLegislators.map(legislator => (\n <Legislator\n {...legislator}\n className={styles.legislator}\n key={legislator.id}\n formatLegislatorUrl={formatLegislatorUrl}\n />\n ));\n };\n\n return (\n <div className={styles.section}>\n <h3 className={styles.title}>\n {title}\n </h3>\n {renderLegislators()}\n </div>\n );\n}\n\nLegislatorsSection.defaultProps = {\n legislators: [],\n};\n\nLegislatorsSection.propTypes = {\n legislators: PropTypes.array,\n title: PropTypes.string.isRequired,\n formatLegislatorUrl: PropTypes.func,\n};\n\nexport default LegislatorsSection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport DataCard from 'components/core/Profile/components/DataCard';\n\nimport ColumnsContainer from '../ColumnsContainer';\nimport LegislatorsSection from './components/LegislatorsSection';\n\nfunction Legislators({ members, title, description, formatLegislatorUrl, showOthers }) {\n const { republicans, democrats, others } = members;\n\n return (\n <DataCard title={title} description={description}>\n <ColumnsContainer>\n <LegislatorsSection\n title=\"Republican party members\"\n legislators={republicans}\n formatLegislatorUrl={formatLegislatorUrl}\n />\n <LegislatorsSection\n title=\"Democratic party members\"\n legislators={democrats}\n formatLegislatorUrl={formatLegislatorUrl}\n />\n {showOthers && (\n <LegislatorsSection\n title=\"Other party members\"\n legislators={others}\n formatLegislatorUrl={formatLegislatorUrl}\n />\n )}\n </ColumnsContainer>\n </DataCard>\n );\n}\n\n\nLegislators.defaultProps = {\n title: 'Legislators',\n description: '',\n showOthers: true,\n};\n\nLegislators.propTypes = {\n members: PropTypes.shape({\n republicans: PropTypes.array.isRequired,\n democrats: PropTypes.array.isRequired,\n others: PropTypes.array.isRequired,\n }),\n title: PropTypes.string,\n description: PropTypes.string,\n formatLegislatorUrl: PropTypes.func.isRequired,\n showOthers: PropTypes.bool,\n};\n\nexport default Legislators;\n","export const percentage = (part, total) => {\n if (total === 0) {\n return 0;\n }\n\n return Math.round(100 * part / total);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport PartyIcon from 'components/shared/party-icon';\n\nimport { percentage } from './utils';\nimport styles from './styles.module.scss';\n\nfunction PartyLegend({ republicans, democrats, others, className, showOthers }) {\n const total = republicans + democrats + others;\n\n return (\n <div className={classNames(styles.legend, className)}>\n <div className={styles.item}>\n <PartyIcon partyShort=\"R\" partySlug=\"republican\" />\n {`${republicans} (${percentage(republicans, total)}%)`}\n </div>\n <div className={styles.item}>\n <PartyIcon partyShort=\"D\" partySlug=\"democratic\" />\n {`${democrats} (${percentage(democrats, total)}%)`}\n </div>\n {showOthers && (\n <div className={styles.item}>\n <PartyIcon partyShort=\"O\" partySlug=\"other\" />\n {`${others} (${percentage(others, total)}%)`}\n </div>)\n }\n </div>\n );\n}\n\nPartyLegend.defaultProps = {\n republicans: 0,\n democrats: 0,\n others: 0,\n showOthers: true,\n};\n\nPartyLegend.propTypes = {\n className: PropTypes.string,\n republicans: PropTypes.number,\n democrats: PropTypes.number,\n others: PropTypes.number,\n showOthers: PropTypes.bool,\n};\n\nexport default PartyLegend;\n","import {\n BASE_BORDER_RIGHT_GRID,\n BASE_BORDER_TOP_GRID,\n BASE_GRID_LINES,\n BASE_OPTIONS,\n BASE_TICK,\n} from 'utils/constants/charts';\n\nexport const CHART_OPTIONS = {\n ...BASE_OPTIONS,\n scales: {\n xAxes: [\n {\n gridLines: { display: false },\n maxBarThickness: 15,\n barThickness: 15,\n ticks: BASE_TICK,\n },\n BASE_BORDER_TOP_GRID,\n ],\n yAxes: [\n {\n gridLines: BASE_GRID_LINES,\n ticks: {\n ...BASE_TICK,\n suggestedMin: 0,\n },\n },\n BASE_BORDER_RIGHT_GRID,\n ],\n },\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Bar } from 'react-chartjs-2';\n\nimport withProfile from 'components/State/CommitteeProfile/utils/withProfile';\nimport DataCard from 'components/core/Profile/components/DataCard';\nimport { CHART_COLORS } from 'utils/constants/charts';\nimport { objectMap } from 'utils/object';\n\nimport PartyLegend from './components/PartyLegend';\nimport { CHART_OPTIONS } from './constants';\nimport styles from './styles.module.scss';\n\nfunction PartyBreakdown({ members, title, description, emptyDescription, showOthers, isMobile }) {\n const { republicans, democrats, others } = objectMap(members, partyMembers => partyMembers.length);\n\n const padWith = (array, value) => ([value, value, ...array, value, value, ...isMobile ? [value] : []]);\n const withOthers = value => (showOthers ? [value] : []);\n\n const labels = [\n 'Republican',\n 'Democratic',\n ...withOthers('Other'),\n ];\n\n const datasetData = [\n republicans,\n democrats,\n ...withOthers(others),\n ];\n\n const backgroundColor = [\n CHART_COLORS.REPUBLICAN_BACKGROUND_COLOR,\n CHART_COLORS.DEMOCRATIC_BACKGROUND_COLOR,\n ...withOthers(CHART_COLORS.OTHER_BACKGROUND_COLOR),\n ];\n\n /** Add empty data to adjust the space between bars */\n const data = {\n labels: padWith(labels, ''),\n datasets: [{\n data: padWith(datasetData, 0),\n backgroundColor: padWith(backgroundColor, 'transparent'),\n }],\n };\n\n const showPlaceholder = (republicans + democrats + others) === 0;\n\n return (\n <DataCard\n title={title}\n description={description}\n className={styles.dataCard}\n showPlaceholder={showPlaceholder}\n emptyDescription={emptyDescription}\n >\n <div className={styles.container}>\n <div className={styles.chartContainer}>\n <Bar options={CHART_OPTIONS} data={data} />\n </div>\n <PartyLegend\n republicans={republicans}\n democrats={democrats}\n others={others}\n showOthers={showOthers}\n />\n </div>\n </DataCard>\n );\n}\n\nPartyBreakdown.defaultProps = {\n title: 'Party breakdown',\n description: '',\n emptyDescription: '',\n members: {\n republicans: [],\n democrats: [],\n others: [],\n },\n showOthers: true,\n};\n\nPartyBreakdown.propTypes = {\n members: PropTypes.shape({\n republicans: PropTypes.array,\n democrats: PropTypes.array,\n others: PropTypes.array,\n }),\n title: PropTypes.string,\n description: PropTypes.string,\n emptyDescription: PropTypes.string,\n showOthers: PropTypes.bool,\n isMobile: PropTypes.bool,\n};\n\nexport default withProfile(PartyBreakdown);\n","export const STATE_BILLS = {\n value: 'state_legislation_bill',\n label: 'State bills',\n};\n\nexport const STATE_REGULATIONS = {\n value: 'state_legislation_regulation',\n label: 'State regulation',\n};\n\nexport const FEDERAL_REGULATIONS = {\n value: 'federal_register_regulation',\n label: 'Federal regulation',\n};\n\nexport const STATE_BILL = {\n value: 'state_bill',\n label: 'State bill',\n};\n\nexport const FEDERAL_BILL = {\n value: 'bill_keyword',\n label: 'Federal bill',\n};\n\nexport const BILL = {\n value: 'bill',\n label: 'Bill',\n};\n\nexport const NEWS = {\n value: 'news',\n label: 'News',\n};\n\nexport const DEFAULT = {\n value: 'default',\n label: 'Default',\n};\n\nexport const CONTINUOUS = {\n value: 'continuous',\n label: 'CONTINUOUS',\n labelSentenceCase: 'Continuous',\n};\n\nexport const DAILY = {\n value: 'daily',\n label: 'DAILY',\n labelSentenceCase: 'Daily',\n};\n\nexport const NONE = {\n value: 'none',\n label: 'NONE',\n labelSentenceCase: 'None',\n};\n\nexport const DESCRIPTIONS = {\n [STATE_BILLS.value]: {\n [NONE.value]: 'Selecting \"None\" will not send you any notifications.',\n [DAILY.value]: 'Selecting \"Daily\" will send you notifications of state bills in a single daily report.',\n [CONTINUOUS.value]: 'Selecting \"Continuous\" will send you notifications of state bills as they come in.',\n },\n [STATE_REGULATIONS.value]: {\n [NONE.value]: 'Selecting \"None\" will not send you any notifications.',\n [DAILY.value]: 'Selecting \"Daily\" will send you notifications of state regulations in a single daily report.',\n [CONTINUOUS.value]: 'Selecting \"Continuous\" will send you notifications of state regulations as they come in.',\n },\n [BILL.value]: {\n [NONE.value]: 'Selecting \"None\" will not send you any notifications.',\n [DAILY.value]: 'Selecting \"Daily\" will send you notifications of federal bills in a single daily report.',\n [CONTINUOUS.value]: 'Selecting \"Continuous\" will send you notifications of federal bills as they come in.',\n },\n [NEWS.value]: {\n [NONE.value]: '',\n [DAILY.value]: '',\n [CONTINUOUS.value]: '',\n },\n [DEFAULT.value]: {\n [NONE.value]: 'Selecting \"None\" will not send you any notifications.',\n [DAILY.value]: 'Selecting \"Daily\" will send you notifications in a single daily report.',\n [CONTINUOUS.value]: 'Selecting \"Continuous\" will send you notifications as they come in.',\n },\n};\n\nexport const FREQUENCY_OPTIONS = {\n [STATE_BILLS.value]: [\n CONTINUOUS,\n DAILY,\n NONE,\n ],\n [STATE_REGULATIONS.value]: [\n CONTINUOUS,\n DAILY,\n NONE,\n ],\n [BILL.value]: [\n CONTINUOUS,\n DAILY,\n NONE,\n ],\n [NEWS.value]: [\n NONE,\n DAILY,\n CONTINUOUS,\n ],\n [DEFAULT.value]: [\n CONTINUOUS,\n DAILY,\n NONE,\n ],\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction ActionCard({\n title,\n subTitle,\n children,\n className,\n actions,\n beforeActions,\n}) {\n return (\n <div\n data-spec=\"action-card\"\n className={classNames(styles.card, className)}\n >\n <div className={styles.header}>\n {title && <h2 className={styles.title}>{title}</h2>}\n {subTitle && <div className={styles.subTitle}>{subTitle}</div>}\n </div>\n {children && (\n <div className={styles.body}>\n {children}\n </div>\n )}\n {actions && (\n <div className={styles.footer}>\n { beforeActions && beforeActions}\n { actions.map(({ name, onClick, isDisabled }) => (\n <Button\n theme=\"light\"\n onClick={onClick}\n key={name}\n disabled={isDisabled}\n >\n {name}\n </Button>\n ))}\n </div>\n )}\n </div>\n );\n}\n\nActionCard.propTypes = {\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n subTitle: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n children: PropTypes.node,\n className: PropTypes.string,\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n }),\n ),\n beforeActions: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n};\n\nexport default ActionCard;\n","import React from 'react';\n\nexport const NewsContext = React.createContext();\n\nfunction withNews(Component) {\n return function NewsComponent(props) {\n return (\n <NewsContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </NewsContext.Consumer>\n );\n };\n}\n\nexport default withNews;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport CorePaginator from 'components/core/Paginator';\n\nimport withNews from '../utils/withNews';\nimport { PAGE_SIZE } from '../utils/constants';\n\nfunction Paginator({\n isMobile,\n isLoading,\n paginator,\n onChangePaginator,\n}) {\n if (isEmpty(paginator)) {\n return null;\n }\n\n const { current, total, totalCount } = paginator;\n\n return (\n <CorePaginator\n isMobile={isMobile}\n isLoading={isLoading}\n current={current}\n total={total}\n totalItems={totalCount}\n pageSize={PAGE_SIZE}\n onChange={onChangePaginator}\n />\n );\n}\n\nPaginator.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n paginator: PropTypes.object.isRequired,\n onChangePaginator: PropTypes.func.isRequired,\n};\n\nexport default withNews(Paginator);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport withNews from '../utils/withNews';\nimport styles from '../styles.module.scss';\n\nfunction RightItems({\n hasPreviewButton,\n showPreview,\n onShowPreview,\n}) {\n const previewButtonText = showPreview\n ? 'Hide full preview'\n : 'Show full preview';\n\n return (\n <div className={styles.right}>\n {hasPreviewButton && (\n <Button\n theme=\"tertiary\"\n onClick={onShowPreview}\n className={styles.button}\n >\n {previewButtonText}\n </Button>\n )}\n </div>\n );\n}\n\nRightItems.propTypes = {\n hasPreviewButton: PropTypes.bool.isRequired,\n showPreview: PropTypes.bool.isRequired,\n onShowPreview: PropTypes.func.isRequired,\n};\n\nexport default withNews(RightItems);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport SearchBox from 'components/core/SearchBox';\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport { defaultDisclaimerProps } from 'components/core/Profile/utils/constants';\n\nimport withNews from '../utils/withNews';\nimport RightItems from '../RightItems';\nimport styles from './styles.module.scss';\n\nfunction Header({\n rightItemsProps,\n keywordSearch,\n onChangeKeywordSearch,\n onSearch,\n onClearSearch,\n}) {\n const searchComponent = (\n <SearchBox\n withButton\n value={keywordSearch}\n onChange={onChangeKeywordSearch}\n onSubmit={onSearch}\n withSearchDisclaimer\n disclaimerProps={defaultDisclaimerProps}\n onClearSearch={onClearSearch}\n isClearable\n />\n );\n\n return (\n <div className={styles.headerActions}>\n <BaseOption\n title=\"Keyword search\"\n customComponent={searchComponent}\n className={styles.searchContainer}\n />\n\n <RightItems {...rightItemsProps} />\n </div>\n );\n}\n\nHeader.propTypes = {\n rightItemsProps: PropTypes.object,\n keywordSearch: PropTypes.string.isRequired,\n onChangeKeywordSearch: PropTypes.func.isRequired,\n onSearch: PropTypes.func.isRequired,\n onClearSearch: PropTypes.func.isRequired,\n};\n\nexport default withNews(Header);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty, map } from 'lodash';\n\nimport { extractKeywords } from 'redux/news/common/utils';\nimport Button from 'components/core/Button';\nimport { Placeholder, StoryFeedCard } from 'components/core/News';\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport { feedItemShape } from 'components/News/utils/shapes';\n\nimport withNews from '../utils/withNews';\nimport styles from './styles.module.scss';\n\nfunction List({\n isLoading,\n showPreview,\n isMobile,\n isDesktop,\n showCluster,\n onShowCluster,\n onHideCluster,\n items,\n isEmptySearch,\n keywordSearch,\n bulkSaveTags,\n updateTags,\n isLoadingTags,\n shareToMyFeed,\n isSharingToMyFeed,\n isLoadingMyFeedDocuments,\n}) {\n function renderCard(card) {\n if (isEmpty(card)) {\n return null;\n }\n\n const { id: cardId, tags } = card;\n const selectedFeedKeywords = keywordSearch ? extractKeywords(keywordSearch) : [];\n\n function handleSaveTags(values) {\n return isEmpty(tags)\n ? bulkSaveTags({ ...values, ids: [cardId] })\n : updateTags({ ...values, id: cardId });\n }\n\n function handleShareToMyFeed() {\n return shareToMyFeed(cardId);\n }\n\n return (\n <li key={`story-card-${cardId}`}>\n <StoryFeedCard\n card={card}\n showPreview={showPreview}\n isMobile={isMobile}\n isDesktop={isDesktop}\n displayCheckbox={false}\n displayShowRelated={false}\n isExternalComponent\n onShowCluster={onShowCluster}\n selectedFeedKeywords={selectedFeedKeywords}\n onSaveTags={handleSaveTags}\n isLoadingTags={isLoadingTags}\n onShareToMyFeed={handleShareToMyFeed}\n isSharingToMyFeed={isSharingToMyFeed}\n isLoadingMyFeedDocuments={isLoadingMyFeedDocuments}\n />\n </li>\n );\n }\n\n const hideClusterButton = (\n <Button\n theme=\"light\"\n onClick={onHideCluster}\n customIcon={<i className=\"fas fa-compress-alt\" />}\n iconClassName={styles.icon}\n className={styles.hideClusterButton}\n >\n Hide more coverage\n </Button>\n );\n\n function renderContent() {\n if (isLoading) {\n return <Placeholder />;\n }\n\n if (isEmptySearch) {\n return <EmptyPlaceholder description=\"There are no news stories matching this keyword search.\" />;\n }\n\n return (\n <>\n {showCluster && hideClusterButton}\n {map(items, renderCard)}\n </>\n );\n }\n\n return (\n <ul className={styles.list}>\n {renderContent()}\n </ul>\n );\n}\n\nList.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n showPreview: PropTypes.bool.isRequired,\n isMobile: PropTypes.bool.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n showCluster: PropTypes.bool.isRequired,\n onShowCluster: PropTypes.func.isRequired,\n onHideCluster: PropTypes.func.isRequired,\n items: PropTypes.arrayOf(feedItemShape).isRequired,\n isEmptySearch: PropTypes.bool.isRequired,\n keywordSearch: PropTypes.string,\n bulkSaveTags: PropTypes.func.isRequired,\n updateTags: PropTypes.func.isRequired,\n isLoadingTags: PropTypes.bool.isRequired,\n shareToMyFeed: PropTypes.func.isRequired,\n isSharingToMyFeed: PropTypes.bool.isRequired,\n isLoadingMyFeedDocuments: PropTypes.bool.isRequired,\n};\n\nexport default withNews(List);\n","import { useState, useEffect } from 'react';\nimport { isEmpty, isNil } from 'lodash';\n\nimport useUIPaginator from 'utils/paginator/useUIPaginator.js';\nimport { POST_REQUEST } from 'utils/constants';\nimport { transformNewsLookupParams } from 'redux/news/common/utils';\n\nimport { PAGE_SIZE } from './constants';\n\nfunction useContainer({ fetchNews, pagination, ui, feed, url, shouldFetch }) {\n const [keywordSearch, setKeywordSearch] = useState('');\n const [searchedKeyword, setSearchedKeyword] = useState('');\n const [showPreview, setShowPreview] = useState(false);\n const [showCluster, setShowCluster] = useState(false);\n const [clusterStories, setClusterStories] = useState([]);\n const [hasUserSearched, setHasUserSearched] = useState(false);\n\n const { isLoadingFeed } = ui;\n const {\n items: clusterItems,\n isLoadingItems,\n paginator: clusterPaginator,\n onChangePaginator,\n } = useUIPaginator({ allItems: clusterStories, isLoading: isLoadingFeed, pageSize: PAGE_SIZE });\n\n const isEmptyFeed = isEmpty(feed);\n const isLoading = isLoadingFeed || isLoadingItems;\n const noResults = !isLoading && isEmptyFeed;\n const showPlaceholder = noResults && !hasUserSearched;\n const isEmptySearch = noResults && hasUserSearched;\n const hasPreviewButton = !isEmptyFeed;\n\n function fetchData(params = {}) {\n if (url) {\n const { keywordSearch: customKeywordSearch } = params;\n setSearchedKeyword(isNil(customKeywordSearch) ? keywordSearch : customKeywordSearch);\n\n fetchNews({\n ...params,\n perPage: PAGE_SIZE,\n url,\n method: POST_REQUEST,\n resetFeed: true,\n }, { transformParams: transformNewsLookupParams });\n }\n }\n\n useEffect(() => {\n shouldFetch && fetchData();\n }, [shouldFetch, url]);\n\n function handleSearch() {\n setHasUserSearched(true);\n fetchData({ keywordSearch });\n }\n\n function handleChangePaginator(page) {\n fetchData({ page });\n }\n\n function handleShowCluster(stories) {\n setClusterStories(stories);\n setShowCluster(true);\n }\n\n function handleHideCluster() {\n setShowCluster(false);\n }\n\n function handleShowPreview() {\n setShowPreview(!showPreview);\n }\n\n function handleChangeKeywordSearch(event = {}) {\n const { value } = event.target || {};\n\n setKeywordSearch(value);\n }\n\n const handleClearSearch = () => {\n setKeywordSearch('');\n\n searchedKeyword && fetchData({ keywordSearch: '' });\n };\n\n return {\n ui,\n showPreview,\n onShowPreview: handleShowPreview,\n items: showCluster ? clusterItems : feed,\n paginator: showCluster ? clusterPaginator : pagination,\n onChangePaginator: showCluster ? onChangePaginator : handleChangePaginator,\n showCluster,\n onShowCluster: handleShowCluster,\n onHideCluster: handleHideCluster,\n keywordSearch,\n onChangeKeywordSearch: handleChangeKeywordSearch,\n onSearch: handleSearch,\n onClearSearch: handleClearSearch,\n isLoading,\n showPlaceholder,\n hasPreviewButton,\n isEmptySearch,\n };\n}\n\nexport default useContainer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport SectionTitle from 'components/core/Profile/components/SectionTitle';\nimport DataCard from 'components/core/Profile/components/DataCard';\n\nimport Paginator from './Paginator';\nimport Header from './Header';\nimport RightItems from './RightItems';\nimport List from './List';\nimport useContainer from './utils/useContainer';\nimport { NewsContext } from './utils/withNews';\nimport {\n LEGISLATOR_PROFILE_TYPE,\n BILL_PROFILE_TYPE,\n EXECUTIVE_PROFILE_TYPE,\n} from './utils/constants';\nimport styles from './styles.module.scss';\n\nfunction Container({\n title,\n emptyDescription,\n id,\n isMobile,\n isDesktop,\n profileType,\n withTitle,\n shouldFetch,\n ...restProps\n}) {\n const {\n showPreview,\n onShowPreview,\n items,\n paginator,\n onChangePaginator,\n showCluster,\n onShowCluster,\n onHideCluster,\n keywordSearch,\n onChangeKeywordSearch,\n onSearch,\n onClearSearch,\n isLoading,\n showPlaceholder,\n hasPreviewButton,\n isEmptySearch,\n ui,\n } = useContainer({ ...restProps, shouldFetch });\n\n const { [profileType]: rightItems } = {\n [BILL_PROFILE_TYPE]: <RightItems />,\n [EXECUTIVE_PROFILE_TYPE]: <RightItems />,\n };\n\n const { [profileType]: headerActions } = {\n [LEGISLATOR_PROFILE_TYPE]: <Header />,\n };\n\n const context = {\n ...restProps,\n ...ui,\n isMobile,\n isDesktop,\n showPreview,\n onShowPreview,\n items,\n paginator,\n onChangePaginator,\n showCluster,\n onShowCluster,\n onHideCluster,\n keywordSearch,\n onChangeKeywordSearch,\n onSearch,\n onClearSearch,\n isLoading,\n hasPreviewButton,\n isEmptySearch,\n };\n\n return (\n <NewsContext.Provider value={context}>\n {withTitle && <SectionTitle title=\"News\" />}\n\n <DataCard\n id={id}\n title={title}\n emptyDescription={emptyDescription}\n showPlaceholder={showPlaceholder}\n rightItems={rightItems}\n className={styles.dataCard}\n placeholderClassName={styles.placeholder}\n >\n {headerActions}\n <List />\n {!isEmptySearch && <Paginator />}\n </DataCard>\n </NewsContext.Provider>\n );\n}\n\nContainer.defaultProps = {\n withTitle: false,\n shouldFetch: true,\n};\n\nContainer.propTypes = {\n title: PropTypes.string.isRequired,\n emptyDescription: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n isMobile: PropTypes.bool.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n profileType: PropTypes.string.isRequired,\n withTitle: PropTypes.bool,\n shouldFetch: PropTypes.bool,\n url: PropTypes.string,\n};\n\nexport default Container;\n","import reduxConnect from 'utils/redux-connect';\nimport * as actions from 'redux/news/common/actions';\n\nimport Container from './Container';\n\nexport default reduxConnect('news.newsFeed', actions)(Container);\n","function InvalidFormatError(message) {\n this.name = 'InvalidFormatError';\n this.message = message || 'Invalid file format.';\n}\nInvalidFormatError.prototype = Object.create(Error.prototype);\n\nexport { InvalidFormatError };\n","import GlobalNotifier from 'components/GlobalNotifier';\nimport { isEmpty, includes } from 'lodash';\n\nimport { InvalidFormatError } from './exceptions';\n\nconst { addNotification } = GlobalNotifier;\n\nconst notifyError = (message) => {\n addNotification({ message, level: 'error' });\n};\n\nexport function handleValidationError(error) {\n const { message } = error;\n\n if (error instanceof InvalidFormatError) {\n notifyError(message);\n } else {\n throw error;\n }\n}\n\nexport function validateFileFormat({ file, supportedFormats }) {\n const { type } = file || {};\n\n const isFileFormatSupported = includes(supportedFormats, type);\n const shouldValidateFormat = !isEmpty(supportedFormats);\n\n if (shouldValidateFormat && !isFileFormatSupported) {\n throw new InvalidFormatError();\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction SelectedFile({ file, resetFile }) {\n const { name, size } = file;\n\n const sizeInKB = Math.round(size / 1024);\n const sizeInKBMessage = `(${sizeInKB}KB)`;\n\n return (\n <div className={styles.container}>\n <div className={styles.fileData}>\n <span className={styles.fileName}>\n {name}\n </span>\n\n {sizeInKBMessage}\n </div>\n\n <Button\n onClick={resetFile}\n theme=\"none\"\n className={styles.removeFile}\n >\n <i className=\"fas fa-times\" />\n </Button>\n </div>\n );\n}\n\nSelectedFile.defaultProps = {\n label: 'Choose file',\n};\n\nSelectedFile.propTypes = {\n file: PropTypes.instanceOf(File).isRequired,\n resetFile: PropTypes.func.isRequired,\n};\n\nexport default SelectedFile;\n","import { useState, useEffect } from 'react';\n\nexport default function useFileUrl({ file, onChange }) {\n const [fileUrl, setFileUrl] = useState();\n\n const updateFileUrl = ({ target: { result } }) => setFileUrl(result);\n\n function loadFile() {\n const reader = new FileReader();\n reader.onload = updateFileUrl;\n reader.readAsDataURL(file);\n }\n\n useEffect(() => {\n if (file instanceof File) {\n loadFile();\n } else {\n setFileUrl();\n }\n }, [file]);\n\n useEffect(() => {\n onChange(fileUrl);\n }, [fileUrl]);\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { validateFileFormat, handleValidationError } from './utils/validations';\nimport SelectedFile from './components/SelectedFile';\nimport useFileUrl from './useFileUrl';\nimport styles from './styles.module.scss';\n\nfunction FilePicker({\n label,\n onChange,\n supportedFormats,\n}) {\n const [file, setFile] = useState();\n useFileUrl({ file, onChange });\n\n function setFileIfValid(newFile) {\n try {\n validateFileFormat({\n file: newFile,\n supportedFormats,\n });\n\n setFile(newFile);\n } catch (error) {\n handleValidationError(error);\n }\n }\n\n function handleChange({ target }) {\n const [newFile] = target.files;\n\n setFileIfValid(newFile);\n }\n\n const resetFile = () => setFile();\n\n if (file instanceof File) {\n return (\n <SelectedFile\n file={file}\n resetFile={resetFile}\n />\n );\n }\n\n return (\n <div className={styles.container}>\n <i className=\"fas fa-paperclip\" />\n\n <label\n htmlFor=\"filepicker\"\n className={styles.label}\n >\n {label}\n </label>\n\n <input\n id=\"filepicker\"\n type=\"file\"\n onChange={handleChange}\n className={styles.input}\n />\n </div>\n );\n}\n\nFilePicker.defaultProps = {\n label: 'Choose file',\n supportedFormats: [],\n};\n\nFilePicker.propTypes = {\n label: PropTypes.node,\n onChange: PropTypes.func.isRequired,\n supportedFormats: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default FilePicker;\n"],"sourceRoot":""}