diff --git a/.env.local b/.env.local new file mode 100644 index 00000000..f6184910 --- /dev/null +++ b/.env.local @@ -0,0 +1,4 @@ +#REACT_APP_API_HOST=http://localhost:3334/ +NEXT_PUBLIC_API_HOST=https://pig.staging.vault48.org/ +#REACT_APP_API_HOST=https://pig.vault48.org/ +NEXT_PUBLIC_REMOTE_CURRENT=https://pig.staging.vault48.org/static/ diff --git a/next.config.js b/next.config.js new file mode 100644 index 00000000..ee56eaaa --- /dev/null +++ b/next.config.js @@ -0,0 +1,13 @@ +const withTM = require('next-transpile-modules')(['ramda']); + +module.exports = withTM({ + /* Your Next.js config */ + async rewrites() { + return [ + { + source: '/post:id', + destination: '/node/:id', + }, + ]; + }, +}); diff --git a/package.json b/package.json index 760cb678..094c241c 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "react-scripts": "^5.0.0", "react-sortable-hoc": "^2.0.0", "react-sticky-box": "^0.9.3", + "react-stickynode": "^4.0.0", "sticky-sidebar": "^3.3.1", "swiper": "^6.8.4", "swr": "^1.0.1", @@ -86,6 +87,7 @@ "craco-alias": "^2.3.1", "husky": "^7.0.4", "lint-staged": "^12.1.6", + "next-transpile-modules": "^9.0.0", "prettier": "^1.18.2" }, "lint-staged": { diff --git a/src/components/boris/BorisUIDemo/index.tsx b/src/components/boris/BorisUIDemo/index.tsx index d8b3a0db..38cd6529 100644 --- a/src/components/boris/BorisUIDemo/index.tsx +++ b/src/components/boris/BorisUIDemo/index.tsx @@ -5,11 +5,14 @@ import markdown from '~/styles/common/markdown.module.scss'; import { Group } from '~/components/containers/Group'; import { Button } from '~/components/input/Button'; import { InputText } from '~/components/input/InputText'; +import { useShowModal } from '~/hooks/modal/useShowModal'; +import { Dialog } from '~/constants/modal'; interface IProps {} const BorisUIDemo: FC = () => { const [text, setText] = useState(''); + const openProfileSidebar = useShowModal(Dialog.ProfileSidebar); return ( @@ -20,6 +23,9 @@ const BorisUIDemo: FC = () => { разработке

+

Тестовые фичи

+ +

Инпуты

diff --git a/src/components/comment/CommentAvatar/index.tsx b/src/components/comment/CommentAvatar/index.tsx index 8eb0be0f..cd879d24 100644 --- a/src/components/comment/CommentAvatar/index.tsx +++ b/src/components/comment/CommentAvatar/index.tsx @@ -36,9 +36,9 @@ const CommentAvatar: FC = ({ user, withDetails, className }) => { url={path(['photo', 'url'], user)} username={user.username} className={className} - innerRef={ref} onMouseOver={onMouseOver} onMouseOut={onMouseOut} + ref={ref} /> )} diff --git a/src/components/comment/LocalCommentFormTextarea/index.tsx b/src/components/comment/LocalCommentFormTextarea/index.tsx index 7ec9feb1..1c4d1e6f 100644 --- a/src/components/comment/LocalCommentFormTextarea/index.tsx +++ b/src/components/comment/LocalCommentFormTextarea/index.tsx @@ -1,4 +1,9 @@ -import React, { forwardRef, KeyboardEventHandler, TextareaHTMLAttributes, useCallback } from 'react'; +import React, { + forwardRef, + KeyboardEventHandler, + TextareaHTMLAttributes, + useCallback, +} from 'react'; import { Textarea } from '~/components/input/Textarea'; import { useCommentFormContext } from '~/hooks/comments/useCommentFormFormik'; import { useRandomPhrase } from '~/constants/phrases'; @@ -11,8 +16,8 @@ const LocalCommentFormTextarea = forwardRef(({ ...r const { values, handleChange, handleSubmit, isSubmitting } = useCommentFormContext(); const onKeyDown = useCallback>( - ({ ctrlKey, key }) => { - if (ctrlKey && key === 'Enter') handleSubmit(undefined); + ({ ctrlKey, key, metaKey }) => { + if ((ctrlKey || metaKey) && key === 'Enter') handleSubmit(undefined); }, [handleSubmit] ); diff --git a/src/components/common/Anchor/index.tsx b/src/components/common/Anchor/index.tsx new file mode 100644 index 00000000..3f5a9c53 --- /dev/null +++ b/src/components/common/Anchor/index.tsx @@ -0,0 +1,18 @@ +import React, { VFC } from 'react'; +import { LinkProps } from '~/utils/types'; +import { CONFIG } from '~/utils/config'; +import NextLink from 'next/link'; +import { Link } from 'react-router-dom'; + +interface AnchorProps extends LinkProps {} + +const Anchor: VFC = ({ ref, href, ...rest }) => + CONFIG.isNextEnvironment ? ( + + + + ) : ( + + ); + +export { Anchor }; diff --git a/src/components/common/Avatar/index.tsx b/src/components/common/Avatar/index.tsx index e6955762..aece59dd 100644 --- a/src/components/common/Avatar/index.tsx +++ b/src/components/common/Avatar/index.tsx @@ -1,40 +1,34 @@ -import React, { FC, useCallback } from 'react'; +import React, { FC, forwardRef, useCallback } from 'react'; import { getURLFromString } from '~/utils/dom'; import { PRESETS } from '~/constants/urls'; import styles from './styles.module.scss'; import classNames from 'classnames'; import { openUserProfile } from '~/utils/user'; import { DivProps } from '~/utils/types'; +import { Square } from '~/components/common/Square'; interface Props extends DivProps { url?: string; username?: string; size?: number; preset?: typeof PRESETS[keyof typeof PRESETS]; - innerRef?: React.Ref; } -const Avatar: FC = ({ - url, - username, - size, - className, - innerRef, - preset = PRESETS.avatar, - ...rest -}) => { - const backgroundImage = !!url ? `url('${getURLFromString(url, preset)}')` : undefined; - const onOpenProfile = useCallback(() => openUserProfile(username), [username]); +const Avatar = forwardRef( + ({ url, username, size, className, preset = PRESETS.avatar, ...rest }, ref) => { + const onOpenProfile = useCallback(() => openUserProfile(username), [username]); - return ( -
- ); -}; + return ( + + ); + } +); export { Avatar }; diff --git a/src/components/common/ScrollHelperBottom/index.tsx b/src/components/common/ScrollHelperBottom/index.tsx new file mode 100644 index 00000000..31c5ccf5 --- /dev/null +++ b/src/components/common/ScrollHelperBottom/index.tsx @@ -0,0 +1,27 @@ +import React, { VFC } from 'react'; +import styles from './styles.module.scss'; +import { useScrollTop } from '~/hooks/dom/useScrollTop'; +import { useScrollHeight } from '~/hooks/dom/useScrollHeight'; +import classNames from 'classnames'; +import { useScrollToBottom } from '~/hooks/dom/useScrollToBottom'; + +interface ScrollHelperBottomProps {} + +const ScrollHelperBottom: VFC = () => { + const top = useScrollTop(); + const scrollHeight = useScrollHeight(); + const scrollToBottom = useScrollToBottom(); + + const isVisible = scrollHeight > 2000 && top < scrollHeight * 0.25; + + return ( +
+ Вниз +
+ ); +}; + +export { ScrollHelperBottom }; diff --git a/src/components/common/ScrollHelperBottom/styles.module.scss b/src/components/common/ScrollHelperBottom/styles.module.scss new file mode 100644 index 00000000..263b9c74 --- /dev/null +++ b/src/components/common/ScrollHelperBottom/styles.module.scss @@ -0,0 +1,26 @@ +@import "src/styles/variables"; + +.helper { + position: fixed; + bottom: 0; + background: radial-gradient($red, transparent) 50% 24px no-repeat; + background-size: 100% 48px; + display: none; + width: calc(100% - 20px); + z-index: 4; + text-align: center; + max-width: 500px; + height: 64px; + align-items: flex-end; + justify-content: center; + padding: $gap; + text-transform: uppercase; + font: $font_16_medium; + border-radius: $radius $radius 0 0; + user-select: none; + cursor: pointer; + + &.visible { + display: flex; + } +} diff --git a/src/components/common/Square/index.tsx b/src/components/common/Square/index.tsx new file mode 100644 index 00000000..96e2c473 --- /dev/null +++ b/src/components/common/Square/index.tsx @@ -0,0 +1,29 @@ +import React, { forwardRef } from 'react'; +import styles from './styles.module.scss'; +import { DivProps } from '~/utils/types'; +import classNames from 'classnames'; + +interface SquareProps extends DivProps { + image?: string; + size?: number; +} + +const Square = forwardRef( + ({ image, size, children, ...rest }, ref) => { + const backgroundImage = image ? `url('${image}')` : undefined; + + return ( +
+ + {!!children &&
{children}
} +
+ ); + } +); + +export { Square }; diff --git a/src/components/common/Square/styles.module.scss b/src/components/common/Square/styles.module.scss new file mode 100644 index 00000000..ca207950 --- /dev/null +++ b/src/components/common/Square/styles.module.scss @@ -0,0 +1,21 @@ +@import "src/styles/variables"; + +.svg { + width: 100%; +} + +.wrapper { + width: 100%; + border-radius: $radius; + background-size: cover; + background-repeat: no-repeat; + position: relative; +} + +.content { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} diff --git a/src/components/containers/Sticky/index.tsx b/src/components/containers/Sticky/index.tsx index a1a44bb0..15de9b7e 100644 --- a/src/components/containers/Sticky/index.tsx +++ b/src/components/containers/Sticky/index.tsx @@ -5,12 +5,10 @@ interface IProps extends DetailsHTMLAttributes { offsetTop?: number; } -const Sticky: FC = ({ children, offsetTop = 65 }) => { - return ( - - {children} - - ); -}; +const Sticky: FC = ({ children, offsetTop = 65 }) => ( + + {children} + +); export { Sticky }; diff --git a/src/components/dialogs/BetterScrollDialog/styles.module.scss b/src/components/dialogs/BetterScrollDialog/styles.module.scss index 8990b842..c49ebcf4 100644 --- a/src/components/dialogs/BetterScrollDialog/styles.module.scss +++ b/src/components/dialogs/BetterScrollDialog/styles.module.scss @@ -22,7 +22,6 @@ flex-direction: column; min-width: $cell; max-width: 400px; - max-height: 100%; max-height: calc(100vh - 75px); width: 100%; position: relative; @@ -43,7 +42,6 @@ .footer { @include outer_shadow(); - // padding: 10px; background: darken($content_bg, 2%); } @@ -66,13 +64,15 @@ } .close { - background: darken($content_bg, 2%); - width: 48px; - height: 48px; + @include outer_shadow; + + background: lighten($content_bg, 4%); + width: 36px; + height: 36px; position: absolute; - top: -58px; - right: 50%; - transform: translate(50%, 0); + top: -14px; + right: 4px; + transform: translate(50%, 0) scale(1); display: flex; align-items: center; justify-content: center; @@ -80,15 +80,21 @@ cursor: pointer; transition: transform 0.25s, background-color 0.25s; animation: appear 0.5s forwards; + z-index: 10; + + @include tablet { + top: -16px; + right: 16px; + } &:hover { background-color: $red; - transform: translate(50%, -5px); + transform: translate(50%, 0) scale(1.25); } svg { - width: 24px; - height: 24px; + width: 20px; + height: 20px; } } diff --git a/src/components/flow/FlowCell/index.tsx b/src/components/flow/FlowCell/index.tsx index 0d9e83a7..350625ac 100644 --- a/src/components/flow/FlowCell/index.tsx +++ b/src/components/flow/FlowCell/index.tsx @@ -10,6 +10,7 @@ import { useFlowCellControls } from '~/hooks/flow/useFlowCellControls'; import { useClickOutsideFocus } from '~/hooks/dom/useClickOutsideFocus'; import { MenuDots } from '~/components/common/MenuDots'; import { FlowCellImage } from '~/components/flow/FlowCellImage'; +import { Anchor } from '~/components/common/Anchor'; interface Props { id: INode['id']; @@ -71,7 +72,7 @@ const FlowCell: FC = ({
)} - + {withText && ( {title}}> {text!} @@ -94,7 +95,7 @@ const FlowCell: FC = ({

{title}

)} -
+ ); }; diff --git a/src/components/flow/FlowRecentItem/index.tsx b/src/components/flow/FlowRecentItem/index.tsx index 381ac07b..65f7b008 100644 --- a/src/components/flow/FlowRecentItem/index.tsx +++ b/src/components/flow/FlowRecentItem/index.tsx @@ -1,21 +1,22 @@ -import React, { FC } from 'react'; +import React, { FC, MouseEventHandler } from 'react'; import { INode } from '~/types'; import styles from './styles.module.scss'; import { URLS } from '~/constants/urls'; import { NodeRelatedItem } from '~/components/node/NodeRelatedItem'; import { getPrettyDate } from '~/utils/dom'; -import { Link } from 'react-router-dom'; import classNames from 'classnames'; import { Icon } from '~/components/input/Icon'; +import { Anchor } from '~/components/common/Anchor'; interface IProps { node: Partial; has_new?: boolean; + onClick?: MouseEventHandler; } -const FlowRecentItem: FC = ({ node, has_new }) => { +const FlowRecentItem: FC = ({ node, has_new, onClick }) => { return ( - +
= ({ node, has_new }) => { {getPrettyDate(node.created_at)}
- +
); }; diff --git a/src/components/flow/FlowSwiperHero/index.tsx b/src/components/flow/FlowSwiperHero/index.tsx index 93e6ecd7..9e1a165d 100644 --- a/src/components/flow/FlowSwiperHero/index.tsx +++ b/src/components/flow/FlowSwiperHero/index.tsx @@ -12,6 +12,7 @@ import { useHistory } from 'react-router'; import classNames from 'classnames'; import { IFlowNode } from '~/types'; import { useWindowSize } from '~/hooks/dom/useWindowSize'; +import { useNavigation } from '~/hooks/navigation/useNavigation'; SwiperCore.use([EffectFade, Lazy, Autoplay, Navigation]); @@ -21,13 +22,13 @@ interface Props { export const FlowSwiperHero: FC = ({ heroes }) => { const { innerWidth } = useWindowSize(); + const { push } = useNavigation(); const [controlledSwiper, setControlledSwiper] = useState(undefined); const [currentIndex, setCurrentIndex] = useState(heroes.length); const preset = useMemo(() => (innerWidth <= 768 ? PRESETS.cover : PRESETS.small_hero), [ innerWidth, ]); - const history = useHistory(); const onNext = useCallback(() => { controlledSwiper?.slideNext(1); @@ -63,9 +64,9 @@ export const FlowSwiperHero: FC = ({ heroes }) => { const onClick = useCallback( (sw: SwiperClass) => { - history.push(URLS.NODE_URL(heroes[sw.realIndex]?.id)); + push(URLS.NODE_URL(heroes[sw.realIndex]?.id)); }, - [history, heroes] + [push, heroes] ); if (!heroes.length) { diff --git a/src/components/input/Button/styles.module.scss b/src/components/input/Button/styles.module.scss index ba7951f1..6cd47353 100644 --- a/src/components/input/Button/styles.module.scss +++ b/src/components/input/Button/styles.module.scss @@ -10,6 +10,8 @@ } .button { + @include outer_shadow(); + position: relative; height: $input_height; border: none; @@ -34,12 +36,7 @@ align-items: center; justify-content: center; - filter: grayscale(0); - transition: opacity 0.25s, filter 0.25s, box-shadow 0.25s, background-color 0.5s; - opacity: 0.8; - - @include outer_shadow(); input { position: absolute; diff --git a/src/components/lab/LabBanner/index.tsx b/src/components/lab/LabBanner/index.tsx index 14aafec8..6d6f987c 100644 --- a/src/components/lab/LabBanner/index.tsx +++ b/src/components/lab/LabBanner/index.tsx @@ -1,12 +1,12 @@ import React, { FC } from 'react'; import styles from './styles.module.scss'; import { Group } from '~/components/containers/Group'; -import { Square } from '~/components/containers/Square'; +import { LabSquare } from '~/components/lab/LabSquare'; interface IProps {} const LabBanner: FC = () => ( - +
Лаборатория!
@@ -19,7 +19,7 @@ const LabBanner: FC = () => (

-
+ ); export { LabBanner }; diff --git a/src/components/lab/LabBottomPanel/index.tsx b/src/components/lab/LabBottomPanel/index.tsx index c8fb98b7..2b7fbd76 100644 --- a/src/components/lab/LabBottomPanel/index.tsx +++ b/src/components/lab/LabBottomPanel/index.tsx @@ -10,6 +10,7 @@ import { Grid } from '~/components/containers/Grid'; import { useHistory } from 'react-router'; import { URLS } from '~/constants/urls'; import { Placeholder } from '~/components/placeholders/Placeholder'; +import { useNavigation } from '~/hooks/navigation/useNavigation'; type Props = { node: INode; @@ -19,8 +20,8 @@ type Props = { }; const LabBottomPanel: FC = ({ node, hasNewComments, commentCount, isLoading }) => { - const history = useHistory(); - const onClick = useCallback(() => history.push(URLS.NODE_URL(node.id)), [history, node.id]); + const { push } = useNavigation(); + const onClick = useCallback(() => push(URLS.NODE_URL(node.id)), [push, node.id]); return ( diff --git a/src/components/lab/LabHero/index.tsx b/src/components/lab/LabHero/index.tsx index 761f4997..23f4b911 100644 --- a/src/components/lab/LabHero/index.tsx +++ b/src/components/lab/LabHero/index.tsx @@ -7,6 +7,7 @@ import { INode } from '~/types'; import { getPrettyDate } from '~/utils/dom'; import { URLS } from '~/constants/urls'; import { useHistory } from 'react-router-dom'; +import { useNavigation } from '~/hooks/navigation/useNavigation'; interface IProps { node?: Partial; @@ -14,10 +15,10 @@ interface IProps { } const LabHero: FC = ({ node, isLoading }) => { - const history = useHistory(); + const { push } = useNavigation(); const onClick = useCallback(() => { - history.push(URLS.NODE_URL(node?.id)); - }, [history, node]); + push(URLS.NODE_URL(node?.id)); + }, [push, node]); if (!node || isLoading) { return ( diff --git a/src/components/containers/Square/index.tsx b/src/components/lab/LabSquare/index.tsx similarity index 81% rename from src/components/containers/Square/index.tsx rename to src/components/lab/LabSquare/index.tsx index 885aeabf..46c85db3 100644 --- a/src/components/containers/Square/index.tsx +++ b/src/components/lab/LabSquare/index.tsx @@ -5,7 +5,7 @@ import classNames from 'classnames'; interface IProps extends DivProps {} -const Square: FC = ({ children, ...rest }) => ( +const LabSquare: FC = ({ children, ...rest }) => (
{children} @@ -13,4 +13,4 @@ const Square: FC = ({ children, ...rest }) => (
); -export { Square }; +export { LabSquare }; diff --git a/src/components/containers/Square/styles.module.scss b/src/components/lab/LabSquare/styles.module.scss similarity index 100% rename from src/components/containers/Square/styles.module.scss rename to src/components/lab/LabSquare/styles.module.scss diff --git a/src/components/main/Logo/index.tsx b/src/components/main/Logo/index.tsx index bf91d9b3..286c5321 100644 --- a/src/components/main/Logo/index.tsx +++ b/src/components/main/Logo/index.tsx @@ -1,9 +1,10 @@ import React from 'react'; import styles from './styles.module.scss'; -import { Link } from 'react-router-dom'; +import { Anchor } from '~/components/common/Anchor'; +import { URLS } from '~/constants/urls'; export const Logo = () => ( - + VAULT - + ); diff --git a/src/components/node/NodeImageSwiperBlock/styles.module.scss b/src/components/node/NodeImageSwiperBlock/styles.module.scss index b418ccf4..dc800a8f 100644 --- a/src/components/node/NodeImageSwiperBlock/styles.module.scss +++ b/src/components/node/NodeImageSwiperBlock/styles.module.scss @@ -25,6 +25,8 @@ :global(.swiper-button-next), :global(.swiper-button-prev) { + @include outer_shadow; + color: white; font-size: 10px; width: 40px; @@ -79,7 +81,7 @@ } -.slide { +.slide.slide { text-align: center; text-transform: uppercase; font: $font_32_bold; @@ -90,7 +92,8 @@ width: auto; max-width: 100vw; opacity: 1; - transform: translate(0, 10px); + //transform: translate(0, 10px); + transform: scale(0.99); filter: brightness(50%) saturate(0.5); transition: opacity 0.5s, filter 0.5s, transform 0.5s; padding-bottom: $gap * 1.5; @@ -99,7 +102,8 @@ &:global(.swiper-slide-active) { opacity: 1; filter: brightness(100%); - transform: translate(0, 0); + //transform: translate(0, 0); + transform: scale(1); } @include tablet { diff --git a/src/components/node/NodeRelatedBlock/index.tsx b/src/components/node/NodeRelatedBlock/index.tsx index c377e975..ba7e0dfc 100644 --- a/src/components/node/NodeRelatedBlock/index.tsx +++ b/src/components/node/NodeRelatedBlock/index.tsx @@ -4,7 +4,7 @@ import { NodeRelated } from '~/components/node/NodeRelated'; import { URLS } from '~/constants/urls'; import { INode } from '~/types'; import { INodeRelated } from '~/types/node'; -import { Link } from 'react-router-dom'; +import { Anchor } from '~/components/common/Anchor'; interface IProps { isLoading: boolean; @@ -27,7 +27,9 @@ const NodeRelatedBlock: FC = ({ isLoading, node, related }) => { .map(album => ( {album} + + {album} + } items={related.albums[album]} key={album} diff --git a/src/components/node/NodeRelatedItem/index.tsx b/src/components/node/NodeRelatedItem/index.tsx index ddea53c3..0cde320a 100644 --- a/src/components/node/NodeRelatedItem/index.tsx +++ b/src/components/node/NodeRelatedItem/index.tsx @@ -3,12 +3,13 @@ import styles from './styles.module.scss'; import classNames from 'classnames'; import { INode } from '~/types'; import { PRESETS, URLS } from '~/constants/urls'; -import { RouteComponentProps, withRouter } from 'react-router'; -import { getURL } from '~/utils/dom'; -import { Avatar } from '~/components/common/Avatar'; +import { RouteComponentProps } from 'react-router'; +import { getURL, getURLFromString } from '~/utils/dom'; import { useColorGradientFromString } from '~/hooks/color/useColorGradientFromString'; +import { Square } from '~/components/common/Square'; +import { useGotoNode } from '~/hooks/node/useGotoNode'; -type IProps = RouteComponentProps & { +type IProps = { item: Partial; }; @@ -28,11 +29,11 @@ const getTitleLetters = (title?: string): string => { : words[0].substr(0, 2).toUpperCase(); }; -const NodeRelatedItemUnconnected: FC = memo(({ item, history }) => { +const NodeRelatedItem: FC = memo(({ item }) => { + const onClick = useGotoNode(item.id); const [is_loaded, setIsLoaded] = useState(false); const [width, setWidth] = useState(0); const ref = useRef(null); - const onClick = useCallback(() => history.push(URLS.NODE_URL(item.id)), [item, history]); const thumb = useMemo( () => (item.thumbnail ? getURL({ url: item.thumbnail }, PRESETS.avatar) : ''), @@ -68,11 +69,13 @@ const NodeRelatedItemUnconnected: FC = memo(({ item, history }) => { onClick={onClick} ref={ref} > - + {item.thumbnail && ( + + )} {!item.thumbnail && size === 'small' && (
@@ -91,6 +94,4 @@ const NodeRelatedItemUnconnected: FC = memo(({ item, history }) => { ); }); -const NodeRelatedItem = withRouter(NodeRelatedItemUnconnected); - export { NodeRelatedItem }; diff --git a/src/components/profile/ProfileAvatar/index.tsx b/src/components/profile/ProfileAvatar/index.tsx index e1723efe..f272c391 100644 --- a/src/components/profile/ProfileAvatar/index.tsx +++ b/src/components/profile/ProfileAvatar/index.tsx @@ -2,16 +2,17 @@ import React, { ChangeEvent, FC, useCallback } from 'react'; import styles from './styles.module.scss'; import { getURL } from '~/utils/dom'; import { PRESETS } from '~/constants/urls'; -import { Icon } from '~/components/input/Icon'; import { IFile } from '~/types'; +import { Button } from '~/components/input/Button'; export interface ProfileAvatarProps { + size?: number; canEdit: boolean; photo?: IFile; onChangePhoto: (file: File) => void; } -const ProfileAvatar: FC = ({ photo, onChangePhoto, canEdit }) => { +const ProfileAvatar: FC = ({ photo, onChangePhoto, canEdit, size }) => { const onInputChange = useCallback( async (event: ChangeEvent) => { if (!event.target.files?.length) { @@ -30,14 +31,12 @@ const ProfileAvatar: FC = ({ photo, onChangePhoto, canEdit } className={styles.avatar} style={{ backgroundImage, + width: size, + height: size, }} > {canEdit && } - {canEdit && ( -
- -
- )} + {canEdit &&
); }; diff --git a/src/components/profile/ProfileAvatar/styles.module.scss b/src/components/profile/ProfileAvatar/styles.module.scss index bb3b6741..3d18310c 100644 --- a/src/components/profile/ProfileAvatar/styles.module.scss +++ b/src/components/profile/ProfileAvatar/styles.module.scss @@ -8,10 +8,8 @@ height: 100px; background: $content_bg 50% 50% no-repeat; background-size: cover; - position: absolute; - bottom: 0; - left: $gap; cursor: pointer; + position: relative; input { position: absolute; @@ -21,35 +19,12 @@ height: 100%; opacity: 0; } - - &:hover { - svg { - fill: $red; - } - } } .can_edit { position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; + right: -4px; + bottom: -4px; touch-action: none; - // background: red; - display: flex; - align-items: flex-end; - justify-content: flex-end; - padding: $gap / 2; - box-sizing: border-box; - background: linear-gradient(330deg, $content_bg, transparentize($content_bg, 1)); - border-radius: $radius; - - svg { - width: 32px; - height: 32px; - fill: white; - transition: fill 0.25s; - } + pointer-events: none; } diff --git a/src/components/profile/ProfileSidebarMenu/index.tsx b/src/components/profile/ProfileSidebarMenu/index.tsx deleted file mode 100644 index dafbae33..00000000 --- a/src/components/profile/ProfileSidebarMenu/index.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React, { FC } from 'react'; -import styles from './styles.module.scss'; -import { Icon } from '~/components/input/Icon'; -import { Link } from 'react-router-dom'; - -interface IProps { - path: string; -} - -const ProfileSidebarMenu: FC = ({ path }) => { - const cleaned = path.replace(/\/$/, ''); - - return ( -
- - - Настройки - - -
- - Сообщения -
-
- ); -}; - -export { ProfileSidebarMenu }; diff --git a/src/components/profile/ProfileSidebarMenu/styles.module.scss b/src/components/profile/ProfileSidebarMenu/styles.module.scss deleted file mode 100644 index 91eedbdd..00000000 --- a/src/components/profile/ProfileSidebarMenu/styles.module.scss +++ /dev/null @@ -1,47 +0,0 @@ -@import "src/styles/variables"; - -.wrap { - display: flex; - align-items: stretch; - justify-content: center; - flex-direction: column; - margin: 0 $gap; - box-sizing: border-box; - box-shadow: $sidebar_border 0 0 0 1px; - border-radius: $radius; - background-color: transparentize(black, 0.9) -} - -.row { - padding: $gap; - font: $font_18_semibold; - box-shadow: $sidebar_border 0 -1px; - cursor: pointer; - background-color: transparentize(black, 1); - transition: all 250ms; - display: flex; - align-items: center; - justify-content: flex-start; - height: 30px; - opacity: 0.5; - text-decoration: none; - fill: white; - color: white; - - &:hover { - background-color: transparentize($wisegreen, 0.5); - opacity: 1; - } - - &:first-child { - border-radius: $radius $radius 0 0; - } - - &:last-child { - border-radius: 0 0 $radius $radius; - } - - svg { - margin-right: $gap * 1.2; - } -} diff --git a/src/components/profile/ProfileSidebarSettings/index.tsx b/src/components/profile/ProfileSidebarSettings/index.tsx index 8e30fc7d..d5b0d5c7 100644 --- a/src/components/profile/ProfileSidebarSettings/index.tsx +++ b/src/components/profile/ProfileSidebarSettings/index.tsx @@ -11,6 +11,7 @@ const ProfileSidebarSettings: FC = () => (
+
diff --git a/src/components/profile/ProfileSidebarSettings/styles.module.scss b/src/components/profile/ProfileSidebarSettings/styles.module.scss index d5aa4618..7aeaaded 100644 --- a/src/components/profile/ProfileSidebarSettings/styles.module.scss +++ b/src/components/profile/ProfileSidebarSettings/styles.module.scss @@ -1,7 +1,6 @@ @import "src/styles/variables"; .wrap { - @include sidebar_content(600px); display: flex; align-items: center; justify-content: center; @@ -18,7 +17,6 @@ .buttons { width: 100%; padding: $gap; - box-shadow: $sidebar_border 0 -1px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto auto; diff --git a/src/components/sidebar/SidebarStack/index.tsx b/src/components/sidebar/SidebarStack/index.tsx new file mode 100644 index 00000000..cd251ac4 --- /dev/null +++ b/src/components/sidebar/SidebarStack/index.tsx @@ -0,0 +1,28 @@ +import React, { FC, useMemo } from 'react'; +import styles from './styles.module.scss'; +import { Button } from '~/components/input/Button'; +import { Filler } from '~/components/containers/Filler'; + +interface SidebarStackProps {} + +const SidebarStack: FC = ({ children }) => { + const nonEmptyChildren = useMemo(() => { + if (!children) { + return []; + } + + return Array.isArray(children) ? children.filter(it => it) : [children]; + }, [children]); + + return ( +
+ {nonEmptyChildren.map((child, i) => ( +
+ {child} +
+ ))} +
+ ); +}; + +export { SidebarStack }; diff --git a/src/components/sidebar/SidebarStack/styles.module.scss b/src/components/sidebar/SidebarStack/styles.module.scss new file mode 100644 index 00000000..93df686a --- /dev/null +++ b/src/components/sidebar/SidebarStack/styles.module.scss @@ -0,0 +1,29 @@ +@import "src/styles/variables"; + +.stack { + background: transparentize($content_bg, 0.1); + display: flex; + flex-direction: row-reverse; + width: auto; + border-radius: $radius 0 0 $radius; +} + +.card { + box-shadow: transparentize(white, 0.9) -1px 0, transparentize(black, 0.7) -5px 0 15px; + border-radius: $radius 0 0 $radius; + display: flex; + flex-direction: column; +} + +.content { + border-radius: $radius; + height: 100%; + box-sizing: border-box; + overflow: auto; + display: flex; + min-height: 0; + flex-direction: column; + width: 100%; + max-width: 400px; + padding: $gap; +} diff --git a/src/components/sidebar/SidebarStackCard/index.tsx b/src/components/sidebar/SidebarStackCard/index.tsx new file mode 100644 index 00000000..c692f957 --- /dev/null +++ b/src/components/sidebar/SidebarStackCard/index.tsx @@ -0,0 +1,31 @@ +import React, { FC, useMemo } from 'react'; +import styles from './styles.module.scss'; +import { Filler } from '~/components/containers/Filler'; +import { Button } from '~/components/input/Button'; + +interface SidebarStackCardProps { + width?: number; + headerFeature?: 'back' | 'close'; + title?: string; +} + +const SidebarStackCard: FC = ({ children, title, width, headerFeature }) => { + const style = useMemo(() => ({ maxWidth: width, flexBasis: width }), [width]); + + return ( +
+ {(headerFeature || title) && ( +
+ {!!title &&
{title}
}
+ + {headerFeature === 'back' &&
+ )} + +
{children}
+
+ ); +}; + +export { SidebarStackCard }; diff --git a/src/components/sidebar/SidebarStackCard/styles.module.scss b/src/components/sidebar/SidebarStackCard/styles.module.scss new file mode 100644 index 00000000..e111093d --- /dev/null +++ b/src/components/sidebar/SidebarStackCard/styles.module.scss @@ -0,0 +1,26 @@ +@import "src/styles/variables"; + +.card { + width: 100vw; + max-width: 400px; + flex: 1 1 400px; + display: flex; + flex-direction: column; + height: 100%; + min-height: 0; +} + +.head { + @include row_shadow; + + display: flex; + flex-direction: row; + align-items: center; + padding: $gap $gap $gap $gap * 2; +} + +.content { + flex: 1; + display: flex; + flex-direction: column; +} diff --git a/src/components/sidebar/TagSidebarList/index.tsx b/src/components/sidebar/TagSidebarList/index.tsx index 1f083981..ee270566 100644 --- a/src/components/sidebar/TagSidebarList/index.tsx +++ b/src/components/sidebar/TagSidebarList/index.tsx @@ -1,16 +1,17 @@ -import React, { FC } from 'react'; +import React, { FC, MouseEventHandler } from 'react'; import { INode } from '~/types'; import styles from './styles.module.scss'; import { FlowRecentItem } from '~/components/flow/FlowRecentItem'; interface IProps { nodes: INode[]; + onClick?: MouseEventHandler; } -const TagSidebarList: FC = ({ nodes }) => ( +const TagSidebarList: FC = ({ nodes, onClick }) => (
{nodes.map(node => ( - + ))}
); diff --git a/src/components/tags/TagAutocomplete/index.tsx b/src/components/tags/TagAutocomplete/index.tsx index 3949c267..b16ac0c5 100644 --- a/src/components/tags/TagAutocomplete/index.tsx +++ b/src/components/tags/TagAutocomplete/index.tsx @@ -35,6 +35,7 @@ const TagAutocomplete: VFC = ({ const pop = usePopper(wrapper?.current?.parentElement, wrapper.current, { placement: 'bottom-end', + strategy: 'fixed', modifiers: [ { name: 'offset', diff --git a/src/constants/api.ts b/src/constants/api.ts index a1d24d65..a64dda1b 100644 --- a/src/constants/api.ts +++ b/src/constants/api.ts @@ -1,12 +1,12 @@ import { IComment, INode, ITag } from '~/types'; import { OAuthProvider } from '~/types/auth'; +import { CONFIG } from '~/utils/config'; export const API = { - BASE: process.env.REACT_APP_API_HOST, + BASE: CONFIG.apiHost, USER: { LOGIN: '/user/login', - OAUTH_WINDOW: (provider: OAuthProvider) => - `${process.env.REACT_APP_API_HOST}oauth/${provider}/redirect`, + OAUTH_WINDOW: (provider: OAuthProvider) => `${CONFIG.apiHost}oauth/${provider}/redirect`, ME: '/user/', PROFILE: (username: string) => `/user/user/${username}/profile`, MESSAGES: (username: string) => `/user/user/${username}/messages`, diff --git a/src/constants/modal/index.ts b/src/constants/modal/index.ts index 9f7ada36..949af46a 100644 --- a/src/constants/modal/index.ts +++ b/src/constants/modal/index.ts @@ -9,6 +9,7 @@ import { PhotoSwipe } from '~/containers/dialogs/PhotoSwipe'; import { EditorCreateDialog } from '~/containers/dialogs/EditorCreateDialog'; import { EditorEditDialog } from '~/containers/dialogs/EditorEditDialog'; import { TagSidebar } from '~/containers/sidebars/TagSidebar'; +import { ProfileSidebar } from '~/containers/sidebars/ProfileSidebar'; export enum Dialog { Login = 'Login', @@ -22,6 +23,7 @@ export enum Dialog { CreateNode = 'CreateNode', EditNode = 'EditNode', TagSidebar = 'TagNodes', + ProfileSidebar = 'ProfileSidebar', } export const DIALOG_CONTENT = { @@ -36,4 +38,5 @@ export const DIALOG_CONTENT = { [Dialog.CreateNode]: EditorCreateDialog, [Dialog.EditNode]: EditorEditDialog, [Dialog.TagSidebar]: TagSidebar, + [Dialog.ProfileSidebar]: ProfileSidebar, } as const; diff --git a/src/containers/main/Header/index.tsx b/src/containers/main/Header/index.tsx index 492892d9..7a7d91ad 100644 --- a/src/containers/main/Header/index.tsx +++ b/src/containers/main/Header/index.tsx @@ -1,5 +1,4 @@ import React, { FC, useCallback, useMemo } from 'react'; -import { Link } from 'react-router-dom'; import { Logo } from '~/components/main/Logo'; import { Filler } from '~/components/containers/Filler'; @@ -19,6 +18,7 @@ import { useModal } from '~/hooks/modal/useModal'; import { useScrollTop } from '~/hooks/dom/useScrollTop'; import { useFlow } from '~/hooks/flow/useFlow'; import { useUpdates } from '~/hooks/updates/useUpdates'; +import { Anchor } from '~/components/common/Anchor'; type HeaderProps = {}; @@ -62,32 +62,32 @@ const Header: FC = observer(() => {
- ФЛОУ - + - ЛАБ - + - БОРИС - +
diff --git a/src/containers/main/MainLayout/index.tsx b/src/containers/main/MainLayout/index.tsx index e35c11ce..23b92d75 100644 --- a/src/containers/main/MainLayout/index.tsx +++ b/src/containers/main/MainLayout/index.tsx @@ -1,12 +1,14 @@ import * as React from 'react'; import styles from './styles.module.scss'; import { Header } from '~/containers/main/Header'; +import { SidebarRouter } from '~/containers/main/SidebarRouter'; export const MainLayout = ({ children }) => (
{children} +
); diff --git a/src/containers/main/SidebarRouter/index.tsx b/src/containers/main/SidebarRouter/index.tsx index b25e3fd0..7fea5136 100644 --- a/src/containers/main/SidebarRouter/index.tsx +++ b/src/containers/main/SidebarRouter/index.tsx @@ -1,5 +1,4 @@ import React, { FC } from 'react'; -import { createPortal } from 'react-dom'; import { Authorized } from '~/components/containers/Authorized'; import { SubmitBar } from '~/components/bars/SubmitBar'; @@ -8,13 +7,10 @@ interface IProps { isLab?: boolean; } -const SidebarRouter: FC = ({ prefix = '', isLab }) => { - return createPortal( - - - , - document.body - ); -}; +const SidebarRouter: FC = ({ isLab }) => ( + + + +); export { SidebarRouter }; diff --git a/src/containers/node/NodeBottomBlock/index.tsx b/src/containers/node/NodeBottomBlock/index.tsx index 8a47fa67..592e3747 100644 --- a/src/containers/node/NodeBottomBlock/index.tsx +++ b/src/containers/node/NodeBottomBlock/index.tsx @@ -16,6 +16,7 @@ import { NodeComments } from '~/containers/node/NodeComments'; import { useUserContext } from '~/utils/context/UserContextProvider'; import { useNodeRelatedContext } from '~/utils/context/NodeRelatedContextProvider'; import { useAuthProvider } from '~/utils/providers/AuthProvider'; +import { Sticky } from '~/components/containers/Sticky'; interface IProps { commentsOrder: 'ASC' | 'DESC'; @@ -52,8 +53,8 @@ const NodeBottomBlock: FC = ({ commentsOrder }) => {
- -
+
+
@@ -64,8 +65,8 @@ const NodeBottomBlock: FC = ({ commentsOrder }) => {
-
- + +
diff --git a/src/containers/node/NodeBottomBlock/styles.module.scss b/src/containers/node/NodeBottomBlock/styles.module.scss index 2352653f..3b067e18 100644 --- a/src/containers/node/NodeBottomBlock/styles.module.scss +++ b/src/containers/node/NodeBottomBlock/styles.module.scss @@ -34,7 +34,6 @@ @media (max-width: 1024px) { padding-left: 0; - padding-top: $comment_height / 2; flex: 1 2; } } @@ -49,6 +48,7 @@ .left { flex: 1; min-width: 0; + height: 100%; } .left_item { diff --git a/src/containers/profile/ProfileInfo/index.tsx b/src/containers/profile/ProfileInfo/index.tsx index fb687e5a..8046eb09 100644 --- a/src/containers/profile/ProfileInfo/index.tsx +++ b/src/containers/profile/ProfileInfo/index.tsx @@ -27,7 +27,9 @@ const ProfileInfo: FC = ({ isOwn }) => { return (
- +
+ +
diff --git a/src/containers/profile/ProfileInfo/styles.module.scss b/src/containers/profile/ProfileInfo/styles.module.scss index abbee948..7e490d63 100644 --- a/src/containers/profile/ProfileInfo/styles.module.scss +++ b/src/containers/profile/ProfileInfo/styles.module.scss @@ -8,13 +8,6 @@ } .avatar { - @include outer_shadow(); - - border-radius: $radius; - width: 100px; - height: 100px; - background: $content_bg 50% 50% no-repeat; - background-size: cover; position: absolute; bottom: 0; left: $gap; diff --git a/src/containers/profile/ProfileSidebarHead/index.tsx b/src/containers/profile/ProfileSidebarHead/index.tsx new file mode 100644 index 00000000..64e23194 --- /dev/null +++ b/src/containers/profile/ProfileSidebarHead/index.tsx @@ -0,0 +1,25 @@ +import React, { VFC } from 'react'; +import { Group } from '~/components/containers/Group'; +import { Filler } from '~/components/containers/Filler'; +import { ProfileAvatar } from '~/components/profile/ProfileAvatar'; +import { usePatchUser } from '~/hooks/auth/usePatchUser'; +import { useUser } from '~/hooks/auth/useUser'; + +interface ProfileSidebarHeadProps {} + +const ProfileSidebarHead: VFC = () => { + const { user } = useUser(); + const { updatePhoto } = usePatchUser(); + + return ( + + + + +

{user.fullname || user.username}

+
+
+ ); +}; + +export { ProfileSidebarHead }; diff --git a/src/containers/profile/ProfileSidebarMenu/index.tsx b/src/containers/profile/ProfileSidebarMenu/index.tsx new file mode 100644 index 00000000..aa4c87d8 --- /dev/null +++ b/src/containers/profile/ProfileSidebarMenu/index.tsx @@ -0,0 +1,67 @@ +import React, { VFC } from 'react'; +import styles from './styles.module.scss'; +import { ProfileSidebarHead } from '~/containers/profile/ProfileSidebarHead'; +import { Filler } from '~/components/containers/Filler'; +import classNames from 'classnames'; +import markdown from '~/styles/common/markdown.module.scss'; +import { Group } from '~/components/containers/Group'; +import { Grid } from '~/components/containers/Grid'; +import { Card } from '~/components/containers/Card'; +import { Square } from '~/components/common/Square'; +import { Button } from '~/components/input/Button'; + +interface ProfileSidebarMenuProps { + onClose: () => void; +} + +const ProfileSidebarMenu: VFC = ({ onClose }) => ( +
+
+ +
+ + + +
    +
  • Настройки
  • +
  • Заметки
  • +
  • Удалённые посты
  • +
+ + + +

1 год 2 месяца

+ в убежище +
+ + + +

24 поста

+ Создано +
+
+
+ + + + +

16545 лайка

+ получено +
+
+ + +

123123 комментария

+ под постами +
+
+
+
+ + +
+); + +export { ProfileSidebarMenu }; diff --git a/src/containers/profile/ProfileSidebarMenu/styles.module.scss b/src/containers/profile/ProfileSidebarMenu/styles.module.scss new file mode 100644 index 00000000..28d4ba6f --- /dev/null +++ b/src/containers/profile/ProfileSidebarMenu/styles.module.scss @@ -0,0 +1,42 @@ +@import "../../../styles/variables"; + +.wrap { + padding: $gap; + box-sizing: border-box; +} + +.text { + margin-top: $gap * 2; +} + +.menu { + @include outer_shadow; + + list-style: none; + border-radius: $radius; + padding: 0 !important; + + & > li { + @include row_shadow; + + list-style: none; + margin: 0 !important; + padding: $gap; + font: $font_16_semibold; + cursor: pointer; + background-color: transparentize($secondary, 1); + transition: background-color 0.25s; + + &:hover { + background-color: transparentize($secondary, 0.5); + } + + &:first-child { + border-radius: $radius $radius 0 0; + } + + &:last-child { + border-radius: 0 0 $radius $radius; + } + } +} diff --git a/src/containers/sidebars/ProfileSidebar/index.tsx b/src/containers/sidebars/ProfileSidebar/index.tsx new file mode 100644 index 00000000..cfcfb11a --- /dev/null +++ b/src/containers/sidebars/ProfileSidebar/index.tsx @@ -0,0 +1,27 @@ +import React, { VFC } from 'react'; +import { SidebarWrapper } from '~/containers/sidebars/SidebarWrapper'; +import { DialogComponentProps } from '~/types/modal'; +import { ProfileSidebarMenu } from '~/containers/profile/ProfileSidebarMenu'; +import { SidebarStack } from '~/components/sidebar/SidebarStack'; +import { ProfileSidebarSettings } from '~/components/profile/ProfileSidebarSettings'; +import { SidebarStackCard } from '~/components/sidebar/SidebarStackCard'; + +interface ProfileSidebarProps extends DialogComponentProps {} + +const ProfileSidebar: VFC = ({ onRequestClose }) => { + return ( + + + + + + + + + + + + ); +}; + +export { ProfileSidebar }; diff --git a/src/containers/sidebars/TagSidebar/index.tsx b/src/containers/sidebars/TagSidebar/index.tsx index d2908462..0340341c 100644 --- a/src/containers/sidebars/TagSidebar/index.tsx +++ b/src/containers/sidebars/TagSidebar/index.tsx @@ -8,6 +8,7 @@ import { InfiniteScroll } from '~/components/containers/InfiniteScroll'; import { Tag } from '~/components/tags/Tag'; import { useTagNodes } from '~/hooks/tag/useTagNodes'; import { DialogComponentProps } from '~/types/modal'; +import { SidebarStack } from '~/components/sidebar/SidebarStack'; interface TagSidebarProps extends DialogComponentProps { tag: string; @@ -19,43 +20,45 @@ const TagSidebar: VFC = ({ tag, onRequestClose }) => { return ( -
-
-
-
- + +
+
+
+
+ +
+ + {isLoading && ( +
+ +
+ )} + +
+ +
- {isLoading && ( -
- + {!nodes.length && !isLoading ? ( +
+ +
+ У этого тэга нет постов +
+
+ Такие дела +
+ ) : ( + + + )} - -
- -
- - {!nodes.length && !isLoading ? ( -
- -
- У этого тэга нет постов -
-
- Такие дела -
-
- ) : ( - - - - )}
-
+
); }; diff --git a/src/containers/sidebars/TagSidebar/styles.module.scss b/src/containers/sidebars/TagSidebar/styles.module.scss index 6b1e2995..6d9b4f17 100644 --- a/src/containers/sidebars/TagSidebar/styles.module.scss +++ b/src/containers/sidebars/TagSidebar/styles.module.scss @@ -2,6 +2,8 @@ .wrap { @include sidebar_content(400px); + width: 100vw; + max-width: 400px; } .content { @@ -17,11 +19,12 @@ } .head { + @include row_shadow; + display: flex; align-items: center; justify-content: center; padding: $gap; - box-shadow: transparentize(white, 0.95) 0 1px; } .tag { diff --git a/src/containers/tags/TagInput/index.tsx b/src/containers/tags/TagInput/index.tsx index e8da7c0c..03dfd502 100644 --- a/src/containers/tags/TagInput/index.tsx +++ b/src/containers/tags/TagInput/index.tsx @@ -101,8 +101,8 @@ const TagInput: FC = ({ exclude, onAppend, onClearTag, onSubmit }) => { const onAutocompleteSelect = useCallback( (val: string) => { - onAppend([val]); setInput(''); + onAppend([val]); }, [onAppend, setInput] ); diff --git a/src/hooks/auth/useLoginForm.ts b/src/hooks/auth/useLoginForm.ts index bd325a7a..ab783ffe 100644 --- a/src/hooks/auth/useLoginForm.ts +++ b/src/hooks/auth/useLoginForm.ts @@ -24,7 +24,6 @@ export const useLoginForm = ( try { await fetcher(values.username, values.password); onSuccess(); - showToastSuccess(getRandomPhrase('WELCOME')); } catch (error) { showErrorToast(error); diff --git a/src/hooks/auth/useLoginLogoutRestore.ts b/src/hooks/auth/useLoginLogoutRestore.ts index ea4c7618..671aeef2 100644 --- a/src/hooks/auth/useLoginLogoutRestore.ts +++ b/src/hooks/auth/useLoginLogoutRestore.ts @@ -1,16 +1,23 @@ import { useAuthStore } from '~/store/auth/useAuthStore'; import { useCallback } from 'react'; import { apiUserLogin } from '~/api/auth'; +import { showErrorToast } from '~/utils/errors/showToast'; +import { getRandomPhrase } from '~/constants/phrases'; +import { showToastInfo, showToastSuccess } from '~/utils/toast'; export const useLoginLogoutRestore = () => { const auth = useAuthStore(); - const logout = useCallback(() => auth.logout(), [auth]); + const logout = useCallback(() => { + auth.logout(); + showToastInfo(getRandomPhrase('GOODBYE')); + }, [auth]); const login = useCallback( async (username: string, password: string) => { const result = await apiUserLogin({ username, password }); auth.setToken(result.token); + showToastInfo(getRandomPhrase('WELCOME')); return result.user; }, [auth] diff --git a/src/hooks/auth/useMessageEventReactions.ts b/src/hooks/auth/useMessageEventReactions.ts index 2a981d44..2e74c3e4 100644 --- a/src/hooks/auth/useMessageEventReactions.ts +++ b/src/hooks/auth/useMessageEventReactions.ts @@ -20,7 +20,7 @@ export const useMessageEventReactions = () => { return; } - console.log('caught event:', type); + console.log('caught event:', type, event.data); switch (type) { case EventMessageType.OAuthLogin: diff --git a/src/hooks/auth/useRestorePasswordRedirect.ts b/src/hooks/auth/useRestorePasswordRedirect.ts index 0f7cfd2a..8dff4565 100644 --- a/src/hooks/auth/useRestorePasswordRedirect.ts +++ b/src/hooks/auth/useRestorePasswordRedirect.ts @@ -1,11 +1,11 @@ import { useEffect } from 'react'; -import { useHistory } from 'react-router'; import { useModal } from '~/hooks/modal/useModal'; import { Dialog } from '~/constants/modal'; +import { useNavigation } from '~/hooks/navigation/useNavigation'; /** redirects to the password redirect modal */ export const useRestorePasswordRedirect = () => { - const history = useHistory(); + const { push } = useNavigation(); const { showModal } = useModal(); useEffect(() => { @@ -15,7 +15,7 @@ export const useRestorePasswordRedirect = () => { return; } - history.push('/'); + push('/'); showModal(Dialog.RestorePassword, { code: match[1] }); - }, [showModal, history]); + }, [showModal, push]); }; diff --git a/src/hooks/dom/useScrollHeight.ts b/src/hooks/dom/useScrollHeight.ts new file mode 100644 index 00000000..48bf7f4d --- /dev/null +++ b/src/hooks/dom/useScrollHeight.ts @@ -0,0 +1,17 @@ +const getHeight = () => { + if (typeof document === 'undefined') { + return 0; + } + + const body = document.body; + const html = document.documentElement; + + return Math.max( + body.scrollHeight, + body.offsetHeight, + html.clientHeight, + html.scrollHeight, + html.offsetHeight + ); +}; +export const useScrollHeight = () => getHeight(); diff --git a/src/hooks/dom/useScrollToBottom.ts b/src/hooks/dom/useScrollToBottom.ts new file mode 100644 index 00000000..2622e1aa --- /dev/null +++ b/src/hooks/dom/useScrollToBottom.ts @@ -0,0 +1,10 @@ +import { useCallback } from 'react'; +import { useScrollHeight } from '~/hooks/dom/useScrollHeight'; + +export const useScrollToBottom = () => { + const top = useScrollHeight(); + + return useCallback(() => { + window.scrollTo({ top }); + }, [top]); +}; diff --git a/src/hooks/dom/useScrollToTop.ts b/src/hooks/dom/useScrollToTop.ts index 5adc71d0..3eeb1cd0 100644 --- a/src/hooks/dom/useScrollToTop.ts +++ b/src/hooks/dom/useScrollToTop.ts @@ -14,7 +14,6 @@ export const useScrollToTop = (deps?: any[]) => { const bounds = targetElement.getBoundingClientRect(); window.scrollTo({ top: bounds.top - 100, - behavior: 'smooth', }); }, deps && Array.isArray(deps) ? deps : [] diff --git a/src/hooks/dom/useScrollTop.ts b/src/hooks/dom/useScrollTop.ts index 90341f42..701d6712 100644 --- a/src/hooks/dom/useScrollTop.ts +++ b/src/hooks/dom/useScrollTop.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; export const useScrollTop = () => { - const [top, setTop] = useState(0); + const [top, setTop] = useState(typeof window !== 'undefined' ? window.scrollY : 0); useEffect(() => { const onScroll = () => { diff --git a/src/hooks/flow/useFlowLoader.ts b/src/hooks/flow/useFlowLoader.ts index 2232739d..cc08f1fb 100644 --- a/src/hooks/flow/useFlowLoader.ts +++ b/src/hooks/flow/useFlowLoader.ts @@ -2,7 +2,7 @@ import { useCallback, useState } from 'react'; import { getNodeDiff } from '~/api/node'; import { uniq } from 'ramda'; import { useFlowStore } from '~/store/flow/useFlowStore'; -import { runInAction } from 'mobx'; +import { runInAction, toJS } from 'mobx'; import { showErrorToast } from '~/utils/errors/showToast'; export const useFlowLoader = () => { @@ -81,5 +81,7 @@ export const useFlowLoader = () => { } }, [flow]); + console.log(toJS(flow.nodes)); + return { getInitialNodes, isSyncing, loadMore }; }; diff --git a/src/hooks/navigation/useNavigation.ts b/src/hooks/navigation/useNavigation.ts new file mode 100644 index 00000000..a5877d12 --- /dev/null +++ b/src/hooks/navigation/useNavigation.ts @@ -0,0 +1,22 @@ +import { useCallback } from 'react'; +import { CONFIG } from '~/utils/config'; +import { useRouter } from 'next/router'; +import { useHistory } from 'react-router'; + +export const useNavigation = () => { + const nextRouter = useRouter(); + const craHistory = useHistory(); + + const push = useCallback( + (url: string) => { + if (CONFIG.isNextEnvironment) { + nextRouter.push(url); + } else { + craHistory.push(url); + } + }, + [craHistory, nextRouter] + ); + + return { push }; +}; diff --git a/src/hooks/node/useGotoNode.ts b/src/hooks/node/useGotoNode.ts index 1d38e8eb..5a8eebe9 100644 --- a/src/hooks/node/useGotoNode.ts +++ b/src/hooks/node/useGotoNode.ts @@ -1,10 +1,10 @@ import { INode } from '~/types'; -import { useHistory } from 'react-router'; import { useCallback } from 'react'; import { URLS } from '~/constants/urls'; +import { useNavigation } from '~/hooks/navigation/useNavigation'; // useGotoNode returns fn, that navigates to node export const useGotoNode = (id: INode['id']) => { - const history = useHistory(); - return useCallback(() => history.push(URLS.NODE_URL(id)), [history, id]); + const { push } = useNavigation(); + return useCallback(() => push(URLS.NODE_URL(id)), [push, id]); }; diff --git a/src/hooks/node/useNodePageParams.ts b/src/hooks/node/useNodePageParams.ts new file mode 100644 index 00000000..28479222 --- /dev/null +++ b/src/hooks/node/useNodePageParams.ts @@ -0,0 +1,9 @@ +import { useRouteMatch } from 'react-router'; +import { useRouter } from 'next/router'; +import { CONFIG } from '~/utils/config'; + +export const useNodePageParams = () => { + return CONFIG.isNextEnvironment + ? (useRouter().query.id as string) + : useRouteMatch<{ id: string }>().params.id; +}; diff --git a/src/layouts/BorisLayout/index.tsx b/src/layouts/BorisLayout/index.tsx index 0a085976..22301b7c 100644 --- a/src/layouts/BorisLayout/index.tsx +++ b/src/layouts/BorisLayout/index.tsx @@ -2,7 +2,6 @@ import React, { FC } from 'react'; import styles from './styles.module.scss'; import { Group } from '~/components/containers/Group'; import { Container } from '~/containers/main/Container'; -import StickyBox from 'react-sticky-box'; import { BorisComments } from '~/containers/boris/BorisComments'; import { Card } from '~/components/containers/Card'; import { SidebarRouter } from '~/containers/main/SidebarRouter'; @@ -14,6 +13,7 @@ import { BorisUIDemo } from '~/components/boris/BorisUIDemo'; import boris from '~/sprites/boris_robot.svg'; import { useAuthProvider } from '~/utils/providers/AuthProvider'; +import { Sticky } from '~/components/containers/Sticky'; type IProps = { title: string; @@ -56,7 +56,7 @@ const BorisLayout: FC = ({ title, setIsBetaTester, isTester, stats, isLo - + = ({ title, setIsBetaTester, isTester, stats, isLo isUser={isUser} isLoading={isLoadingStats} /> - +
diff --git a/src/layouts/NodeLayout/index.tsx b/src/layouts/NodeLayout/index.tsx index df0831f4..05cd2a80 100644 --- a/src/layouts/NodeLayout/index.tsx +++ b/src/layouts/NodeLayout/index.tsx @@ -17,6 +17,8 @@ import { useNodeContext } from '~/utils/context/NodeContextProvider'; import { useNodePermissions } from '~/hooks/node/useNodePermissions'; import { useNodeActions } from '~/hooks/node/useNodeActions'; import { NodeTitle } from '~/components/node/NodeTitle'; +import { ScrollHelperBottom } from '~/components/common/ScrollHelperBottom'; +import { Superpower } from '~/components/boris/Superpower'; type IProps = {}; @@ -65,7 +67,9 @@ const NodeLayout: FC = () => { - + + +
); }; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx new file mode 100644 index 00000000..7389a15a --- /dev/null +++ b/src/pages/_app.tsx @@ -0,0 +1,50 @@ +import { StoreContextProvider } from '~/utils/context/StoreContextProvider'; +import { getMOBXStore } from '~/store'; +import '~/styles/main.scss'; +import { ToastProvider } from '~/utils/providers/ToastProvider'; +import { Modal } from '~/containers/dialogs/Modal'; +import { Sprites } from '~/sprites/Sprites'; +import React from 'react'; +import { BottomContainer } from '~/containers/main/BottomContainer'; +import { SWRConfigProvider } from '~/utils/providers/SWRConfigProvider'; +import { UserContextProvider } from '~/utils/context/UserContextProvider'; +import { DragDetectorProvider } from '~/hooks/dom/useDragDetector'; +import { PageCoverProvider } from '~/components/containers/PageCoverProvider'; +import { SearchProvider } from '~/utils/providers/SearchProvider'; +import { AudioPlayerProvider } from '~/utils/providers/AudioPlayerProvider'; +import { MetadataProvider } from '~/utils/providers/MetadataProvider'; +import { AuthProvider } from '~/utils/providers/AuthProvider'; +import { MainLayout } from '~/containers/main/MainLayout'; +import { useGlobalLoader } from '~/hooks/dom/useGlobalLoader'; + +const mobxStore = getMOBXStore(); + +export default function MyApp({ Component, pageProps }) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index c0ff290e..11da7987 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -3,10 +3,13 @@ import { FlowLayout } from '~/layouts/FlowLayout'; import { useFlow } from '~/hooks/flow/useFlow'; import { FlowContextProvider } from '~/utils/context/FlowContextProvider'; import { observer } from 'mobx-react-lite'; +import { useGlobalLoader } from '~/hooks/dom/useGlobalLoader'; interface Props {} const FlowPage: FC = observer(() => { + useGlobalLoader(); + const { updates, nodes, diff --git a/src/pages/node/[id].tsx b/src/pages/node/[id].tsx index 79006b25..5cb26eed 100644 --- a/src/pages/node/[id].tsx +++ b/src/pages/node/[id].tsx @@ -12,67 +12,63 @@ import { useNodePermissions } from '~/hooks/node/useNodePermissions'; import { NodeRelatedProvider } from '~/utils/providers/NodeRelatedProvider'; import { useLoadNode } from '~/hooks/node/useLoadNode'; import { observer } from 'mobx-react-lite'; +import { useNodePageParams } from '~/hooks/node/useNodePageParams'; type Props = RouteComponentProps<{ id: string }> & {}; -const NodePage: FC = observer( - ({ - match: { - params: { id }, - }, - }) => { - const { node, isLoading, update, lastSeen } = useLoadNode(parseInt(id, 10)); +const NodePage: FC = observer(() => { + const id = useNodePageParams(); + const { node, isLoading, update, lastSeen } = useLoadNode(parseInt(id, 10)); - const onShowImageModal = useImageModal(); - const { - onLoadMoreComments, - onDelete: onDeleteComment, - onEdit: onSaveComment, - comments, - hasMore, - isLoading: isLoadingComments, - } = useNodeComments(parseInt(id, 10)); - const { onDelete: onTagDelete, onChange: onTagsChange, onClick: onTagClick } = useNodeTags( - parseInt(id, 10) - ); - const [canEdit] = useNodePermissions(node); + const onShowImageModal = useImageModal(); + const { + onLoadMoreComments, + onDelete: onDeleteComment, + onEdit: onSaveComment, + comments, + hasMore, + isLoading: isLoadingComments, + } = useNodeComments(parseInt(id, 10)); + const { onDelete: onTagDelete, onChange: onTagsChange, onClick: onTagClick } = useNodeTags( + parseInt(id, 10) + ); + const [canEdit] = useNodePermissions(node); - useScrollToTop([id, isLoadingComments]); + useScrollToTop([id, isLoadingComments]); - if (!node) { - // TODO: do something here - return null; - } - - return ( - - - - - - - - - - ); + if (!node) { + // TODO: do something here + return null; } -); + + return ( + + + + + + + + + + ); +}); export default NodePage; diff --git a/src/store/auth/AuthStore.ts b/src/store/auth/AuthStore.ts index 16850d3c..d5c9cc0d 100644 --- a/src/store/auth/AuthStore.ts +++ b/src/store/auth/AuthStore.ts @@ -2,6 +2,7 @@ import { IUser } from '~/types/auth'; import { EMPTY_USER } from '~/constants/auth'; import { makeAutoObservable } from 'mobx'; import { isHydrated, makePersistable } from 'mobx-persist-store'; +import { CONFIG } from '~/utils/config'; export class AuthStore { token: string = ''; @@ -12,7 +13,7 @@ export class AuthStore { makeAutoObservable(this); void makePersistable(this, { - name: `vault48_auth_${process.env.REACT_APP_API_URL}`, + name: `vault48_auth_${CONFIG.apiHost}`, properties: ['token', 'user', 'isTesterInternal'], storage: typeof window !== 'undefined' ? window.localStorage : undefined, }); diff --git a/src/store/index.ts b/src/store/index.ts index aac65654..bb4d5feb 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -3,6 +3,7 @@ import { FlowStore } from '~/store/flow/FlowStore'; import { ModalStore } from '~/store/modal/ModalStore'; import { LabStore } from '~/store/lab/LabStore'; import { AuthStore } from '~/store/auth/AuthStore'; +import { useStaticRendering } from 'mobx-react-lite'; export class Store { flow = new FlowStore(); @@ -22,3 +23,6 @@ export class Store { const defaultStore = new Store(); export const getMOBXStore = () => defaultStore; + +// eslint-disable-next-line react-hooks/rules-of-hooks +useStaticRendering(typeof window === 'undefined'); diff --git a/src/styles/_global.scss b/src/styles/_global.scss index e2ab3236..c073498c 100644 --- a/src/styles/_global.scss +++ b/src/styles/_global.scss @@ -128,3 +128,36 @@ button { background-color: transparent; outline: none; } + +h5, h4, h3, h2, h1 { + color: white; + font-weight: 800; +} + +h1 { + font-size: 2em; +} + +h2 { + font-size: 1.8em; +} + +h3 { + font-size: 1.6em; +} + +h4 { + font-size: 1.4em; +} + +h5 { + font-size: 1.2em; +} + +p { + margin-bottom: $gap; + + &:last-child { + margin-bottom: 0; + } +} diff --git a/src/styles/_mixins.scss b/src/styles/_mixins.scss index 1bc67ece..961dccb3 100644 --- a/src/styles/_mixins.scss +++ b/src/styles/_mixins.scss @@ -164,8 +164,6 @@ flex: 0 1 $width; max-width: 100vw; position: relative; - background: transparentize($content_bg, 0.1); - box-shadow: transparentize(white, 0.95) -1px 0; border-radius: $radius 0 0 $radius; } diff --git a/src/styles/common/markdown.module.scss b/src/styles/common/markdown.module.scss index 875b3de3..cba76dc7 100644 --- a/src/styles/common/markdown.module.scss +++ b/src/styles/common/markdown.module.scss @@ -53,17 +53,7 @@ $margin: 1em; margin-bottom: $margin; } - p { - margin-bottom: $margin; - - &:last-child { - margin-bottom: 0; - } - } - h5, h4, h3, h2, h1 { - color: white; - font-weight: 800; line-height: 1.2em; margin: $margin * 1.5 0 $margin / 2; @@ -72,26 +62,6 @@ $margin: 1em; } } - h1 { - font-size: 2em; - } - - h2 { - font-size: 1.8em; - } - - h3 { - font-size: 1.6em; - } - - h4 { - font-size: 1.4em; - } - - h5 { - font-size: 1.2em; - } - ul { list-style: disc; padding-left: 20px; diff --git a/src/utils/config/index.ts b/src/utils/config/index.ts new file mode 100644 index 00000000..6b868a97 --- /dev/null +++ b/src/utils/config/index.ts @@ -0,0 +1,7 @@ +export const CONFIG = { + apiHost: process.env.REACT_APP_API_HOST || process.env.NEXT_PUBLIC_API_HOST || '', + remoteCurrent: + process.env.REACT_APP_REMOTE_CURRENT || process.env.NEXT_PUBLIC_REMOTE_CURRENT || '', + // transitional prop, marks migration to nextjs + isNextEnvironment: !!process.env.NEXT_PUBLIC_REMOTE_CURRENT || typeof window === 'undefined', +}; diff --git a/src/utils/dom.ts b/src/utils/dom.ts index ed362a16..22c2c5ba 100644 --- a/src/utils/dom.ts +++ b/src/utils/dom.ts @@ -19,6 +19,7 @@ import { formatTextTodos, } from '~/utils/formatText'; import { splitTextByYoutube, splitTextOmitEmpty } from '~/utils/splitText'; +import { CONFIG } from '~/utils/config'; function polarToCartesian(centerX, centerY, radius, angleInDegrees) { const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0; @@ -67,13 +68,10 @@ export const getURLFromString = ( size?: typeof PRESETS[keyof typeof PRESETS] ): string => { if (size) { - return (url || '').replace( - 'REMOTE_CURRENT://', - `${process.env.REACT_APP_REMOTE_CURRENT}cache/${size}/` - ); + return (url || '').replace('REMOTE_CURRENT://', `${CONFIG.remoteCurrent}cache/${size}/`); } - return (url || '').replace('REMOTE_CURRENT://', process.env.REACT_APP_REMOTE_CURRENT); + return (url || '').replace('REMOTE_CURRENT://', CONFIG.remoteCurrent); }; export const getURL = ( diff --git a/src/utils/providers/AudioPlayerProvider.tsx b/src/utils/providers/AudioPlayerProvider.tsx index 5ffa32e4..ff2c5902 100644 --- a/src/utils/providers/AudioPlayerProvider.tsx +++ b/src/utils/providers/AudioPlayerProvider.tsx @@ -1,4 +1,12 @@ -import React, { createContext, FC, useCallback, useContext, useEffect, useState } from 'react'; +import React, { + createContext, + FC, + useCallback, + useContext, + useEffect, + useRef, + useState, +} from 'react'; import { IFile } from '~/types'; import { getURL } from '~/utils/dom'; import { path } from 'ramda'; @@ -33,41 +41,47 @@ const PlayerContext = createContext({ toPercent: () => {}, }); -const audio = new Audio(); - export const AudioPlayerProvider: FC = ({ children }) => { + const audio = useRef(typeof Audio !== 'undefined' ? new Audio() : undefined).current; const [status, setStatus] = useState(PlayerState.UNSET); const [file, setFile] = useState(); const [progress, setProgress] = useState({ progress: 0, current: 0, total: 0 }); /** controls */ - const play = audio.play.bind(audio); - const pause = audio.pause.bind(audio); + const play = async () => audio?.play(); + const pause = () => audio?.pause(); const stop = useCallback(() => { - audio.pause(); - audio.dispatchEvent(new CustomEvent('stop')); + audio?.pause(); + audio?.dispatchEvent(new CustomEvent('stop')); setFile(undefined); setStatus(PlayerState.UNSET); - }, [setFile]); + }, [audio, setFile]); - const toTime = useCallback((time: number) => { - audio.currentTime = time; - }, []); + const toTime = useCallback( + (time: number) => { + if (!audio) { + return; + } + + audio.currentTime = time; + }, + [audio] + ); const toPercent = useCallback( (percent: number) => { - audio.currentTime = (progress.total * percent) / 100; + toTime((progress.total * percent) / 100); }, - [progress] + [progress, toTime] ); /** handles progress update */ useEffect(() => { const onProgress = () => { setProgress({ - total: audio.duration, - current: audio.currentTime, - progress: (audio.currentTime / audio.duration) * 100, + total: audio?.duration ?? 0, + current: audio?.currentTime ?? 0, + progress: audio ? (audio.currentTime / audio.duration) * 100 : 0, }); }; @@ -79,23 +93,25 @@ export const AudioPlayerProvider: FC = ({ children }) => { setStatus(PlayerState.PLAYING); }; - audio.addEventListener('playprogress', onProgress); - audio.addEventListener('timeupdate', onProgress); - audio.addEventListener('pause', onPause); - audio.addEventListener('playing', onPlay); + audio?.addEventListener('playprogress', onProgress); + audio?.addEventListener('timeupdate', onProgress); + audio?.addEventListener('pause', onPause); + audio?.addEventListener('playing', onPlay); return () => { - audio.removeEventListener('playprogress', onProgress); - audio.removeEventListener('timeupdate', onProgress); - audio.removeEventListener('pause', onPause); - audio.removeEventListener('playing', onPlay); + audio?.removeEventListener('playprogress', onProgress); + audio?.removeEventListener('timeupdate', onProgress); + audio?.removeEventListener('pause', onPause); + audio?.removeEventListener('playing', onPlay); }; - }, []); + }, [audio]); /** update audio src */ useEffect(() => { + if (!audio) return; + audio.src = file ? getURL(file) : ''; - }, [file]); + }, [file, audio]); const metadata: IFile['metadata'] = path(['metadata'], file); const title = diff --git a/src/utils/toast/styles.module.scss b/src/utils/toast/styles.module.scss index e0738133..2b0c3f8e 100644 --- a/src/utils/toast/styles.module.scss +++ b/src/utils/toast/styles.module.scss @@ -2,6 +2,7 @@ .toast { @include outer_shadow; + cursor: pointer; font: $font_14_semibold; user-select: none; diff --git a/src/utils/types.ts b/src/utils/types.ts index 438d56d3..21f1e758 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -16,3 +16,8 @@ export type ButtonProps = React.DetailedHTMLProps< React.ButtonHTMLAttributes, HTMLButtonElement >; + +export type LinkProps = React.DetailedHTMLProps< + React.AnchorHTMLAttributes, + HTMLAnchorElement +>; diff --git a/tsconfig.json b/tsconfig.json index 988797f6..4cd730f7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,7 +14,7 @@ "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, - "module": "esnext", + "module": "commonjs", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo new file mode 100644 index 00000000..fdab1079 --- /dev/null +++ b/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/prop-types/index.d.ts","./node_modules/@types/scheduler/tracing.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/@types/history/domutils.d.ts","./node_modules/@types/history/createbrowserhistory.d.ts","./node_modules/@types/history/createhashhistory.d.ts","./node_modules/@types/history/creatememoryhistory.d.ts","./node_modules/@types/history/locationutils.d.ts","./node_modules/@types/history/pathutils.d.ts","./node_modules/@types/history/index.d.ts","./node_modules/@types/react-router/index.d.ts","./node_modules/@types/react-router-dom/index.d.ts","./src/components/main/logo/index.tsx","./node_modules/classnames/index.d.ts","./src/components/containers/filler/index.tsx","./src/components/containers/group/index.tsx","./src/constants/errors.ts","./src/constants/auth/index.ts","./src/types/auth/index.ts","./src/types/index.ts","./node_modules/date-fns/typings.d.ts","./src/constants/urls.ts","./src/components/comment/commenttextblock/index.tsx","./src/components/input/icon/index.tsx","./node_modules/mobx/dist/utils/global.d.ts","./node_modules/mobx/dist/errors.d.ts","./node_modules/mobx/dist/utils/utils.d.ts","./node_modules/mobx/dist/api/decorators.d.ts","./node_modules/mobx/dist/core/atom.d.ts","./node_modules/mobx/dist/utils/comparer.d.ts","./node_modules/mobx/dist/types/modifiers.d.ts","./node_modules/mobx/dist/types/overrideannotation.d.ts","./node_modules/mobx/dist/types/actionannotation.d.ts","./node_modules/mobx/dist/types/flowannotation.d.ts","./node_modules/mobx/dist/types/computedannotation.d.ts","./node_modules/mobx/dist/types/observableannotation.d.ts","./node_modules/mobx/dist/types/autoannotation.d.ts","./node_modules/mobx/dist/api/observable.d.ts","./node_modules/mobx/dist/api/computed.d.ts","./node_modules/mobx/dist/core/action.d.ts","./node_modules/mobx/dist/types/observablevalue.d.ts","./node_modules/mobx/dist/core/computedvalue.d.ts","./node_modules/mobx/dist/core/derivation.d.ts","./node_modules/mobx/dist/core/globalstate.d.ts","./node_modules/mobx/dist/core/observable.d.ts","./node_modules/mobx/dist/core/reaction.d.ts","./node_modules/mobx/dist/types/observableobject.d.ts","./node_modules/mobx/dist/types/observablearray.d.ts","./node_modules/mobx/dist/core/spy.d.ts","./node_modules/mobx/dist/api/action.d.ts","./node_modules/mobx/dist/api/autorun.d.ts","./node_modules/mobx/dist/api/become-observed.d.ts","./node_modules/mobx/dist/api/configure.d.ts","./node_modules/mobx/dist/api/extendobservable.d.ts","./node_modules/mobx/dist/api/extras.d.ts","./node_modules/mobx/dist/api/flow.d.ts","./node_modules/mobx/dist/api/intercept-read.d.ts","./node_modules/mobx/dist/api/intercept.d.ts","./node_modules/mobx/dist/api/iscomputed.d.ts","./node_modules/mobx/dist/api/isobservable.d.ts","./node_modules/mobx/dist/api/object-api.d.ts","./node_modules/mobx/dist/api/observe.d.ts","./node_modules/mobx/dist/api/tojs.d.ts","./node_modules/mobx/dist/api/trace.d.ts","./node_modules/mobx/dist/api/transaction.d.ts","./node_modules/mobx/dist/api/when.d.ts","./node_modules/mobx/dist/types/dynamicobject.d.ts","./node_modules/mobx/dist/types/intercept-utils.d.ts","./node_modules/mobx/dist/types/listen-utils.d.ts","./node_modules/mobx/dist/api/makeobservable.d.ts","./node_modules/mobx/dist/types/observablemap.d.ts","./node_modules/mobx/dist/types/observableset.d.ts","./node_modules/mobx/dist/types/legacyobservablearray.d.ts","./node_modules/mobx/dist/types/type-utils.d.ts","./node_modules/mobx/dist/utils/eq.d.ts","./node_modules/mobx/dist/utils/iterable.d.ts","./node_modules/mobx/dist/api/annotation.d.ts","./node_modules/mobx/dist/internal.d.ts","./node_modules/mobx/dist/mobx.d.ts","./node_modules/ts-toolbelt/out/index.d.ts","./node_modules/@types/ramda/tools.d.ts","./node_modules/@types/ramda/index.d.ts","./src/types/metadata/index.ts","./src/store/metadata/metadatastore.tsx","./node_modules/mobx-react-lite/dist/utils/assertenvironment.d.ts","./node_modules/mobx-react-lite/dist/staticrendering.d.ts","./node_modules/mobx-react-lite/dist/observer.d.ts","./node_modules/mobx-react-lite/dist/observercomponent.d.ts","./node_modules/mobx-react-lite/dist/uselocalobservable.d.ts","./node_modules/mobx-react-lite/dist/uselocalstore.d.ts","./node_modules/mobx-react-lite/dist/useasobservablesource.d.ts","./node_modules/mobx-react-lite/dist/utils/reactioncleanuptrackingcommon.d.ts","./node_modules/mobx-react-lite/dist/utils/reactioncleanuptracking.d.ts","./node_modules/mobx-react-lite/dist/utils/observerbatching.d.ts","./node_modules/mobx-react-lite/dist/index.d.ts","./node_modules/axios/index.d.ts","./src/utils/config/index.ts","./src/constants/api.ts","./src/store/flow/flowstore.ts","./src/hooks/index.ts","./src/hooks/data/usetranslatederror.ts","./src/components/input/inputwrapper/index.tsx","./src/hooks/dom/usefocusevent.ts","./src/components/input/inputtext/index.tsx","./node_modules/popper.js/index.d.ts","./node_modules/tippy.js/index.d.ts","./node_modules/@tippy.js/react/index.d.ts","./src/components/input/button/index.tsx","./src/components/containers/padder/index.tsx","./src/components/input/loadercircleinner/index.tsx","./src/utils/types.ts","./src/components/input/loadercircle/index.tsx","./src/components/dialogs/betterscrolldialog/index.tsx","./src/components/containers/grid/index.tsx","./src/components/auth/login/logindialogbuttons/index.tsx","./src/components/dialogs/dialogtitle/index.tsx","./src/types/modal/index.ts","./src/utils/context/storecontextprovider.tsx","./src/store/modal/usemodalstore.ts","./src/hooks/modal/usemodal.ts","./src/hooks/modal/useshowmodal.ts","./node_modules/swr/dist/constants/revalidate-events.d.ts","./node_modules/swr/dist/types.d.ts","./node_modules/swr/dist/utils/config.d.ts","./node_modules/swr/dist/use-swr.d.ts","./node_modules/swr/dist/utils/use-swr-config.d.ts","./node_modules/swr/dist/index.d.ts","./src/store/auth/useauthstore.ts","./src/api/auth/types.ts","./src/api/auth/index.ts","./node_modules/react-hot-toast/dist/core/types.d.ts","./node_modules/react-hot-toast/dist/core/toast.d.ts","./node_modules/react-hot-toast/dist/core/use-toaster.d.ts","./node_modules/react-hot-toast/dist/components/toast-bar.d.ts","./node_modules/goober/goober.d.ts","./node_modules/react-hot-toast/dist/components/error.d.ts","./node_modules/react-hot-toast/dist/components/loader.d.ts","./node_modules/react-hot-toast/dist/components/checkmark.d.ts","./node_modules/react-hot-toast/dist/components/toast-icon.d.ts","./node_modules/react-hot-toast/dist/components/toaster.d.ts","./node_modules/react-hot-toast/dist/core/store.d.ts","./node_modules/react-hot-toast/dist/index.d.ts","./src/constants/dom/index.ts","./src/utils/toast/index.tsx","./src/utils/errors/geterrormessage.ts","./src/utils/errors/showtoast.ts","./src/hooks/auth/useuser.ts","./src/constants/phrases.ts","./src/hooks/auth/useloginlogoutrestore.ts","./src/hooks/auth/useauth.ts","./node_modules/yup/lib/reference.d.ts","./node_modules/yup/lib/condition.d.ts","./node_modules/yup/lib/validationerror.d.ts","./node_modules/yup/lib/util/createvalidation.d.ts","./node_modules/yup/lib/util/types.d.ts","./node_modules/yup/lib/util/referenceset.d.ts","./node_modules/yup/lib/schema.d.ts","./node_modules/yup/lib/lazy.d.ts","./node_modules/yup/lib/types.d.ts","./node_modules/yup/lib/locale.d.ts","./node_modules/yup/lib/mixed.d.ts","./node_modules/yup/lib/boolean.d.ts","./node_modules/yup/lib/string.d.ts","./node_modules/yup/lib/number.d.ts","./node_modules/yup/lib/date.d.ts","./node_modules/yup/lib/object.d.ts","./node_modules/yup/lib/array.d.ts","./node_modules/yup/lib/util/reach.d.ts","./node_modules/yup/lib/util/isschema.d.ts","./node_modules/yup/lib/setlocale.d.ts","./node_modules/yup/lib/index.d.ts","./node_modules/formik/dist/types.d.ts","./node_modules/formik/dist/formik.d.ts","./node_modules/formik/dist/field.d.ts","./node_modules/formik/dist/form.d.ts","./node_modules/formik/dist/withformik.d.ts","./node_modules/formik/dist/fieldarray.d.ts","./node_modules/formik/dist/utils.d.ts","./node_modules/formik/dist/connect.d.ts","./node_modules/formik/dist/errormessage.d.ts","./node_modules/formik/dist/formikcontext.d.ts","./node_modules/formik/dist/fastfield.d.ts","./node_modules/formik/dist/index.d.ts","./src/utils/errors/getvalidationerrors.ts","./src/hooks/auth/useloginform.ts","./src/hooks/auth/useoauth.ts","./src/containers/dialogs/logindialog/index.tsx","./src/components/auth/oauth/loginsocialregisterbuttons/index.tsx","./src/components/input/toggle/index.tsx","./src/hooks/auth/usesocialregisterform.ts","./src/containers/dialogs/loginsocialregisterdialog/index.tsx","./src/containers/dialogs/loadingdialog/index.tsx","./src/containers/dialogs/testdialog/index.tsx","./src/components/placeholders/placeholder/index.tsx","./src/components/dialogs/tabs/index.tsx","./src/containers/profile/profiletabs/index.tsx","./src/components/profile/profileavatar/index.tsx","./src/hooks/profile/usegetprofile.ts","./src/utils/providers/profileprovider.tsx","./src/constants/uploads/index.ts","./src/api/uploads/types.ts","./src/api/uploads/index.ts","./src/utils/validators.ts","./src/utils/uploader.ts","./src/store/uploader/uploaderstore.ts","./src/hooks/data/useuploader.ts","./src/hooks/auth/usepatchuser.ts","./src/containers/profile/profileinfo/index.tsx","./src/components/containers/coverbackdrop/index.tsx","./src/containers/profile/profileloader/index.tsx","./src/components/profile/profiledescription/index.tsx","./src/components/profile/message/index.tsx","./src/utils/trans.ts","./src/components/node/nodenocomments/index.tsx","./src/api/messages/types.ts","./src/api/messages/index.ts","./src/hooks/messages/usemessages.ts","./src/containers/profile/profilemessages/index.tsx","./src/hooks/dom/useforwardref.ts","./src/components/input/textarea/index.tsx","./src/constants/auth/socials.ts","./src/containers/profile/profileaccounts/index.tsx","./src/hooks/profile/useprofileform.ts","./src/components/profile/profilesettings/index.tsx","./src/containers/dialogs/profiledialog/index.tsx","./src/hooks/auth/userestorerequestform.ts","./src/components/auth/restore/restoresent/index.tsx","./src/containers/dialogs/restorerequestdialog/index.tsx","./src/hooks/auth/userestorecode.ts","./src/components/auth/restore/restoreinvalidcode/index.tsx","./src/components/auth/restore/restoresuccess/index.tsx","./src/hooks/auth/userestorepasswordform.ts","./src/containers/dialogs/restorepassworddialog/index.tsx","./src/containers/dialogs/photoswipe/index.tsx","./src/components/node/nodetextblock/index.tsx","./src/constants/player/index.ts","./src/types/player/index.ts","./src/utils/providers/audioplayerprovider.tsx","./src/components/media/audioplayer/index.tsx","./src/hooks/node/usenodeaudios.ts","./src/components/node/nodeaudioblock/index.tsx","./src/components/node/nodevideoblock/index.tsx","./src/hooks/node/usenodeimages.ts","./src/components/node/nodeaudioimageblock/index.tsx","./node_modules/react-sortable-hoc/types/index.d.ts","./src/utils/fn.ts","./src/components/input/arcprogress/index.tsx","./src/components/upload/imageupload/index.tsx","./src/components/editors/sortableimagegriditem/index.tsx","./src/components/editors/sortableimagegrid/index.tsx","./src/hooks/dom/usewindowsize.ts","./src/components/editors/imagegrid/index.tsx","./src/types/node/index.ts","./node_modules/file-selector/dist/file.d.ts","./node_modules/file-selector/dist/file-selector.d.ts","./node_modules/file-selector/dist/index.d.ts","./node_modules/react-dropzone/typings/react-dropzone.d.ts","./src/components/input/drophereicon/index.tsx","./src/hooks/dom/usedragdetector.tsx","./src/components/upload/uploaddropzone/index.tsx","./src/utils/context/uploadercontextprovider.tsx","./src/components/editors/imageeditor/index.tsx","./src/hooks/node/usenodeformformik.ts","./src/components/editors/texteditor/index.tsx","./src/components/editors/videoeditor/index.tsx","./src/components/upload/audioupload/index.tsx","./src/components/editors/sortableaudiogriditem/index.tsx","./src/components/editors/sortableaudiogrid/index.tsx","./src/components/editors/audiogrid/index.tsx","./src/components/editors/audioeditor/index.tsx","./src/components/editors/editoruploadbutton/index.tsx","./src/components/editors/editorimageuploadbutton/index.tsx","./src/components/editors/editoraudiouploadbutton/index.tsx","./src/components/editors/editoruploadcoverbutton/index.tsx","./src/components/editors/editorfiller/index.tsx","./src/components/editors/editorpublicswitch/index.tsx","./node_modules/swiper/types/components/a11y.d.ts","./node_modules/dom7/dom7.d.ts","./node_modules/swiper/types/shared.d.ts","./node_modules/swiper/types/components/controller.d.ts","./node_modules/swiper/types/components/effect-coverflow.d.ts","./node_modules/swiper/types/components/effect-cube.d.ts","./node_modules/swiper/types/components/effect-fade.d.ts","./node_modules/swiper/types/components/effect-flip.d.ts","./node_modules/swiper/types/components/hash-navigation.d.ts","./node_modules/swiper/types/components/history.d.ts","./node_modules/swiper/types/components/keyboard.d.ts","./node_modules/swiper/types/components/lazy.d.ts","./node_modules/swiper/types/components/mousewheel.d.ts","./node_modules/swiper/types/components/navigation.d.ts","./node_modules/swiper/types/components/pagination.d.ts","./node_modules/swiper/types/components/parallax.d.ts","./node_modules/swiper/types/components/scrollbar.d.ts","./node_modules/swiper/types/components/thumbs.d.ts","./node_modules/swiper/types/components/virtual.d.ts","./node_modules/swiper/types/components/zoom.d.ts","./node_modules/swiper/types/swiper-events.d.ts","./node_modules/swiper/types/swiper-class.d.ts","./node_modules/swiper/types/components/autoplay.d.ts","./node_modules/swiper/types/swiper-options.d.ts","./node_modules/swiper/swiper-react.d.ts","./node_modules/swiper/swiper.d.ts","./src/hooks/dom/useresizehandler.ts","./src/components/media/imagepreloader/index.tsx","./node_modules/color2k/dist/adjusthue.d.ts","./node_modules/color2k/dist/darken.d.ts","./node_modules/color2k/dist/desaturate.d.ts","./node_modules/color2k/dist/getcontrast.d.ts","./node_modules/color2k/dist/getluminance.d.ts","./node_modules/color2k/dist/getscale.d.ts","./node_modules/color2k/dist/guard.d.ts","./node_modules/color2k/dist/hasbadcontrast.d.ts","./node_modules/color2k/dist/hsla.d.ts","./node_modules/color2k/dist/lighten.d.ts","./node_modules/color2k/dist/mix.d.ts","./node_modules/color2k/dist/opacify.d.ts","./node_modules/color2k/dist/parsetohsla.d.ts","./node_modules/color2k/dist/readablecolor.d.ts","./node_modules/color2k/dist/readablecolorisblack.d.ts","./node_modules/color2k/dist/rgba.d.ts","./node_modules/color2k/dist/saturate.d.ts","./node_modules/color2k/dist/transparentize.d.ts","./node_modules/color2k/dist/parsetorgba.d.ts","./node_modules/color2k/dist/colorerror.d.ts","./node_modules/color2k/dist/tohex.d.ts","./node_modules/color2k/dist/torgba.d.ts","./node_modules/color2k/dist/tohsla.d.ts","./node_modules/color2k/dist/index.d.ts","./src/utils/color.ts","./src/hooks/navigation/useimagemodal.ts","./src/components/node/nodeimageswiperblock/index.tsx","./src/hooks/node/usegotonode.ts","./src/components/lab/labnodetitle/index.tsx","./src/components/containers/markdown/index.tsx","./src/components/placeholders/paragraph/index.tsx","./src/components/lab/labtext/index.tsx","./src/components/lab/labimage/index.tsx","./src/components/lab/labpad/index.tsx","./src/components/lab/labdescription/index.tsx","./src/components/lab/labvideo/index.tsx","./src/components/lab/labaudioblock/index.tsx","./src/constants/node/index.ts","./src/components/editors/editoractionspanel/index.tsx","./src/components/editors/editorbuttons/index.tsx","./src/components/editors/editorconfirmclose/index.tsx","./src/containers/dialogs/editordialog/index.tsx","./src/api/node/index.ts","./src/store/flow/useflowstore.ts","./node_modules/swr/infinite/dist/infinite/types.d.ts","./node_modules/swr/infinite/dist/infinite/index.d.ts","./src/types/lab/index.ts","./src/api/lab/index.ts","./src/store/lab/uselabstore.ts","./src/hooks/lab/usegetlabnodes.ts","./src/hooks/node/usecreatenode.ts","./src/containers/dialogs/editorcreatedialog/index.tsx","./src/components/dialogs/modalwrapper/index.tsx","./src/hooks/lab/usegetlabstats.ts","./src/hooks/node/useonnodeseen.ts","./src/hooks/node/useloadnode.ts","./src/hooks/node/useupdatenode.ts","./src/containers/dialogs/editoreditdialog/index.tsx","./src/containers/sidebars/sidebarwrapper/index.tsx","./src/constants/events.ts","./src/utils/user.ts","./src/components/common/square/index.tsx","./src/components/common/avatar/index.tsx","./src/hooks/color/usecolorgradientfromstring.ts","./src/components/node/noderelateditem/index.tsx","./src/components/flow/flowrecentitem/index.tsx","./src/components/sidebar/tagsidebarlist/index.tsx","./src/components/containers/infinitescroll/index.tsx","./src/components/tags/tagwrapper/index.tsx","./src/components/tags/tag/index.tsx","./src/types/tags/index.ts","./src/api/tags/index.ts","./src/hooks/tag/usetagnodes.ts","./src/containers/sidebars/tagsidebar/index.tsx","./src/containers/profile/profilesidebarhead/index.tsx","./src/components/containers/card/index.tsx","./src/containers/sidebars/profilesidebar/index.tsx","./src/constants/modal/index.ts","./src/store/modal/modalstore.tsx","./src/store/lab/labstore.ts","./node_modules/mobx-persist-store/lib/esm2017/clearpersistedstore.d.ts","./node_modules/mobx-persist-store/lib/esm2017/types.d.ts","./node_modules/mobx-persist-store/lib/esm2017/configurepersistable.d.ts","./node_modules/mobx-persist-store/lib/esm2017/getpersistedstore.d.ts","./node_modules/mobx-persist-store/lib/esm2017/hydratestore.d.ts","./node_modules/mobx-persist-store/lib/esm2017/ishydrated.d.ts","./node_modules/mobx-persist-store/lib/esm2017/ispersisting.d.ts","./node_modules/mobx-persist-store/lib/esm2017/persiststore.d.ts","./node_modules/mobx-persist-store/lib/esm2017/makepersistable.d.ts","./node_modules/mobx-persist-store/lib/esm2017/pausepersisting.d.ts","./node_modules/mobx-persist-store/lib/esm2017/persiststoremap.d.ts","./node_modules/mobx-persist-store/lib/esm2017/startpersisting.d.ts","./node_modules/mobx-persist-store/lib/esm2017/stoppersisting.d.ts","./node_modules/mobx-persist-store/lib/esm2017/storageadapter.d.ts","./node_modules/mobx-persist-store/lib/esm2017/index.d.ts","./src/store/auth/authstore.ts","./src/store/index.ts","./src/utils/api/index.ts","./src/api/metadata/types.ts","./src/api/metadata/index.ts","./src/utils/providers/metadataprovider.tsx","./src/hooks/metadata/useyoutubemetadata.ts","./src/components/comment/commentembedblock/index.tsx","./src/constants/comment.ts","./node_modules/@types/marked/index.d.ts","./src/utils/striphtmltags.ts","./src/utils/formattext.ts","./src/utils/splittext.ts","./src/utils/dom.ts","./src/components/main/userbutton/index.tsx","./src/components/containers/authorized/index.tsx","./src/hooks/dom/usescrolltop.ts","./src/hooks/data/usepersistedstate.ts","./src/constants/features.ts","./src/hooks/flow/useflowlayout.ts","./src/hooks/flow/useflowloader.ts","./src/types/flow/index.ts","./src/api/flow/index.ts","./src/hooks/flow/useflowsetcellview.ts","./src/hooks/flow/useflow.ts","./src/hooks/updates/useupdates.ts","./src/containers/main/header/index.tsx","./src/containers/main/mainlayout/index.tsx","./src/sprites/sprites.tsx","./src/containers/dialogs/modal/index.tsx","./src/components/containers/pagecoverprovider/index.tsx","./src/components/bars/playerbar/index.tsx","./src/containers/player/playerview/index.tsx","./src/containers/main/bottomcontainer/index.tsx","./src/components/main/godrays/index.tsx","./src/containers/pages/errornotfound/index.tsx","./src/containers/profile/profilepageleft/index.tsx","./src/containers/main/container/index.tsx","./src/components/flow/cellshade/index.tsx","./src/components/flow/flowcelltext/index.tsx","./src/components/flow/flowcellmenu/index.tsx","./src/hooks/flow/useflowcellcontrols.ts","./src/hooks/dom/useclickoutsidefocus.ts","./src/components/common/menudots/index.tsx","./src/components/flow/flowcellimage/index.tsx","./src/components/flow/flowcell/index.tsx","./src/utils/node.ts","./src/components/flow/flowgrid/index.tsx","./src/components/common/statsrow/index.tsx","./src/components/common/subtitle/index.tsx","./src/containers/profile/profilepagestats/index.tsx","./src/layouts/profilelayout/index.tsx","./src/components/flow/flowrecent/index.tsx","./src/components/flow/flowsearchresults/index.tsx","./src/components/boris/superpower/index.tsx","./src/hooks/search/usesearch.ts","./src/utils/providers/searchprovider.tsx","./src/utils/context/flowcontextprovider.tsx","./src/containers/flow/flowstamp/index.tsx","./src/components/bars/submitbar/index.tsx","./src/containers/main/sidebarrouter/index.tsx","./src/components/flow/flowswiperhero/index.tsx","./src/hooks/dom/useinfiniteloader.ts","./src/layouts/flowlayout/index.tsx","./src/pages/index.tsx","./node_modules/@popperjs/core/lib/enums.d.ts","./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts","./node_modules/@popperjs/core/lib/modifiers/flip.d.ts","./node_modules/@popperjs/core/lib/modifiers/hide.d.ts","./node_modules/@popperjs/core/lib/modifiers/offset.d.ts","./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts","./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts","./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts","./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts","./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts","./node_modules/@popperjs/core/lib/types.d.ts","./node_modules/@popperjs/core/lib/modifiers/index.d.ts","./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts","./node_modules/@popperjs/core/lib/createpopper.d.ts","./node_modules/@popperjs/core/lib/popper-lite.d.ts","./node_modules/@popperjs/core/lib/popper.d.ts","./node_modules/@popperjs/core/lib/index.d.ts","./node_modules/@popperjs/core/index.d.ts","./node_modules/react-popper/typings/react-popper.d.ts","./src/components/comment/commentavatar/index.tsx","./src/components/containers/commentwrapper/index.tsx","./src/hooks/comments/usecommentformformik.ts","./src/components/comment/localcommentformtextarea/index.tsx","./src/components/input/buttongroup/index.tsx","./src/components/comment/commentformattachbuttons/index.tsx","./src/hooks/dom/useformatwrapper.ts","./src/components/comment/commentformformatbuttons/index.tsx","./src/components/comment/commentformattaches/index.tsx","./src/hooks/dom/useinputpasteupload.ts","./src/components/comment/commentform/index.tsx","./src/components/node/nodecommentform/index.tsx","./src/hooks/node/usegrouppedcomments.ts","./src/utils/context/commentcontextprovider.tsx","./node_modules/@types/ramda/es/reduce.d.ts","./src/components/comment/commentmenu/index.tsx","./src/components/comment/commentcontent/index.tsx","./src/components/node/commenddeleted/index.tsx","./src/components/comment/comment/index.tsx","./src/utils/context/usercontextprovider.tsx","./src/utils/context/nodecontextprovider.tsx","./src/containers/node/nodecomments/index.tsx","./src/components/main/footer/index.tsx","./src/containers/boris/boriscomments/index.tsx","./src/components/boris/borissuperpowers/index.tsx","./src/components/boris/boriscontactitem/index.tsx","./src/components/boris/boriscontacts/index.tsx","./src/types/boris/index.ts","./src/components/boris/borisstatsgitcard/index.tsx","./src/components/boris/borisstatsgit/index.tsx","./src/components/boris/borisstatsbackend/index.tsx","./src/components/boris/borisstats/index.tsx","./src/components/boris/borissidebar/index.tsx","./src/components/boris/borisuidemo/index.tsx","./src/hooks/auth/userestorepasswordredirect.ts","./src/hooks/auth/usemessageeventreactions.ts","./src/utils/providers/authprovider.tsx","./node_modules/resize-observer-polyfill/src/index.d.ts","./node_modules/react-sticky-box/index.d.ts","./src/components/containers/sticky/index.tsx","./src/layouts/borislayout/index.tsx","./src/hooks/comments/usegetcomments.ts","./src/hooks/comments/usenodecomments.ts","./src/api/boris/index.ts","./src/constants/boris/constants.ts","./src/hooks/boris/useborisstats.ts","./src/hooks/auth/uselastseenboris.ts","./src/hooks/boris/useboris.ts","./src/pages/boris.tsx","./src/hooks/node/usenodeblocks.ts","./src/components/node/nodedeletedbadge/index.tsx","./node_modules/@types/ramda/es/range.d.ts","./src/components/node/noderelated/placeholder.tsx","./src/components/node/noderelated/index.tsx","./src/components/node/noderelatedblock/index.tsx","./src/components/containers/tagfield/index.tsx","./src/utils/tag.ts","./src/components/tags/tagautocompleterow/index.tsx","./src/components/tags/tagautocomplete/index.tsx","./src/hooks/tag/usetagautocomplete.ts","./src/containers/tags/taginput/index.tsx","./src/containers/tags/tags/index.tsx","./src/components/node/nodetags/index.tsx","./src/utils/context/tagscontextprovider.tsx","./src/components/node/nodetagsblock/index.tsx","./src/constants/user.ts","./src/hooks/auth/useuserdescription.ts","./src/components/node/nodeauthorblock/index.tsx","./src/utils/context/noderelatedcontextprovider.tsx","./src/containers/node/nodebottomblock/index.tsx","./src/components/containers/pagecoverprovider/usepagecover.ts","./src/hooks/node/usenodecoverimage.ts","./src/hooks/node/usenodepermissions.ts","./src/hooks/node/usenodeactions.ts","./src/components/node/nodetitle/index.tsx","./src/hooks/dom/usescrollheight.ts","./src/hooks/dom/usescrolltobottom.ts","./src/components/common/scrollhelperbottom/index.tsx","./src/layouts/nodelayout/index.tsx","./src/hooks/dom/usescrolltotop.ts","./src/hooks/node/usegetnoderelated.ts","./src/hooks/node/usenodetags.ts","./src/utils/providers/noderelatedprovider.tsx","./src/pages/node/[id].tsx","./node_modules/react-masonry-css/index.d.ts","./src/components/lab/labbottompanel/index.tsx","./src/components/lab/labnode/index.tsx","./src/utils/context/labcontextprovider.tsx","./src/containers/lab/labgrid/index.tsx","./src/components/lab/labheaditem/index.tsx","./src/components/lab/labhead/index.tsx","./src/components/lab/labsquare/index.tsx","./src/components/lab/labbanner/index.tsx","./src/components/lab/labtags/index.tsx","./src/components/lab/labhero/index.tsx","./src/components/lab/labheroes/index.tsx","./src/containers/lab/labstats/index.tsx","./src/layouts/lablayout/index.tsx","./src/hooks/lab/uselab.ts","./src/utils/providers/labprovider.tsx","./src/pages/lab.tsx","./src/containers/main/mainrouter/index.tsx","./src/utils/providers/swrconfigprovider.tsx","./src/utils/dom/hideloader.ts","./src/hooks/dom/usegloballoader.ts","./src/utils/providers/toastprovider.tsx","./src/containers/app.tsx","./src/index.tsx","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/ts3.6/base.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/base.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/react-scripts/lib/react-app.d.ts","./src/react-app-env.d.ts","./node_modules/web-vitals/dist/types.d.ts","./node_modules/web-vitals/dist/getcls.d.ts","./node_modules/web-vitals/dist/getfcp.d.ts","./node_modules/web-vitals/dist/getfid.d.ts","./node_modules/web-vitals/dist/getlcp.d.ts","./node_modules/web-vitals/dist/getttfb.d.ts","./node_modules/web-vitals/dist/index.d.ts","./src/reportwebvitals.js","./node_modules/jest-diff/build/cleanupsemantic.d.ts","./node_modules/pretty-format/build/types.d.ts","./node_modules/pretty-format/build/index.d.ts","./node_modules/jest-diff/build/types.d.ts","./node_modules/jest-diff/build/difflines.d.ts","./node_modules/jest-diff/build/printdiffs.d.ts","./node_modules/jest-diff/build/index.d.ts","./node_modules/@types/jest/index.d.ts","./node_modules/@types/testing-library__jest-dom/index.d.ts","./src/setuptests.js","./src/components/containers/blurwrapper/index.tsx","./src/components/containers/cellgrid/index.tsx","./src/components/containers/panel/index.tsx","./src/components/flow/flowcellimagelazyload/index.tsx","./src/components/flow/heroplaceholder/index.tsx","./src/components/input/info/index.tsx","./src/components/lab/labline/index.tsx","./src/components/main/sidepane/index.tsx","./src/components/node/menubutton/index.tsx","./src/components/node/nodeimageblockplaceholder/index.tsx","./src/components/node/nodetagsplaceholder/index.tsx","./src/components/notifications/notificationmessage/index.tsx","./src/components/notifications/notificationbubble/index.tsx","./src/components/profile/profileaccountserror/index.tsx","./src/components/profile/profilesidebarmenu/index.tsx","./src/components/profile/profilesidebarsettings/index.tsx","./src/constants/texts.ts","./src/hooks/color/usecolorfromstring.ts","./src/hooks/dom/usepoppermodifiers.ts","./src/pages/_app.tsx","./src/utils/date.ts","./node_modules/@types/aria-query/index.d.ts","./node_modules/@babel/types/lib/index.d.ts","./node_modules/@types/babel__generator/index.d.ts","./node_modules/@babel/parser/typings/babel-parser.d.ts","./node_modules/@types/babel__template/index.d.ts","./node_modules/@types/babel__traverse/index.d.ts","./node_modules/@types/babel__core/index.d.ts","./node_modules/@types/connect/index.d.ts","./node_modules/@types/body-parser/index.d.ts","./node_modules/@types/bonjour/index.d.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/connect-history-api-fallback/index.d.ts","./node_modules/@types/eslint/helpers.d.ts","./node_modules/@types/eslint/lib/rules/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/eslint/index.d.ts","./node_modules/@types/eslint-scope/node_modules/@types/eslint/helpers.d.ts","./node_modules/@types/eslint-scope/node_modules/@types/eslint/index.d.ts","./node_modules/@types/eslint-scope/index.d.ts","./node_modules/@types/mime/index.d.ts","./node_modules/@types/serve-static/index.d.ts","./node_modules/@types/express/index.d.ts","./node_modules/@types/graceful-fs/index.d.ts","./node_modules/@types/html-minifier-terser/index.d.ts","./node_modules/@types/http-proxy/index.d.ts","./node_modules/@types/istanbul-lib-coverage/index.d.ts","./node_modules/@types/istanbul-lib-report/index.d.ts","./node_modules/@types/istanbul-reports/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/lodash/common/common.d.ts","./node_modules/@types/lodash/common/array.d.ts","./node_modules/@types/lodash/common/collection.d.ts","./node_modules/@types/lodash/common/date.d.ts","./node_modules/@types/lodash/common/function.d.ts","./node_modules/@types/lodash/common/lang.d.ts","./node_modules/@types/lodash/common/math.d.ts","./node_modules/@types/lodash/common/number.d.ts","./node_modules/@types/lodash/common/object.d.ts","./node_modules/@types/lodash/common/seq.d.ts","./node_modules/@types/lodash/common/string.d.ts","./node_modules/@types/lodash/common/util.d.ts","./node_modules/@types/lodash/index.d.ts","./node_modules/@types/parse-json/index.d.ts","./node_modules/@types/prettier/index.d.ts","./node_modules/@types/q/index.d.ts","./node_modules/@types/resolve/index.d.ts","./node_modules/@types/retry/index.d.ts","./node_modules/@types/scheduler/index.d.ts","./node_modules/@types/serve-index/index.d.ts","./node_modules/@types/sockjs/index.d.ts","./node_modules/@types/stack-utils/index.d.ts","./node_modules/@types/throttle-debounce/index.d.ts","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","./node_modules/@types/ws/index.d.ts","./node_modules/@types/yargs-parser/index.d.ts","./node_modules/@types/yargs/index.d.ts","./node_modules/@types/yup/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"927cb2b60048e1395b183bf74b2b80a75bdb1dbe384e1d9fac654313ea2fb136","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"1bc82f5b3bb93df76d19730c84467b0b346187198537135d63a672956f323720","affectsGlobalScope":true},{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true},"2bcecd31f1b4281710c666843fc55133a0ee25b143e59f35f49c62e168123f4b","a6273756fa05f794b64fe1aff45f4371d444f51ed0257f9364a8b25f3501915d","2374e4ddc628bd0af8ce7578621f1b9d08ab183f4dbacb8749eabb1a85018196","25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","ab35d08aa06a7615f06dad04db7e88f27d623220f05de68a94f16d5d22e6aaea","6c362c5d50652957065cf52f282a2bf0a456ed3713738d0ee1a9089dbb5b5fe7","8017277c3843df85296d8730f9edf097d68d7d5f9bc9d8124fcacf17ecfd487e","56624847a800eafd203b8175efa4db7411b2da41776e411f65ed518a96cb1d75","d153cbce75b7e1621eda0a4148748f44edd71ff44cc5351bac1c7787da4d5b05","84a90a3360d0115a3ce7936dadd777783a8daed38d93ff75cb2cb0295cb94b3c","6c0f5c6298ceb54c2cc595a9a9e1427f8d9528a560287ff1e877c0a2b47656cc","8aa5999010fa866c2dc36801b62c6ee73060a2e2179d5f3bc55216ce41f04499","e185eeee64c4c9081c6f18c4a8d3ba1b4761f21ec883b12102bcc34acbc85c5d","9b319a2d5a3d6b2ffd6da72b43dba4ab94db247174a3764ed7453a60bddc9425","4f76200a2dad49845595cd6fb97868268bfc6ef941ee075f4b8fd94862914194",{"version":"fff697b90126bd057f5c4607e2b2168c92884843070ae44789fb96f3547b6d69","affectsGlobalScope":true},"93b6f8cbbb6a7dda93f53607fbd42b157fe42c96ff718e497b06ca753d4441f7","bd8b510e7bfb3213dc452bf2a908e8294f426c8f5f9df7192b5e1550cb6da9d4","1ea93ab35ea19f6de26a3ec50840fd534bf208d0f4a2495279dc0179d588b6ed","309826fb90e96f68a9939d92fdbf9393b9d18733ccfa4a963da9978ff268806f","49394fe30d9307ed1c8d9d67cf69db5dbe8b35aa29ade82e026c931f9f404e6e","73fe4998dba383f58722252eb0b246d959db053776b55bad502cc115c622135d","d7d30b8dd034700d1f5663d8b96fe9cdae48e3aa2598468b12b441fbc3d89f5e","a512f8124150bd56ba32ddb6b0adff063f02d09f4a7519231a9d8cf97df19e97","3c75e3d745d33073a483d76562fb1b102dd9225f00426a8d69704856feba1362","6d6a482bf0d024ca0f57d75d61606aa49652d8f29304795786d9c23ac608128e","6f2f8cc1724f05953ef1df2e1774e521ece10ae324d391a8c0efc035179ebb95","263eaf1f1e89c6263dbf6b9892e3ea3d77665d725683dc08eeedc4b61e09cc59","7e95d4834363917ba5e2dca18ea80e703448067946c57e82aac1c69ae185baac","599ce871c7a18ee4616c6284ac907baf153c7f6ef0632a7e03db235f5eefd151","9cd6f8128f903287f46e6945e908eda8d11ca69477d0fef4fb0c944aee3b0638","c87347c4ca603ee8c1d54428f7a2d8feb25798e7e75d0c9c6408221623976006","94406b1bb2878faf8f7360836b47fa01f8615d63dd082c3d378b5bea38c72e46","c0c6c867f97808b94c276de8765176a36e2d3fce2e5f8a0c488fdc176deb471b","57d00290bdda99d710691adfb4aa9695671f81597ec04fec7a0620edbfdb9951","6636f284f5936f0a7f3f795d80b9503339ddfc8c0743aa4627d01e2535c76614","a9647ddc29379dba0244273f6eeaf3bc72abb60262b53e6f0394da10cda310b2","319b8c892a8f44d5d450fee21ee837ef9e43d2b5666b3445cb584d3b68b4e60e","b8f90270b812d7ac90e5faaec44775318b8d446fb4a12dad6e33e9dd0869be2c","f3d9cd36079fb7387dd5dca7f3eb5246e8011810ac255455eaae4aefeb692376","d3388f376ea8e565fca3e1ffc269a8cd338b22bd0b445e0cd266e1fa1c506eb7","4a79336f173675521e6fe58979a179dd9c30df411396ea864392f77283165831","ab3acba8585473553c8f2405f3e3edc25c75349902aff39492f9c5b2b1e0d446","657f9777372bf92a55617079159138cb3919351a6d90fb71a5a0654b0974aff2","1490d95db6d9d4384da602efea5ce59b5b006a15b4624c67509be0b77b448960","f67d82c323b504787a9e47aa6edc147c17427712712ae95e77b64c51db388851","46c84534e9b398ba712324c2b8ae703e53641c8f2fa840d0ccd16e2be530099f","33911775cf46db76ec1bc35987bad51d3cb3d91dabd1543547226110c8f70014","3f1552379dfa6257deb6c6ef0eebbb187d1cc8075234d9b8d420f775397ef54c","7f9fe820d81bda269cc391612512d2ba6cce48b0a4299c481cf1cf840a3930a3","d3f61509dd64781c99419d992b8b065996f6102d680a1969eca9cf80cfa5fd48","759e18015145eba06f5312e1cf6622c1825965c33fef893f781215536d770283","937baf88376f0f862f0a0da4b543f87d00d642c9aa79a7e9d2670b5c39e4ce61","162b513ac5935f6b83df4b5f39716b828ced941feafd5965ab451204e3ed5b2e","3706c2b33bc46a79a5f7c8857bde62df6270971c71601511a140aadb841541e4","ac21ee13578d1526a19999fdb4462ab2bad99f89fe19622ca67ae88e8cfb8067","a89d3931e93d73f274bde0df7aba0bcdecfa7cf910f7bb1b7b032d0b97859a8f","e1f7ac538786250f6654e316c8365fbcb6263295269924889b8857d3c3cf0ca9","db7b6042637d186d3363793d0fbb3d0e373d0deeac3da65443c261d4bc46b029","d7f641689a018709dde4aa233b6a79cb0250454c043cdac6749583381d23de43","a2c383ca13a0cb5b302e132c0fc4ee5c7a90b7f04169ea3e6e46810196eb2ffa","f1fd23642a5249407f88d948f3959e6a76b43bcfed8500e9a92d1f05ab19c957","7816fffa1ebead1693fedd8788e9f6910d5f0024686b124f97881a78690a7342","741b6af2eaf3686af0936b8f53382a7c5af131aa7e4d8b503442b0245ff8d559","9e16f42d87316c488d39bdf474867f335d984fbf881a34bd63ed66ed005f162f","e75a673734b3bcc7d9801f6d388097985dc682a2c8a7b1ec2e888c2549b1ba5f","eef96bb822e37110e957309887463672d202340f60285e0cbe61789ab0f87dc0","7e890659a6a793813ae1c5df120448c8405bc5c33214f770c6d644408d973e3e","5637415c44e82d20fa677a87a2528a66ec5522397c1b6f6e4ad2f7fa777bd63e","4955d78c2f85736fa15d74e28b98c24aff034506f64c91bb54ca6723060888c2","a159c966585bef317df776d0b2db3268f84c80184c6ae20e44041bc2ed6841c6","20482822253c430693460999ad60407c0558c0df408d7c0b802671abfb6f5b2a","842fa58922dbc2cbfea65f9ea66130c9f6682ccb10ee6f1290fc5a29577934b6","ce4e6fc4ab991308242285abf1a10523966469b2bbe57085adebc0abe8036b07","9df147746b0cbd11d022b564e6fdd43ac79b643dc579d2123317ee01cc4f0d70","428ae850f44acda5f85872e12dccee4509985e4c82bd7abd659cf0863e88f569","e991c93e2b0594f22624ebe5db612cab7ab0a89f5959731fa3e17e2a1b13a710","2fcd58e9034875b6ab9523fab0a37a53ba9848976b60b16139e573013a7641d9","bf95ea0c7407a3623f3386c3880e8711e47de624f380315cc0a427c7c7d87d88","f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6","1db6a435c0cfb936944372b5f9484faa0f3476470b9b23e60cd9c7b8fdd5a132","20423b338529dc6c08091a31dfd4c8eb59c43618add12be380bc5c2c1defdefa","7d65c493205d227b3060528a3a20dd206de8d0a898900283a21af05ae507a00d","5ebc553ddec8b782a007d18a2b42fdc7085b59561237809c84ec27d05edf49b8","c1fc7bc6a2c8ed40e9d17abba1c515923a7d860916611171b1f78019e4c75ec5","422a1362edb2bc4d89d0a7e4e6ca1e8962e27c0654204bee570de2c3acb77714","cb788c56ae792e38fcc86b80c835754eb5f95f0bc5a3a78e471638c373608fdb","ab12531c4382661ecb6922afe83b2a2d149abe7e673f852f3ab3cf277c455bdb","960e9a6f3844831c0b827ad4c116c1d5ae2eb4ee6a364f55650ecf0f4b358254","41003a0471701f454ce62b878ab8235285641917da7ada6226baf62aa79c1284","3154a026075044aa102298fe9e6a7a14aaa26a06270680c7478a1765af8ffb09",{"version":"3381d524b19212e3ec7fd6ad63ff622f797c73b581e5060d9d6c27c18cad9ff7","signature":"1dc63d81e364f9e82d43e0b213abca0b3fa9f04e5cee457a5e5aa5acff5ad25d"},{"version":"ad1d363b83c1e07563bf45c2eca6935975d0dc24ea818d3d3e08f65d456c41e7","signature":"2d642c669b626690f0500aeb9707eb8580923d88afbd69b4ab14ae1e9a5d5ae2"},"0d45b64890b1c874310602200815647d1927a84a94e2c93b0c859b031b961757","4e15823d609725117e596764ca12a01eadc0ef1b1df6e019f2681075dd1dc796","fa6e0d2495a8d7a7a1fd19ce0455499ca3dd1cb0e4bc11a5e8c4d2c87715e24c","fe23217d7f4e544680b94e777bdcc9717333a0e6d0ff9e081fdc1bc26595c32c","30412ddb3dddef157db8640be4ebcdc88cf3ab0112ca24c27a981904ece35dfb","0864b33e843d2f70c4c6e397d646ab6c388b8617fb497c125b1ca09f4c40268c","1873db8f2261ba4f248bde3e5bb4c79b1fdc990315054e9604fce8f41ddd1587","2e2a1498b922e4ca9766ef41210a96c3f9da90dbaa31af3293d172e886e51df5","b2b40fb90a52f978e864e0001a2595a9cf9a39025b1c3fac1c0228ae1389d2f6","79b17806e5b9775a83ad414951789ec220568f6b30a502ffd8bf239c7f8583fc","841a454d699608beb5751e26fa107554a1a5ecceefb2936c70c36647bce38530","b86d676381823d4640b1ea4a1477a7df579d973f4b48dedeb662daffb9b83850","7da1fab0c34b644ad844c5614145538792f944237b451d236fa1bc90c48431e1","24efd6ee440fbe940c8a80c6c415eb8ff3080473d49216aef96debf31bef7f88","5a7f6dd34c56d7ebd764c16e1087aec973963f27cd3125dbd4a90e0cc4faabb5","09f3c9ff15608c9e87082cf6b6ebbda2414c21b259e2c32f2d1b0a5aebd49df1","ff35db4076782b372aca4f595481e2021d212edf843cc92068fd173bb3f6739c","601c2a154a7605275c0328f1c55b180ec9c4026b8545f828dae47ace010127ba","265388ca25f6568a563e749ce6458e78d8a8d68063afab6ba1f15795cbc6b4f9","55f57d268167807a5fbcac4c6827ee7c16357e723051d66a5805c087fbb61d2f","11b253fb67fd48ea57e46f7bffc889403eb641bfc585a101e1e225cca57c4956","8190df4fd5d17b784f57b19f355d6e3272a234d589532854a1b6e2bd75f1f812","3a1e72dc1f0c1435b19a35159fc0a67d9893b282f5ebf3ec282abee8b584f2e2","417e6f7a6942cbe58f1fbe2698a6536eb3e494432aa7b79fb9ccb38910531769","632018a3d35fc5565d6f1823142dffb840c71ba0994db73d0a022abf8d322b00","b31535ced1ad5abee25063448352c2fd7cdfb48dce94746553cc6321f2e824a5","2b511c56ee1dcc3274083b636bd0de3e01450fababebed37541d88905a23fa97","fdd339734a8fecc64523859f7b343d9aa112b9dd95912c96c84cee760b82fcbd","4e39971f83a72cf1fb8047e1c23f4a26200a347a76f84b316edf2fd618e1fcac","eb2a5d2fe46311cef7dbab64fd0b4b22ae1c6d218224ca05988c67c3e36f899c","962158b3fb6c7c1f52058c73841a84ae4366dc64130e44bb65037cdcad05d64e","7ed50d2155de4911a197d5a6d696af6f45e11068275d8a7f632d47a58908a926","0204a6b8266381f2a1212eac487febd19f025f02799aa599f7b1781dbd2d11d5","d5b69265bbbe9444f59a7da910cc57d80558a286014c911ceada39259ded927d","f69b817dd04ef28cd105d341ffb1437218360ac06097a8025ecffd5ca938021d","25a0e411f2b9dedfa8a2f140f37cb7479f8186dc90dbbba727a34e01371054cc","28658359feeee84fc9040b3fe034e031611d2dd26c7b7257f623a3fb9b55c185","fd92849272e08b6f2fe3b6d75d37e4bd92c378e455b9421a92c2f28097a70aa3","f045fd129077d2d7d93674f637b61b90d6eea1388a938beb3272f790b1132a12","83c7f7373c2a83025c08cbe7f63253aea7fd557a66975931a98b1f41f5369073","01fe8b63a2adea6020179fbdae49b35760a7c3c68d36e5eb5b2955240f3735d3","5870a2ffb9701ed51b97ae79fa3e34e19b4bfeafb453c86883aa4f49b302af99","74ba7cf0a2736cb7eac4751ff5807bccf7415df71c16c2991a76ad46c32a448f","f14b741afb9e8b36cb01096f1c0c7bb05d8e6087e358339c791bc734c9ca5659","c7fe4adc5fa028ac7d8dfa6e18d28b56cff2f7cc228cf92c8ca76a661e41617f","35a28f2931153d00e323df55ca90e8535b72dd080b78f442074391079d27ddcd","a0db2cc92efefda69c05cd3f82caabb1d5831e4369f3d77ca78759346869024a","5dc30fed99ac31efb6b1b71a775d3b800deb5201b72a844354d52f4fbce07a63","19ea9b3489d9207c40b923f2c8be7a36aa3174fe07d692fb82d973af1b02a413","e49eb9323fc293d46934bc9a5ac6a4fa2daaeed30c4ca4ba5041272177d6d6a9","b27e8679c00b664f4af844b24b026d2fc4d2a0030b79d53d1609c8acf41d0116","be33e3d0aa1847fc350c51cfcf47ed7a5a1c8083312c385e24a5d189ee37fc05","08955a210c63ab8cd7e27028403a54760dcf9010b401946664627acc8d14cd4c","0baf3b364a794c5d00e97fdfa6da7298ce3533cbf4c7b0b3d831f85936d75aef","6c9bb2e6a6bbd1f2a97d23ffa80f9b583f6883a92e670e6f02ebe20234e2509a","0a93a88c97b04ae8f7e5260b18b369241ab292032d7622afa7a914cc07eba3ee","09b369e0621728733772ab1277891812cbfc71f0a0e520c21b55c3bdf4e94464","d0c3475089ca6e0e4db3b6f2f07e613c6ce44fe48dac112c8b4e13953a8b13ba","161e73719adcf55a378341b87611b146ff76b96c53c228ad0c9e48c876bcbf40","024d77dfe9faa588e031051d5cc667bdc77ff521f84ee0d39186140fa1704149","c95f7fc243bd30b30ce21fa0712a198f5d24c86d5fbdb43dc6563942141b67a0","b17a560a212278c7637d389caeddea89a382e03abfe62606be49a1baedaf8dfc","fabf8c56ae89c20931cdb1b73ce6f616d0278dd6cfc307989f1da0dfb8f55825","0d0e527597ed839aa40470e76d74986bc7efa845b0d518c1f16efc2bb05b11cc","a2d9d943eef68669e7718cd1de4f27dd25415265518dd5da5402666119a75a88","e3bd4f7fca64f279413d04eb09ac103b5f2881f6c57588d81413a217ffc9398b","446f332f928d0dce38a3fdbcadca1736bd0cd803cfd922c91c230d9f0015914c","a7f33b03586f5c94752d25c5d21487eb5561cd420bc983bc9f697bbdbef57509","08a80c8e6621da115605805b13ed0ffd38fb93f9ac4e38f10263c21deda53e2c","9f52a7a1692f4728eed184232c433e2d02873c395a45166c81b143c41a091000","4f827fe2ab5958e2196213d5f4503391ca2d57e4f3a4d5193821abb83eaf6f6f","57366c8ef1c5f0ece5bbd3378cce12f69f082c10433908b7fb467d3b2b923d6a","511401f94123d90d1b40b0e4bb43e4cc4fcf30ae639c77f77de89e56b51bde6b","f1dfe31d916ca12605fa8321c4b0017343da60a44c38f77e0a085aec3fff6596","f37c80beefc29b419d2c629d70f59d07de44633b29bbb83e4268766767c8743a","7cd98b229fc1468f5db89d2ddc984bebe04e4e913b2f1abe2e69897b422a04ef","6613ed5787bdeed3011f1269e777ef42ff14ea8cc4cd60289488f69116c57a17","312b897b37ef2fc79c0634417f46bba8fa051f68be5764d0ac84320489ad997c","2d04c96dd0c33b806a21d604e91a8f666072d8e2dd7fdbbce497c687be6f3448","b803e9235eeb9a25ff002cf0d5054d6753fae8604f192e91c67e2ae5ccf687b0","b4a5148ced5c12fbfe664336227432e7b01ee01f3796cd618b43048e359e238b","7e69a587e3a0d23523c637ca5849e01fdd7fbfd4c932a333c111dcf8125338b0","c53024fb4333f518e8273211f6bde7a7886f76679a3209bfbb74c655c5b5ebb2","8711e8a21637875da5e2281f048faaa9d3fd85ef52e2b5718693ae7e1dc7d4d5","7e72c7e8c38f4b575f0590e515397ae3307f7a30b6e5e71f4ed6d06318ea95fd","24ebb10f9125e6ef073f94499ababd9180503e9602d99b1a83a2fea21527f957","e35bd7609617445aea6d4a2c8e73b8f0a2f36fc0a0d5a64beb97b69375b70840","3071c9aaf48e52d4347ea4ed89ded3338b406f0989af095fa921977fbbaa04b9","88cccbe3968d479c94f499c8a1c76c7bd62ad447c76fe461db75265df869c63d","42e4d91038f5868648dd41caf0db8818a5c6cd1645060a9eb374a06be618d9ba","c2ba6dfad478f2b81ef61dd345c7f1a8ac7f724ab7193d3d667df2fd73bd570e","3bc6dd4e9fe47fb051328100a5368bc21aab7bebab8b57548b1d2260c56c7c9d","506f5c0050c0c1c3aefbc96e3729223e928a02398830e6fc751db6ea1b0d4234","2850e4dcfcb81e86eeb90b18fe5921b2dcdeac1cafca86c5b4b3d8dae8d5d9d9","4a3ca765197a308ac3585564ea892659ac1f2c39023632a158fee7f744804ddb","b5292d972f477e5276d7031a8ef89982ffa72209655af1f128ef4214e2c4c6b0","6f677f2fed771e65f1b1437ad95413a053e9e743d9824085bf69fb3264302f96","c5bc389eed541ccaa1713c1b284b7f2932ea455d4b5c40a032c0d62d0919a547","c2a8275ac33d3210656115a5cd58855c0cf7b7551b82e8e4e6a928cc9d7ad62f","b42f5a9487644fce58951272ac9990c0ad65ee42c35f10458aa04ac6d0346426","806a5d9410619c04d9bd1c6a386de55b1b1c316246241fab73f5d583484fe96b","836253d3c7b349f98e72a60c43e538dff8cb45474ed518550710062846f39379","eb00279b1d50af7363f7c1b51b04a53f471c1a3850baf4a1f996d6df20431d90","d0998801e69a37fcd69e6ea3eb082017cda6dd9b8235489e19c6b2e48bac091a","8f20492afb1031e650d9aea6964de850fca31cf122b7032c306fb7d22d2a6079","4866bad001d98bc629d87493bde82f671ea9c94e434afae173cc428bff20c203","c1a976ceba09a65e732ed307c17ec676be3c07faf90f55147795bb61a1cd123d","5521d8a3cb99bd9488ec8c57ea82f2276a3a6ad555492dda5358deaef9550e3c","47c7d90d94e660f8853460fed8550dac3ec6e9386a4903cc7ae6a6188680297d","4e9809f3139b75648f3012a3802c6813c4a8061426e3ecc14d96112429eea681","627d8f6c604e558fd2dffa2db62e8c67c0719f69400c5b42c33446cde3577b61","68d9b8a8511c9a24ad0fa7912fd09e1c21f68ff37f5cf20790607127b7659e28","b95cf2b1164c26db0c5efbceeed016f3859a695d87aebfdd46af06056b49e6f8","c35f91b706b64273a866cf8485a450d6d9288dddc6d62948010f76e825ff829c","8f10b40144398de7dc749e7d982753b3c97ac59302474f0eb81583040368211d","1990ca20e24caa55b2a34b266b51edee12d47fbed392f8983a6c8cebeb9b9936","4be7b83950048a73eb510f96755e3b79248cf017958bae609539dfbbd5d235f3","724b09dd0cbd4d46f6b6c560ca567c21bd4d773ff027879d96e5b69b87608641","81accdca503dbdbc57732e4b07aeea40cfc77610aba321c4ff0902ccf0d4aa49","f5c864a4ad13486192e8cfc646d602a4cb4df2a36de8a30d7ebcf95206ac96f9","cbeade7134b6fb295d42ca07797b137ced7217968f4e78f65c11183f68ddbe8d","20059de5bd606ce1419033bc434af44352a9844d19200735f0cfb1a4da2cdbc3","2fb537f3fec3b1d57f16185953bf68b23bcda2777d7df4b5e2fcd3f4babb4b2c","7a6bee3315490d1993b62e4958275958748acbfd68595cce26110487600ce578","bccb4b6f916953c30cc80e1897d78b23d78db2db64a363d37892cf131206dcb8","c766754d40e5ecb22fc6acc3943567a0aaeb2066ccea49803bd28cb1423bf4af","8459a7dcac69dffda1a50c08fbf56b103bd8d820a5adc10bc948792062141836","35459fbf7b2e33d3025fff12cb8685980b7335237aadd8ebc30c815a3fbf8037","b21b4232066f0cceed3cb4a1ce2d2397b63330bc010c013859d3d7811e0575fc","01a7793a29b132833763991fb884da7d91d4cda16ff6a35ea9c43408ad955636","1a1684fb0c14a5eac7653a01c712c67f7a00f58ab72294508f5756827a86441e","9130782679587834f8d467a2363226a33de64814d1193f29c6d6fadc3a87f93c","20b390fb41ae80cfed22abf3132a41ee3acc366cbb8fce3f6868d9359392a084","acb67d6de128b971b989096cff9ef8da35838df6e53d1692b9066157548241cd","b43ec172f567ee7cc2edfcf74463eca112e08add528169daf21ae5dce167a293","6e15430b3ec6056d390ee5834629034339d6ea12476265bbfa8ad3901ed37eb6","4e410ad6f01e9fde14fee905c1d66055840dc786ab9e73e3ef8ac787feb7ba06","27050ce99961c3a18c65929b23db5cd33361a3f071be40b19724020b68e8e2bf","a021581e65523aef7e4a930c6a7fb2c5cdbc336dfc3ca8247790a262e835d713","082d003801f73dbf3f105075ed962d383094a7a8da0004190d784722e7539922","6f1e8d268825a1399de54eaf3c87396f5b553690c86dcc1edc9cee7c31a87ddf","68807bb290801c11cfd6ac063ddbcc9b52c4eb17a4a6394ca21a3363b171e134","0eb783af745032abb476b185977411531366a3487c7e6f85476851ca1c3eed4c","9b010aa36758d7eefa18854763785e2548eaa0f9769ef30555bcb4491633c991","1870760529fdca5bc671c72dac1c08df793ee26b6423eeee8e2f6565c30c4614","0111e6e63c1552cba5185f467abb47c3b97f660ea703589e17628ea0bcd36cea","992ea3a935587f67f0f00c5bf4037ef436da22c571b6bd20d42f617156b43bc6","ff5454902fafbbe14043a4c517d52ecfc7da385f709aadaacd6fa1fe4fbfa0bc","aa85b4590e713a4580ad38cad47869ee738bf182ca92db970adaf9298cfff7d2","0c85f19fc30642ea6e6950da9bf426d8bdcbc29eb5feb45334a4fe162f1451ab","d88d4b8cff0142e024c21e7865a58b27e283a109614c7928ba206d18ee39a194","9ec5f9a5fe7f7d99e1a04b0f2a37fe7fb2b42e0c832328208c872efe86abe02f","1d53b98311ceccacf425da95d0de65a19a34ff341a45b6fa2a0c696dee232ce5","e2fe6e6b6153126a210be06dd0818f416280f4eb2409ef67d70dd75066b7def7","bde0ece7f903a5de0c863951bb5a1e14c2e461945410d8ac26d541371f03fa97","e6f2953d71eef7d49e2d291dd89825eafac81abeea0e621667a3e4db13b756ce","580819debdee9d7263043e9b29994b9eabcb132b45dc62f52e131385941873f4","401da46338f5b4f97c2a5f8a0faaace045c51aabd751d2dc704159f64feafe89","1841a3816c8cbc9af25232402e8f1796538341521b5cdd6130a89174d9206d66","dd07c91c0d11cbd4d84cfda913977d5076571550796f757b65c83335ffebfefb","36adc94d6ce5f3c1d3e3f8639f15f8a10c1b9298d3a8f381387a047745f0f8fd","68c45afb5b30a55096709b8e0e7594981cb19979f1dcd5082f99a6e81bbe3f20","7e9206541880ce1aec36d1c01f3d7f027bec06f4f96bfdc438591a8b87d95941","85b76d42191e8648cf187f11afe55721ff915a9b066c16f33c54449cb6ad4a33","dfd9b8d943ee22319115b149d0110e902953711540528c3e1b4b30e6057f276f","a9befb25919c008076d1b67927488ebfd8adf6976110a5f2aebf1dbcd2ee36b7","17155e5c274b588bdafacc634923ae5adda4b44f85124cc983696baf448c631e","546daa81c4f1598813a0d264d0b83abd6918bf035438cbc8aacf5a6036e3c824","a0e5f72c445cb263f9a0149b2afd692eea881b9e515ac65f11fda6c2cf5f188d","f62bd97273b9d9778020d18ebfac595e5542af46cb498e64076b36aef17199db","f7c61192dc5880c706ed0ac0163307381c993cf8995c4691e1d31132649c4acd","fc9e07c6f92db41df57b9fcc1ef9ac906ffe3cd49e46a0a5e5cace0db4139eac","d5428334d4e17487e3556227b99bf101f08abab38d80a37bf0555406d1b33b60","b21c62b76a7807b87d99d6a09cb28d77f984b795b9679f7cfea58c00eeee7519","082b7ff0f10201b8fa54e4dfa25f1f4121799c5c89d6e05f9aa916b30c2b6639","bd21cb72f54f7d51a7f83dca3376202cc7bafd68eb8c847823620334943dc2e3","348561b6625c5155367007636ee1fe71f0211f4a94c05525c584abad037e9d43","6e700336d517813b8efea204589f0b3dfcc3703d4ab9eb8676369aa614b66d99","84e0f838b9a5d0587a6f72b415a46e94885f0f6bc1789c957312e7d1e72f1e64","ad117b97b2eb65daeeabf0adb13573a8f1d12d5ce21c312eb7eb588106b92560","82adc2c43717a2e717c7332ebffd9f308f472211bb71070b7e9a27b6745ba068","d9c59ccb78167eb9d90112b19b05eee52a7f268e229df2569b556594f406a572","bd4cc6724d2092b08e48ee967e9dcb0f1f21132f41e96f9a6e01293f0004621c","d2a32b1c9e3cfbceb0107710704602ea3003d2b27cd337fd22009dc838e02413","24d1e5df3991bdbd57f9fb28ecd812d75111c0936ff1ebd5745780fbdf9476d5","f8950e45e7ecd995228300925f97361e9eda95051838da237f2943c0ff6249d6","47ece250ae0a7255e9679ed259e50cc63252b1c95252fc6ca14fa60c5347f747","2914f7eb45e9d77cab9623dceccb395037c2e3b1a6000b83452aa60425e3540e","a47f07b2fe6688c8d33e91d744cfa113d32385700febb24402ecdc2d83202b2c","18afadb2092928b54a4f8500a375d7033a0be9e6353bb0a3779f9408a87bc0a5","1996d2efeaa04bb008e876eb81cf9c6ffcaff31b885ea2ec2676c5fa7ef17f28","c8ed23a0c74adb2d571c3ed74767645942b8d76f88567bb452366f10b75fe6f3","8cdbd5f9b0a7db1aa1a0e851aeb897d8f2202e8ab4da19454f30042809343464","af51cdc4aac8d3d3ef578d092edb86ff7a240a50ae4dd0b843667fb7a23363e6","688b674a7221e60d88af0748db146de5230b04a54a88f37f9b77cda1fd19577e","72c8df01d74d6a357d7cd4ccce9c5ce2ac9fbb7f037b3a494e101d69f45231ea","bc7c1deb8dec6c530cc893ea01e0413367fb5d4d16d5ec2ded22e394a5468e42","2c1ac410dc6b2ba10e5efac432034433249052564022cdf4b124935d3ab7bfe6","25d5b90743449294a01d91b3763a58709a22280ad37f374e7c0dae9d8ec472c2","9abb140301d12e7b47e31839079b56377b5fb61c7215298411b017ea2c04a6d4","311d1168505b954f7c107b044207104543074fc863c5e53fc90c7b4eb5e4fc28","13e651f26894ae5dd6c1784eccb5569d31ffdc9ef7e5e5a6407d44cb2c332b1f","bfa5d77295d26b19ae73c8c4551ad743fad7e7b60faa429f1a98c184a5bee34f","35d7bf6c3a7504c8e2577742d5c77bd56c49e4b5f4c4d26abaa3825d5f96326b","b776408395955646c7ec3fb7b0f39003d737fb5f616b15a6b79c4bc73d58579d","440cbb404258685187c505859a38bf58edeb31e4590d8fcb6baac6c56c805a2e","89c989f247a459b794f7d40cb88fcd07b44db8f98591d49988dffbea875e1a79","f8a787967426d0e095ed5fc7135af6774ec995f21b0c8e8748b3910024772c77","7527e9d9f6df4ad89df117d5d433c89c814f60a8116cca120468fbffaea85b66","e2d456397cd1dc0d817f1609402b399e445cf5ad11f58991eff5537701011885","7c78ea360f0650bfec8187924bfc9e25d8ed413f0a9214854607e484f7f05945","ec986eb508857c0dc88f11e76e86597773fac4103c3515f70c6924677e78c605","d258be80723a665411d614783497c0525665a97c7b21139173b21251addfa2aa","0075d501df1d21479e984b752a9ca53369f04a8ca50ac5f5daf47f7ae17c1c70","9f66e5e5e370cf5b24641b06e6bfb95598e1661c48c40e2a7498449123447c30","4d2eb53e180d554dd6d68315443bc48677717181eb5580321b50e8ea175ed3d1","856476b93d161770bacb5d4b0547b6fb93f9f160b77e2894cff2b62c506b3190","e101ba1df6b25dc357ae7d4d67427604b831011f5aef328e01e0e0a67a3d5edf","d1f199f7a12c5b47a8bc6753a2488c9e13a15937980ec720c5eb552a97824d83","8367786d9fd2e9c78b7a445fead9e4c652ba6946d98717b3a5a21665c0692ddf","ecac388c000b62febdb8a5e14fe470864db58513ec32049bd552e8a700a36dee","1bb109aba55abf8708bd116328fa971ce4cf96c06d92c4af4bba7bc0b75aa6f2","1a576efe14d51ba07bac2de016a87d41a81a485108f5c6f8d17b53cd0af3d845","bead600693b71c224f33bb2955bc1a665c0732613357a866ce3fe0578489ece4","ee3dcf6831ddef3310ea00a73e26b55d3b98d21b14b4824c2be1502a26a7eed9","33c6c4cab031571f9ca8aae696f9c5e85aa49a9821e10ee13e8fee4a6f2c9963","f97f2e5c6f137e99ad2be63695f31a0f3f1d9f4f270338fbbdd784f2415fdf73","e2a11092ec2fc30a541bd6a5540c2682cf4d54d98548c4f8bcdf9638793e4b4f","9fab01b2b373215a0bbb951dbb8ea2983b2021e3946fed7d62830848d339e6f6","3912b3b2b90300d747fa41014720701110550aa51c3046f17f84e9488ea17722","acb1a0a91b3da8f82683462cc2ee0a9ca45c1f17806d2d933d7fa7c5b8eb26f2","65792d5466845b73a49dfc366e5bb2104b1da2b24d3e878c992c128021405bb5","0eef179ddb021f38c5972c9f110a230b9827113519b596f713811bd8101798fe","8d6e2a9e9f8204324d3fe6ba5601ec222aaff9d3d3d7523bab05694dd5f2c70d","93b5a2d34895cc300e672e9dd6be9e165ef7cf7bb89fcc639d735a841b101b85","b709a0b0fb53834a28c19f64d0fd7f7bbe3704c0f4a40581442c7b9a5cf19a45","11b7d44c19927b620eaccbad4c9fbb8214130c3cb36a7f5c4b95e03241ee634f","e547b38fa063b8e4e77368212853036838390d725519d47110dea8dd04708195","84eb6379f6e6293e7b3d068abe9439a2d3fd57a49e5740d8eaa3d92f4861699a","9387b0e06940d17ef40deb8ec3b33bf7a4e0c39fb1f91a74de1c0d8d0b96fcd1","75b8602444b064fec8d8aefab514fa9cf518332fc4bf7f26d3cbe49b471b7741","8e87933f07a6a85a78e189f28dae0412b71b74cd277c1c720b4dca1c00d6ce8a","8b2182a582f7c7210618cd1b9f6030e1f81fae90042d9a9f75ac3107691475f6","80d1848aa85dd6f6fc7689381caa28411deba519c5648701448f8f460fd8adbe","d9847298b199d3fbcb1bf1f2def861f442186704734a8b4693dffb2d9ad97a38","21547a4bad46e6cec170cc97fdf4edde81875ff585b384488133c078f5e30d70","950d8ffb0afc6f7a36c1917b2589432a0cfce620aeaff87921e581f6383278b4","faa9ec63fce235e185fda5eed81c9427f6455096e4349b99f52a3903f02fb334","64e1a35f9dbe11e6ed47019ddcd677e43f0ae060fe09cb27d1f9f8a6016c084f","6a69f93c4b66c54c91ddb1894aabcdfe94a1a04b84052c4e9796267febd22811","ff1fab7835e932b72fa7de40e4126dfd371b00af6506054d89a674839a4c0db4","f87f129f621bbb116e03387ccba597b6b00415a3f260209bd6bc1cf51cbe9790","af49415e96850b6a294fac3da7bdadd918354ce808c4ae168b38e963643b31bc","e313a4839785a8adc00fad45e8038ee176839afd41c93411a03e8469dc0b4ec0","130c96422ef52d6710d6d522abfb12573d7e11c5a8b259bd33bd7e4c235cb6cb","479fcc4094a1e2124818a222d3fe09907327027ac378a73e3d03ad7b9a5f0a05","0746c35da88668416142a5ee96620f06fd5a348ee23920953f94e7f2195b383f","5e21a6c56b4d313775952cce43db1e503bd052fb6f54fcaeffe7778cf4281679","c86360c15375b9ff30765eb5b43c8f8728fa2b9a94c0e564e76ea2304633a0ad","b9dc52c116071aaee1b1b26e0e1b92eb62a4eda6a7e40af33190fd4a997de465","ff5f1ff0d88afe6b7c28d0e2942cc5a8509c6dc1f0e477ea508633ffcc665d74","9944dbe28c9e3fb4c991a9d18aaef2de2e6b03908bb32dacd13e93c6a054a395","2fefed40bffab2c5239af9409b0430934cab1250a17bece0d0bcd074bb553405","592e2be42937cf382ca938db59eca40a47618b002d9ee1c6a226dd5ae3bd3284","2eee08133eca221054407ee3416787f8736d164cee7de04fafa7c8371a934593","3faf930e5288a376eabf7e6ed8f7fde2c6fbfdbe8fe661612067d6040e09f546","aa7d448a2d407d5fce76665bd5e14f4a5eaf6ba91666b9ee66a48b3bf2f9444f","aebc9661ab4a36b33df7b61f6ea6a73d3148863efb5fbac6102b2980422ccda3","66eab39c1812ec2ef02821984c902cd1e1810769f3f9ac7c46d1e65f5df1afd5","b40b7d51662d21a9db6e886ddba452b3ab34afcfc3fe4fc23c3e4531a8bdd670","7979acd101a6059374b9b7090090878a3f1e158346c10257207d0aaa7c35b5d0","0d151920defe622b6bd7b005da4881ad570866ec9ed7ec31b61b4c4689f37f58","4aaf5669c108a81fad64d8732bc150c4c6959d55ca6aeb3a79767e8241f83565","8cfb717110bb6460bfbc76fd2ca7c9c8c14d9266bddf49fda7d3e10bb1130a16","b4cba3578deedf4c29d38ce0c5cde2a2bee33350ec9218f74feff307d08f8c1f","f050db23a4e486828e3b9457c44b3ae83ce37ba957cdaf9aeaf5f3d6d8009342","2690961b6c2a1b574b12415f7644f395885d6b490c7a7bd148d1a22b9c483224","09b42a39c403b6f29ec0d94b80d3813f3c5c10e99e803266c3fc344c772ac0fb","469ca5f13cf2ce04bd12066ab890d6687ee4fd7cc9ad63afd425ea72c7cb0574","a92b6ad62b366f95c727be3da7dfd3e8e2edd736843aada9dbf6fba3f545d403","2aba34935f864e249e211c8dbddf67c0be9f2353179ee209786d4c8483b72b65","dde4af80ec9cb0ed1b134fbadab908195b22c68cd1d73ef9a38ff9848a32ea1e","6b6c93d357a039c3f9526da8e35174f0547f64fe2c9e792b8a94bdd23d191c34","ce40b5aab8be5ccb073e2caa70ae0df6aedde2f97ee23f9eebb9395af9190695","796fbd79e2b4063fe5309003317f2801ca81141d751d4314d697f91aab4a9893","9ca54c5b9a180022261a3027507331528e824b413cc62381c02a19dffae108ea","280efed65b0aa41557ca4814f79c9398ef60d2125db0b81f2ff052c7c055412a","1baed31ce653720e3f25d09dc7770a1aab69b034ce6463498026b81d4d972b0a","f3e8b9bcf82f6ec7c52852beb54f6ebc0ec94428c4120ef2e731d6c87792dfe3","0b89d6052c6ba2b189cf40ffecc1fc8ea44e53bab991774230e1ab401bc91001","582ced0190410459632daa7eddc8ce687f84c922694275545be36a276d5fc0cc","7fe4ecabbd20339a830aac861a8aecb2648b0da5823e491f51ea5c4c027017ff","3f560f5998db430a94570332a106f4720b71e0663add946f9b2cf991d07c9217","b10836ba0b93437de79c2594bbfd6cf51a07e1ca57b430ca9638aeb4e028f349","c2147fe9adbbdd5db4e80b905a355f03aadb1bc02b786f033063820f3d1c4ea3","0cabddd91b171bfbb303f949b43deee530f8bf3dbdacacfa93aff0ccf9d3b3d1","712b59168c2cf48e8fd7348dd1d8b95ef20e5e933ee652e0c52f9c6e32b21362","da914501e2e512ae47ea503b91bc7063f8fd477aa167b6fd4c99dc0b54a88754","671e3c3730db36a85179096432fb9a13d8f0f0f19b164b78cb697ec6384891ba","7ee9659e6954e2ff649411c359c9288957898a0ccbef1134b77309e73132ad77","8c7f0680a59450ea19e815108024c14c9fb889c20cb12e8e8b7c92d4e1950927",{"version":"4b380b6c233e650dbd9a6b71b8b15ad8968dc064904f1096cd98c0ca59ee5ddb","signature":"e344274a72ec6b999f1b19f534189d7681f130aa3548045f4554f8878d0f775f"},"bb96a91b256e86a976ee1cb3d23741eba75c740a8b8901412ef21d292ba1b1b9","2f67863aad5433055b1ef5d326879704c8651e3866191c74d3a9e7b700921e3f","bb5838d1f2ca347c4f41285a7303b54e8516d79016860b6b1715a79f93f27d3d","4dd2b31fb149dd5296637b8470188ddccc8a395bec345e9d032f7a431786d993","0d3c78a05ce4162136056d4725288f1fc636d35fea979d7309d58af1803cd950","af17ffb8ced806be36edd667616fce10290cd555042141c4336a6f052f81b660","30d77f3fc4677c799c4fb3313ea3813b511c2c8ab8dc98dae33e20fe467d264e","407fd7d9d9959e801b40ae47762a40b2255a05a3ba8485139b6d6f0b5e2c6bd9","d47db4c50c8b53f4de960da5b0c96320cf37fd12d3856e5de9dcf21a8026423f","e281267c9500b51b4e5b61a1d29ccc4d8f382cce1b127917b8ced8d6c779e5cd","3309616913b3e4f3a1128879b2dcb4a26ec1a24d4912b9e7f6ac716a789f511a","f183004f0dd89505e7fdf59a3f74a96201ceb05597b5d68f41084012b8124f6a",{"version":"10cdb20e30d42cb2007c7b694809f50b62ad125ce7a08f86e769550536ee7551","signature":"203a775bf0a5b2cd2e9e13a8b6a4bc1d592f0e4f987bd14074d3942d69cebb1a"},"52714e0b4c25aee51bb6b909a0e05bae6ce5f108d0248e5af82afcfe04b33741","1d6bd77b916f6cd2ff7ab9ba9fd7a6abc1821d4f642806184a2c6e2a5d00c35a","5c2c96736aaeef08dd37bb06103598732975e6e0beebd06eb444c8074c37eb22","61730caaad15e66adc62d9e7ea4169117a9355e05a81d0784695f47fa0cd2314","8981a93785f3028b7451198724721887a8e0b2afc82c771106520dc5da077359","fb074f74b937f29073b613d76f7a4efc0df13be35940512f118c3625c924e614","3c062fadc291c96b5ee94cfba02d891f669d78590002766cbded2f7f93e821c2","fe9af1570fce518301638f3412a15b7553ff8d422d6b266fcca6dcba7cb158e2","7cf46b2c364964fa8ca383a07922e0f59d4f516d4faa44f74ed3487d6bc743fe","9af82d4ca2416d36367ae7acb1907d3d8899a737c45ebb958bd84e4c4d5cedfa","3b1b3fac0e5e7a9004ea68676c3af737f11b9c49860e4ba5176205cb68a99547","84a8ac212bc7311bd470040c402040747f3d332e263ada9f680455ca3c142d81","db919ba17dfb7e455f8182d1d7941d40c0104eb32d0ab809e98552438ecbf836","e66bf3e143053da7045cb518410ed3495f804dd12720232bbb6e41aeddf34817","38d12bb23fc6e102d068651d19856955f6d3781e41a37f9908353ea989022fa9","b0c3b7f7d7c34985d1b177fd1b94a96a910936baac682f80939b4a6dbce7d1ef","4538f358f4f5efb764e7e0e5fdeedc673002dce257062b17915a30edcb414176","0d2cd1c3844003a03d5097e8800343c659308b208a9edb410ac205cc65e28d00","2b129dec784d1e454633aaa67c03080662c0846c00fdd579551bb43af557dd61","059d77e912c24c58fa8628ce3bd77ad486a519ab16f3098380ffa035e66aa6e7","d0f7520ea88568f0e5e937f330b17c20b5d455cbb83138d2218b05d97081bba4","c7c7a13c60c1523d4302f9c8d8c6ced6c2ed42580d18bb4e0731a7cd6583d6e6","b0f822a10ebbb4c96249e3403b55b64c62b9a2bcd06de0a86d1c6a5b30aa1814","b08072b46c01a844c48227877f02f1fefc6a7d799a4b9e7355dd0f1e1b97d261","7efbd2858541b3771125f8930fcf550013cb506fceb65754bb9e0aa88d9ce1ae","15ba4e9427e0682f43aeb241e1f7bcfd6a675d2b7ea953fe1e5a934aaf667e00","6b7f7c753b3b6c6ce8285dddc5c5b771dc81cfc9ee63a4871c4c2e22d38c6b84","8a6b21fac3261782dd9428a09ec3cbd061ce61a851e157da22c6daadfbc1d21c","fcacaebb44542b9db310ff19a428b41fb0c4e084a2c22ead21785cfc97c72a36","a29730fc1387bdf2a270309827de078a209b19b9a8c092127a8239626059fa6c","39a7eca373e3a13e5aab39c35f03d65520e7adaf2110d4eacdfeea27b193c205","98c1c5bb059554ad4480a8b5c3e90c0476a77f52fb57caf86e44f5f938808ddb","f50e2eecefbf55070cb43f01f120d0f1787d327693958a60b92feb6a51334d08","c1afb279925ee70ebfd7d363286d20be2b085dd8b88c6a7a7b4f3c59f93d05dc","81a6e5f6fae46af5439fa06f7e64e88f6fb98090b9a6bacfd7bac33de580e5f1","7e9388637596dc4e178ec0bc064375302aa103977f877fb4d312f9af1ff20a6e","5b6d2942d6ad808e281842fc50358c6e877a49aaadd06e7c0c5484d04d777b32","48a81296d5f5468f667e5ca5d00ac68b32c365ae7622bbc4d5b7315b371356c5","269bc9598380d64f37d7e07b7ab4e9f877832c45a782d972f0b1c7666e5f7fd6","ed06c9dc3f363335aa5ff3cd9d69ee2e0a3de3fc0832e4e7c414e16f308c21fa","00953608a2842f8dc9abb0eacb18dbf18a22f036ad4d015b5b1c7c36503cd366","16f87092bb8b33527cb1962b8ef528144c581bba7ca41fa1ee1d26600c6357e0","1c9d137a57b4f539b7d6dc39c351938fedd06ba5fbac4200b6f30136c336c4f6","52c83665e73aeb2be8e99af9d00b0d2a4882cae49afefdbc39f48d904a31441f","82ed847a5fa3336a0857eb82db6463f52b60d616f1b87de52905d489d705e7f6","f735ecb1ae95a54dcbe4e0ab4017b4f7f02a99b84f815e61cb429bd31cdf2785","fdf49333cb8cbb150645afa42a1e86cca1eca041eb865c191886b92e9315035b","73b03830c739a1a9bb5ee189145b50c0edbb2ca596beaae098fe202a68ae054e","017d7ac9b9738b0c4b9d9d9bb2f9302f986b8efde81ef7c61206372e6108d8b4","56a63950ec0917952503334cdbf5f6cc92450590e4c6bbf7875a710aed1a5ac9","07ed9f001f0fe3396ec8d754b2a31b78e12b245782aabdaef58f1ed896a65677","70a29119482d358ab4f28d28ee2dcd05d6cbf8e678068855d016e10a9256ec12","869ac759ae8f304536d609082732cb025a08dcc38237fe619caf3fcdd41dde6f","0ea900fe6565f9133e06bce92e3e9a4b5a69234e83d40b7df2e1752b8d2b5002","e5408f95ca9ac5997c0fea772d68b1bf390e16c2a8cad62858553409f2b12412","3c1332a48695617fc5c8a1aead8f09758c2e73018bd139882283fb5a5b8536a6","9260b03453970e98ce9b1ad851275acd9c7d213c26c7d86bae096e8e9db4e62b","083838d2f5fea0c28f02ce67087101f43bd6e8697c51fd48029261653095080c","969132719f0f5822e669f6da7bd58ea0eb47f7899c1db854f8f06379f753b365","94ca5d43ff6f9dc8b1812b0770b761392e6eac1948d99d2da443dc63c32b2ec1","2cbc88cf54c50e74ee5642c12217e6fd5415e1b35232d5666d53418bae210b3b","9861c326438e146b90477ea1ea6b5d301c3d740865f99b6ad496362ecc5dfa37","5ea98f44cc9de1fe05d037afe4813f3dcd3a8c5de43bdd7db24624a364fad8e6","3a1e3199054ae95161fc6a8418ee28cd774f1a258d1b0ee14aa71c48a1f8448c","0b3fc2d2d41ad187962c43cb38117d0aee0d3d515c8a6750aaea467da76b42aa","ed219f328224100dad91505388453a8c24a97367d1bc13dcec82c72ab13012b7","6847b17c96eb44634daa112849db0c9ade344fe23e6ced190b7eeb862beca9f4","d479a5128f27f63b58d57a61e062bd68fa43b684271449a73a4d3e3666a599a7","6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0","7ed8a817989d55241e710dd80af79d02004ca675ad73d92894c0d61248ad423d","43ea70222e604c5d05941252319ec763670530984472225763eac9a3877da5a0","e5b7612618065d15d09923519b17bc61dcaeae4219cc37e48e6e518619ac0b55","7ab547eace7586e4304e2abb25aa586ba580b3fcbb48d92a716d60e6f6ef4c12","b2e6d834e9248a0b2965f317410d172e73708b7b887c6f412bce226ecf185515","f8ee42d2fdf19e9e8c0906beec7f5f1a5b655d61e5bbb47f578a27311e7c2f92","c84809d6f2cfb06448bc6cf395ef99768df72df947cc6bdc00298edad54b5fc4","ff6470a21f660e53a89424c0f62e0d00b13ad06e4d4536bf1f1a43d3bb179aba","9f4a03f5b0c9beb98489388554ca6040734bd828511062db78aedca2a622ad2c","37b683400fa69cf54619209b61835c8d512ebe324928e4ecc37e9ec5a3e4253a","1ef9f89963639a8e97268c08bd3f8ade2ebd24d6547c472f4ff148fe932fc10a","735a5d02bab27d54187059c620b256cd211284e68c03b01f0d2b723690b35b68","43a7b5f62557c261c3cc6acb8e5c53aab1388339aa572a5bcc5b49eea8d3ca31","232f4c2dbe32179f8a02746795b0e9f067290a783e1c0540c7234c07e589bd59","6ed447f2b88961a0c68d7ccb89f84230c68b46efc7c1758c6fb35c5b0e2b51b4","303f255e43c3c0fa62916ab4b2bffcf85318c7e1672ba4cf95f7175a968fe80e","8ee5aa02f9fecfed5286a9d0b9745ff5d6bf986f5eee0dbea346d05838bf3cf8","5d1b95bb05024a5b1047800d4e0af78c84678d717d71a71829fa6647c381b521","e7ecef4d526e9daf2df32fef80889356b7d356965938618ce11f767034cd60c7","d61097e0766336c0803abc4385591d4efea22c0d16acc626cef4eef957299899","a7f3a4f15f532860543f76dbffa2dc1e801ecd29028fe16f5e43b97c20cb3ab9","c439011f5a687f54c6d66b930fec880b88352ab455ea8ada138407570634f1a6","e9606772bc2ac62f07e909d262d3455faf2795d39ae3f4c8d7632bac419d2335","027aefe034123bbfc2b08c27d2aed8c01bb61720da5b3fd0f8093d60aa40d0c3","429f4d6d91718238ae3cbb02dd4e75b9f42a1a14719ba2840668f964a8a3db97","c9e7cb125e14741d04b37fc2bf8791ae1aa723d264e9d45fcb20570a6d292ccb","179349be38bddbafda9143ca80c41ccfdae6d7eb03cb3e8fe7e4f47d728c6c89","f691ea2db4308871806df1d778410acfc960b968f8107a67979e80cfac9dc699","406a5c9c3f8500323e593298dd5eca51f000f36c9ef7bd11b498f7b01ca670e8","0c7fb0150aa559cbf88caf24351013df3e31c2e445450bdf9c0e23186c51963f","ac10c9f4cc1b7bff505ccf631808f3fca3a2c8c8bf703369687ddd608e4235bb","2ca02c803cc0e4642e8bd89ad8243478b5da831293b07dafaa8dde0be781a019","d49d25922cccc60123d26d181bd82650c7c43e78a143709815a5ee4b740d0089","a5335fc0eb819bc414191185cad1c9251a4fb819259fab6112a0023ab2ba03d5","aeacd45d326c14f233252318bc0e3cc3449fcc98efa838cf16cfd5b4832de887","8a7f4198d75c62e5f325d7ec51e74ff5aa7f1f1711353962249e3903cbff61bf","f24049207699b20db7a9aae2a37183de438157e3823c516be58c0c0445f3c2b3","cfa4052b25b3e1186817ab6c1a7cbbddad34aac9d6f3e220a2f7ce59b1524015",{"version":"fa568c7bfcdf1afa0682346783ad4def442ac4a0661238118423d55c28dbad81","affectsGlobalScope":true},"13b1859b78a551493aaba7ffba8185341e46980a34ae8d1f92b94537b317993a","9c542f476c34d03dfa333f532d931a82434a5a53101824d040556685126d28c1","875f8565e5d1ff199409360b9d6a57cde9856fa240bcbde0249115fa7bd4c1ca","98ec3e085fc9d034df1559af5f5321eeafeba7dce9b7751f12c870326ffaffd2","2d74fb1dd3cd70fab0f5148006725571d916fe0322f36d5479a36bcf2c491c07","26ce570c4feed37f6b33fc56ed4de691b6e0307124089607de06194c6f32f1dd","3c36d7b4942bbc28dec2b7c67696c3d3a522a45288f00073c4ce6b185eee5725","ac9fc398623526293770a097bdd78eadc8bf09135378f0a646efc323b8fccb0f","787a097d2bc91bd3f06005e3ff26b391b66d0908af893784bfe589d0eda0f1d6","e665e7c8a983d821636288625528281bc73857488cf8298a4aa0c9c57480c8b6","57ce43e78520bf509e0b72b679adb3eccc113f96bcc2a61f56414d2695a5bfa0","f45df38c81452d79a20db481e8dff82000f7c7db6017d41a008b9b7995cba63d","3442f9dd22eabb0aafd41706b3ef305d6eac47d2761f6c970598f6c4c0792811","0479cb8545899888c739a05ebe8bf3a73b1c0ceacd481005c51e990f0a69243b","889618af8eab6a78bdb16ef47795c191316b0c8df59849ed60a0b888bd2b1104","f94e4c8aeba2bbc389c93fdc26e17cb29ae131ba1e6e4c324f2dd58bdbecfd35","fe51c8077c8d855331d04fb734d619463319d8b437e154bf4d9858e211680260","cf5c8ea891ccd87c8f300569b98842012cd206c33ceb4466e26d95abca873f34","32d887dd663bce0490c5db039c5d68e0765e8b3a161546a545fd79ce0d3d990e","aad98d0d36544fc53955696016a20d5b4abb5ee7bb5177d5c4809f76a41d3de5","de39b9d722127f62bfc393a1489babd6519f17a153453ee540ec557f09280fa7","3a760c7bdefcf26aac22afaf95d05f59944ee2c58cccddf4770bc0e2fddb8a55","45e15317bc7d6b9b96f6ff2d989a040ca363f001690fd1cad349963d2a5613c6","eadb88fb059ae15e16cfe06423679109c8a3cb56a39a8cf45f1e81fb0c442429","45cb8ca090b067e78b2136c339d2222c2b815cdb39b57c759a92720b9cb79774","9f09149b1a8b04cee054eee7d80fce1c9b0c2629c1d7ddc4e80aed5dee3fb82c","d9d0b84f58af3d13a2659f5c2d0dd73048cf7da8a7c1a0273751c25d814eca29","d8e3293534b05a1b92678fbeea96ffae66d6e96d8cef39e22d802cd2573f3924","d41f5da319321036e9fe4f3eceffba2f0ac78f4c6d9edc85a21af37d839388e4","147133ee4efbd328bfeddbc227c80ecf3c96b86b5d7b686a1d253a92f248f879","f63661e08d3c2e96080fd8c89bff293113f95600c9b27cf7c017f3a6c78b239a","852a495ca8e06b492648991e4fce09f35c97688b11f7d7724aa6014cd14fbc0d","acc761aefd8decb2c9970072be5227567f647d5e3623ac6a8fc3f0afe8a0fbf8","b6fe464dba17ba18760d11279bcb1ecebfb720a4fe9654778268b30f7a5b8bcc","65f6305c61ee175f9e860481bad69b5bda6935a568c68b0b31237dbfa2f90a9e","183633d386dac7fa3a58c0c512012d8875c037f84e58492f3e6a4f44850b23ea","591d50e663592b87faaeaa1d61ba9390c72d11ba79e1fe5dcccc900f599989f3","93099105dadd197625b0f09f90d63f0ec0a985d8c61ed7ff7d59841207aa6f22","0bf516f4c9013d7effec44958db13913540c96a5d90dcd8f4d3a65342ddcf9aa","80591ff4b981e8de8f597e7c6af68e9e6101940b0cf54994deef8f0721425cc5","bdc641f0690295df0e40976b86f3e4f1d082c5d8a8faf8291ecabf76ce8c8f6b","de31c27b1feeed471e7d4603d42faca201bc5c82c8a99e4176c8dd424e8834ec","6a1d5926a688b639b5ea68618923b05b5bf264db90eb5a44b54cad3de3a87d86","a3e02c90b5e957c23dc23f5390bcb036461b4145222cc292a236bb689c8c0abb","5ee06a29acf399408d6da2f6cb808fe7ed3d114c330e8f30a2f32bce8a2f26df","23679ee941cd1baee11b7396116bea3a1b549368fd50c39b6f63e99a0d28b4f1","d855052f6293077997da8feb02b4c70ef4b53250718909cc4ed1caa44239c729","ec203596e43d82bece85e4ecd7cb57a972b6b98cd9055f3112e9dd7375d8028a","d0f018b3682114a8f40473a6d5b4cbb01048875674bb3e352d84835841d1bb05","7596b6c581db1c5210ea94a5fbf19b5d409bab77d62df0d5ff582a9fb6ad2353","637319e9d32fcc746b352faf00c8699ac68e18addc9658adc469c15ddd1f4045","c5f3ae40dc6f161c2595cb21f28afb21bc6b477d6950b44d711565245b3d65c2","5e45c3db5ca21e785853bd7649bc71855afa8ba9f0031f76c34c568c9a88ebdc","3a281392cb28cd1d3708f161bef6451696f9d3661e6d88aa083038f6d3ca6913","a8bf44d5d2502545f2d7fb2cb8d72ad64bedafbd4430c11fe0fd592d11917e43","de359936eabbc0c312b0f3cfbc22ace6005f726c40deed6d1f8da895af7e3571","0604264a3de85577aecdc26d9bc4c2ac8a8a1db123c7e0f4449ec4a22f0651b8","ab1321091ac29914dc326c0faaa59a62f6f71da2998f6f578ad34954560ad3f5","46695e9d3271567c8aaaa33c7f08145bd0219985198d4f57895fcde71895cf33","36a23aa5417f9f40bd7270270746c8ec5a59176f64985bfad4a7af35821b1998","71b5bb0924f49ddde4552cc4fb9ef28c95c4ce8de265d12a477997c98da90cbe","10953f8af869c0ffed1ba3ea8105246b94da343a616ad770c344f844fcb840db","c782752963704eb7edff3bf5e6a163c4ae7de12f617388fb25a47494451ae459","78dc44e81d1924fed297898525e8f5d8b263a4cf0f40da36d5ce08443fe35bb3","8e1ec66973880c9888eb67faf7967867323befc9e69688eb74fa11200ce8397a","a9568a0dc1d960d06551e5f84e0113856c80feec38ab8d2b2a9afe49924db62d","79bb4a0d953c2649b39a789f6a0c325dec4c1961ab9d984bd484f0c55cfff080","540df168ddc3bc569207246d896bd5ec7d0e6ac17810736e6ada453ff0d5b366","5550dbeacf56bfaea7735a9891288477f76fb924858fe6a6fdbf91d5dab03d4b","0f5911d0f0c0d1642b34de7ff50939b269f05c727b69e4035c94029392513022",{"version":"de3195627ed1d4ee51c5047f93cd76ce59a8601c0a5c6c391438d7f6cb3edf4d","affectsGlobalScope":true},"5cd9c902b221c5aca739cbc3fb4339c3c5115198808d4f5d7610a674e4b9c66d","fe892fea1e75a442fffb4a604d7eeb451e858787a9f2f01c4e83bf12a3b5048d","645912db9bbd041bf791e9a403de27d03d24625cbe4253edd71872c092251ec6","ce629710e5e58724902b753212e97861fd73e2aa09f5d88cb6d55dc763cf8c8a","525c8fc510d9632d2a0a9de2d41c3ac1cdd79ff44d3b45c6d81cacabb683528d","e1e8a8a24bc0fe64cc9c5ccfa60e89f6e20783da8e8b76a242ebf99ef0ef07f3","4ade8ea27bacf52458daa4509626f0c37489488631abb0da183dfe2cd5406df0","f5093bf8e4ed54d6bfe5e7e88ee2b85fc4720586649c3c56f5cd14d972082ff8","05e732266b5a36789fd9eb846b1f45fec1b6e318b740e3f20fc22fd95f9ebf31","baeda1fadac9fd31920480b85340ab9c4266a25ad08403dee8e15fd0751101fb","8059976d7f408e08be353de1833172139bbaa70fc33d01b98249f7226c122119","2b9170bcb449ae83b40f7232158b0625226d20bf41d3161a1a934814e50e5601","bd1d7a809d5cbd2626b0c9f5161dcf222bc9cb9567fd4bf02546bd546d3bd975","2e314cce67882577dc93d2c5746cd7069672a425722f440a7d592d6318b35929","dacbe08610729f6343ea9880ea8e737c6d7a6efa4a318d8f6acaf85db4aceed6","8cfa78f4c052a93ac1e7accb0a78ce331dbd14f277ee0e193279ec31ce7efb25","03394bf8deb8781b490ae9266a843fbdf00647947d79e25fcbf1d89a9e9c8a66","cc5fac2b9e45a6670b96fd32cb42c97e0d4a7b2ee12c87963c6fe0f55fa84f50","37307ad10f30884fb9470a4e170b7be5f68a33b3d458cc3b7c63cd494802e594","5fb30076f0e0e5744db8993648bfb67aadd895f439edad5cce039127a87a8a36","3a986a6d59e0de61d21b9a8f044dcd523535eb8f7c5d0511bc7563d45f723793","3a8848a9c307429b861402cc69bc472ffe0c05b86474fc158723169161e16389","3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c","32faa6602e78c7f2e30fddb6ea36fe8a40ea2aba1536dfd7c93922a51874dad4","b2ab3f2ac6a9889ccedb5d501d8f5c4487f0f6ab01af3703f436ce92a644fd39","3b13fd501c9f75c98acb87302b4ce284c09e7ef5eb39a23a74d0d6d16bbd4046","63cf1510b32cad5d0578dfbebd125d099f3f538c866a76788e9cb4c7ab24af2b","17e157df6125098a1a34eb4d201ee4ac03bbe97e471ab5627bb2c40fce555948","b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9","3dc921e8a181e348f2559e903734e655a23c555a5703036f19bf68f4ab17f475","978aecd2e6bc2ac094e9a35eda98ff8586713857b3655e7c98ca5ed8f7d50662","9e666de17856eb640570276c9c71755080f0ba0bfea840438cabf25ef063886e","10e2924698b196d32b502876f727c194689c999636db42243604caa4584a6a53","ca78820a17b0e56d6899e355ace672444c8b3227be177f301413d1ca5cc08a52","6ad2dd29dbf3aea031062298e9978d4b2a1fadd0997eb9d8caaf95aaa89e7033","0f3abcfff40d142dff635e8332a9817b6fb9c8ee062be0dd8874cac52db7fd59","3e797a974bc761b6e9f4755d6a9ec816c2dc181311ddccc2865735e2c698a43f","741fd2b9e47486d4ca7638a7df1ec378cfaf9fb92e4ce24dd088be319706e82c","c4fe30f3f235b8aa991491f977b5c5dfc7955d6c639a95211d97acc4e2de5faf","3497438242251378cf232f36a7fabac70e7bd8229d68dac8955534e63ffc8ff4","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","a2267091f78b005b511883f9f9c464189bdb7550932f9d0f0f79d4301788cba2",{"version":"9c52d1e0414faa6ee331024f249f9c1ab11a5c432c37370c2c74ba933aee25fc","affectsGlobalScope":true},{"version":"c9e5e3a8b9cc317e6827d78ae6426e1a2e574fdc9e352e0b07ae2aaabb99a8c2","affectsGlobalScope":true},"90caa30f79d1fc5e81ca9afcf4133461b77f734e7e92294f6c8eb5c80cf57521","07968e38e9ea87933bee8300346cc73125de69b9a798736791f2ba5d5e4e11fa","0259117987eed861937ba480dd9878cefe948990dde26d2d219cdf5dc74cc3de",{"version":"1e144e2bd90b6098178b78a6a01384bdd405164d08646daa6e96a9a727ebdc62","affectsGlobalScope":true},"61bb8eba2da0ffab02d0a948dcf21ceff2759517347388eaa4f6c1c47063fc06","8cc2eed7caa0e187fae67a1e7fdb4da79079489744c6e5be9e0839d258fd5995","aaf2cc4016c33c836fcca0dbe20d7a97bf17cafeb581a57a62267b1c38930bd4","714851669856152806c289f9aac6240b414bbac50c60ee4f7e6247f31eac0c1c","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190",{"version":"6ff2ca51e2c9d88d6d904c481879b12ec0cad2a69b88e220859a52207444773b","affectsGlobalScope":true},{"version":"dd4d769260a2b8cf19f0d2457f3142b24f083237932b0d1edb5fd728a989c8bd","affectsGlobalScope":true},"22583759d0045fdf8d62c9db0aacba9fd8bddde79c671aa08c97dcfd4e930cc6","6c7e53d242e6cce42050a8ae77c4da6aa9d1a7da8e661827d93aae221c933063","17700cdecf4050a374a9c3266562dc1babbb15abbb7105bd1d33d82fcce5a197","b15e8aebd9a1bee2874c676cc6d758423c0c582401cb79804f250ad43fc112a4","5571c524ad7e26fb861de4bb50259dccfafd7b6b2771d0fe55a407c6602462f7","5de2801bbffe27ffdc97bdf383ac4654f3c4446519d1ececb0aa9f7ffb61214a","3672c7a7b1ba551d16204c8dd2cb8b3823208ee2e2d99b05cb7b3e832dcbec80","e20f35deba5223b3148b0b532e2116e0046bc38f85926a082d4f7632a3e08e85","b8cf61606026220bb7323b73c531912b912803c317484468f332e8e7b7a92140","148d6d9f02bfc816351f134043e1d2b97c2a4ed447bd25f09803e476a3ace82e","51b5e0b5c53d7817b7879a3960945478b09cbc90422ec6b82920a5e981a0a18a","0d3040a1b8d8ef7cdb9a42ec49ddacf2f9bc49d135828c36560766c0fa5ad768","0eb3bd4c7da7b2f9f529e4aebc880d53041d761bbf8a826218891f357c2d82a1","9923d15fa161c12df73904db95c522fb6c72f80deeac4b3dd3eb57e297f77fc5","7d6f68b689a6593ee8934f53f369bd6496c6c1059e7d8b2e8d9cf4964640c2f0","a115dbaa563e17dec5ee6b582e46560794ebdaa97b75e2472545f08f0274c23b","773dc674c4c7904feed262d284ea0154f10438f7e6f5c3c164a8887239844de5","dd140c65f0bc9a03d2cbc070dc95b0c96c56693a41a4b2eebb7e5794dd6a923f","eebed1df6ca1ce4932bec4a0bff4b3112b2d47830b2b14929cb19b9e63d16cc4","a8ec44bfe7391b5e33b51ea7c575c772af3993bd717e19f81a1544f4d33fee79","2a5e33f491a244aad2a3b3fc7478f4f990ef6739532ec37f6254e878545711d9","701d14138e4f763a2c7644d469b9bf18c110fc7faebd08d99a76f5f0227a890e","5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","d5d7b68f5369a210c235cd65458369888f8b839192d088c964f21cab3ac954db","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","64b867c61effed7b5bc0cc06b3d8eac23b067a3fba581fc7d3c292fa593e6a45","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"548311a7ece846e4b9c70c3cb5ac0776559957ff6fcedfde938ebe2774439509","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","874d84ca5699231d5af2868fef01fc63f948bd83be928881479db48508f92ca0",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"25268f34b96a70787a58f530623fc1c8fc958f9e2a8bf1f9c3de930b46eed814","2d41935f638292fd204123b73ec0a045b8ecee1a257354544486999a8d958295","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","e4b4326b61261bf5ffd6de8b4825f00eb11ebb89a51bd92663dd6e660abf4210","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","9d9e658d1d5b805562749ce383ef8c67ccb796394d8734d9c138788d7dab6ee3","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","82b1f9a6eefef7386aebe22ac49f23b806421e82dbf35c6e5b7132d79e4165da","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","4e22b9ea2805fec5f3c120146a690e5604a3117dbdee648c85393f58422eec16","2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"012a04966bcb8a6f522ccd21f6efac3d837f3ea806c55b5849556aad22777f38","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","646cdd28aee52661cb4fedd2e1294e5488ac2ad740f3d81e57671b5b8ae24123"],"options":{"allowSyntheticDefaultImports":true,"esModuleInterop":true,"jsx":1,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[69,725],[69],[69,529],[69,523,525],[69,513,523,524,526,527,528],[69,523],[69,513,523],[69,514,515,516,517,518,519,520,521,522],[69,514,518,519,522,523,526],[69,514,515,516,517,518,519,520,521,522,523,524,526,527],[69,513,514,515,516,517,518,519,520,521,522],[51,69,154],[69,725,726,727,728,729],[69,725,727],[69,653,682,731],[69,648,682],[69,673,682,736],[69,653,682],[69,741,744],[69,740,741,743],[69,738,739,740,741],[69,742],[69,651,653,682,734,735],[69,732,735,736,747],[69,652,682],[52,58,69],[53,54,55,56,57,69],[58,69],[69,651,653,655,658,667,673,682],[69,752],[69,753],[69,695,699],[69,756,758,759,760,761,762,763,764,765,766,767,768],[69,756,757,759,760,761,762,763,764,765,766,767,768],[69,757,758,759,760,761,762,763,764,765,766,767,768],[69,756,757,758,760,761,762,763,764,765,766,767,768],[69,756,757,758,759,761,762,763,764,765,766,767,768],[69,756,757,758,759,760,762,763,764,765,766,767,768],[69,756,757,758,759,760,761,763,764,765,766,767,768],[69,756,757,758,759,760,761,762,764,765,766,767,768],[69,756,757,758,759,760,761,762,763,765,766,767,768],[69,756,757,758,759,760,761,762,763,764,766,767,768],[69,756,757,758,759,760,761,762,763,764,765,767,768],[69,756,757,758,759,760,761,762,763,764,765,766,768],[69,756,757,758,759,760,761,762,763,764,765,766,767],[69,679,680],[69,651,658,667],[69,643,651,658],[69,667],[69,649,651,658],[69,651],[69,651,667,673],[69,651,658,667,673],[69,651,652,653,658,667,670,673],[69,651,653,670,673],[69,681],[69,649,651,667],[69,641],[69,651,667],[69,665,674,676],[69,647,649,658,667],[69,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],[69,658],[69,664],[69,651,667,676],[69,130],[69,128,129],[69,128],[51,58,59,69],[51,58,69],[47,48,49,50,69],[69,682],[69,652,748],[69,653,682,746],[69,700],[69,779],[69,651,653,655,667,670,673,678,682],[69,782],[69,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375],[69,302],[69,302,303],[51,69,220],[51,69],[51,69,220,222],[69,220,221,222,223,224,225,226,227,228,229,230],[48,69],[69,693,696],[69,693,696,697,698],[69,695],[69,434],[69,433,434,435,436,437,438,439,440,441,442,443,444,445,446],[69,127,434,440],[69,440],[69,127],[69,133,134,135,136,137,138,139,141,142],[51,69,127,140],[51,69,127],[69,126],[69,90,126],[69,89,90,95,96,126],[69,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],[69,694],[51,69,304],[51,69,183],[51,69,179],[51,69,179,183,184,185,186],[69,179],[69,179,180,181,182,184,185,186,187,188,189],[51,69,530],[51,69,682],[51,69,569],[51,69,346,348],[69,327,346,348],[69,346],[69,326,327,346],[69,327,346],[69,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348],[69,325,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,346,347,348],[69,325,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,347],[69,171,172,173,174],[69,170],[51,69,171,172],[69,171],[69,175,397],[69,175],[69,153],[69,685],[69,685,686,687,688,689,690],[69,199,203,205,206,207,208],[69,203,205,207,208],[69,199,207],[69,199,203,205,207,208],[69,199,201,202,203,205,206,207,209,210,211,212,213,214,215,216,217,218],[69,200,203,205,207],[69,207],[69,205],[69,199,200,202,203,204,207],[69,208],[69,205,206],[69,199,201,205,207],[69,199],[69,146,177,450],[67,68,69],[69,144,146,450,559],[69,146,301,450,469],[69,146,399,450],[69,146,263,450],[68,69],[69,146,450,451],[69,131],[68,69,144,146,301,390,450],[69,146,423,450],[69,146,248,249,450],[68,69,248],[51,64,67,69,156,162,683],[51,69,156,683],[51,64,65,69,72,156,683],[51,64,69,72,156,683],[51,68,69,72,130,284,285,683],[51,62,69,72,169,430,683],[51,69,72,683],[51,69,557,683],[51,64,69,556,558,559,563,683],[51,69,559,561,562],[51,69,461,496,497,559,683],[51,69,242,559,560,683],[51,62,69,461,559,683],[51,69,237,683],[51,64,69,152,156,169,428,430,683],[51,69,198],[51,62,68,69,456,533,548,549,683],[51,67,69,130,196,415,531,683],[51,62,64,68,69,70,130,248,287,456,461,542,546,547,683],[51,69,72,454,456,461,683],[51,63,65,68,69,143,156,160,231,248,254,308,309,390,534,535,537,539,540,541,683],[51,69,156,248,536],[51,68,69,148,248,293,294,298,309,316,683],[51,69,156,536,538,683],[51,69,683],[51,62,69,456,461,683],[51,69,196,268,534],[51,62,69,70,159,413,414,461,683],[51,62,69,72,159,683],[51,62,69,464,607,608,683],[51,62,69,159,683],[51,69,242,683],[51,62,69,159,242,683],[51,62,69,683],[51,62,67,69,130,159,532,683],[51,62,67,69,70,461,683],[51,68,69,70,461,683],[51,68,69,478],[51,69,570],[51,69,72,160,683],[51,69,130,248,288,291,300,301,308,309,311,317,683],[51,68,69,253,293,294,299,316,683],[51,69,130,311,390,683],[51,69,248,301,319],[51,63,64,69,152,156,157,311,391],[51,64,69,156,683],[51,63,69,301,683],[51,69,72,156,301,311,683],[51,69,72,156,248,252,301,309,311,683],[51,69,70,72,248,252,254,301,311,461,683],[51,69,130,300,301,308,309,683],[51,68,69,253,293,294,298,299,683],[51,68,69,253,287,293,314,315,683],[51,69,293,683],[51,62,68,69,70,253,293,296,297,461,683],[51,69,130,196,268,301,311,683],[51,62,69,130,152,301,311,461,683],[51,62,69,159,376,377,390,683],[51,60,62,68,69,486,487,488,489,490,491,492,683],[51,62,64,68,69,72,237,683],[51,62,69,159,382,461,683],[51,62,67,68,69,70,461,493,494,683],[51,68,69,418,683],[51,60,62,68,69,70,72,417,461,683],[51,68,69,72,418,420,683],[51,59,62,68,69,70,72,160,299,346,349,350,461,683],[51,69,461,683],[51,62,68,69,72,155,683],[51,69,159,683],[51,68,69],[51,62,69],[51,62,68,69,72,149,150,151,683],[51,62,69,158,159,683],[51,62,69,150,267,683],[51,69,242,289,390],[51,64,69,623,683],[51,59,62,63,64,68,69,70,72,162,242,461,683],[51,69,380,382,383,390,461,683],[51,69,621,683],[51,62,64,69,72,242,683],[51,60,64,68,69,70,72,242,461,683],[51,64,68,69,626,683],[51,69,242,291,350,352,377,380,390,683],[51,69,390,416,683],[51,62,68,69,416,581,617,683],[51,64,69,72,155,242,380,390,683],[51,69,380,390,683],[51,68,69,242,422,683],[51,69,130,380,382,383,390,461,683],[51,69,242,290,390],[51,60,69,683],[51,62,64,69,683],[51,64,67,69,70,72,461,683],[51,62,68,69,72,152,284,286,683],[51,62,68,69,70,72,160,351,390,461,683],[51,68,69,156,683],[51,63,64,69,683],[51,69,287,288,390,683],[51,69,70,130,291,390,461,683],[51,68,69,413,415,598,683],[51,67,68,69,533,542],[51,69,160,683],[51,69,291,346,349,350,352,377,378,390,683],[51,62,64,65,69,261,683],[51,64,68,69,417,497,683],[51,62,64,69,242,583,683],[51,60,68,69,70,301,584,585],[51,59,62,68,69,70,414,415,416,461,683],[51,68,69,593],[51,69,594,595],[51,62,69,130,390,461,683],[51,62,69,72,242,461,683],[51,69,130,390,683],[51,68,69,72,196,683,714],[51,68,69,72,683],[51,64,69,242,683],[51,62,64,68,69,70,461,683],[51,64,65,69,156,683],[51,68,69,70,156,461,683],[51,62,64,69,195,247,258,461,683],[51,62,63,64,65,69,130,152,156,195,255,268,270,271,683],[51,60,69,72,683],[51,63,69,156,272,683],[51,68,69,421],[51,62,69,531,588,589,683],[51,62,69,72,683],[51,62,68,69,72,295,683],[51,62,69,159,305,306,307,683],[67,68,69,145],[67,69],[69,559],[69,71,455],[69,235,239,240,241,273,276,281,282,404,410,426,429],[51,68,69,283,289,290,292,301,310,312,313,318,320,321,322,323,324,379,381,384,385,386,387,388,389],[51,60,69,143,286,307,453,475,476,477,478,481,504,551,568,633,634,636,637],[51,64,69,198,262,543,545,551,552,553,554,683],[51,68,69,130,165,390,394,403],[51,68,69,130,143,148,161,165,231,248,254,257,309,311,390,392,393,683],[51,68,69,143,160,165,394,405,408,409,683],[51,64,69,148,152,156,157,161,163,164,165,169,198,233,234,430,683],[51,64,69,148,152,157,161,164,165,168,176,178,196,236,237,238,683],[51,69,130,143,167,405,430],[51,62,68,69,70,143,165,168,461,683],[51,69,161,165,195,243,246,247,256,257,259,266,270,272],[51,64,69,148,152,156,161,165,178,277,278,279,280,683],[51,64,69,148,152,156,161,165,178,274,275,683],[51,69,161,683],[51,62,64,69,72,152,237,466,500,501,502,504,505,683],[51,69,130,390,420,616,618,619,683],[51,64,69,418,497,619,624,625,627,683],[51,69,480,683],[51,60,61,62,63,69,70,143,156,168,198,406,430,462,463,464,472,473,683],[51,69,474,683],[51,59,69,70,198,483,499,512,580,615,632],[51,69,463,507],[51,64,69,157,262,543,545,551,552,553,568,570,571,581,582,586,596,599,600,683],[51,68,69,494,544,545,550,551,552,683],[51,69,482,683],[51,69,286,479],[51,64,69,72,156,234,242,269,683],[51,64,69,195,242,244,245,247,255,461,683],[51,69,195,247,260,262,265,683],[51,67,69,70,242,382,415,461,683],[51,69,496,497,683],[51,63,64,69,195,245,255],[51,69,243,683],[51,62,63,64,69,156,157,162,165,195,411,414,427,428,683],[51,69,148,683],[51,69,72,160,165,411,419,420,422,425,683],[51,69,421,590,591,683],[51,68,69,130,422,587,588,592],[69,176,195,197],[51,69,195],[51,65,67,69,192,194,196,219,231,232],[51,69,176,178,192,194,196],[51,69,130,168,198,234,412,430],[51,67,69,130,146,168,175,178,194,198,430],[51,69,177,178,194,195,248,254],[69,146,175,178,193],[51,65,67,69,176,194,219,231,232],[51,59,69,168,430],[51,65,69,194,219,231,232],[51,66,67,69,146,175,176,178,194],[67,69,196,597],[51,68,69,196,198,577,578],[69,146,175,559,575,576],[51,69,377,461],[51,69,376,377,461],[51,68,69,130,194,219,231,309],[51,68,69,130,146,390,395,398],[51,68,69,194,395,573],[51,65,69,130],[51,68,69,130,143,194,248,250,253],[51,69,148],[51,69,396,468,635],[51,69,252],[51,69,531],[51,69,607],[51,69,456],[51,69,396,406,467,468,471],[51,69,465,466],[51,69,127,130,194,395,396],[51,68,69,194,396,470],[51,68,69,130,198,398,399,400,401],[51,69,146,175,198,400,401],[69,402,406],[51,68,69,146,175,264],[51,69,453],[51,69,165,167,430],[51,69,168,430],[51,68,69,169,430],[51,68,69,395,396,402],[51,68,69,146,175,301,395],[51,59,68,69,70],[51,68,69,294],[51,68,69,146,175,301,390,395,407],[51,68,69,168,194,395,430],[51,68,69,248],[51,68,69,130,390],[68,69,602],[51,68,69,194,219,231,232,309],[51,68,69,195,494],[51,68,69,169,395,408,430,612],[51,68,69,396,406],[51,68,69,395,396,402,408],[51,66,67,69,146,175,178],[51,68,69,130,398,469,470],[51,69,146,175,424],[51,68,69,130,146,398,424],[69,146,175,178,198],[51,69,166,449,638],[51,64,69,243,428,485,502,508,555,559,564,565,568,571,683],[51,62,69,195,495,505,506,508,509,510,683],[51,64,69,485,508,571,619,620,622,628,683],[51,59,69,70,410,428,485,502,508,552,554,581,601,603,604,605,606,609,683],[51,59,69,143,195,246,396,428,484,485,495,498,683],[51,69,166,286,307,449,453,475,476,477,478,481,504,551,568,634,637],[51,69,143,378,408,545,552,572,574,579],[51,69,143,472,505,511],[51,69,629,631],[51,59,69,143,378,408,545,552,574,595,604,610,611,613,614],[69,683],[69,691],[66,67,69,127,145,447],[69,166],[68,69,127],[69,127,147,431,432,448],[68,69,127,399],[69,127,130,131],[69,127,168,430],[65,68,69,127,130,248,252],[66,68,69],[51,65,67,69],[69,130,144,146,449],[69,376,390],[51,68,69,399],[51,68,69,390],[51,69,301],[51,69,143,449],[51,68,69,248,254],[51,66,67,69,143,195],[68,69,70,130,145,456,459,460],[65,69,130],[69,192,193],[68,69,130],[69,412,457,458],[66,67,68,69,130,390],[51,68,69,130,284,285,461],[51,66,69,143,198,566,567],[51,69,619,630],[51,69,131,132,143,452],[51,68,69,301,600,612],[51,66,67,69,246],[51,68,69,503],[51,69,175],[51,69,190],[51,62,69,179,190,191,683],[65,68,69],[69,248,251],[69,412],[69,248],[67,68],[67],[68,456]],"referencedMap":[[727,1],[725,2],[530,3],[526,4],[513,2],[529,5],[522,6],[520,7],[519,7],[518,6],[515,7],[516,6],[524,8],[517,7],[514,6],[521,7],[527,9],[528,10],[523,11],[525,7],[155,12],[724,2],[730,13],[726,1],[728,14],[729,1],[732,15],[733,16],[737,17],[731,18],[745,19],[743,2],[744,20],[738,2],[742,21],[739,22],[741,2],[736,23],[748,24],[749,25],[53,26],[54,26],[55,26],[52,2],[58,27],[56,28],[57,28],[750,2],[751,29],[752,2],[753,30],[754,31],[700,32],[740,2],[755,2],[757,33],[758,34],[756,35],[759,36],[760,37],[761,38],[762,39],[763,40],[764,41],[765,42],[766,43],[767,44],[768,45],[457,2],[746,2],[680,2],[641,2],[681,46],[642,2],[643,47],[644,48],[645,2],[646,2],[647,49],[648,50],[649,2],[650,51],[651,51],[652,52],[640,2],[653,53],[654,54],[655,55],[682,56],[656,51],[657,2],[658,57],[659,2],[660,2],[661,58],[662,2],[663,2],[664,2],[665,59],[666,60],[667,51],[668,2],[669,2],[670,61],[671,2],[679,62],[672,63],[673,64],[674,2],[675,49],[676,2],[677,65],[678,49],[769,2],[770,2],[49,2],[771,2],[735,2],[583,66],[546,66],[130,67],[129,68],[734,2],[60,69],[59,70],[47,2],[51,71],[772,72],[773,2],[774,2],[50,2],[775,73],[747,74],[776,18],[777,2],[701,75],[778,2],[780,76],[779,2],[781,77],[782,2],[783,78],[784,2],[144,2],[62,2],[353,2],[372,2],[354,2],[355,2],[356,2],[357,2],[358,2],[359,2],[360,2],[361,2],[376,79],[362,2],[363,2],[364,2],[365,2],[371,2],[366,2],[367,2],[368,2],[369,2],[373,2],[375,2],[374,2],[370,2],[48,2],[69,2],[326,2],[303,80],[302,2],[304,81],[227,82],[228,83],[230,84],[222,82],[225,82],[223,83],[221,82],[229,82],[231,85],[220,83],[226,83],[224,82],[183,86],[693,2],[697,87],[699,88],[698,87],[696,89],[433,2],[435,90],[436,2],[437,2],[447,91],[438,2],[439,2],[441,92],[442,2],[440,90],[443,93],[444,2],[445,2],[446,90],[434,94],[143,95],[135,83],[136,83],[134,2],[139,2],[137,94],[138,2],[133,2],[142,2],[141,96],[140,97],[98,98],[125,98],[99,98],[100,98],[87,98],[101,2],[76,98],[102,98],[103,2],[104,98],[105,98],[106,98],[107,2],[108,2],[118,98],[109,98],[86,98],[110,98],[111,2],[112,2],[113,2],[114,98],[88,98],[77,98],[90,98],[91,98],[92,99],[93,98],[94,98],[97,100],[74,2],[126,101],[127,98],[81,98],[85,98],[83,98],[115,98],[82,98],[116,98],[121,98],[117,98],[79,2],[84,98],[96,98],[119,98],[95,98],[120,98],[89,98],[80,98],[122,98],[78,2],[123,2],[73,2],[124,2],[75,2],[153,2],[695,102],[694,2],[305,103],[186,104],[184,104],[185,104],[182,105],[187,106],[188,105],[189,107],[180,107],[179,83],[181,107],[190,108],[616,83],[531,109],[683,110],[293,83],[570,111],[569,2],[349,112],[350,113],[325,2],[347,114],[328,114],[329,2],[330,2],[331,2],[332,2],[333,114],[334,2],[335,114],[336,115],[337,116],[338,116],[339,115],[340,2],[341,116],[342,114],[343,2],[344,114],[327,2],[346,117],[345,118],[348,119],[170,2],[175,120],[171,121],[173,122],[172,123],[174,123],[398,124],[397,125],[154,126],[128,68],[10,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[8,2],[45,2],[42,2],[43,2],[44,2],[1,2],[9,2],[46,2],[686,127],[687,127],[688,127],[689,127],[690,127],[691,128],[685,2],[215,129],[210,130],[200,131],[213,132],[219,133],[206,134],[208,135],[209,130],[212,132],[214,129],[199,136],[205,137],[218,138],[211,132],[207,139],[202,140],[217,135],[216,2],[204,141],[203,2],[201,2],[178,142],[177,143],[575,144],[470,145],[400,146],[264,147],[263,148],[452,149],[451,150],[395,151],[424,152],[250,153],[249,154],[163,155],[236,156],[278,157],[275,158],[279,158],[479,159],[507,160],[557,161],[558,162],[564,163],[563,164],[562,165],[561,166],[560,167],[556,168],[565,169],[502,170],[550,171],[532,172],[548,173],[455,174],[542,175],[537,176],[540,177],[539,178],[547,179],[71,180],[535,181],[415,182],[491,183],[609,184],[414,185],[496,186],[497,187],[463,170],[703,188],[428,188],[704,188],[533,189],[257,190],[63,188],[162,188],[64,188],[420,179],[382,188],[157,188],[478,191],[602,192],[705,188],[571,193],[587,179],[161,194],[164,179],[405,179],[243,188],[318,195],[317,196],[391,197],[321,198],[392,199],[393,200],[323,201],[320,198],[324,202],[319,203],[322,204],[310,205],[300,206],[316,207],[315,208],[298,209],[297,208],[312,210],[313,211],[486,212],[493,213],[492,185],[706,185],[488,214],[487,215],[495,216],[500,217],[418,218],[501,219],[509,220],[707,83],[295,221],[156,222],[536,188],[306,223],[72,224],[708,225],[152,226],[150,188],[160,227],[158,179],[268,228],[237,185],[389,229],[624,230],[617,231],[387,232],[622,233],[621,234],[626,235],[627,236],[385,237],[709,238],[618,239],[381,240],[386,241],[623,185],[625,242],[384,243],[388,244],[554,179],[482,83],[61,245],[710,246],[462,247],[287,248],[352,249],[549,250],[711,251],[289,252],[292,253],[599,254],[543,255],[582,179],[712,256],[379,257],[262,258],[585,259],[584,260],[586,261],[417,262],[594,263],[596,264],[713,263],[283,265],[606,266],[290,267],[715,268],[714,269],[383,270],[242,188],[260,271],[716,272],[245,273],[259,274],[272,275],[717,276],[718,277],[419,217],[422,278],[590,279],[589,280],[421,280],[314,281],[296,281],[308,282],[146,283],[66,284],[269,284],[576,285],[456,286],[191,2],[65,2],[412,2],[466,2],[430,287],[390,288],[196,83],[284,2],[719,2],[248,148],[70,148],[597,2],[638,289],[555,290],[404,291],[394,292],[410,293],[240,256],[235,294],[239,295],[477,296],[282,297],[273,298],[281,299],[276,300],[241,301],[506,302],[620,303],[628,304],[481,305],[485,188],[474,306],[475,307],[633,308],[508,309],[601,310],[553,311],[483,312],[480,313],[270,314],[256,315],[258,256],[266,316],[484,317],[498,318],[427,319],[244,320],[429,321],[411,322],[426,323],[592,324],[593,325],[198,326],[578,327],[233,328],[197,329],[567,330],[234,331],[255,332],[277,333],[280,334],[566,335],[274,336],[238,336],[195,337],[598,338],[579,339],[577,340],[720,341],[416,342],[534,343],[573,344],[574,345],[465,83],[149,346],[254,347],[490,348],[307,83],[151,83],[538,83],[267,83],[636,349],[510,83],[541,350],[721,351],[351,83],[607,2],[608,352],[464,83],[611,353],[299,83],[472,354],[489,224],[467,355],[468,356],[471,357],[148,83],[402,358],[406,359],[630,360],[265,361],[454,362],[168,363],[169,364],[378,365],[403,366],[612,367],[380,368],[544,369],[408,370],[605,371],[288,372],[581,373],[603,374],[311,375],[291,372],[604,376],[613,377],[407,378],[409,379],[246,380],[271,328],[503,381],[591,382],[425,383],[473,384],[639,385],[572,386],[511,387],[629,388],[610,389],[499,390],[722,391],[580,392],[512,393],[632,394],[615,395],[684,396],[692,397],[702,2],[476,83],[448,398],[176,399],[147,400],[396,399],[449,401],[432,402],[401,399],[132,403],[431,404],[167,399],[253,405],[67,406],[559,2],[469,148],[68,407],[399,148],[131,2],[165,2],[301,148],[285,2],[423,148],[450,408],[377,409],[145,2],[545,224],[505,224],[619,410],[552,411],[600,412],[166,413],[595,224],[309,414],[551,415],[723,2],[461,416],[635,2],[193,417],[232,66],[194,418],[294,419],[459,420],[494,421],[286,422],[568,423],[631,424],[453,425],[614,426],[247,427],[504,428],[634,429],[637,430],[460,66],[458,2],[588,148],[192,431],[261,432],[159,83],[252,433],[413,434],[251,435]],"exportedModulesMap":[[727,1],[725,2],[530,3],[526,4],[513,2],[529,5],[522,6],[520,7],[519,7],[518,6],[515,7],[516,6],[524,8],[517,7],[514,6],[521,7],[527,9],[528,10],[523,11],[525,7],[155,12],[724,2],[730,13],[726,1],[728,14],[729,1],[732,15],[733,16],[737,17],[731,18],[745,19],[743,2],[744,20],[738,2],[742,21],[739,22],[741,2],[736,23],[748,24],[749,25],[53,26],[54,26],[55,26],[52,2],[58,27],[56,28],[57,28],[750,2],[751,29],[752,2],[753,30],[754,31],[700,32],[740,2],[755,2],[757,33],[758,34],[756,35],[759,36],[760,37],[761,38],[762,39],[763,40],[764,41],[765,42],[766,43],[767,44],[768,45],[457,2],[746,2],[680,2],[641,2],[681,46],[642,2],[643,47],[644,48],[645,2],[646,2],[647,49],[648,50],[649,2],[650,51],[651,51],[652,52],[640,2],[653,53],[654,54],[655,55],[682,56],[656,51],[657,2],[658,57],[659,2],[660,2],[661,58],[662,2],[663,2],[664,2],[665,59],[666,60],[667,51],[668,2],[669,2],[670,61],[671,2],[679,62],[672,63],[673,64],[674,2],[675,49],[676,2],[677,65],[678,49],[769,2],[770,2],[49,2],[771,2],[735,2],[583,66],[546,66],[130,67],[129,68],[734,2],[60,69],[59,70],[47,2],[51,71],[772,72],[773,2],[774,2],[50,2],[775,73],[747,74],[776,18],[777,2],[701,75],[778,2],[780,76],[779,2],[781,77],[782,2],[783,78],[784,2],[144,2],[62,2],[353,2],[372,2],[354,2],[355,2],[356,2],[357,2],[358,2],[359,2],[360,2],[361,2],[376,79],[362,2],[363,2],[364,2],[365,2],[371,2],[366,2],[367,2],[368,2],[369,2],[373,2],[375,2],[374,2],[370,2],[48,2],[69,2],[326,2],[303,80],[302,2],[304,81],[227,82],[228,83],[230,84],[222,82],[225,82],[223,83],[221,82],[229,82],[231,85],[220,83],[226,83],[224,82],[183,86],[693,2],[697,87],[699,88],[698,87],[696,89],[433,2],[435,90],[436,2],[437,2],[447,91],[438,2],[439,2],[441,92],[442,2],[440,90],[443,93],[444,2],[445,2],[446,90],[434,94],[143,95],[135,83],[136,83],[134,2],[139,2],[137,94],[138,2],[133,2],[142,2],[141,96],[140,97],[98,98],[125,98],[99,98],[100,98],[87,98],[101,2],[76,98],[102,98],[103,2],[104,98],[105,98],[106,98],[107,2],[108,2],[118,98],[109,98],[86,98],[110,98],[111,2],[112,2],[113,2],[114,98],[88,98],[77,98],[90,98],[91,98],[92,99],[93,98],[94,98],[97,100],[74,2],[126,101],[127,98],[81,98],[85,98],[83,98],[115,98],[82,98],[116,98],[121,98],[117,98],[79,2],[84,98],[96,98],[119,98],[95,98],[120,98],[89,98],[80,98],[122,98],[78,2],[123,2],[73,2],[124,2],[75,2],[153,2],[695,102],[694,2],[305,103],[186,104],[184,104],[185,104],[182,105],[187,106],[188,105],[189,107],[180,107],[179,83],[181,107],[190,108],[616,83],[531,109],[683,110],[293,83],[570,111],[569,2],[349,112],[350,113],[325,2],[347,114],[328,114],[329,2],[330,2],[331,2],[332,2],[333,114],[334,2],[335,114],[336,115],[337,116],[338,116],[339,115],[340,2],[341,116],[342,114],[343,2],[344,114],[327,2],[346,117],[345,118],[348,119],[170,2],[175,120],[171,121],[173,122],[172,123],[174,123],[398,124],[397,125],[154,126],[128,68],[10,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[8,2],[45,2],[42,2],[43,2],[44,2],[1,2],[9,2],[46,2],[686,127],[687,127],[688,127],[689,127],[690,127],[691,128],[685,2],[215,129],[210,130],[200,131],[213,132],[219,133],[206,134],[208,135],[209,130],[212,132],[214,129],[199,136],[205,137],[218,138],[211,132],[207,139],[202,140],[217,135],[216,2],[204,141],[203,2],[201,2],[178,142],[177,143],[575,144],[470,145],[400,146],[264,147],[263,148],[452,149],[451,150],[395,151],[424,152],[250,153],[249,154],[163,155],[236,156],[278,157],[275,158],[279,158],[479,159],[507,160],[557,161],[558,162],[564,163],[563,164],[562,165],[561,166],[560,167],[556,168],[565,169],[502,170],[550,171],[532,172],[548,173],[455,174],[542,175],[537,176],[540,177],[539,178],[547,179],[71,180],[535,181],[415,182],[491,183],[609,184],[414,185],[496,186],[497,187],[463,170],[703,188],[428,188],[704,188],[533,189],[257,190],[63,188],[162,188],[64,188],[420,179],[382,188],[157,188],[478,191],[602,192],[705,188],[571,193],[587,179],[161,194],[164,179],[405,179],[243,188],[318,195],[317,196],[391,197],[321,198],[392,199],[393,200],[323,201],[320,198],[324,202],[319,203],[322,204],[310,205],[300,206],[316,207],[315,208],[298,209],[297,208],[312,210],[313,211],[486,212],[493,213],[492,185],[706,185],[488,214],[487,215],[495,216],[500,217],[418,218],[501,219],[509,220],[707,83],[295,221],[156,222],[536,188],[306,223],[72,224],[708,225],[152,226],[150,188],[160,227],[158,179],[268,228],[237,185],[389,229],[624,230],[617,231],[387,232],[622,233],[621,234],[626,235],[627,236],[385,237],[709,238],[618,239],[381,240],[386,241],[623,185],[625,242],[384,243],[388,244],[554,179],[482,83],[61,245],[710,246],[462,247],[287,248],[352,249],[549,250],[711,251],[289,252],[292,253],[599,254],[543,255],[582,179],[712,256],[379,257],[262,258],[585,259],[584,260],[586,261],[417,262],[594,263],[596,264],[713,263],[283,265],[606,266],[290,267],[715,268],[714,269],[383,270],[242,188],[260,271],[716,272],[245,273],[259,274],[272,275],[717,276],[718,277],[419,217],[422,278],[590,279],[589,280],[421,280],[314,281],[296,281],[308,282],[146,436],[66,284],[269,284],[576,285],[456,286],[191,2],[65,2],[412,2],[466,2],[430,287],[390,288],[196,83],[284,2],[719,2],[248,148],[70,148],[597,2],[638,289],[555,290],[404,291],[394,292],[410,293],[240,256],[235,294],[239,295],[477,296],[282,297],[273,298],[281,299],[276,300],[241,301],[506,302],[620,303],[628,304],[481,305],[485,188],[474,306],[475,307],[633,308],[508,309],[601,310],[553,311],[483,312],[480,313],[270,314],[256,315],[258,256],[266,316],[484,317],[498,318],[427,319],[244,320],[429,321],[411,322],[426,323],[592,324],[593,325],[198,326],[578,327],[233,328],[197,329],[567,330],[234,331],[255,332],[277,333],[280,334],[566,335],[274,336],[238,336],[195,337],[598,338],[579,339],[577,340],[720,341],[416,342],[534,343],[573,344],[574,345],[465,83],[149,346],[254,347],[490,348],[307,83],[151,83],[538,83],[267,83],[636,349],[510,83],[541,350],[721,351],[351,83],[607,2],[608,352],[464,83],[611,353],[299,83],[472,354],[489,224],[467,355],[468,356],[471,357],[148,83],[402,358],[406,359],[630,360],[265,361],[454,362],[168,363],[169,364],[378,365],[403,366],[612,367],[380,368],[544,369],[408,370],[605,371],[288,372],[581,373],[603,374],[311,375],[291,372],[604,376],[613,377],[407,378],[409,379],[246,380],[271,328],[503,381],[591,382],[425,383],[473,384],[639,385],[572,386],[511,387],[629,388],[610,389],[499,390],[722,391],[580,392],[512,393],[632,394],[615,395],[684,396],[692,397],[702,2],[476,83],[448,437],[176,399],[147,400],[396,399],[449,401],[432,402],[401,399],[132,403],[431,404],[167,399],[253,405],[67,406],[559,2],[469,148],[68,407],[399,148],[131,2],[165,2],[301,148],[285,2],[423,148],[450,408],[377,409],[545,224],[505,224],[619,410],[552,411],[600,412],[166,413],[595,224],[309,414],[551,415],[723,2],[461,438],[635,2],[193,417],[232,66],[194,418],[294,419],[459,420],[494,421],[286,422],[568,423],[631,424],[453,425],[614,426],[247,427],[504,428],[634,429],[637,430],[460,66],[458,2],[588,148],[192,431],[261,432],[159,83],[252,433],[413,434],[251,435]],"semanticDiagnosticsPerFile":[727,725,530,526,513,529,522,520,519,518,515,516,524,517,514,521,527,528,523,525,155,724,730,726,728,729,732,733,737,731,745,743,744,738,742,739,741,736,748,749,53,54,55,52,58,56,57,750,751,752,753,754,700,740,755,757,758,756,759,760,761,762,763,764,765,766,767,768,457,746,680,641,681,642,643,644,645,646,647,648,649,650,651,652,640,653,654,655,682,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,679,672,673,674,675,676,677,678,769,770,49,771,735,583,546,130,129,734,60,59,47,51,772,773,774,50,775,747,776,777,701,778,780,779,781,782,783,784,144,62,353,372,354,355,356,357,358,359,360,361,376,362,363,364,365,371,366,367,368,369,373,375,374,370,48,69,326,303,302,304,227,228,230,222,225,223,221,229,231,220,226,224,183,693,697,699,698,696,433,435,436,437,447,438,439,441,442,440,443,444,445,446,434,143,135,136,134,139,137,138,133,142,141,140,98,125,99,100,87,101,76,102,103,104,105,106,107,108,118,109,86,110,111,112,113,114,88,77,90,91,92,93,94,97,74,126,127,81,85,83,115,82,116,121,117,79,84,96,119,95,120,89,80,122,78,123,73,124,75,153,695,694,305,186,184,185,182,187,188,189,180,179,181,190,616,531,683,293,570,569,349,350,325,347,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,327,346,345,348,170,175,171,173,172,174,398,397,154,128,10,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,8,45,42,43,44,1,9,46,686,687,688,689,690,691,685,215,210,200,213,219,206,208,209,212,214,199,205,218,211,207,202,217,216,204,203,201,178,177,575,470,400,264,263,452,451,395,424,250,249,163,236,278,275,279,479,507,557,558,564,563,562,561,560,556,565,502,550,532,548,455,542,537,540,539,547,71,535,415,491,609,414,496,497,463,703,428,704,533,257,63,162,64,420,382,157,478,602,705,571,587,161,164,405,243,318,317,391,321,392,393,323,320,324,319,322,310,300,316,315,298,297,312,313,486,493,492,706,488,487,495,500,418,501,509,707,295,156,536,306,72,708,152,150,160,158,268,237,389,624,617,387,622,621,626,627,385,709,618,381,386,623,625,384,388,554,482,61,710,462,287,352,549,711,289,292,599,543,582,712,379,262,585,584,586,417,594,596,713,283,606,290,715,714,383,242,260,716,245,259,272,717,718,419,422,590,589,421,314,296,308,146,66,269,576,456,191,65,412,466,430,390,196,284,719,248,70,597,638,555,404,394,410,240,235,239,477,282,273,281,276,241,506,620,628,481,485,474,475,633,508,601,553,483,480,270,256,258,266,484,498,427,244,429,411,426,592,593,198,578,233,197,567,234,255,277,280,566,274,238,195,598,579,577,720,416,534,573,574,465,149,254,490,307,151,538,267,636,510,541,721,351,607,608,464,611,299,472,489,467,468,471,148,402,406,630,265,454,168,169,378,403,612,380,544,408,605,288,581,603,311,291,604,613,407,409,246,271,503,591,425,473,639,572,511,629,610,499,722,580,512,632,615,684,692,702,476,448,176,147,396,449,432,401,132,431,167,253,67,559,469,68,399,131,165,301,285,423,450,377,145,545,505,619,552,600,166,595,309,551,723,461,635,193,232,194,294,459,494,286,568,631,453,614,247,504,634,637,460,458,588,192,261,159,252,413,251],"affectedFilesPendingEmit":[[727,1],[725,1],[530,1],[526,1],[513,1],[529,1],[522,1],[520,1],[519,1],[518,1],[515,1],[516,1],[524,1],[517,1],[514,1],[521,1],[527,1],[528,1],[523,1],[525,1],[155,1],[724,1],[730,1],[726,1],[728,1],[729,1],[732,1],[733,1],[737,1],[731,1],[745,1],[743,1],[744,1],[738,1],[742,1],[739,1],[741,1],[736,1],[748,1],[749,1],[53,1],[54,1],[55,1],[52,1],[58,1],[56,1],[57,1],[750,1],[751,1],[752,1],[753,1],[754,1],[700,1],[740,1],[755,1],[757,1],[758,1],[756,1],[759,1],[760,1],[761,1],[762,1],[763,1],[764,1],[765,1],[766,1],[767,1],[768,1],[457,1],[746,1],[680,1],[641,1],[681,1],[642,1],[643,1],[644,1],[645,1],[646,1],[647,1],[648,1],[649,1],[650,1],[651,1],[652,1],[640,1],[653,1],[654,1],[655,1],[682,1],[656,1],[657,1],[658,1],[659,1],[660,1],[661,1],[662,1],[663,1],[664,1],[665,1],[666,1],[667,1],[668,1],[669,1],[670,1],[671,1],[679,1],[672,1],[673,1],[674,1],[675,1],[676,1],[677,1],[678,1],[769,1],[770,1],[49,1],[771,1],[735,1],[583,1],[546,1],[130,1],[129,1],[734,1],[60,1],[59,1],[47,1],[51,1],[772,1],[773,1],[774,1],[50,1],[775,1],[747,1],[776,1],[777,1],[701,1],[778,1],[780,1],[779,1],[781,1],[782,1],[783,1],[784,1],[144,1],[62,1],[353,1],[372,1],[354,1],[355,1],[356,1],[357,1],[358,1],[359,1],[360,1],[361,1],[376,1],[362,1],[363,1],[364,1],[365,1],[371,1],[366,1],[367,1],[368,1],[369,1],[373,1],[375,1],[374,1],[370,1],[48,1],[69,1],[326,1],[303,1],[302,1],[304,1],[227,1],[228,1],[230,1],[222,1],[225,1],[223,1],[221,1],[229,1],[231,1],[220,1],[226,1],[224,1],[183,1],[693,1],[697,1],[699,1],[698,1],[696,1],[433,1],[435,1],[436,1],[437,1],[447,1],[438,1],[439,1],[441,1],[442,1],[440,1],[443,1],[444,1],[445,1],[446,1],[434,1],[143,1],[135,1],[136,1],[134,1],[139,1],[137,1],[138,1],[133,1],[142,1],[141,1],[140,1],[98,1],[125,1],[99,1],[100,1],[87,1],[101,1],[76,1],[102,1],[103,1],[104,1],[105,1],[106,1],[107,1],[108,1],[118,1],[109,1],[86,1],[110,1],[111,1],[112,1],[113,1],[114,1],[88,1],[77,1],[90,1],[91,1],[92,1],[93,1],[94,1],[97,1],[74,1],[126,1],[127,1],[81,1],[85,1],[83,1],[115,1],[82,1],[116,1],[121,1],[117,1],[79,1],[84,1],[96,1],[119,1],[95,1],[120,1],[89,1],[80,1],[122,1],[78,1],[123,1],[73,1],[124,1],[75,1],[153,1],[695,1],[694,1],[305,1],[186,1],[184,1],[185,1],[182,1],[187,1],[188,1],[189,1],[180,1],[179,1],[181,1],[190,1],[616,1],[531,1],[683,1],[293,1],[570,1],[569,1],[349,1],[350,1],[325,1],[347,1],[328,1],[329,1],[330,1],[331,1],[332,1],[333,1],[334,1],[335,1],[336,1],[337,1],[338,1],[339,1],[340,1],[341,1],[342,1],[343,1],[344,1],[327,1],[346,1],[345,1],[348,1],[170,1],[175,1],[171,1],[173,1],[172,1],[174,1],[398,1],[397,1],[154,1],[128,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[686,1],[687,1],[688,1],[689,1],[690,1],[691,1],[685,1],[215,1],[210,1],[200,1],[213,1],[219,1],[206,1],[208,1],[209,1],[212,1],[214,1],[199,1],[205,1],[218,1],[211,1],[207,1],[202,1],[217,1],[216,1],[204,1],[203,1],[201,1],[178,1],[177,1],[575,1],[470,1],[400,1],[264,1],[263,1],[452,1],[451,1],[395,1],[424,1],[250,1],[249,1],[163,1],[236,1],[278,1],[275,1],[279,1],[479,1],[507,1],[557,1],[558,1],[564,1],[563,1],[562,1],[561,1],[560,1],[556,1],[565,1],[502,1],[550,1],[532,1],[548,1],[455,1],[542,1],[537,1],[540,1],[539,1],[547,1],[71,1],[535,1],[415,1],[491,1],[609,1],[414,1],[496,1],[497,1],[463,1],[703,1],[428,1],[704,1],[533,1],[257,1],[63,1],[162,1],[64,1],[420,1],[382,1],[157,1],[478,1],[602,1],[705,1],[571,1],[587,1],[161,1],[164,1],[405,1],[243,1],[318,1],[317,1],[391,1],[321,1],[392,1],[393,1],[323,1],[320,1],[324,1],[319,1],[322,1],[310,1],[300,1],[316,1],[315,1],[298,1],[297,1],[312,1],[313,1],[486,1],[493,1],[492,1],[706,1],[488,1],[487,1],[495,1],[500,1],[418,1],[501,1],[509,1],[707,1],[295,1],[156,1],[536,1],[306,1],[72,1],[708,1],[152,1],[150,1],[160,1],[158,1],[268,1],[237,1],[389,1],[624,1],[617,1],[387,1],[622,1],[621,1],[626,1],[627,1],[385,1],[709,1],[618,1],[381,1],[386,1],[623,1],[625,1],[384,1],[388,1],[554,1],[482,1],[61,1],[710,1],[462,1],[287,1],[352,1],[549,1],[711,1],[289,1],[292,1],[599,1],[543,1],[582,1],[712,1],[379,1],[262,1],[585,1],[584,1],[586,1],[417,1],[594,1],[596,1],[713,1],[283,1],[606,1],[290,1],[715,1],[714,1],[383,1],[242,1],[260,1],[716,1],[245,1],[259,1],[272,1],[717,1],[718,1],[419,1],[422,1],[590,1],[589,1],[421,1],[314,1],[296,1],[308,1],[146,1],[66,1],[269,1],[576,1],[456,1],[191,1],[65,1],[412,1],[466,1],[430,1],[390,1],[196,1],[284,1],[719,1],[248,1],[70,1],[597,1],[638,1],[555,1],[404,1],[394,1],[410,1],[240,1],[235,1],[239,1],[477,1],[282,1],[273,1],[281,1],[276,1],[241,1],[506,1],[620,1],[628,1],[481,1],[485,1],[474,1],[475,1],[633,1],[508,1],[601,1],[553,1],[483,1],[480,1],[270,1],[256,1],[258,1],[266,1],[484,1],[498,1],[427,1],[244,1],[429,1],[411,1],[426,1],[592,1],[593,1],[198,1],[578,1],[233,1],[197,1],[567,1],[234,1],[255,1],[277,1],[280,1],[566,1],[274,1],[238,1],[195,1],[598,1],[579,1],[577,1],[720,1],[416,1],[534,1],[573,1],[574,1],[465,1],[149,1],[254,1],[490,1],[307,1],[151,1],[538,1],[267,1],[636,1],[510,1],[541,1],[721,1],[351,1],[607,1],[608,1],[464,1],[611,1],[299,1],[472,1],[489,1],[467,1],[468,1],[471,1],[148,1],[402,1],[406,1],[630,1],[265,1],[454,1],[168,1],[169,1],[378,1],[403,1],[612,1],[380,1],[544,1],[408,1],[605,1],[288,1],[581,1],[603,1],[311,1],[291,1],[604,1],[613,1],[407,1],[409,1],[246,1],[271,1],[503,1],[591,1],[425,1],[473,1],[639,1],[572,1],[511,1],[629,1],[610,1],[499,1],[722,1],[580,1],[512,1],[632,1],[615,1],[684,1],[692,1],[702,1],[476,1],[448,1],[176,1],[147,1],[396,1],[449,1],[432,1],[401,1],[132,1],[431,1],[167,1],[253,1],[67,1],[559,1],[469,1],[68,1],[399,1],[131,1],[165,1],[301,1],[285,1],[423,1],[450,1],[377,1],[145,1],[545,1],[505,1],[619,1],[552,1],[600,1],[166,1],[595,1],[309,1],[551,1],[723,1],[461,1],[635,1],[193,1],[232,1],[194,1],[294,1],[459,1],[494,1],[286,1],[568,1],[631,1],[453,1],[614,1],[247,1],[504,1],[634,1],[637,1],[460,1],[458,1],[588,1],[192,1],[261,1],[159,1],[252,1],[413,1],[251,1]]},"version":"4.5.4"} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 8c67c396..8c3c1ca2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1036,7 +1036,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== @@ -1496,50 +1496,6 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.2.tgz#830beaec4b4091a9e9398ac50f865ddea52186b9" integrity sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA== -"@redux-saga/core@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@redux-saga/core/-/core-1.1.3.tgz#3085097b57a4ea8db5528d58673f20ce0950f6a4" - integrity sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg== - dependencies: - "@babel/runtime" "^7.6.3" - "@redux-saga/deferred" "^1.1.2" - "@redux-saga/delay-p" "^1.1.2" - "@redux-saga/is" "^1.1.2" - "@redux-saga/symbols" "^1.1.2" - "@redux-saga/types" "^1.1.0" - redux "^4.0.4" - typescript-tuple "^2.2.1" - -"@redux-saga/deferred@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/deferred/-/deferred-1.1.2.tgz#59937a0eba71fff289f1310233bc518117a71888" - integrity sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ== - -"@redux-saga/delay-p@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/delay-p/-/delay-p-1.1.2.tgz#8f515f4b009b05b02a37a7c3d0ca9ddc157bb355" - integrity sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g== - dependencies: - "@redux-saga/symbols" "^1.1.2" - -"@redux-saga/is@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/is/-/is-1.1.2.tgz#ae6c8421f58fcba80faf7cadb7d65b303b97e58e" - integrity sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w== - dependencies: - "@redux-saga/symbols" "^1.1.2" - "@redux-saga/types" "^1.1.0" - -"@redux-saga/symbols@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/symbols/-/symbols-1.1.2.tgz#216a672a487fc256872b8034835afc22a2d0595d" - integrity sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ== - -"@redux-saga/types@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.1.0.tgz#0e81ce56b4883b4b2a3001ebe1ab298b84237204" - integrity sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg== - "@rollup/plugin-babel@^5.2.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" @@ -1931,14 +1887,6 @@ resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.9.tgz#1cfb6d60ef3822c589f18e70f8b12f9a28ce8724" integrity sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ== -"@types/hoist-non-react-statics@^3.3.0": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" - integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - "@types/html-minifier-terser@^6.0.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" @@ -2050,16 +1998,6 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-redux@^7.1.11", "@types/react-redux@^7.1.20": - version "7.1.21" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.21.tgz#f32bbaf7cbc4b93f51e10d340aa54035c084b186" - integrity sha512-bLdglUiBSQNzWVVbmNPKGYYjrzp3/YDPwfOH3nLEz99I4awLlaRAPWjo6bZ2POpxztFWtDDXIPxBLVykXqBt+w== - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - "@types/react-router-dom@^5.1.7": version "5.3.2" resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.2.tgz#ebd8e145cf056db5c66eb1dac63c72f52e8542ee" @@ -3449,7 +3387,7 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== -classnames@*, classnames@^2.2.6: +classnames@*, classnames@^2.0.0, classnames@^2.2.6: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== @@ -3652,17 +3590,6 @@ connect-history-api-fallback@^1.6.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== -connected-react-router@^6.5.2: - version "6.9.2" - resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.9.2.tgz#f89fa87f0e977fcabf17475fb4552e170cc7e48e" - integrity sha512-bE8kNBiZv9Mivp7pYn9JvLH5ItTjLl45kk1/Vha0rmAK9I/ETb5JPJrAm0h2KCG9qLfv7vqU3Jo4UUDo0oJnQg== - dependencies: - lodash.isequalwith "^4.4.0" - prop-types "^15.7.2" - optionalDependencies: - immutable "^3.8.1 || ^4.0.0" - seamless-immutable "^7.1.3" - console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -3722,7 +3649,7 @@ core-js-pure@^3.19.0, core-js-pure@^3.8.1: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.2.tgz#5d263565f0e34ceeeccdc4422fae3e84ca6b8c0f" integrity sha512-CmWHvSKn2vNL6p6StNp1EmMIfVY/pqn3JLAjfZQ8WZGPOlGoO92EkX9/Mk81i6GxvoPXjUqEQnpM3rJ5QxxIOg== -core-js@^3.19.2: +core-js@^3.19.2, core-js@^3.6.5: version "3.20.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.2.tgz#46468d8601eafc8b266bd2dd6bf9dee622779581" integrity sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw== @@ -4521,7 +4448,7 @@ encoding@0.1.13: dependencies: iconv-lite "^0.6.2" -enhanced-resolve@^5.8.3: +enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3: version "5.8.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== @@ -4898,6 +4825,11 @@ etag@1.8.1, etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +eventemitter3@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -5614,7 +5546,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -5853,11 +5785,6 @@ immer@^9.0.7: resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.7.tgz#b6156bd7db55db7abc73fd2fdadf4e579a701075" integrity sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA== -"immutable@^3.8.1 || ^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" - integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== - import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -7040,11 +6967,6 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.isequalwith@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz#266726ddd528f854f21f4ea98a065606e0fbc6b0" - integrity sha1-Jmcm3dUo+FTyH06pigZWBuD7xrA= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -7317,18 +7239,11 @@ mobx-persist-store@^1.0.4: resolved "https://registry.yarnpkg.com/mobx-persist-store/-/mobx-persist-store-1.0.4.tgz#233f0c03a708c0f58948c5ff223aa59610a2711a" integrity sha512-zxYvRSGKIJG/2brJC8+u6rJOnhe6HvvIOSaPSoOKdRFw4R91EV+e8PsraiScH3STNkGQlArbjnAUpd7cga1VCA== -mobx-react-lite@^3.2.0: +mobx-react-lite@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-3.2.3.tgz#83d2b32ebf4383cd0dc0d397acbf53a8e9c66765" integrity sha512-7exWp1FV0M9dP08H9PIeHlJqDw4IdkQVRMfLYaZFMmlbzSS6ZU6p/kx392KN+rVf81hH3IQYewvRGQ70oiwmbw== -mobx-react@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-7.2.1.tgz#e9d4c04dc63d05e1139ce773f5fee7a5b4cb7c78" - integrity sha512-LZS99KFLn75VWDXPdRJhILzVQ7qLcRjQbzkK+wVs0Qg4kWw5hOI2USp7tmu+9zP9KYsVBmKyx2k/8cTTBfsymw== - dependencies: - mobx-react-lite "^3.2.0" - mobx@^6.3.10: version "6.3.12" resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.3.12.tgz#2ceb4f632081a8bf8757ba7e5e01b5810800022f" @@ -7392,6 +7307,14 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-transpile-modules@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/next-transpile-modules/-/next-transpile-modules-9.0.0.tgz#133b1742af082e61cc76b02a0f12ffd40ce2bf90" + integrity sha512-VCNFOazIAnXn1hvgYYSTYMnoWgKgwlYh4lm1pKbSfiB3kj5ZYLcKVhfh3jkPOg1cnd9DP+pte9yCUocdPEUBTQ== + dependencies: + enhanced-resolve "^5.7.0" + escalade "^3.1.1" + next@^12.0.7: version "12.0.7" resolved "https://registry.yarnpkg.com/next/-/next-12.0.7.tgz#33ebf229b81b06e583ab5ae7613cffe1ca2103fc" @@ -8681,7 +8604,7 @@ prompts@^2.0.1, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.5.7, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.7, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -8767,7 +8690,7 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -raf@^3.4.1: +raf@^3.0.0, raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== @@ -8906,7 +8829,7 @@ react-hot-toast@^2.1.1: dependencies: goober "^2.1.1" -react-is@17.0.2, react-is@^17.0.1, react-is@^17.0.2: +react-is@17.0.2, react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== @@ -8934,18 +8857,6 @@ react-popper@^2.2.3: react-fast-compare "^3.0.1" warning "^4.0.2" -react-redux@^7.2.2: - version "7.2.6" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.6.tgz#49633a24fe552b5f9caf58feb8a138936ddfe9aa" - integrity sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ== - dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" - react-refresh@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" @@ -9057,6 +8968,17 @@ react-sticky-box@^0.9.3: "@babel/runtime" "^7.1.5" resize-observer-polyfill "^1.5.1" +react-stickynode@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/react-stickynode/-/react-stickynode-4.0.0.tgz#ca1deeda866aeace3d522d01eb868f286cdb49d1" + integrity sha512-H6Ae6l8soAc188eFAmE4CGJz3oidQa88jNO/fnJWjpFw4DwGRS6boL9gHNE4DCvbMPgek1AAP85pUPIEKUMgtw== + dependencies: + classnames "^2.0.0" + core-js "^3.6.5" + prop-types "^15.6.0" + shallowequal "^1.0.0" + subscribe-ui-event "^2.0.6" + react@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -9141,25 +9063,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redux-persist@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-5.10.0.tgz#5d8d802c5571e55924efc1c3a9b23575283be62b" - integrity sha512-sSJAzNq7zka3qVHKce1hbvqf0Vf5DuTVm7dr4GtsqQVOexnrvbV47RWFiPxQ8fscnyiuWyD2O92DOxPl0tGCRg== - -redux-saga@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.1.3.tgz#9f3e6aebd3c994bbc0f6901a625f9a42b51d1112" - integrity sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw== - dependencies: - "@redux-saga/core" "^1.1.3" - -redux@^4.0.0, redux@^4.0.4, redux@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" - integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== - dependencies: - "@babel/runtime" "^7.9.2" - regenerate-unicode-properties@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" @@ -9539,11 +9442,6 @@ scss-tokenizer@^0.2.3: js-base64 "^2.1.8" source-map "^0.4.2" -seamless-immutable@^7.1.3: - version "7.1.4" - resolved "https://registry.yarnpkg.com/seamless-immutable/-/seamless-immutable-7.1.4.tgz#6e9536def083ddc4dea0207d722e0e80d0f372f8" - integrity sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A== - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -9672,6 +9570,11 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallowequal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -10198,6 +10101,15 @@ stylis@3.5.4: resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== +subscribe-ui-event@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/subscribe-ui-event/-/subscribe-ui-event-2.0.7.tgz#8d18b6339c35b25246a5335775573f0e5dc461f8" + integrity sha512-Acrtf9XXl6lpyHAWYeRD1xTPUQHDERfL4GHeNuYAtZMc4Z8Us2iDBP0Fn3xiRvkQ1FO+hx+qRLmPEwiZxp7FDQ== + dependencies: + eventemitter3 "^3.0.0" + lodash "^4.17.15" + raf "^3.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10649,25 +10561,6 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript-compare@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" - integrity sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA== - dependencies: - typescript-logic "^0.0.0" - -typescript-logic@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/typescript-logic/-/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196" - integrity sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q== - -typescript-tuple@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/typescript-tuple/-/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2" - integrity sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q== - dependencies: - typescript-compare "^0.0.2" - typescript@^4.0.5: version "4.5.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8"