{"version":3,"file":"static/js/main.1336e1d0.js","mappings":"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","sources":["../node_modules/@babel/runtime/regenerator/index.js","serviceWorker.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/react-redux/es/index.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/history/esm/history.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/react-router/modules/createNameContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/hooks.js","../node_modules/connected-react-router/esm/actions.js","../node_modules/connected-react-router/esm/selectors.js","../node_modules/connected-react-router/esm/ConnectedRouter.js","../node_modules/connected-react-router/esm/reducer.js","../node_modules/connected-react-router/esm/structure/plain/getIn.js","../node_modules/connected-react-router/esm/structure/plain/index.js","../node_modules/connected-react-router/esm/index.js","../node_modules/redux-persist/es/integration/react.js","analytics/Events.ts","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/createClass.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/inherits.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/typeof.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/createSuper.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","analytics/Analytics.ts","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/objectSpread.js","../node_modules/@amplitude/utils/src/misc.ts","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/amplitude-js/amplitude.esm.js","analytics/Amplitude.ts","analytics/FacebookPixel.ts","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","analytics/AllEvents.ts","analytics/GoogleAnalytics.ts","analytics/index.ts","../node_modules/react-router-transition/lib/index.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","assets/ic_delete.svg","assets/icon_eye_closed.svg","bootstrap/hooks.ts","components/loader/Loader.tsx","components/loadingbutton/LoadingButton.tsx","assets/icon_eye_opened.svg","components/passwordinput/PasswordInput.tsx","utils/index.tsx","analytics/Event.ts","b2b/redeem/analytics/index.ts","assets/icon_exclamation.svg","b2b/redeem/components/errorpopup/ErrorPopup.tsx","net/commonnet.ts","b2b/redeem/net/index.ts","b2b/redeem/redux/actions/code.ts","b2b/redeem/redux/actions/register.ts","assets/ic_facebook.svg","b2b/bidease/i18n/translation.ts","b2b/bidease/i18n/useTranslation.ts","webpack://loona-web/./src/b2b/redeem/account/facebook/styles.module.scss?2d82","b2b/redeem/account/facebook/FacebookLoginButton.tsx","webpack://loona-web/./src/b2b/redeem/account/styles.module.scss?51e9","b2b/redeem/account/RedeemAccount.tsx","assets/ic_checked.svg","webpack://loona-web/./src/b2b/redeem/code/inputwithbutton/styles.module.scss?edc3","b2b/redeem/code/inputwithbutton/InputWithButton.tsx","assets/logo_loona.svg","b2b/redeem/components/logo/Logo.tsx","webpack://loona-web/./src/b2b/redeem/components/redeemtemplate/styles.module.scss?3867","b2b/redeem/components/redeemtemplate/RedeemTemplate.tsx","webpack://loona-web/./src/b2b/redeem/code/styles.module.scss?8e68","b2b/redeem/code/RedeemCode.tsx","loonaweb/utils/index.tsx","webpack://loona-web/./src/b2b/redeem/components/successtemplate/styles.module.scss?8f2d","b2b/redeem/components/successtemplate/SuccessTemplate.tsx","b2b/redeem/done/RedeemDone.tsx","resetpassword/net/net.ts","resetpassword/template/Template.tsx","resetpassword/createpassword/CreatePassword.tsx","resetpassword/done/Done.tsx","resetpassword/email/Email.tsx","resetpassword/expiredhash/ExpiredHash.tsx","webpack://loona-web/./src/loonaweb/components/header/styles.module.scss?58e9","../node_modules/src/observe.ts","../node_modules/src/InView.tsx","../node_modules/src/useInView.tsx","webpack://loona-web/./src/loonaweb/components/title/styles.module.scss?3ce4","loonaweb/components/title/Title.tsx","loonaweb/analytics/index.ts","loonaweb/components/header/Header.tsx","assets/loonaWeb/logos/apple_award.svg","assets/loonaWeb/logos/bazaar.svg","assets/loonaWeb/logos/cnn.svg","assets/loonaWeb/logos/forbes.svg","assets/loonaWeb/logos/google_award.svg","assets/loonaWeb/logos/google.svg","assets/loonaWeb/logos/gq.svg","assets/loonaWeb/logos/quartz.svg","assets/loonaWeb/logos/tech_crunch.svg","assets/loonaWeb/logos/the_guardian.svg","assets/loonaWeb/logos/vogue.svg","assets/loonaWeb/logos/always_pets.svg","assets/loonaWeb/logos/family_minded.svg","assets/loonaWeb/logos/far_wide.svg","assets/loonaWeb/logos/work_money.svg","assets/loonaWeb/logos/stadium_talk.svg","loonaweb/components/ticker/Ticket.constants.ts","webpack://loona-web/./src/loonaweb/components/ticker/styles.module.scss?011a","loonaweb/components/ticker/Ticker.tsx","webpack://loona-web/./src/loonaweb/components/card/styles.module.scss?acf0","loonaweb/components/card/Card.tsx","webpack://loona-web/./src/loonaweb/components/herosection/styles.module.scss?cbfb","loonaweb/components/herosection/HeroSection.tsx","webpack://loona-web/./src/loonaweb/components/content/components/card/styles.module.scss?fe82","loonaweb/components/content/components/card/Card.tsx","loonaweb/components/content/components/item/linkItem.tsx","hooks/useMediaQuery.ts","webpack://loona-web/./src/loonaweb/components/content/components/carousel/styles.module.scss?5c1f","hooks/usePreloadImages.ts","assets/loonaWeb/arrow_right.svg","../javascript/esm|/codebuild/output/src236216195/src/loona-web/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","loonaweb/components/content/components/carousel/Carousel.tsx","webpack://loona-web/./src/loonaweb/components/content/styles.module.scss?8620","loonaweb/components/content/Content.tsx","assets/loonaWeb/arrow_up.svg","webpack://loona-web/./src/loonaweb/components/relaxtechniques/styles.module.scss?294d","loonaweb/components/relaxtechniques/RelaxTechniques.tsx","webpack://loona-web/./src/loonaweb/components/pillow/styles.module.scss?5756","loonaweb/components/pillow/Pillow.tsx","webpack://loona-web/./src/loonaweb/components/accordion/styles.module.scss?4345","webpack://loona-web/./src/loonaweb/components/accordion/item/styles.module.scss?2ff8","assets/loonaWeb/arrow_down.svg","loonaweb/components/accordion/item/Item.tsx","loonaweb/components/accordion/Accordion.tsx","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","assets/banner/stars.svg","loonaweb/components/footer/GooglePlayButton.tsx","loonaweb/components/footer/AppStoreButton.tsx","webpack://loona-web/./src/loonaweb/components/footer/styles.module.scss?79a5","loonaweb/components/footer/Footer.tsx","webpack://loona-web/./src/loonaweb/components/banner/styles.module.scss?e25f","loonaweb/components/banner/Banner.tsx","loonaweb/components/banner/Banner.hook.ts","webpack://loona-web/./src/loonaweb/styles.module.scss?2f8e","assets/apple.svg","loonaweb/LoonaWeb.tsx","assets/logo_loona_black.svg","loonaweb/data/CookieDataTypes.ts","webpack://loona-web/./src/loonaweb/components/pagewrapper/styles.module.scss?78a3","loonaweb/components/pagewrapper/PageWrapper.tsx","loonaweb/pages/Terms.tsx","loonaweb/pages/Privacy.tsx","loonaweb/pages/CaliforniaPrivacy.tsx","webpack://loona-web/./src/loonaweb/components/cookiepagewrapper/styles.module.scss?3749","loonaweb/components/cookiepagewrapper/CookiePolicyPageWrapper.tsx","webpack://loona-web/./src/loonaweb/components/table/styles.module.scss?6d9b","loonaweb/components/table/Table.tsx","loonaweb/data/CookieTableData.tsx","assets/bidease/flower.svg","loonaweb/data/CookieTableHeaders.ts","loonaweb/pages/CookiePolicy.tsx","webpack://loona-web/./src/b2b/bidease/components/letter/styles.module.scss?ad42","b2b/bidease/components/letter/Letter.tsx","webpack://loona-web/./src/b2b/bidease/components/adventages/item/styles.module.scss?fe37","b2b/bidease/components/adventages/item/item.tsx","webpack://loona-web/./src/b2b/bidease/components/adventages/styles.module.scss?2088","b2b/bidease/components/adventages/Adventages.tsx","assets/bidease/moon.svg","assets/bidease/smile.svg","assets/bidease/perfomance.svg","assets/bidease/logo.svg","b2b/bidease/constants.ts","webpack://loona-web/./src/b2b/bidease/components/button/styles.module.scss?2af1","b2b/bidease/components/button/Button.tsx","webpack://loona-web/./src/b2b/bidease/components/title/styles.module.scss?463b","b2b/bidease/components/title/Title.tsx","webpack://loona-web/./src/b2b/bidease/components/header/styles.module.scss?f660","b2b/bidease/components/header/Header.tsx","webpack://loona-web/./src/b2b/bidease/components/description/styles.module.scss?6e2d","b2b/bidease/components/description/Description.tsx","webpack://loona-web/./src/b2b/bidease/components/footer/styles.module.scss?f4ac","b2b/bidease/components/footer/Footer.tsx","webpack://loona-web/./src/b2b/bidease/components/whyloona/styles.module.scss?54ea","b2b/bidease/components/whyloona/WhyLoona.tsx","assets/rocket10/logo.svg","b2b/bidease/utils.ts","webpack://loona-web/./src/b2b/bidease/styles.module.scss?ef26","b2b/bidease/Bidease.tsx","b2b/redeem/code/RedeemCode.constants.ts","b2b/bidease/Rocket10.tsx","loonaweb/pages/Conditions.tsx","loonaweb/pages/WebAccessibilityStatement.tsx","approuter/AppRouter.tsx","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/connected-react-router/esm/middleware.js","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/redux-persist/es/constants.js","../node_modules/redux-persist/es/stateReconciler/autoMergeLevel1.js","../node_modules/redux-persist/es/createPersistoid.js","../node_modules/redux-persist/es/getStoredState.js","../node_modules/redux-persist/es/purgeStoredState.js","../node_modules/redux-persist/es/persistReducer.js","../node_modules/redux-persist/es/persistStore.js","b2b/redeem/redux/reducer.ts","bootstrap/index.ts","index.tsx","bootstrap/reducer.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","webpack://loona-web/./src/vr/styles.module.scss?d4e1","webpack://loona-web/./src/avatars/styles.module.scss?d5bf","vr/index.tsx","avatars/index.tsx","app/index.tsx","../node_modules/@amplitude/ua-parser-js/src/ua-parser.js","../node_modules/blueimp-md5/js/md5.js","../node_modules/decode-uri-component/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/lodash.isequalwith/index.js","../node_modules/object-assign/index.js","../node_modules/path-to-regexp/index.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/query-string/index.js","../node_modules/raf/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-facebook-login/dist/facebook-login-with-button.js","../ReactPixel/fb-pixel.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-motion/lib/TransitionMotion.js","../node_modules/react-motion/lib/mapToZero.js","../node_modules/react-motion/lib/mergeDiff.js","../node_modules/react-motion/lib/presets.js","../node_modules/react-motion/lib/shouldStopAnimation.js","../node_modules/react-motion/lib/spring.js","../node_modules/react-motion/lib/stepper.js","../node_modules/react-motion/lib/stripStyle.js","../node_modules/react-motion/node_modules/performance-now/lib/performance-now.js","../node_modules/react-multi-carousel/index.js","../node_modules/react-multi-carousel/lib/Arrows.js","../node_modules/react-multi-carousel/lib/Carousel.js","../node_modules/react-multi-carousel/lib/CarouselItems.js","../node_modules/react-multi-carousel/lib/Dots.js","../node_modules/react-multi-carousel/lib/index.js","../node_modules/react-multi-carousel/lib/types.js","../node_modules/react-multi-carousel/lib/utils/clones.js","../node_modules/react-multi-carousel/lib/utils/common.js","../node_modules/react-multi-carousel/lib/utils/dots.js","../node_modules/react-multi-carousel/lib/utils/elementWidth.js","../node_modules/react-multi-carousel/lib/utils/index.js","../node_modules/react-multi-carousel/lib/utils/mouseOrTouchMove.js","../node_modules/react-multi-carousel/lib/utils/next.js","../node_modules/react-multi-carousel/lib/utils/previous.js","../node_modules/react-multi-carousel/lib/utils/throttle.js","../node_modules/react-multi-carousel/lib/utils/throwError.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/redux-persist/lib/storage/createWebStorage.js","../node_modules/redux-persist/lib/storage/getStorage.js","../node_modules/redux-persist/lib/storage/index.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/strict-uri-encode/index.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/startup"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA',\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: {\n 'Service-Worker': 'script',\n },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.',\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"],\n _excluded2 = [\"reactReduxForwardedRef\"];\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var reactReduxForwardedRef = props.reactReduxForwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var subscription = createSubscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }));\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n var boundActionCreators = {};\n\n var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n\n for (var key in actionCreators) {\n _loop(key);\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"];\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default /*#__PURE__*/createConnect();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @returns {any} the value of the `ReactReduxContext`\n *\n * @example\n *\n * import React from 'react'\n * import { useReduxContext } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const { store } = useReduxContext()\n * return
{store.getState()}
\n * }\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\n * Hook factory, which creates a `useStore` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useStore` hook bound to the specified context.\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\n * A hook to access the redux store.\n *\n * @returns {any} the redux store\n *\n * @example\n *\n * import React from 'react'\n * import { useStore } from 'react-redux'\n *\n * export const ExampleComponent = () => {\n * const store = useStore()\n * return
{store.getState()}
\n * }\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useDispatch` hook bound to the specified context.\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\n * A hook to access the redux `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const dispatch = useDispatch()\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n * return (\n *
\n * {value}\n * \n *
\n * )\n * }\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useSelector` hook bound to the specified context.\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return
{counter}
\n * }\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","/**\n * This action type will be dispatched when your history\n * receives a location change.\n */\nexport var LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\nexport var onLocationChanged = function onLocationChanged(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n type: LOCATION_CHANGE,\n payload: {\n location: location,\n action: action,\n isFirstRendering: isFirstRendering\n }\n };\n};\n/**\n * This action type will be dispatched by the history actions below.\n * If you're writing a middleware to watch for navigation events, be sure to\n * look for actions of this type.\n */\n\nexport var CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\nvar updateLocation = function updateLocation(method) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return {\n type: CALL_HISTORY_METHOD,\n payload: {\n method: method,\n args: args\n }\n };\n };\n};\n/**\n * These actions correspond to the history API.\n * The associated routerMiddleware will capture these events before they get to\n * your reducer and reissue them as the matching function on your history.\n */\n\n\nexport var push = updateLocation('push');\nexport var replace = updateLocation('replace');\nexport var go = updateLocation('go');\nexport var goBack = updateLocation('goBack');\nexport var goForward = updateLocation('goForward');\nexport var routerActions = {\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { matchPath } from \"react-router\";\n\nvar createSelectors = function createSelectors(structure) {\n var getIn = structure.getIn,\n toJS = structure.toJS;\n\n var isRouter = function isRouter(value) {\n return value != null && _typeof(value) === 'object' && getIn(value, ['location']) && getIn(value, ['action']);\n };\n\n var getRouter = function getRouter(state) {\n var router = toJS(getIn(state, ['router']));\n\n if (!isRouter(router)) {\n throw 'Could not find router reducer in state tree, it must be mounted under \"router\"';\n }\n\n return router;\n };\n\n var getLocation = function getLocation(state) {\n return toJS(getIn(getRouter(state), ['location']));\n };\n\n var getAction = function getAction(state) {\n return toJS(getIn(getRouter(state), ['action']));\n };\n\n var getSearch = function getSearch(state) {\n return toJS(getIn(getRouter(state), ['location', 'search']));\n };\n\n var getHash = function getHash(state) {\n return toJS(getIn(getRouter(state), ['location', 'hash']));\n }; // It only makes sense to recalculate the `matchPath` whenever the pathname\n // of the location changes. That's why `createMatchSelector` memoizes\n // the latest result based on the location's pathname.\n\n\n var createMatchSelector = function createMatchSelector(path) {\n var lastPathname = null;\n var lastMatch = null;\n return function (state) {\n var _ref = getLocation(state) || {},\n pathname = _ref.pathname;\n\n if (pathname === lastPathname) {\n return lastMatch;\n }\n\n lastPathname = pathname;\n var match = matchPath(pathname, path);\n\n if (!match || !lastMatch || match.url !== lastMatch.url // When URL matched for nested routes, URL is the same but isExact is not.\n || match.isExact !== lastMatch.isExact) {\n lastMatch = match;\n }\n\n return lastMatch;\n };\n };\n\n return {\n getLocation: getLocation,\n getAction: getAction,\n getRouter: getRouter,\n getSearch: getSearch,\n getHash: getHash,\n createMatchSelector: createMatchSelector\n };\n};\n\nexport default createSelectors;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, ReactReduxContext } from 'react-redux';\nimport { Router } from 'react-router';\nimport isEqualWith from 'lodash.isequalwith';\nimport { onLocationChanged as _onLocationChanged } from './actions';\nimport createSelectors from './selectors';\n\nvar createConnectedRouter = function createConnectedRouter(structure) {\n var _createSelectors = createSelectors(structure),\n getLocation = _createSelectors.getLocation;\n /*\n * ConnectedRouter listens to a history object passed from props.\n * When history is changed, it dispatches action to redux store.\n * Then, store will pass props to component to render.\n * This creates uni-directional flow from history->store->router->components.\n */\n\n\n var ConnectedRouter = /*#__PURE__*/function (_PureComponent) {\n _inherits(ConnectedRouter, _PureComponent);\n\n var _super = _createSuper(ConnectedRouter);\n\n function ConnectedRouter(props) {\n var _this;\n\n _classCallCheck(this, ConnectedRouter);\n\n _this = _super.call(this, props);\n var store = props.store,\n history = props.history,\n onLocationChanged = props.onLocationChanged,\n stateCompareFunction = props.stateCompareFunction;\n _this.inTimeTravelling = false; // Subscribe to store changes to check if we are in time travelling\n\n _this.unsubscribe = store.subscribe(function () {\n // Allow time travel debugging compatibility to be turned off\n // as the detection for this (below) is error prone in apps where the\n // store may be unmounted, a navigation occurs, and then the store is re-mounted\n // during the app's lifetime. Detection could be much improved if Redux DevTools\n // simply set a global variable like `REDUX_DEVTOOLS_IS_TIME_TRAVELLING=true`.\n var isTimeTravelDebuggingAllowed = !props.noTimeTravelDebugging; // Extract store's location\n\n var _getLocation = getLocation(store.getState()),\n pathnameInStore = _getLocation.pathname,\n searchInStore = _getLocation.search,\n hashInStore = _getLocation.hash,\n stateInStore = _getLocation.state; // Extract history's location\n\n\n var _history$location = history.location,\n pathnameInHistory = _history$location.pathname,\n searchInHistory = _history$location.search,\n hashInHistory = _history$location.hash,\n stateInHistory = _history$location.state; // If we do time travelling, the location in store is changed but location in history is not changed\n\n if (isTimeTravelDebuggingAllowed && props.history.action === 'PUSH' && (pathnameInHistory !== pathnameInStore || searchInHistory !== searchInStore || hashInHistory !== hashInStore || !isEqualWith(stateInStore, stateInHistory, stateCompareFunction))) {\n _this.inTimeTravelling = true; // Update history's location to match store's location\n\n history.push({\n pathname: pathnameInStore,\n search: searchInStore,\n hash: hashInStore,\n state: stateInStore\n });\n }\n });\n\n var handleLocationChange = function handleLocationChange(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n // Dispatch onLocationChanged except when we're in time travelling\n if (!_this.inTimeTravelling) {\n onLocationChanged(location, action, isFirstRendering);\n } else {\n _this.inTimeTravelling = false;\n }\n }; // Listen to history changes\n\n\n _this.unlisten = history.listen(handleLocationChange);\n\n if (!props.noInitialPop) {\n // Dispatch a location change action for the initial location.\n // This makes it backward-compatible with react-router-redux.\n // But, we add `isFirstRendering` to `true` to prevent double-rendering.\n handleLocationChange(history.location, history.action, true);\n }\n\n return _this;\n }\n\n _createClass(ConnectedRouter, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unlisten();\n this.unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n omitRouter = _this$props.omitRouter,\n history = _this$props.history,\n children = _this$props.children; // The `omitRouter` option is available for applications that must\n // have a Router instance higher in the component tree but still desire\n // to use connected-react-router for its Redux integration.\n\n if (omitRouter) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n }\n\n return /*#__PURE__*/React.createElement(Router, {\n history: history\n }, children);\n }\n }]);\n\n return ConnectedRouter;\n }(PureComponent);\n\n ConnectedRouter.propTypes = {\n store: PropTypes.shape({\n getState: PropTypes.func.isRequired,\n subscribe: PropTypes.func.isRequired\n }).isRequired,\n history: PropTypes.shape({\n action: PropTypes.string.isRequired,\n listen: PropTypes.func.isRequired,\n location: PropTypes.object.isRequired,\n push: PropTypes.func.isRequired\n }).isRequired,\n basename: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n onLocationChanged: PropTypes.func.isRequired,\n noInitialPop: PropTypes.bool,\n noTimeTravelDebugging: PropTypes.bool,\n stateCompareFunction: PropTypes.func,\n omitRouter: PropTypes.bool\n };\n\n var mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onLocationChanged: function onLocationChanged(location, action, isFirstRendering) {\n return dispatch(_onLocationChanged(location, action, isFirstRendering));\n }\n };\n };\n\n var ConnectedRouterWithContext = function ConnectedRouterWithContext(props) {\n var Context = props.context || ReactReduxContext;\n\n if (Context == null) {\n throw 'Please upgrade to react-redux v6';\n }\n\n return /*#__PURE__*/React.createElement(Context.Consumer, null, function (_ref) {\n var store = _ref.store;\n return /*#__PURE__*/React.createElement(ConnectedRouter, _extends({\n store: store\n }, props));\n });\n };\n\n ConnectedRouterWithContext.propTypes = {\n context: PropTypes.object\n };\n return connect(null, mapDispatchToProps)(ConnectedRouterWithContext);\n};\n\nexport default createConnectedRouter;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { LOCATION_CHANGE } from './actions';\n/**\n * Adds query to location.\n * Utilises the search prop of location to construct query.\n */\n\nvar injectQuery = function injectQuery(location) {\n if (location && location.query) {\n // Don't inject query if it already exists in history\n return location;\n }\n\n var searchQuery = location && location.search;\n\n if (typeof searchQuery !== 'string' || searchQuery.length === 0) {\n return _objectSpread({}, location, {\n query: {}\n });\n } // Ignore the `?` part of the search string e.g. ?username=codejockie\n\n\n var search = searchQuery.substring(1); // Split the query string on `&` e.g. ?username=codejockie&name=Kennedy\n\n var queries = search.split('&'); // Contruct query\n\n var query = queries.reduce(function (acc, currentQuery) {\n // Split on `=`, to get key and value\n var _currentQuery$split = currentQuery.split('='),\n _currentQuery$split2 = _slicedToArray(_currentQuery$split, 2),\n queryKey = _currentQuery$split2[0],\n queryValue = _currentQuery$split2[1];\n\n return _objectSpread({}, acc, _defineProperty({}, queryKey, queryValue));\n }, {});\n return _objectSpread({}, location, {\n query: query\n });\n};\n\nvar createConnectRouter = function createConnectRouter(structure) {\n var fromJS = structure.fromJS,\n merge = structure.merge;\n\n var createRouterReducer = function createRouterReducer(history) {\n var initialRouterState = fromJS({\n location: injectQuery(history.location),\n action: history.action\n });\n /*\n * This reducer will update the state with the most recent location history\n * has transitioned to.\n */\n\n return function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialRouterState;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n type = _ref.type,\n payload = _ref.payload;\n\n if (type === LOCATION_CHANGE) {\n var location = payload.location,\n action = payload.action,\n isFirstRendering = payload.isFirstRendering; // Don't update the state ref for the first rendering\n // to prevent the double-rendering issue on initilization\n\n return isFirstRendering ? state : merge(state, {\n location: fromJS(injectQuery(location)),\n action: action\n });\n }\n\n return state;\n };\n };\n\n return createRouterReducer;\n};\n\nexport default createConnectRouter;","/* Code from github.com/erikras/redux-form by Erik Rasmussen */\nvar getIn = function getIn(state, path) {\n if (!state) {\n return state;\n }\n\n var length = path.length;\n\n if (!length) {\n return undefined;\n }\n\n var result = state;\n\n for (var i = 0; i < length && !!result; ++i) {\n result = result[path[i]];\n }\n\n return result;\n};\n\nexport default getIn;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport getIn from './getIn';\nvar structure = {\n fromJS: function fromJS(value) {\n return value;\n },\n getIn: getIn,\n merge: function merge(state, payload) {\n return _objectSpread({}, state, {}, payload);\n },\n toJS: function toJS(value) {\n return value;\n }\n};\nexport default structure;","import createConnectedRouter from \"./ConnectedRouter\";\nimport createConnectRouter from \"./reducer\";\nimport createSelectors from \"./selectors\";\nimport plainStructure from \"./structure/plain\";\nexport { LOCATION_CHANGE, CALL_HISTORY_METHOD, onLocationChanged, push, replace, go, goBack, goForward, routerActions } from \"./actions\";\nexport { default as routerMiddleware } from \"./middleware\";\nexport var ConnectedRouter = /*#__PURE__*/createConnectedRouter(plainStructure);\nexport var connectRouter = /*#__PURE__*/createConnectRouter(plainStructure);\n\nvar _createSelectors = /*#__PURE__*/createSelectors(plainStructure),\n getLocation = _createSelectors.getLocation,\n getAction = _createSelectors.getAction,\n getHash = _createSelectors.getHash,\n getRouter = _createSelectors.getRouter,\n getSearch = _createSelectors.getSearch,\n createMatchSelector = _createSelectors.createMatchSelector;\n\nexport { getLocation, getAction, getHash, getRouter, getSearch, createMatchSelector };","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { PureComponent } from 'react'; // eslint-disable-line import/no-unresolved\n\nexport var PersistGate =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(PersistGate, _PureComponent);\n\n function PersistGate() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, PersistGate);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(PersistGate)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n bootstrapped: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_unsubscribe\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handlePersistorState\", function () {\n var persistor = _this.props.persistor;\n\n var _persistor$getState = persistor.getState(),\n bootstrapped = _persistor$getState.bootstrapped;\n\n if (bootstrapped) {\n if (_this.props.onBeforeLift) {\n Promise.resolve(_this.props.onBeforeLift()).finally(function () {\n return _this.setState({\n bootstrapped: true\n });\n });\n } else {\n _this.setState({\n bootstrapped: true\n });\n }\n\n _this._unsubscribe && _this._unsubscribe();\n }\n });\n\n return _this;\n }\n\n _createClass(PersistGate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._unsubscribe = this.props.persistor.subscribe(this.handlePersistorState);\n this.handlePersistorState();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._unsubscribe && this._unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof this.props.children === 'function' && this.props.loading) console.error('redux-persist: PersistGate expects either a function child or loading prop, but not both. The loading prop will be ignored.');\n }\n\n if (typeof this.props.children === 'function') {\n return this.props.children(this.state.bootstrapped);\n }\n\n return this.state.bootstrapped ? this.props.children : this.props.loading;\n }\n }]);\n\n return PersistGate;\n}(PureComponent);\n\n_defineProperty(PersistGate, \"defaultProps\", {\n children: null,\n loading: null\n});","export enum Events {\n GiftScreenOpened = 'viewGiftScreen',\n GiftProductSelected = 'continueGiftWelcome',\n GiftAmountSelected = 'continueGiftPlanSettings',\n GiftPurchaseSuccess = 'giftPurchase',\n RedeemScreenOpened = 'viewRedeemScreen',\n RedeemWelcomeContinue = 'continueRedeemWelcome',\n RedeemSignUp = 'signUp',\n RedeemGiftCodeActivated = 'ContinueGiftCode',\n RedeemAppContinue = 'ContinueRedeemCongratsScreen',\n\n PayPalClicked = 'clickPayPalButton',\n CardFormInputStarted = 'clickCreditCardInput',\n\n ExperimentStarted = 'experimentEntered',\n Install = 'clickInstall',\n SignUp = 'completeRegistration',\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import { Events } from './Events';\nimport { Event } from './Event';\n\nexport class Analytics {\n supportedEvents: Events[] = Object.values(Events);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n trackEvent(event: Event) {\n throw new Error('trackEvent should be implemented');\n }\n}\n","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","/**\n * Checks whether we're in a Node.js environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv(): boolean {\n return typeof process === 'object' && process?.versions?.node !== undefined;\n}\n\n/**\n * Checks whether we're in a browser environment\n *\n * @returns Answer to given question\n */\nexport function isBrowserEnv(): boolean {\n return typeof window === 'object' && window?.document !== undefined;\n}\n\nconst fallbackGlobalObject = {};\n\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport const getGlobalObject = (): any => {\n if (isNodeEnv()) {\n return global;\n } else if (typeof window !== 'undefined') {\n return window;\n } else if (typeof self !== 'undefined') {\n return self;\n } else {\n return fallbackGlobalObject;\n }\n};\n\nexport const getGlobalAmplitudeNamespace = (): any => {\n const global = getGlobalObject();\n if (global.__AMPLITUDE__ === undefined) {\n global.__AMPLITUDE__ = {};\n }\n\n return global.__AMPLITUDE__;\n};\n\n/**\n * A promise-based way to sleep for x millseconds, then queue ourselves back to the\n * JS event loop.\n *\n * @param milliseconds The number of milliseconds to wait for\n */\nexport const asyncSleep = async (milliseconds: number): Promise => {\n return await new Promise(resolve => setTimeout(resolve, milliseconds));\n};\n\n/**\n * Fixes browser edge case where Prototype.js injects Array.prototype.toJSON and breaks the built-in JSON.stringify()\n *\n * @returns true if Array.prototype.toJSON was deleted, false if not\n */\nexport const prototypeJsFix = (): boolean => {\n // Augment and cast built-ins to represent Prototype.js injection\n interface Window {\n Prototype?: Record;\n }\n interface ArrayConstructor {\n prototype?: { toJSON?: Function };\n }\n if (isBrowserEnv()) {\n const augmentedWindow = window as Window;\n const augmentedArray = Array as ArrayConstructor;\n if (augmentedWindow.Prototype !== undefined && augmentedArray.prototype?.toJSON !== undefined) {\n delete augmentedArray.prototype.toJSON;\n return true;\n }\n }\n return false;\n};\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _objectSpread from '@babel/runtime/helpers/objectSpread';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { isBrowserEnv, prototypeJsFix } from '@amplitude/utils';\nimport _typeof from '@babel/runtime/helpers/typeof';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport md5 from 'blueimp-md5';\nimport queryString from 'query-string';\nimport UAParser from '@amplitude/ua-parser-js';\n\nvar Constants = {\n DEFAULT_INSTANCE: '$default_instance',\n API_VERSION: 2,\n MAX_STRING_LENGTH: 4096,\n MAX_PROPERTY_KEYS: 1000,\n IDENTIFY_EVENT: '$identify',\n GROUP_IDENTIFY_EVENT: '$groupidentify',\n EVENT_LOG_URL: 'api.amplitude.com',\n EVENT_LOG_EU_URL: 'api.eu.amplitude.com',\n DYNAMIC_CONFIG_URL: 'regionconfig.amplitude.com',\n DYNAMIC_CONFIG_EU_URL: 'regionconfig.eu.amplitude.com',\n // localStorageKeys\n LAST_EVENT_ID: 'amplitude_lastEventId',\n LAST_EVENT_TIME: 'amplitude_lastEventTime',\n LAST_IDENTIFY_ID: 'amplitude_lastIdentifyId',\n LAST_SEQUENCE_NUMBER: 'amplitude_lastSequenceNumber',\n SESSION_ID: 'amplitude_sessionId',\n // Used in cookie as well\n DEVICE_ID: 'amplitude_deviceId',\n OPT_OUT: 'amplitude_optOut',\n USER_ID: 'amplitude_userId',\n // indexes of properties in cookie v2 storage format\n DEVICE_ID_INDEX: 0,\n USER_ID_INDEX: 1,\n OPT_OUT_INDEX: 2,\n SESSION_ID_INDEX: 3,\n LAST_EVENT_TIME_INDEX: 4,\n EVENT_ID_INDEX: 5,\n IDENTIFY_ID_INDEX: 6,\n SEQUENCE_NUMBER_INDEX: 7,\n COOKIE_TEST_PREFIX: 'amp_cookie_test',\n COOKIE_PREFIX: 'amp',\n // Storage options\n STORAGE_DEFAULT: '',\n STORAGE_COOKIES: 'cookies',\n STORAGE_NONE: 'none',\n STORAGE_LOCAL: 'localStorage',\n STORAGE_SESSION: 'sessionStorage',\n // revenue keys\n REVENUE_EVENT: 'revenue_amount',\n REVENUE_PRODUCT_ID: '$productId',\n REVENUE_QUANTITY: '$quantity',\n REVENUE_PRICE: '$price',\n REVENUE_REVENUE_TYPE: '$revenueType',\n AMP_DEVICE_ID_PARAM: 'amp_device_id',\n // url param\n REFERRER: 'referrer',\n // UTM Params\n UTM_SOURCE: 'utm_source',\n UTM_MEDIUM: 'utm_medium',\n UTM_CAMPAIGN: 'utm_campaign',\n UTM_TERM: 'utm_term',\n UTM_CONTENT: 'utm_content',\n ATTRIBUTION_EVENT: '[Amplitude] Attribution Captured',\n TRANSPORT_HTTP: 'http',\n TRANSPORT_BEACON: 'beacon'\n};\n\n/*\n * UTF-8 encoder/decoder\n * http://www.webtoolkit.info/\n */\nvar UTF8 = {\n encode: function encode(s) {\n var utftext = '';\n\n for (var n = 0; n < s.length; n++) {\n var c = s.charCodeAt(n);\n\n if (c < 128) {\n utftext += String.fromCharCode(c);\n } else if (c > 127 && c < 2048) {\n utftext += String.fromCharCode(c >> 6 | 192);\n utftext += String.fromCharCode(c & 63 | 128);\n } else {\n utftext += String.fromCharCode(c >> 12 | 224);\n utftext += String.fromCharCode(c >> 6 & 63 | 128);\n utftext += String.fromCharCode(c & 63 | 128);\n }\n }\n\n return utftext;\n },\n decode: function decode(utftext) {\n var s = '';\n var i = 0;\n var c = 0,\n c1 = 0,\n c2 = 0;\n\n while (i < utftext.length) {\n c = utftext.charCodeAt(i);\n\n if (c < 128) {\n s += String.fromCharCode(c);\n i++;\n } else if (c > 191 && c < 224) {\n c1 = utftext.charCodeAt(i + 1);\n s += String.fromCharCode((c & 31) << 6 | c1 & 63);\n i += 2;\n } else {\n c1 = utftext.charCodeAt(i + 1);\n c2 = utftext.charCodeAt(i + 2);\n s += String.fromCharCode((c & 15) << 12 | (c1 & 63) << 6 | c2 & 63);\n i += 3;\n }\n }\n\n return s;\n }\n};\n\n/* global globalThis */\nvar GlobalScope = function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n}();\n\n/*\n * Base64 encoder/decoder\n * http://www.webtoolkit.info/\n */\n\nvar Base64 = {\n _keyStr: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n encode: function encode(input) {\n try {\n if (GlobalScope.btoa && GlobalScope.atob) {\n return GlobalScope.btoa(unescape(encodeURIComponent(input)));\n }\n } catch (e) {//log(e);\n }\n\n return Base64._encode(input);\n },\n _encode: function _encode(input) {\n var output = '';\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n var i = 0;\n input = UTF8.encode(input);\n\n while (i < input.length) {\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n enc1 = chr1 >> 2;\n enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + Base64._keyStr.charAt(enc1) + Base64._keyStr.charAt(enc2) + Base64._keyStr.charAt(enc3) + Base64._keyStr.charAt(enc4);\n }\n\n return output;\n },\n decode: function decode(input) {\n try {\n if (GlobalScope.btoa && GlobalScope.atob) {\n return decodeURIComponent(escape(GlobalScope.atob(input)));\n }\n } catch (e) {//log(e);\n }\n\n return Base64._decode(input);\n },\n _decode: function _decode(input) {\n var output = '';\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n input = input.replace(/[^A-Za-z0-9+/=]/g, '');\n\n while (i < input.length) {\n enc1 = Base64._keyStr.indexOf(input.charAt(i++));\n enc2 = Base64._keyStr.indexOf(input.charAt(i++));\n enc3 = Base64._keyStr.indexOf(input.charAt(i++));\n enc4 = Base64._keyStr.indexOf(input.charAt(i++));\n chr1 = enc1 << 2 | enc2 >> 4;\n chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n chr3 = (enc3 & 3) << 6 | enc4;\n output = output + String.fromCharCode(chr1);\n\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n }\n\n output = UTF8.decode(output);\n return output;\n }\n};\n\n/**\n * toString ref.\n * @private\n */\nvar toString = Object.prototype.toString;\n/**\n * Return the type of `val`.\n * @private\n * @param {Mixed} val\n * @return {String}\n * @api public\n */\n\nfunction type (val) {\n switch (toString.call(val)) {\n case '[object Date]':\n return 'date';\n\n case '[object RegExp]':\n return 'regexp';\n\n case '[object Arguments]':\n return 'arguments';\n\n case '[object Array]':\n return 'array';\n\n case '[object Error]':\n return 'error';\n }\n\n if (val === null) {\n return 'null';\n }\n\n if (val === undefined) {\n return 'undefined';\n }\n\n if (val !== val) {\n return 'nan';\n }\n\n if (val && val.nodeType === 1) {\n return 'element';\n }\n\n if (typeof Buffer !== 'undefined' && typeof Buffer.isBuffer === 'function' && Buffer.isBuffer(val)) {\n return 'buffer';\n }\n\n val = val.valueOf ? val.valueOf() : Object.prototype.valueOf.apply(val);\n return _typeof(val);\n}\n\nvar logLevels = {\n DISABLE: 0,\n ERROR: 1,\n WARN: 2,\n INFO: 3\n};\nvar logLevel = logLevels.WARN;\n\nvar setLogLevel = function setLogLevel(logLevelName) {\n if (Object.prototype.hasOwnProperty.call(logLevels, logLevelName)) {\n logLevel = logLevels[logLevelName];\n }\n};\n\nvar getLogLevel = function getLogLevel() {\n return logLevel;\n};\n\nvar log = {\n error: function error(s) {\n if (logLevel >= logLevels.ERROR) {\n _log(s);\n }\n },\n warn: function warn(s) {\n if (logLevel >= logLevels.WARN) {\n _log(s);\n }\n },\n info: function info(s) {\n if (logLevel >= logLevels.INFO) {\n _log(s);\n }\n }\n};\n\nvar _log = function _log(s) {\n try {\n console.log('[Amplitude] ' + s);\n } catch (e) {// console logging not available\n }\n};\n\nvar isEmptyString = function isEmptyString(str) {\n return !str || str.length === 0;\n};\n\nvar sessionStorageEnabled = function sessionStorageEnabled() {\n try {\n if (GlobalScope.sessionStorage) {\n return true;\n }\n } catch (e) {// sessionStorage disabled\n }\n\n return false;\n}; // truncate string values in event and user properties so that request size does not get too large\n\n\nvar truncate = function truncate(value) {\n if (type(value) === 'array') {\n for (var i = 0; i < value.length; i++) {\n value[i] = truncate(value[i]);\n }\n } else if (type(value) === 'object') {\n for (var key in value) {\n if (key in value) {\n value[key] = truncate(value[key]);\n }\n }\n } else {\n value = _truncateValue(value);\n }\n\n return value;\n};\n\nvar _truncateValue = function _truncateValue(value) {\n if (type(value) === 'string') {\n return value.length > Constants.MAX_STRING_LENGTH ? value.substring(0, Constants.MAX_STRING_LENGTH) : value;\n }\n\n return value;\n};\n\nvar validateInput = function validateInput(input, name, expectedType) {\n if (type(input) !== expectedType) {\n log.error('Invalid ' + name + ' input type. Expected ' + expectedType + ' but received ' + type(input));\n return false;\n }\n\n return true;\n};\n\nvar validateDeviceId = function validateDeviceId(deviceId) {\n if (!validateInput(deviceId, 'deviceId', 'string')) {\n return false;\n }\n\n if (deviceId.includes('.')) {\n log.error(\"Device IDs may not contain '.' characters. Value will be ignored: \\\"\".concat(deviceId, \"\\\"\"));\n return false;\n }\n\n return true;\n};\n\nvar validateTransport = function validateTransport(transport) {\n if (!validateInput(transport, 'transport', 'string')) {\n return false;\n }\n\n if (transport !== Constants.TRANSPORT_HTTP && transport !== Constants.TRANSPORT_BEACON) {\n log.error(\"transport value must be one of '\".concat(Constants.TRANSPORT_BEACON, \"' or '\").concat(Constants.TRANSPORT_HTTP, \"'\"));\n return false;\n }\n\n if (transport !== Constants.TRANSPORT_HTTP && !navigator.sendBeacon) {\n log.error(\"browser does not support sendBeacon, so transport must be HTTP\");\n return false;\n }\n\n return true;\n}; // do some basic sanitization and type checking, also catch property dicts with more than 1000 key/value pairs\n\n\nvar validateProperties = function validateProperties(properties) {\n var propsType = type(properties);\n\n if (propsType !== 'object') {\n log.error('Error: invalid properties format. Expecting Javascript object, received ' + propsType + ', ignoring');\n return {};\n }\n\n if (Object.keys(properties).length > Constants.MAX_PROPERTY_KEYS) {\n log.error('Error: too many properties (more than 1000), ignoring');\n return {};\n }\n\n var copy = {}; // create a copy with all of the valid properties\n\n for (var property in properties) {\n if (!Object.prototype.hasOwnProperty.call(properties, property)) {\n continue;\n } // validate key\n\n\n var key = property;\n var keyType = type(key);\n\n if (keyType !== 'string') {\n key = String(key);\n log.warn('WARNING: Non-string property key, received type ' + keyType + ', coercing to string \"' + key + '\"');\n } // validate value\n\n\n var value = validatePropertyValue(key, properties[property]);\n\n if (value === null) {\n continue;\n }\n\n copy[key] = value;\n }\n\n return copy;\n};\n\nvar invalidValueTypes = ['nan', 'function', 'arguments', 'regexp', 'element'];\n\nvar validatePropertyValue = function validatePropertyValue(key, value) {\n var valueType = type(value);\n\n if (invalidValueTypes.indexOf(valueType) !== -1) {\n log.warn('WARNING: Property key \"' + key + '\" with invalid value type ' + valueType + ', ignoring');\n value = null;\n } else if (valueType === 'undefined') {\n value = null;\n } else if (valueType === 'error') {\n value = String(value);\n log.warn('WARNING: Property key \"' + key + '\" with value type error, coercing to ' + value);\n } else if (valueType === 'array') {\n // check for nested arrays or objects\n var arrayCopy = [];\n\n for (var i = 0; i < value.length; i++) {\n var element = value[i];\n var elemType = type(element);\n\n if (elemType === 'array') {\n log.warn('WARNING: Cannot have ' + elemType + ' nested in an array property value, skipping');\n continue;\n } else if (elemType === 'object') {\n arrayCopy.push(validateProperties(element));\n } else {\n arrayCopy.push(validatePropertyValue(key, element));\n }\n }\n\n value = arrayCopy;\n } else if (valueType === 'object') {\n value = validateProperties(value);\n }\n\n return value;\n};\n\nvar validateGroups = function validateGroups(groups) {\n var groupsType = type(groups);\n\n if (groupsType !== 'object') {\n log.error('Error: invalid groups format. Expecting Javascript object, received ' + groupsType + ', ignoring');\n return {};\n }\n\n var copy = {}; // create a copy with all of the valid properties\n\n for (var group in groups) {\n if (!Object.prototype.hasOwnProperty.call(groups, group)) {\n continue;\n } // validate key\n\n\n var key = group;\n var keyType = type(key);\n\n if (keyType !== 'string') {\n key = String(key);\n log.warn('WARNING: Non-string groupType, received type ' + keyType + ', coercing to string \"' + key + '\"');\n } // validate value\n\n\n var value = validateGroupName(key, groups[group]);\n\n if (value === null) {\n continue;\n }\n\n copy[key] = value;\n }\n\n return copy;\n};\n\nvar validateGroupName = function validateGroupName(key, groupName) {\n var groupNameType = type(groupName);\n\n if (groupNameType === 'string') {\n return groupName;\n }\n\n if (groupNameType === 'date' || groupNameType === 'number' || groupNameType === 'boolean') {\n groupName = String(groupName);\n log.warn('WARNING: Non-string groupName, received type ' + groupNameType + ', coercing to string \"' + groupName + '\"');\n return groupName;\n }\n\n if (groupNameType === 'array') {\n // check for nested arrays or objects\n var arrayCopy = [];\n\n for (var i = 0; i < groupName.length; i++) {\n var element = groupName[i];\n var elemType = type(element);\n\n if (elemType === 'array' || elemType === 'object') {\n log.warn('WARNING: Skipping nested ' + elemType + ' in array groupName');\n continue;\n } else if (elemType === 'string') {\n arrayCopy.push(element);\n } else if (elemType === 'date' || elemType === 'number' || elemType === 'boolean') {\n element = String(element);\n log.warn('WARNING: Non-string groupName, received type ' + elemType + ', coercing to string \"' + element + '\"');\n arrayCopy.push(element);\n }\n }\n\n return arrayCopy;\n }\n\n log.warn('WARNING: Non-string groupName, received type ' + groupNameType + '. Please use strings or array of strings for groupName');\n}; // parses the value of a url param (for example ?gclid=1234&...)\n\n\nvar getQueryParam = function getQueryParam(name, query) {\n name = name.replace(/[[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n var results = regex.exec(query);\n return results === null ? undefined : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n};\n\nvar isWebWorkerEnvironment = function isWebWorkerEnvironment() {\n return typeof WorkerGlobalScope !== 'undefined';\n};\n\nvar utils = {\n setLogLevel: setLogLevel,\n getLogLevel: getLogLevel,\n logLevels: logLevels,\n log: log,\n isEmptyString: isEmptyString,\n isWebWorkerEnvironment: isWebWorkerEnvironment,\n getQueryParam: getQueryParam,\n sessionStorageEnabled: sessionStorageEnabled,\n truncate: truncate,\n validateGroups: validateGroups,\n validateInput: validateInput,\n validateProperties: validateProperties,\n validateDeviceId: validateDeviceId,\n validateTransport: validateTransport\n};\n\nvar getLocation = function getLocation() {\n return GlobalScope.location;\n};\n\n// A URL safe variation on the the list of Base64 characters\nvar base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';\n\nvar base64Id = function base64Id() {\n var str = '';\n\n for (var i = 0; i < 22; ++i) {\n str += base64Chars.charAt(Math.floor(Math.random() * 64));\n }\n\n return str;\n};\n\nvar get = function get(name) {\n try {\n var ca = document.cookie.split(';');\n var value = null;\n\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n\n if (c.indexOf(name) === 0) {\n value = c.substring(name.length, c.length);\n break;\n }\n }\n\n return value;\n } catch (e) {\n return null;\n }\n};\n\nvar getAll = function getAll(name) {\n try {\n var cookieArray = document.cookie.split(';').map(function (c) {\n return c.trimStart();\n });\n var values = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = cookieArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var cookie = _step.value;\n\n while (cookie.charAt(0) === ' ') {\n cookie = cookie.substring(1);\n }\n\n if (cookie.indexOf(name) === 0) {\n values.push(cookie.substring(name.length));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return values;\n } catch (e) {\n return [];\n }\n};\n\nvar set = function set(name, value, opts) {\n var expires = value !== null ? opts.expirationDays : -1;\n\n if (expires) {\n var date = new Date();\n date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);\n expires = date;\n }\n\n var str = name + '=' + value;\n\n if (expires) {\n str += '; expires=' + expires.toUTCString();\n }\n\n str += '; path=/';\n\n if (opts.domain) {\n str += '; domain=' + opts.domain;\n }\n\n if (opts.secure) {\n str += '; Secure';\n }\n\n if (opts.sameSite) {\n str += '; SameSite=' + opts.sameSite;\n }\n\n document.cookie = str;\n};\n\nvar getLastEventTime = function getLastEventTime() {\n var cookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var strValue = cookie.split('.')[Constants.LAST_EVENT_TIME_INDEX];\n var parsedValue;\n\n if (strValue) {\n parsedValue = parseInt(strValue, 32);\n }\n\n if (parsedValue) {\n return parsedValue;\n } else {\n utils.log.warn(\"unable to parse malformed cookie: \".concat(cookie));\n return 0;\n }\n};\n\nvar sortByEventTime = function sortByEventTime(cookies) {\n return _toConsumableArray(cookies).sort(function (c1, c2) {\n var t1 = getLastEventTime(c1);\n var t2 = getLastEventTime(c2); // sort c1 first if its last event time is more recent\n // i.e its event time integer is larger that c2's\n\n return t2 - t1;\n });\n}; // test that cookies are enabled - navigator.cookiesEnabled yields false positives in IE, need to test directly\n\n\nvar areCookiesEnabled = function areCookiesEnabled() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var cookieName = Constants.COOKIE_TEST_PREFIX + base64Id();\n\n if (typeof document === 'undefined') {\n return false;\n }\n\n var _areCookiesEnabled = false;\n\n try {\n var uid = String(new Date());\n set(cookieName, uid, opts);\n utils.log.info(\"Testing if cookies available\");\n _areCookiesEnabled = get(cookieName + '=') === uid;\n } catch (e) {\n utils.log.warn(\"Error thrown when checking for cookies. Reason: \\\"\".concat(e, \"\\\"\"));\n } finally {\n utils.log.info(\"Cleaning up cookies availability test\");\n set(cookieName, null, opts);\n }\n\n return _areCookiesEnabled;\n};\n\nvar baseCookie = {\n set: set,\n get: get,\n getAll: getAll,\n getLastEventTime: getLastEventTime,\n sortByEventTime: sortByEventTime,\n areCookiesEnabled: areCookiesEnabled\n};\n\nvar getHost = function getHost(url) {\n if (url) {\n if (typeof document !== 'undefined') {\n var a = document.createElement('a');\n a.href = url;\n return a.hostname || GlobalScope.location.hostname;\n }\n\n if (typeof URL === 'function') {\n var u = new URL(url);\n return u.hostname || GlobalScope.location.hostname;\n }\n }\n\n return GlobalScope.location.hostname;\n};\n\nvar topDomain = function topDomain(url) {\n var host = getHost(url);\n var parts = host.split('.');\n var levels = [];\n var cname = '_tldtest_' + base64Id();\n if (utils.isWebWorkerEnvironment()) return '';\n\n for (var i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n\n for (var _i = 0; _i < levels.length; ++_i) {\n var domain = levels[_i];\n var opts = {\n domain: '.' + domain\n };\n baseCookie.set(cname, 1, opts);\n\n if (baseCookie.get(cname)) {\n baseCookie.set(cname, null, opts);\n return domain;\n }\n }\n\n return '';\n};\n\n/*\n * Cookie data\n */\nvar _options = {\n expirationDays: undefined,\n domain: undefined\n};\n\nvar reset = function reset() {\n _options = {\n expirationDays: undefined,\n domain: undefined\n };\n};\n\nvar options = function options(opts) {\n if (arguments.length === 0) {\n return _options;\n }\n\n opts = opts || {};\n _options.expirationDays = opts.expirationDays;\n _options.secure = opts.secure;\n _options.sameSite = opts.sameSite;\n var domain = !utils.isEmptyString(opts.domain) ? opts.domain : '.' + topDomain(getLocation().href);\n var token = Math.random();\n _options.domain = domain;\n set$1('amplitude_test', token);\n var stored = get$1('amplitude_test');\n\n if (!stored || stored !== token) {\n domain = null;\n }\n\n remove('amplitude_test');\n _options.domain = domain;\n return _options;\n};\n\nvar _domainSpecific = function _domainSpecific(name) {\n // differentiate between cookies on different domains\n var suffix = '';\n\n if (_options.domain) {\n suffix = _options.domain.charAt(0) === '.' ? _options.domain.substring(1) : _options.domain;\n }\n\n return name + suffix;\n};\n\nvar get$1 = function get(name) {\n var nameEq = _domainSpecific(name) + '=';\n var value = baseCookie.get(nameEq);\n\n try {\n if (value) {\n return JSON.parse(Base64.decode(value));\n }\n } catch (e) {\n return null;\n }\n\n return null;\n};\n\nvar set$1 = function set(name, value) {\n try {\n baseCookie.set(_domainSpecific(name), Base64.encode(JSON.stringify(value)), _options);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar setRaw = function setRaw(name, value) {\n try {\n baseCookie.set(_domainSpecific(name), value, _options);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar getRaw = function getRaw(name) {\n var nameEq = _domainSpecific(name) + '=';\n return baseCookie.get(nameEq);\n};\n\nvar remove = function remove(name) {\n try {\n baseCookie.set(_domainSpecific(name), null, _options);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar Cookie = {\n reset: reset,\n options: options,\n get: get$1,\n set: set$1,\n remove: remove,\n setRaw: setRaw,\n getRaw: getRaw\n};\n\nvar WorkerStorage =\n/*#__PURE__*/\nfunction () {\n function WorkerStorage() {\n _classCallCheck(this, WorkerStorage);\n\n this.map = new Map();\n this.length = 0;\n }\n\n _createClass(WorkerStorage, [{\n key: \"key\",\n value: function key(index) {\n var keys = Array.from(this.map.keys());\n var key = keys[index];\n return this.map.get(key);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.map.get(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n if (!this.map.has(key)) {\n this.length += 1;\n }\n\n this.map.set(key, value);\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n if (this.map.has(key)) {\n this.length -= 1;\n this.map.delete(key);\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.map.clear();\n }\n }]);\n\n return WorkerStorage;\n}();\n\n/*\n * Implement localStorage to support Firefox 2-3 and IE 5-7\n */\nvar localStorage;\n\n{\n // test that Window.localStorage is available and works\n var windowLocalStorageAvailable = function windowLocalStorageAvailable() {\n var uid = new Date();\n var result;\n\n try {\n GlobalScope.localStorage.setItem(uid, uid);\n result = GlobalScope.localStorage.getItem(uid) === String(uid);\n GlobalScope.localStorage.removeItem(uid);\n return result;\n } catch (e) {// localStorage not available\n }\n\n return false;\n };\n\n if (windowLocalStorageAvailable()) {\n localStorage = GlobalScope.localStorage;\n } else if (typeof GlobalScope !== 'undefined' && GlobalScope.globalStorage) {\n // Firefox 2-3 use globalStorage\n // See https://developer.mozilla.org/en/dom/storage#globalStorage\n try {\n localStorage = GlobalScope.globalStorage[GlobalScope.location.hostname];\n } catch (e) {// Something bad happened...\n }\n } else if (typeof document !== 'undefined') {\n // IE 5-7 use userData\n // See http://msdn.microsoft.com/en-us/library/ms531424(v=vs.85).aspx\n var div = document.createElement('div'),\n attrKey = 'localStorage';\n div.style.display = 'none';\n document.getElementsByTagName('head')[0].appendChild(div);\n\n if (div.addBehavior) {\n div.addBehavior('#default#userdata');\n localStorage = {\n length: 0,\n setItem: function setItem(k, v) {\n div.load(attrKey);\n\n if (!div.getAttribute(k)) {\n this.length++;\n }\n\n div.setAttribute(k, v);\n div.save(attrKey);\n },\n getItem: function getItem(k) {\n div.load(attrKey);\n return div.getAttribute(k);\n },\n removeItem: function removeItem(k) {\n div.load(attrKey);\n\n if (div.getAttribute(k)) {\n this.length--;\n }\n\n div.removeAttribute(k);\n div.save(attrKey);\n },\n clear: function clear() {\n div.load(attrKey);\n var i = 0;\n var attr;\n\n while (attr = div.XMLDocument.documentElement.attributes[i++]) {\n div.removeAttribute(attr.name);\n }\n\n div.save(attrKey);\n this.length = 0;\n },\n key: function key(k) {\n div.load(attrKey);\n return div.XMLDocument.documentElement.attributes[k];\n }\n };\n div.load(attrKey);\n localStorage.length = div.XMLDocument.documentElement.attributes.length;\n }\n } else if (utils.isWebWorkerEnvironment()) {\n // Web worker\n localStorage = new WorkerStorage();\n }\n\n if (!localStorage) {\n /* eslint-disable no-unused-vars */\n localStorage = {\n length: 0,\n setItem: function setItem(k, v) {},\n getItem: function getItem(k) {},\n removeItem: function removeItem(k) {},\n clear: function clear() {},\n key: function key(k) {}\n };\n /* eslint-enable no-unused-vars */\n }\n}\n\nvar ampLocalStorage = localStorage;\n\n/*\n * Abstraction layer for cookie storage.\n * Uses cookie if available, otherwise fallback to localstorage.\n */\n\nvar cookieStorage = function cookieStorage() {\n this.storage = null;\n};\n\ncookieStorage.prototype.getStorage = function () {\n if (this.storage !== null) {\n return this.storage;\n }\n\n if (baseCookie.areCookiesEnabled()) {\n this.storage = Cookie;\n } else {\n // if cookies disabled, fallback to localstorage\n // note: localstorage does not persist across subdomains\n var keyPrefix = 'amp_cookiestore_';\n this.storage = {\n _options: {\n expirationDays: undefined,\n domain: undefined,\n secure: false\n },\n reset: function reset() {\n this._options = {\n expirationDays: undefined,\n domain: undefined,\n secure: false\n };\n },\n options: function options(opts) {\n if (arguments.length === 0) {\n return this._options;\n }\n\n opts = opts || {};\n this._options.expirationDays = opts.expirationDays || this._options.expirationDays; // localStorage is specific to subdomains\n\n this._options.domain = opts.domain || this._options.domain || GlobalScope && GlobalScope.location && GlobalScope.location.hostname;\n return this._options.secure = opts.secure || false;\n },\n get: function get(name) {\n try {\n return JSON.parse(ampLocalStorage.getItem(keyPrefix + name));\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n\n return null;\n },\n set: function set(name, value) {\n try {\n ampLocalStorage.setItem(keyPrefix + name, JSON.stringify(value));\n return true;\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n\n return false;\n },\n remove: function remove(name) {\n try {\n ampLocalStorage.removeItem(keyPrefix + name);\n } catch (e) {\n return false;\n }\n }\n };\n }\n\n return this.storage;\n};\n\nvar _storageOptionExists;\nvar storageOptionExists = (_storageOptionExists = {}, _defineProperty(_storageOptionExists, Constants.STORAGE_COOKIES, true), _defineProperty(_storageOptionExists, Constants.STORAGE_NONE, true), _defineProperty(_storageOptionExists, Constants.STORAGE_LOCAL, true), _defineProperty(_storageOptionExists, Constants.STORAGE_SESSION, true), _storageOptionExists);\n/**\n * MetadataStorage involves SDK data persistance\n * storage priority: cookies -> localStorage -> in memory\n * This priority can be overriden by setting the storage options.\n * if in localStorage, unable track users between subdomains\n * if in memory, then memory can't be shared between different tabs\n */\n\nvar MetadataStorage =\n/*#__PURE__*/\nfunction () {\n function MetadataStorage(_ref) {\n var storageKey = _ref.storageKey,\n disableCookies = _ref.disableCookies,\n domain = _ref.domain,\n secure = _ref.secure,\n sameSite = _ref.sameSite,\n expirationDays = _ref.expirationDays,\n storage = _ref.storage;\n\n _classCallCheck(this, MetadataStorage);\n\n this.storageKey = storageKey;\n this.domain = domain;\n this.secure = secure;\n this.sameSite = sameSite;\n this.expirationDays = expirationDays;\n this.cookieDomain = '';\n var writableTopDomain = topDomain(getLocation().href);\n this.cookieDomain = domain || (writableTopDomain ? '.' + writableTopDomain : null);\n\n if (storageOptionExists[storage]) {\n this.storage = storage;\n } else {\n var disableCookieStorage = disableCookies || !baseCookie.areCookiesEnabled({\n domain: this.cookieDomain,\n secure: this.secure,\n sameSite: this.sameSite,\n expirationDays: this.expirationDays\n });\n\n if (disableCookieStorage) {\n this.storage = Constants.STORAGE_LOCAL;\n } else {\n this.storage = Constants.STORAGE_COOKIES;\n }\n }\n }\n\n _createClass(MetadataStorage, [{\n key: \"getCookieStorageKey\",\n value: function getCookieStorageKey() {\n if (!this.domain) {\n return this.storageKey;\n }\n\n var suffix = this.domain.charAt(0) === '.' ? this.domain.substring(1) : this.domain;\n return \"\".concat(this.storageKey).concat(suffix ? \"_\".concat(suffix) : '');\n }\n /*\n * Data is saved as delimited values rather than JSO to minimize cookie space\n * Should not change order of the items\n */\n\n }, {\n key: \"save\",\n value: function save(_ref2) {\n var deviceId = _ref2.deviceId,\n userId = _ref2.userId,\n optOut = _ref2.optOut,\n sessionId = _ref2.sessionId,\n lastEventTime = _ref2.lastEventTime,\n eventId = _ref2.eventId,\n identifyId = _ref2.identifyId,\n sequenceNumber = _ref2.sequenceNumber;\n\n if (this.storage === Constants.STORAGE_NONE) {\n return;\n }\n\n var value = [deviceId, Base64.encode(userId || ''), // used to convert not unicode to alphanumeric since cookies only use alphanumeric\n optOut ? '1' : '', sessionId ? sessionId.toString(32) : '0', // generated when instantiated, timestamp (but re-uses session id in cookie if not expired) @TODO clients may want custom session id\n lastEventTime ? lastEventTime.toString(32) : '0', // last time an event was set\n eventId ? eventId.toString(32) : '0', identifyId ? identifyId.toString(32) : '0', sequenceNumber ? sequenceNumber.toString(32) : '0'].join('.');\n\n switch (this.storage) {\n case Constants.STORAGE_SESSION:\n if (GlobalScope.sessionStorage) {\n GlobalScope.sessionStorage.setItem(this.storageKey, value);\n }\n\n break;\n\n case Constants.STORAGE_LOCAL:\n ampLocalStorage.setItem(this.storageKey, value);\n break;\n\n case Constants.STORAGE_COOKIES:\n this.saveCookie(value);\n break;\n }\n }\n }, {\n key: \"saveCookie\",\n value: function saveCookie(value) {\n baseCookie.set(this.getCookieStorageKey(), value, {\n domain: this.cookieDomain,\n secure: this.secure,\n sameSite: this.sameSite,\n expirationDays: this.expirationDays\n });\n }\n }, {\n key: \"load\",\n value: function load() {\n var _this = this;\n\n var str;\n\n if (this.storage === Constants.STORAGE_COOKIES) {\n var cookieKey = this.getCookieStorageKey() + '=';\n var allCookies = baseCookie.getAll(cookieKey);\n\n if (allCookies.length === 0 || allCookies.length === 1) {\n str = allCookies[0];\n } else {\n // dedup cookies by deleting them all and restoring\n // the one with the most recent event time\n var latestCookie = baseCookie.sortByEventTime(allCookies)[0];\n allCookies.forEach(function () {\n return baseCookie.set(_this.getCookieStorageKey(), null, {});\n });\n this.saveCookie(latestCookie);\n str = baseCookie.get(cookieKey);\n }\n }\n\n if (!str) {\n str = ampLocalStorage.getItem(this.storageKey);\n }\n\n if (!str) {\n try {\n str = GlobalScope.sessionStorage && GlobalScope.sessionStorage.getItem(this.storageKey);\n } catch (e) {\n utils.log.info(\"window.sessionStorage unavailable. Reason: \\\"\".concat(e, \"\\\"\"));\n }\n }\n\n if (!str) {\n return null;\n }\n\n var values = str.split('.');\n var userId = null;\n\n if (values[Constants.USER_ID_INDEX]) {\n try {\n userId = Base64.decode(values[Constants.USER_ID_INDEX]);\n } catch (e) {\n userId = null;\n }\n }\n\n return {\n deviceId: values[Constants.DEVICE_ID_INDEX],\n userId: userId,\n optOut: values[Constants.OPT_OUT_INDEX] === '1',\n sessionId: parseInt(values[Constants.SESSION_ID_INDEX], 32),\n lastEventTime: parseInt(values[Constants.LAST_EVENT_TIME_INDEX], 32),\n eventId: parseInt(values[Constants.EVENT_ID_INDEX], 32),\n identifyId: parseInt(values[Constants.IDENTIFY_ID_INDEX], 32),\n sequenceNumber: parseInt(values[Constants.SEQUENCE_NUMBER_INDEX], 32)\n };\n }\n /**\n * Clears any saved metadata storage\n * @constructor AmplitudeClient\n * @public\n * @return {boolean} True if metadata was cleared, false if none existed\n */\n\n }, {\n key: \"clear\",\n value: function clear() {\n var str;\n\n if (this.storage === Constants.STORAGE_COOKIES) {\n str = baseCookie.get(this.getCookieStorageKey() + '=');\n baseCookie.set(this.getCookieStorageKey(), null, {\n domain: this.cookieDomain,\n secure: this.secure,\n sameSite: this.sameSite,\n expirationDays: 0\n });\n }\n\n if (!str) {\n str = ampLocalStorage.getItem(this.storageKey);\n ampLocalStorage.clear();\n }\n\n if (!str) {\n try {\n str = GlobalScope.sessionStorage && GlobalScope.sessionStorage.getItem(this.storageKey);\n GlobalScope.sessionStorage.clear();\n } catch (e) {\n utils.log.info(\"window.sessionStorage unavailable. Reason: \\\"\".concat(e, \"\\\"\"));\n }\n }\n\n return !!str;\n }\n }]);\n\n return MetadataStorage;\n}();\n\nvar getUtmData = function getUtmData(rawCookie, query) {\n // Translate the utmz cookie format into url query string format.\n var cookie = rawCookie ? '?' + rawCookie.split('.').slice(-1)[0].replace(/\\|/g, '&') : '';\n\n var fetchParam = function fetchParam(queryName, query, cookieName, cookie) {\n return utils.getQueryParam(queryName, query) || utils.getQueryParam(cookieName, cookie);\n };\n\n var utmSource = fetchParam(Constants.UTM_SOURCE, query, 'utmcsr', cookie);\n var utmMedium = fetchParam(Constants.UTM_MEDIUM, query, 'utmcmd', cookie);\n var utmCampaign = fetchParam(Constants.UTM_CAMPAIGN, query, 'utmccn', cookie);\n var utmTerm = fetchParam(Constants.UTM_TERM, query, 'utmctr', cookie);\n var utmContent = fetchParam(Constants.UTM_CONTENT, query, 'utmcct', cookie);\n var utmData = {};\n\n var addIfNotNull = function addIfNotNull(key, value) {\n if (!utils.isEmptyString(value)) {\n utmData[key] = value;\n }\n };\n\n addIfNotNull(Constants.UTM_SOURCE, utmSource);\n addIfNotNull(Constants.UTM_MEDIUM, utmMedium);\n addIfNotNull(Constants.UTM_CAMPAIGN, utmCampaign);\n addIfNotNull(Constants.UTM_TERM, utmTerm);\n addIfNotNull(Constants.UTM_CONTENT, utmContent);\n return utmData;\n};\n\n/*\n * Wrapper for a user properties JSON object that supports operations.\n * Note: if a user property is used in multiple operations on the same Identify object,\n * only the first operation will be saved, and the rest will be ignored.\n */\n\nvar AMP_OP_ADD = '$add';\nvar AMP_OP_APPEND = '$append';\nvar AMP_OP_CLEAR_ALL = '$clearAll';\nvar AMP_OP_PREPEND = '$prepend';\nvar AMP_OP_SET = '$set';\nvar AMP_OP_SET_ONCE = '$setOnce';\nvar AMP_OP_UNSET = '$unset';\nvar AMP_OP_PREINSERT = '$preInsert';\nvar AMP_OP_POSTINSERT = '$postInsert';\nvar AMP_OP_REMOVE = '$remove';\n/**\n * Identify API - instance constructor. Identify objects are a wrapper for user property operations.\n * Each method adds a user property operation to the Identify object, and returns the same Identify object,\n * allowing you to chain multiple method calls together.\n * Note: if the same user property is used in multiple operations on a single Identify object,\n * only the first operation on that property will be saved, and the rest will be ignored.\n * @constructor Identify\n * @public\n * @example var identify = new amplitude.Identify();\n */\n\nvar Identify = function Identify() {\n this.userPropertiesOperations = {};\n this.properties = []; // keep track of keys that have been added\n};\n/**\n * Increment a user property by a given value (can also be negative to decrement).\n * If the user property does not have a value set yet, it will be initialized to 0 before being incremented.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string} value - The amount by which to increment the user property. Allows numbers as strings (ex: '123').\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().add('karma', 1).add('friends', 1);\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.add = function (property, value) {\n if (type(value) === 'number' || type(value) === 'string') {\n this._addOperation(AMP_OP_ADD, property, value);\n } else {\n utils.log.error('Unsupported type for value: ' + type(value) + ', expecting number or string');\n }\n\n return this;\n};\n/**\n * Append a value or values to a user property.\n * If the user property does not have a value set yet,\n * it will be initialized to an empty list before the new values are appended.\n * If the user property has an existing value and it is not a list,\n * the existing value will be converted into a list with the new values appended.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to append.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().append('ab-tests', 'new-user-tests');\n * identify.append('some_list', [1, 2, 3, 4, 'values']);\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.append = function (property, value) {\n this._addOperation(AMP_OP_APPEND, property, value);\n\n return this;\n};\n/**\n * Clear all user properties for the current user.\n * SDK user should instead call amplitude.clearUserProperties() instead of using this.\n * $clearAll needs to be sent on its own Identify object. If there are already other operations, then don't add $clearAll.\n * If $clearAll already in an Identify object, don't allow other operations to be added.\n * @private\n */\n\n\nIdentify.prototype.clearAll = function () {\n if (Object.keys(this.userPropertiesOperations).length > 0) {\n if (!Object.prototype.hasOwnProperty.call(this.userPropertiesOperations, AMP_OP_CLEAR_ALL)) {\n utils.log.error('Need to send $clearAll on its own Identify object without any other operations, skipping $clearAll');\n }\n\n return this;\n }\n\n this.userPropertiesOperations[AMP_OP_CLEAR_ALL] = '-';\n return this;\n};\n/**\n * Prepend a value or values to a user property.\n * Prepend means inserting the value or values at the front of a list.\n * If the user property does not have a value set yet,\n * it will be initialized to an empty list before the new values are prepended.\n * If the user property has an existing value and it is not a list,\n * the existing value will be converted into a list with the new values prepended.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to prepend.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().prepend('ab-tests', 'new-user-tests');\n * identify.prepend('some_list', [1, 2, 3, 4, 'values']);\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.prepend = function (property, value) {\n this._addOperation(AMP_OP_PREPEND, property, value);\n\n return this;\n};\n/**\n * Sets the value of a given user property. If a value already exists, it will be overwriten with the new value.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|boolean|object} value - A value or values to set.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().set('user_type', 'beta');\n * identify.set('name', {'first': 'John', 'last': 'Doe'}); // dict is flattened and becomes name.first: John, name.last: Doe\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.set = function (property, value) {\n this._addOperation(AMP_OP_SET, property, value);\n\n return this;\n};\n/**\n * Sets the value of a given user property only once. Subsequent setOnce operations on that user property will be ignored;\n * however, that user property can still be modified through any of the other operations.\n * Useful for capturing properties such as 'initial_signup_date', 'initial_referrer', etc.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|boolean|object} value - A value or values to set once.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().setOnce('sign_up_date', '2016-04-01');\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.setOnce = function (property, value) {\n this._addOperation(AMP_OP_SET_ONCE, property, value);\n\n return this;\n};\n/**\n * Unset and remove a user property. This user property will no longer show up in a user's profile.\n * @public\n * @param {string} property - The user property key.\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().unset('user_type').unset('age');\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.unset = function (property) {\n this._addOperation(AMP_OP_UNSET, property, '-');\n\n return this;\n};\n/**\n * Preinsert a value or values to a user property, if it does not exist in the user property already.\n * Preinsert means inserting the value or values to the beginning of the specified user property.\n * If the item already exists in the user property, it will be a no-op.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to insert.\n * @returns {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n */\n\n\nIdentify.prototype.preInsert = function (property, value) {\n this._addOperation(AMP_OP_PREINSERT, property, value);\n\n return this;\n};\n/**\n * Postinsert a value or values to a user property, if it does not exist in the user property already.\n * Postinsert means inserting the value or values to the beginning of the specified user property.\n * If the item already exists in the user property, it will be a no-op.\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to insert.\n * @returns {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n */\n\n\nIdentify.prototype.postInsert = function (property, value) {\n this._addOperation(AMP_OP_POSTINSERT, property, value);\n\n return this;\n};\n/**\n * Remove a value or values to a user property, if it does exist in the user property.\n * If the item does not exist in the user property, it will be a no-op.\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to remove.\n * @returns {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n */\n\n\nIdentify.prototype.remove = function (property, value) {\n this._addOperation(AMP_OP_REMOVE, property, value);\n\n return this;\n};\n/**\n * Helper function that adds operation to the Identify's object\n * Handle's filtering of duplicate user property keys, and filtering for clearAll.\n * @private\n */\n\n\nIdentify.prototype._addOperation = function (operation, property, value) {\n // check that the identify doesn't already contain a clearAll\n if (Object.prototype.hasOwnProperty.call(this.userPropertiesOperations, AMP_OP_CLEAR_ALL)) {\n utils.log.error('This identify already contains a $clearAll operation, skipping operation ' + operation);\n return;\n } // check that property wasn't already used in this Identify\n\n\n if (this.properties.indexOf(property) !== -1) {\n utils.log.error('User property \"' + property + '\" already used in this identify, skipping operation ' + operation);\n return;\n }\n\n if (!Object.prototype.hasOwnProperty.call(this.userPropertiesOperations, operation)) {\n this.userPropertiesOperations[operation] = {};\n }\n\n this.userPropertiesOperations[operation][property] = value;\n this.properties.push(property);\n};\n\n/*\n * Simple AJAX request object\n */\n\nvar Request = function Request(url, data, headers) {\n this.url = url;\n this.data = data || {};\n this.headers = headers;\n};\n\nfunction setHeaders(xhr, headers) {\n for (var header in headers) {\n xhr.setRequestHeader(header, headers[header]);\n }\n}\n\nRequest.prototype.send = function (callback) {\n var isIE = GlobalScope.XDomainRequest ? true : false;\n\n if (isIE) {\n var xdr = new GlobalScope.XDomainRequest();\n xdr.open('POST', this.url, true);\n\n xdr.onload = function () {\n callback(200, xdr.responseText);\n };\n\n xdr.onerror = function () {\n // status code not available from xdr, try string matching on responseText\n if (xdr.responseText === 'Request Entity Too Large') {\n callback(413, xdr.responseText);\n } else {\n callback(500, xdr.responseText);\n }\n };\n\n xdr.ontimeout = function () {};\n\n xdr.onprogress = function () {};\n\n xdr.send(queryString.stringify(this.data));\n } else if (typeof XMLHttpRequest !== 'undefined') {\n var xhr = new XMLHttpRequest();\n xhr.open('POST', this.url, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n callback(xhr.status, xhr.responseText);\n }\n };\n\n setHeaders(xhr, this.headers);\n xhr.send(queryString.stringify(this.data));\n } else {\n var responseStatus = undefined;\n fetch(this.url, {\n method: 'POST',\n headers: this.headers,\n body: queryString.stringify(this.data)\n }).then(function (response) {\n responseStatus = response.status;\n return response.text();\n }).then(function (responseText) {\n callback(responseStatus, responseText);\n });\n } //log('sent request to ' + this.url + ' with data ' + decodeURIComponent(queryString(this.data)));\n\n};\n\n/**\n * Revenue API - instance constructor. Wrapper for logging Revenue data. Revenue objects get passed to amplitude.logRevenueV2 to send to Amplitude servers.\n * Each method updates a revenue property in the Revenue object, and returns the same Revenue object,\n * allowing you to chain multiple method calls together.\n *\n * Note: price is a required field to log revenue events.\n * If quantity is not specified then defaults to 1.\n * @constructor Revenue\n * @public\n * @example var revenue = new amplitude.Revenue();\n */\n\nvar Revenue = function Revenue() {\n // required fields\n this._price = null; // optional fields\n\n this._productId = null;\n this._quantity = 1;\n this._revenueType = null;\n this._properties = null;\n};\n/**\n * Set a value for the product identifer.\n * @public\n * @param {string} productId - The value for the product identifier. Empty and invalid strings are ignored.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setProductId = function setProductId(productId) {\n if (type(productId) !== 'string') {\n utils.log.error('Unsupported type for productId: ' + type(productId) + ', expecting string');\n } else if (utils.isEmptyString(productId)) {\n utils.log.error('Invalid empty productId');\n } else {\n this._productId = productId;\n }\n\n return this;\n};\n/**\n * Set a value for the quantity. Note revenue amount is calculated as price * quantity.\n * @public\n * @param {number} quantity - Integer value for the quantity. If not set, quantity defaults to 1.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99).setQuantity(5);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setQuantity = function setQuantity(quantity) {\n if (type(quantity) !== 'number') {\n utils.log.error('Unsupported type for quantity: ' + type(quantity) + ', expecting number');\n } else {\n this._quantity = parseInt(quantity);\n }\n\n return this;\n};\n/**\n * Set a value for the price. This field is required for all revenue being logged.\n *\n * Note: revenue amount is calculated as price * quantity.\n * @public\n * @param {number} price - Double value for the quantity.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setPrice = function setPrice(price) {\n if (type(price) !== 'number') {\n utils.log.error('Unsupported type for price: ' + type(price) + ', expecting number');\n } else {\n this._price = price;\n }\n\n return this;\n};\n/**\n * Set a value for the revenueType (for example purchase, cost, tax, refund, etc).\n * @public\n * @param {string} revenueType - RevenueType to designate.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99).setRevenueType('purchase');\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setRevenueType = function setRevenueType(revenueType) {\n if (type(revenueType) !== 'string') {\n utils.log.error('Unsupported type for revenueType: ' + type(revenueType) + ', expecting string');\n } else {\n this._revenueType = revenueType;\n }\n\n return this;\n};\n/**\n * Set event properties for the revenue event.\n * @public\n * @param {object} eventProperties - Revenue event properties to set.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var event_properties = {'city': 'San Francisco'};\n * var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99).setEventProperties(event_properties);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setEventProperties = function setEventProperties(eventProperties) {\n if (type(eventProperties) !== 'object') {\n utils.log.error('Unsupported type for eventProperties: ' + type(eventProperties) + ', expecting object');\n } else {\n this._properties = utils.validateProperties(eventProperties);\n }\n\n return this;\n};\n/**\n * @private\n */\n\n\nRevenue.prototype._isValidRevenue = function _isValidRevenue() {\n if (type(this._price) !== 'number') {\n utils.log.error('Invalid revenue, need to set price field');\n return false;\n }\n\n return true;\n};\n/**\n * @private\n */\n\n\nRevenue.prototype._toJSONObject = function _toJSONObject() {\n var obj = type(this._properties) === 'object' ? this._properties : {};\n\n if (this._productId !== null) {\n obj[Constants.REVENUE_PRODUCT_ID] = this._productId;\n }\n\n if (this._quantity !== null) {\n obj[Constants.REVENUE_QUANTITY] = this._quantity;\n }\n\n if (this._price !== null) {\n obj[Constants.REVENUE_PRICE] = this._price;\n }\n\n if (this._revenueType !== null) {\n obj[Constants.REVENUE_REVENUE_TYPE] = this._revenueType;\n }\n\n return obj;\n};\n\n/**\n * Source: [jed's gist]{@link https://gist.github.com/982883}.\n * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,\n * where each x is replaced with a random hexadecimal digit from 0 to f, and\n * y is replaced with a random hexadecimal digit from 8 to b.\n * Used to generate UUIDs for deviceIds.\n * @private\n */\nvar uuid = function uuid(a) {\n return a // if the placeholder was passed, return\n ? // a random number from 0 to 15\n (a ^ // unless b is 8,\n Math.random() * // in which case\n 16 >> // a random number from\n a / 4). // 8 to 11\n toString(16) // in hexadecimal\n : // or otherwise a concatenated string:\n ([1e7] + // 10000000 +\n -1e3 + // -1000 +\n -4e3 + // -4000 +\n -8e3 + // -80000000 +\n -1e11). // -100000000000,\n replace( // replacing\n /[018]/g, // zeroes, ones, and eights with\n uuid // random hex digits\n );\n};\n\nvar getLanguage = function getLanguage() {\n return typeof navigator !== 'undefined' && (navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage) || '';\n};\n\nvar language = {\n getLanguage: getLanguage\n};\n\n/**\n * AmplitudeServerZone is for Data Residency and handling server zone related properties.\n * The server zones now are US and EU.\n *\n * For usage like sending data to Amplitude's EU servers, you need to configure the serverZone during nitializing.\n */\n\nvar AmplitudeServerZone = {\n US: 'US',\n EU: 'EU'\n};\n\nvar getEventLogApi = function getEventLogApi(serverZone) {\n var eventLogUrl = Constants.EVENT_LOG_URL;\n\n switch (serverZone) {\n case AmplitudeServerZone.EU:\n eventLogUrl = Constants.EVENT_LOG_EU_URL;\n break;\n\n case AmplitudeServerZone.US:\n eventLogUrl = Constants.EVENT_LOG_URL;\n break;\n\n default:\n break;\n }\n\n return eventLogUrl;\n};\n\nvar getDynamicConfigApi = function getDynamicConfigApi(serverZone) {\n var dynamicConfigUrl = Constants.DYNAMIC_CONFIG_URL;\n\n switch (serverZone) {\n case AmplitudeServerZone.EU:\n dynamicConfigUrl = Constants.DYNAMIC_CONFIG_EU_URL;\n break;\n\n case AmplitudeServerZone.US:\n dynamicConfigUrl = Constants.DYNAMIC_CONFIG_URL;\n break;\n\n default:\n break;\n }\n\n return dynamicConfigUrl;\n};\n\nvar version = \"8.14.1\";\n\n/**\n * Options used when initializing Amplitude\n * @typedef {Object} Options\n * @property {string} [apiEndpoint=`api.amplitude.com`] - Endpoint to send amplitude event requests to.\n * @property {boolean} [batchEvents=`false`] - If `true`, then events are batched together and uploaded only when the number of unsent events is greater than or equal to eventUploadThreshold or after eventUploadPeriodMillis milliseconds have passed since the first unsent event was logged.\n * @property {number} [cookieExpiration=`365`] - The number of days after which the Amplitude cookie will expire. 12 months is for GDPR compliance.\n * @property {string} [cookieName=`amplitude_id`] - *DEPRECATED*\n * @property {string} [sameSiteCookie='None'] - Sets the SameSite flag on the amplitude cookie. Decides cookie privacy policy.\n * @property {boolean} [cookieForceUpgrade=`false`] - Forces pre-v6.0.0 instances to adopt post-v6.0.0 compat cookie formats.\n * @property {boolean} [deferInitialization=`null`] - If `true`, disables the core functionality of the sdk, including saving a cookie and all logging, until explicitly enabled. To enable tracking, please call `amplitude.getInstance().enableTracking()` *Note: This will not affect users who already have an amplitude cookie. The decision to track events is determined by whether or not a user has an amplitude analytics cookie. If the `cookieExpiration is manually defined to be a short lifespan, you may need to run `amplitude.getInstance().enableTracking()` upon the cookie expiring or upon logging in.*\n * @property {boolean} [disableCookies=`false`] - Disable Ampllitude cookies altogether.\n * @property {string} [deviceId=A randomly generated UUID.] - The custom Device ID to set. *Note: This is not recommended unless you know what you are doing (e.g. you have your own system for tracking user devices).*\n * @property {boolean} [deviceIdFromUrlParam=`false`] - If `true`, then the SDK will parse Device ID values from the URL parameter amp_device_id if available. Device IDs defined in the configuration options during init will take priority over Device IDs from URL parameters.\n * @property {string} [domain=The top domain of the current page's URL. ('https://amplitude.com')] - Set a custom domain for the Amplitude cookie. To include subdomains, add a preceding period, eg: `.amplitude.com`.\n * @property {number} [eventUploadPeriodMillis=`30000` (30 sec)] - Amount of time in milliseconds that the SDK waits before uploading events if batchEvents is true.\n * @property {number} [eventUploadThreshold=`30`] - Minimum number of events to batch together per request if batchEvents is true.\n * @property {boolean} [forceHttps=`true`] - If `true`, the events will always be uploaded to HTTPS endpoint. Otherwise, it will use the embedding site's protocol.\n * @property {boolean} [includeFbclid=`false`] - If `true`, captures the fbclid URL parameter as well as the user's initial_fbclid via a setOnce operation.\n * @property {boolean} [includeGclid=`false`] - If `true`, captures the gclid URL parameter as well as the user's initial_gclid via a setOnce operation.\n * @property {boolean} [includeReferrer=`false`] - If `true`, captures the referrer and referring_domain for each session, as well as the user's initial_referrer and initial_referring_domain via a setOnce operation.\n * @property {boolean} [includeUtm=`false`] - If `true`, finds UTM parameters in the query string or the _utmz cookie, parses, and includes them as user properties on all events uploaded. This also captures initial UTM parameters for each session via a setOnce operation.\n * @property {string} [language=The language determined by the browser] - Custom language to set.\n * @property {Object} [library=`{ name: 'amplitude-js', version: packageJsonVersion }`] - Values for the library version\n * @property {string} [logLevel=`WARN`] - Level of logs to be printed in the developer console. Valid values are 'DISABLE', 'ERROR', 'WARN', 'INFO'. To learn more about the different options, see below.\n * @property {boolean} [logAttributionCapturedEvent=`false`] - If `true`, the SDK will log an Amplitude event anytime new attribution values are captured from the user. **Note: These events count towards your event volume.** Event name being logged: [Amplitude] Attribution Captured. Event Properties that can be logged: `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`, `referrer`, `referring_domain`, `gclid`, `fbclid`. For UTM properties to be logged, `includeUtm` must be set to `true`. For the `referrer` and `referring_domain` properties to be logged, `includeReferrer` must be set to `true`. For the `gclid` property to be logged, `includeGclid` must be set to `true`. For the `fbclid` property to be logged, `includeFbclid` must be set to `true`.\n * @property {boolean} [optOut=`false`] - Whether or not to disable tracking for the current user.\n * @property {function} [onError=`() => {}`] - Function to call on error.\n * @property {function} [onExitPage=`() => {}`] - Function called when the user exits the browser. Useful logging on page exit.\n * @property {Object} [plan] Tracking plan properties\n * @property {string} [plan.branch] The tracking plan branch name e.g. \"main\"\n * @property {string} [plan.source] The tracking plan source e.g. \"web\"\n * @property {string} [plan.version] The tracking plan version e.g. \"1\", \"15\"\n * @property {string} [platform=`Web`] - Platform device is running on. Defaults to `Web` (browser, including mobile browsers).\n * @property {number} [savedMaxCount=`1000`] - Maximum number of events to save in localStorage. If more events are logged while offline, then old events are removed.\n * @property {boolean} [saveEvents=`true`] - If `true`, saves events to localStorage and removes them upon successful upload. *Note: Without saving events, events may be lost if the user navigates to another page before the events are uploaded.*\n * @property {boolean} [saveParamsReferrerOncePerSession=`true`] - If `true`, then includeGclid, includeFbclid, includeReferrer, and includeUtm will only track their respective properties once per session. New values that come in during the middle of the user's session will be ignored. Set to false to always capture new values.\n * @property {boolean} [secureCookie=`false`] - If `true`, the amplitude cookie will be set with the Secure flag.\n * @property {number} [sessionTimeout=`30*60*1000` (30 min)] - The time between logged events before a new session starts in milliseconds.\n * @property {string[]} [storage=`''`] - Sets storage strategy. Options are 'cookies', 'localStorage', 'sessionStorage', or `none`. Will override `disableCookies` option\n * @property {Object} [trackingOptions=`{ city: true, country: true, carrier: true, device_manufacturer: true, device_model: true, dma: true, ip_address: true, language: true, os_name: true, os_version: true, platform: true, region: true, version_name: true}`] - Type of data associated with a user.\n * @property {string} [transport=`http`] - Network transport mechanism used to send events. Options are 'http' and 'beacon'.\n * @property {boolean} [unsetParamsReferrerOnNewSession=`false`] - If `false`, the existing `referrer` and `utm_parameter` values will be carried through each new session. If set to `true`, the `referrer` and `utm_parameter` user properties, which include `referrer`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, and `utm_content`, will be set to `null` upon instantiating a new session. Note: This only works if `includeReferrer` or `includeUtm` is set to `true`.\n * @property {string} [unsentKey=`amplitude_unsent`] - localStorage key that stores unsent events.\n * @property {string} [unsentIdentifyKey=`amplitude_unsent_identify`] - localStorage key that stores unsent identifies.\n * @property {number} [uploadBatchSize=`100`] - The maximum number of events to send to the server per request.\n * @property {Object} [headers=`{ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }`] - Headers attached to an event(s) upload network request. Custom header properties are merged with this object.\n * @property {string} [serverZone] - For server zone related configuration, used for server api endpoint and dynamic configuration.\n * @property {boolean} [useDynamicConfig] - Enable dynamic configuration to find best server url for user.\n * @property {boolean} [serverZoneBasedApi] - To update api endpoint with serverZone change or not. For data residency, recommend to enable it unless using own proxy server.\n */\n\nvar DEFAULT_OPTIONS = {\n apiEndpoint: Constants.EVENT_LOG_URL,\n batchEvents: false,\n cookieExpiration: 365,\n // 12 months is for GDPR compliance\n cookieName: 'amplitude_id',\n // this is a deprecated option\n sameSiteCookie: 'Lax',\n // cookie privacy policy\n cookieForceUpgrade: false,\n deferInitialization: false,\n disableCookies: false,\n // this is a deprecated option\n deviceIdFromUrlParam: false,\n domain: '',\n eventUploadPeriodMillis: 30 * 1000,\n // 30s\n eventUploadThreshold: 30,\n forceHttps: true,\n includeFbclid: false,\n includeGclid: false,\n includeReferrer: false,\n includeUtm: false,\n language: language.getLanguage(),\n library: {\n name: 'amplitude-js',\n version: version\n },\n logLevel: 'WARN',\n logAttributionCapturedEvent: false,\n optOut: false,\n onError: function onError() {},\n onExitPage: function onExitPage() {},\n onNewSessionStart: function onNewSessionStart() {},\n plan: {\n branch: '',\n source: '',\n version: ''\n },\n platform: 'Web',\n savedMaxCount: 1000,\n saveEvents: true,\n saveParamsReferrerOncePerSession: true,\n secureCookie: false,\n sessionTimeout: 30 * 60 * 1000,\n storage: Constants.STORAGE_DEFAULT,\n trackingOptions: {\n city: true,\n country: true,\n carrier: true,\n device_manufacturer: true,\n device_model: true,\n dma: true,\n ip_address: true,\n language: true,\n os_name: true,\n os_version: true,\n platform: true,\n region: true,\n version_name: true\n },\n transport: Constants.TRANSPORT_HTTP,\n unsetParamsReferrerOnNewSession: false,\n unsentKey: 'amplitude_unsent',\n unsentIdentifyKey: 'amplitude_unsent_identify',\n uploadBatchSize: 100,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n 'Cross-Origin-Resource-Policy': 'cross-origin'\n },\n serverZone: AmplitudeServerZone.US,\n useDynamicConfig: false,\n serverZoneBasedApi: false\n};\n\n/**\n * Dynamic Configuration\n * Find the best server url automatically based on app users' geo location.\n */\n\nvar ConfigManager =\n/*#__PURE__*/\nfunction () {\n function ConfigManager() {\n _classCallCheck(this, ConfigManager);\n\n if (!ConfigManager.instance) {\n this.ingestionEndpoint = Constants.EVENT_LOG_URL;\n ConfigManager.instance = this;\n }\n\n return ConfigManager.instance;\n }\n\n _createClass(ConfigManager, [{\n key: \"refresh\",\n value: function refresh(serverZone, forceHttps, callback) {\n var protocol = 'https';\n\n if (!forceHttps && 'https:' !== GlobalScope.location.protocol) {\n protocol = 'http';\n }\n\n var dynamicConfigUrl = protocol + '://' + getDynamicConfigApi(serverZone);\n var self = this;\n var isIE = GlobalScope.XDomainRequest ? true : false;\n\n if (isIE) {\n var xdr = new GlobalScope.XDomainRequest();\n xdr.open('GET', dynamicConfigUrl, true);\n\n xdr.onload = function () {\n var response = JSON.parse(xdr.responseText);\n self.ingestionEndpoint = response['ingestionEndpoint'];\n\n if (callback) {\n callback();\n }\n };\n\n xdr.onerror = function () {};\n\n xdr.ontimeout = function () {};\n\n xdr.onprogress = function () {};\n\n xdr.send();\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', dynamicConfigUrl, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n var response = JSON.parse(xhr.responseText);\n self.ingestionEndpoint = response['ingestionEndpoint'];\n\n if (callback) {\n callback();\n }\n }\n };\n\n xhr.send();\n }\n }\n }]);\n\n return ConfigManager;\n}();\n\nvar instance = new ConfigManager();\n\n/**\n * AmplitudeClient SDK API - instance constructor.\n * The Amplitude class handles creation of client instances, all you need to do is call amplitude.getInstance()\n * @constructor AmplitudeClient\n * @public\n * @example var amplitudeClient = new AmplitudeClient();\n */\n\nvar AmplitudeClient = function AmplitudeClient(instanceName) {\n if (!isBrowserEnv() && !utils.isWebWorkerEnvironment()) {\n utils.log.warn('amplitude-js will not work in a non-browser environment. If you are planning to add Amplitude to a node environment, please use @amplitude/node');\n }\n\n this._instanceName = utils.isEmptyString(instanceName) ? Constants.DEFAULT_INSTANCE : instanceName.toLowerCase();\n this._unsentEvents = [];\n this._unsentIdentifys = [];\n this._ua = new UAParser(navigator.userAgent).getResult();\n this.options = _objectSpread({}, DEFAULT_OPTIONS, {\n trackingOptions: _objectSpread({}, DEFAULT_OPTIONS.trackingOptions)\n });\n this.cookieStorage = new cookieStorage().getStorage();\n this._q = []; // queue for proxied functions before script load\n\n this._sending = false;\n this._updateScheduled = false;\n this._onInitCallbacks = [];\n this._onNewSessionStartCallbacks = []; // event meta data\n\n this._eventId = 0;\n this._identifyId = 0;\n this._lastEventTime = null;\n this._newSession = false; // sequence used for by frontend for prioritizing event send retries\n\n this._sequenceNumber = 0;\n this._sessionId = null;\n this._isInitialized = false;\n this._userAgent = navigator && navigator.userAgent || null;\n};\n\nAmplitudeClient.prototype.Identify = Identify;\nAmplitudeClient.prototype.Revenue = Revenue;\n/**\n * Initializes the Amplitude Javascript SDK with your apiKey and any optional configurations.\n * This is required before any other methods can be called.\n * @public\n * @param {string} apiKey - The API key for your app.\n * @param {string} opt_userId - (optional) An identifier for this user.\n * @param {object} opt_config - (optional) Configuration options.\n * See [options.js](https://amplitude.github.io/Amplitude-JavaScript/Options) for a list of options and default values.\n * @param {function} opt_callback - (optional) Provide a callback function to run after initialization is complete.\n * @example amplitudeClient.init('API_KEY', 'USER_ID', {includeReferrer: true, includeUtm: true}, function() { alert('init complete'); });\n */\n\nAmplitudeClient.prototype.init = function init(apiKey, opt_userId, opt_config, opt_callback) {\n var _this = this;\n\n if (type(apiKey) !== 'string' || utils.isEmptyString(apiKey)) {\n utils.log.error('Invalid apiKey. Please re-initialize with a valid apiKey');\n return;\n }\n\n try {\n _parseConfig(this.options, opt_config);\n\n if ((isBrowserEnv() || utils.isWebWorkerEnvironment()) && GlobalScope.Prototype !== undefined && Array.prototype.toJSON) {\n prototypeJsFix();\n utils.log.warn('Prototype.js injected Array.prototype.toJSON. Deleting Array.prototype.toJSON to prevent double-stringify');\n }\n\n if (this.options.cookieName !== DEFAULT_OPTIONS.cookieName) {\n utils.log.warn('The cookieName option is deprecated. We will be ignoring it for newer cookies');\n }\n\n if (this.options.serverZoneBasedApi) {\n this.options.apiEndpoint = getEventLogApi(this.options.serverZone);\n }\n\n this._refreshDynamicConfig();\n\n this.options.apiKey = apiKey;\n this._storageSuffix = '_' + apiKey + (this._instanceName === Constants.DEFAULT_INSTANCE ? '' : '_' + this._instanceName);\n this._storageSuffixV5 = apiKey.slice(0, 6);\n this._oldCookiename = this.options.cookieName + this._storageSuffix;\n this._unsentKey = this.options.unsentKey + this._storageSuffix;\n this._unsentIdentifyKey = this.options.unsentIdentifyKey + this._storageSuffix;\n this._cookieName = Constants.COOKIE_PREFIX + '_' + this._storageSuffixV5;\n this.cookieStorage.options({\n expirationDays: this.options.cookieExpiration,\n domain: this.options.domain,\n secure: this.options.secureCookie,\n sameSite: this.options.sameSiteCookie\n });\n this._metadataStorage = new MetadataStorage({\n storageKey: this._cookieName,\n disableCookies: this.options.disableCookies,\n expirationDays: this.options.cookieExpiration,\n domain: this.options.domain,\n secure: this.options.secureCookie,\n sameSite: this.options.sameSiteCookie,\n storage: this.options.storage\n });\n var hasOldCookie = !!this.cookieStorage.get(this._oldCookiename);\n var hasNewCookie = !!this._metadataStorage.load();\n this._useOldCookie = !hasNewCookie && hasOldCookie && !this.options.cookieForceUpgrade;\n var hasCookie = hasNewCookie || hasOldCookie;\n this.options.domain = this.cookieStorage.options().domain;\n\n if (this.options.deferInitialization && !hasCookie) {\n this._deferInitialization(apiKey, opt_userId, opt_config, opt_callback);\n\n return;\n }\n\n if (type(this.options.logLevel) === 'string') {\n utils.setLogLevel(this.options.logLevel);\n }\n\n var trackingOptions = _generateApiPropertiesTrackingConfig(this);\n\n this._apiPropertiesTrackingOptions = Object.keys(trackingOptions).length > 0 ? {\n tracking_options: trackingOptions\n } : {};\n\n if (this.options.cookieForceUpgrade && hasOldCookie) {\n if (!hasNewCookie) {\n _upgradeCookieData(this);\n }\n\n this.cookieStorage.remove(this._oldCookiename);\n }\n\n _loadCookieData(this);\n\n this._pendingReadStorage = true;\n\n var initFromStorage = function initFromStorage(storedDeviceId) {\n if (opt_config && opt_config.deviceId && !utils.validateDeviceId(opt_config.deviceId)) {\n utils.log.error(\"Invalid device ID rejected. Randomly generated UUID will be used instead of \\\"\".concat(opt_config.deviceId, \"\\\"\"));\n delete opt_config.deviceId;\n }\n\n _this.options.deviceId = _this._getInitialDeviceId(opt_config && opt_config.deviceId, storedDeviceId);\n _this.options.userId = type(opt_userId) === 'string' && !utils.isEmptyString(opt_userId) && opt_userId || type(opt_userId) === 'number' && opt_userId.toString() || _this.options.userId || null;\n var now = new Date().getTime();\n var startNewSession = !_this._sessionId || !_this._lastEventTime || now - _this._lastEventTime > _this.options.sessionTimeout;\n\n if (startNewSession) {\n if (_this.options.unsetParamsReferrerOnNewSession) {\n _this._unsetUTMParams();\n }\n\n _this._newSession = true;\n _this._sessionId = now; // only capture UTM params and referrer if new session\n\n if (_this.options.saveParamsReferrerOncePerSession) {\n _this._trackParamsAndReferrer();\n }\n }\n\n if (!_this.options.saveParamsReferrerOncePerSession) {\n _this._trackParamsAndReferrer();\n } // load unsent events and identifies before any attempt to log new ones\n\n\n if (_this.options.saveEvents) {\n _validateUnsentEventQueue(_this._unsentEvents);\n\n _validateUnsentEventQueue(_this._unsentIdentifys);\n }\n\n _this._lastEventTime = now;\n\n _saveCookieData(_this);\n\n _this._pendingReadStorage = false;\n\n _this._sendEventsIfReady(); // try sending unsent events\n\n\n for (var i = 0; i < _this._onInitCallbacks.length; i++) {\n _this._onInitCallbacks[i](_this);\n }\n\n _this._onInitCallbacks = [];\n _this._isInitialized = true;\n\n if (startNewSession) {\n _this._runNewSessionStartCallbacks();\n }\n };\n\n if (this.options.saveEvents) {\n this._unsentEvents = this._loadSavedUnsentEvents(this.options.unsentKey).map(function (event) {\n return {\n event: event\n };\n }).concat(this._unsentEvents);\n this._unsentIdentifys = this._loadSavedUnsentEvents(this.options.unsentIdentifyKey).map(function (event) {\n return {\n event: event\n };\n }).concat(this._unsentIdentifys);\n }\n\n if (opt_config && opt_config.onNewSessionStart) {\n this.onNewSessionStart(this.options.onNewSessionStart);\n }\n\n initFromStorage();\n this.runQueuedFunctions();\n\n if (type(opt_callback) === 'function') {\n opt_callback(this);\n }\n\n var onExitPage = this.options.onExitPage;\n\n if (type(onExitPage) === 'function') {\n if (!this.pageHandlersAdded) {\n this.pageHandlersAdded = true;\n\n var handleVisibilityChange = function handleVisibilityChange() {\n var prevTransport = _this.options.transport;\n\n _this.setTransport(Constants.TRANSPORT_BEACON);\n\n onExitPage();\n\n _this.setTransport(prevTransport);\n }; // Monitoring just page exits because that is the most requested feature for now\n // \"If you're specifically trying to detect page unload events, the pagehide event is the best option.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event\n\n\n GlobalScope.addEventListener('pagehide', function () {\n handleVisibilityChange();\n }, false);\n }\n }\n } catch (err) {\n utils.log.error(err);\n\n if (opt_config && type(opt_config.onError) === 'function') {\n opt_config.onError(err);\n }\n }\n};\n\nAmplitudeClient.prototype._runNewSessionStartCallbacks = function () {\n for (var i = 0; i < this._onNewSessionStartCallbacks.length; i++) {\n this._onNewSessionStartCallbacks[i](this);\n }\n};\n\nAmplitudeClient.prototype.deleteLowerLevelDomainCookies = function () {\n var host = getHost();\n var cookieHost = this.options.domain && this.options.domain[0] === '.' ? this.options.domain.slice(1) : this.options.domain;\n\n if (!cookieHost || !utils.isWebWorkerEnvironment()) {\n return;\n }\n\n if (host !== cookieHost) {\n if (new RegExp(cookieHost + '$').test(host)) {\n var hostParts = host.split('.');\n var cookieHostParts = cookieHost.split('.');\n\n for (var i = hostParts.length; i > cookieHostParts.length; --i) {\n var deleteDomain = hostParts.slice(hostParts.length - i).join('.');\n baseCookie.set(this._cookieName, null, {\n domain: '.' + deleteDomain\n });\n }\n\n baseCookie.set(this._cookieName, null, {});\n }\n }\n};\n\nAmplitudeClient.prototype._getInitialDeviceId = function (configDeviceId, storedDeviceId) {\n if (configDeviceId) {\n return configDeviceId;\n }\n\n if (this.options.deviceIdFromUrlParam) {\n var deviceIdFromUrlParam = this._getDeviceIdFromUrlParam(this._getUrlParams());\n\n if (deviceIdFromUrlParam) {\n return deviceIdFromUrlParam;\n }\n }\n\n if (this.options.deviceId) {\n return this.options.deviceId;\n }\n\n if (storedDeviceId) {\n return storedDeviceId;\n }\n\n return base64Id();\n}; // validate properties for unsent events\n\n\nvar _validateUnsentEventQueue = function _validateUnsentEventQueue(queue) {\n for (var i = 0; i < queue.length; i++) {\n var userProperties = queue[i].event.user_properties;\n var eventProperties = queue[i].event.event_properties;\n var groups = queue[i].event.groups;\n queue[i].event.user_properties = utils.validateProperties(userProperties);\n queue[i].event.event_properties = utils.validateProperties(eventProperties);\n queue[i].event.groups = utils.validateGroups(groups);\n }\n};\n/**\n * @private\n */\n\n\nAmplitudeClient.prototype._trackParamsAndReferrer = function _trackParamsAndReferrer() {\n var utmProperties;\n var referrerProperties;\n var gclidProperties;\n var fbclidProperties;\n\n if (this.options.includeUtm) {\n utmProperties = this._initUtmData();\n }\n\n if (this.options.includeReferrer) {\n referrerProperties = this._saveReferrer(this._getReferrer());\n }\n\n if (this.options.includeGclid) {\n gclidProperties = this._saveGclid(this._getUrlParams());\n }\n\n if (this.options.includeFbclid) {\n fbclidProperties = this._saveFbclid(this._getUrlParams());\n }\n\n if (this.options.logAttributionCapturedEvent) {\n var attributionProperties = _objectSpread({}, utmProperties, referrerProperties, gclidProperties, fbclidProperties);\n\n if (Object.keys(attributionProperties).length > 0) {\n this.logEvent(Constants.ATTRIBUTION_EVENT, attributionProperties);\n }\n }\n};\n/**\n * Parse and validate user specified config values and overwrite existing option value\n * DEFAULT_OPTIONS provides list of all config keys that are modifiable, as well as expected types for values\n * @private\n */\n\n\nvar _parseConfig = function _parseConfig(options, config) {\n if (type(config) !== 'object') {\n return;\n } // Add exception in headers\n\n\n var freeFormObjectKeys = new Set(['headers']); // validates config value is defined, is the correct type, and some additional value sanity checks\n\n var parseValidateAndLoad = function parseValidateAndLoad(key) {\n if (!Object.prototype.hasOwnProperty.call(options, key)) {\n return; // skip bogus config values\n }\n\n var inputValue = config[key];\n var expectedType = type(options[key]);\n\n if (key === 'transport' && !utils.validateTransport(inputValue)) {\n return;\n } else if (!utils.validateInput(inputValue, key + ' option', expectedType)) {\n return;\n }\n\n if (expectedType === 'boolean') {\n options[key] = !!inputValue;\n } else if (expectedType === 'string' && !utils.isEmptyString(inputValue) || expectedType === 'number' && inputValue > 0 || expectedType === 'function') {\n options[key] = inputValue;\n } else if (expectedType === 'object') {\n _parseConfig(options[key], inputValue);\n }\n };\n\n for (var key in config) {\n if (freeFormObjectKeys.has(key)) {\n options[key] = _objectSpread({}, options[key], config[key]);\n } else if (Object.prototype.hasOwnProperty.call(config, key)) {\n parseValidateAndLoad(key);\n }\n }\n};\n/**\n * Run functions queued up by proxy loading snippet\n * @private\n */\n\n\nAmplitudeClient.prototype.runQueuedFunctions = function () {\n var queue = this._q;\n this._q = [];\n\n for (var i = 0; i < queue.length; i++) {\n var fn = this[queue[i][0]];\n\n if (type(fn) === 'function') {\n fn.apply(this, queue[i].slice(1));\n }\n }\n};\n/**\n * Check that the apiKey is set before calling a function. Logs a warning message if not set.\n * @private\n */\n\n\nAmplitudeClient.prototype._apiKeySet = function _apiKeySet(methodName) {\n if (utils.isEmptyString(this.options.apiKey)) {\n utils.log.error('Invalid apiKey. Please set a valid apiKey with init() before calling ' + methodName);\n return false;\n }\n\n return true;\n};\n/**\n * Load saved events from localStorage. JSON deserializes event array. Handles case where string is corrupted.\n * @private\n */\n\n\nAmplitudeClient.prototype._loadSavedUnsentEvents = function _loadSavedUnsentEvents(unsentKey) {\n var savedUnsentEventsString = this._getFromStorage(ampLocalStorage, unsentKey);\n\n var unsentEvents = this._parseSavedUnsentEventsString(savedUnsentEventsString, unsentKey);\n\n this._setInStorage(ampLocalStorage, unsentKey, JSON.stringify(unsentEvents));\n\n return unsentEvents;\n};\n/**\n * Load saved events from localStorage. JSON deserializes event array. Handles case where string is corrupted.\n * @private\n */\n\n\nAmplitudeClient.prototype._parseSavedUnsentEventsString = function _parseSavedUnsentEventsString(savedUnsentEventsString, unsentKey) {\n if (utils.isEmptyString(savedUnsentEventsString)) {\n return []; // new app, does not have any saved events\n }\n\n if (type(savedUnsentEventsString) === 'string') {\n try {\n var events = JSON.parse(savedUnsentEventsString);\n\n if (type(events) === 'array') {\n // handle case where JSON dumping of unsent events is corrupted\n return events;\n }\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n }\n\n utils.log.error('Unable to load ' + unsentKey + ' events. Restart with a new empty queue.');\n return [];\n};\n/**\n * Returns true if a new session was created during initialization, otherwise false.\n * @public\n * @return {boolean} Whether a new session was created during initialization.\n */\n\n\nAmplitudeClient.prototype.isNewSession = function isNewSession() {\n return this._newSession;\n};\n/**\n * Add callbacks to call after init. Useful for users who load Amplitude through a snippet.\n * @public\n */\n\n\nAmplitudeClient.prototype.onInit = function onInit(callback) {\n if (this._isInitialized) {\n callback(this);\n } else {\n this._onInitCallbacks.push(callback);\n }\n};\n/**\n * Add callbacks to call after new session start.\n * @public\n */\n\n\nAmplitudeClient.prototype.onNewSessionStart = function onNewSessionStart(callback) {\n this._onNewSessionStartCallbacks.push(callback);\n};\n/**\n * Returns the id of the current session.\n * @public\n * @return {number} Id of the current session.\n */\n\n\nAmplitudeClient.prototype.getSessionId = function getSessionId() {\n return this._sessionId;\n};\n/**\n * Increments the eventId and returns it.\n * @private\n */\n\n\nAmplitudeClient.prototype.nextEventId = function nextEventId() {\n this._eventId++;\n return this._eventId;\n};\n/**\n * Increments the identifyId and returns it.\n * @private\n */\n\n\nAmplitudeClient.prototype.nextIdentifyId = function nextIdentifyId() {\n this._identifyId++;\n return this._identifyId;\n};\n/**\n * Increments the sequenceNumber and returns it.\n * @private\n */\n\n\nAmplitudeClient.prototype.nextSequenceNumber = function nextSequenceNumber() {\n this._sequenceNumber++;\n return this._sequenceNumber;\n};\n/**\n * Returns the total count of unsent events and identifys\n * @private\n */\n\n\nAmplitudeClient.prototype._unsentCount = function _unsentCount() {\n return this._unsentEvents.length + this._unsentIdentifys.length;\n};\n/**\n * Send events if ready. Returns true if events are sent.\n * @private\n */\n\n\nAmplitudeClient.prototype._sendEventsIfReady = function _sendEventsIfReady() {\n if (this._unsentCount() === 0) {\n return false;\n } // if batching disabled, send any unsent events immediately\n\n\n if (!this.options.batchEvents) {\n this.sendEvents();\n return true;\n } // if batching enabled, check if min threshold met for batch size\n\n\n if (this._unsentCount() >= this.options.eventUploadThreshold) {\n this.sendEvents();\n return true;\n } // if beacon transport is activated, send events immediately\n // because there is no way to retry them later\n\n\n if (this.options.transport === Constants.TRANSPORT_BEACON) {\n this.sendEvents();\n return true;\n } // otherwise schedule an upload after 30s\n\n\n if (!this._updateScheduled) {\n // make sure we only schedule 1 upload\n this._updateScheduled = true;\n setTimeout(function () {\n this._updateScheduled = false;\n this.sendEvents();\n }.bind(this), this.options.eventUploadPeriodMillis);\n }\n\n return false; // an upload was scheduled, no events were uploaded\n};\n/**\n * Clears any stored events and metadata. Storage is then re-created on next event sending.\n * @public\n * @return {boolean} True if metadata was cleared, false if none existed\n */\n\n\nAmplitudeClient.prototype.clearStorage = function clearStorage() {\n return this._metadataStorage.clear();\n};\n/**\n * Helper function to fetch values from storage\n * Storage argument allows for localStoraoge and sessionStoraoge\n * @private\n */\n\n\nAmplitudeClient.prototype._getFromStorage = function _getFromStorage(storage, key) {\n return storage.getItem(key + this._storageSuffix);\n};\n/**\n * Helper function to set values in storage\n * Storage argument allows for localStoraoge and sessionStoraoge\n * @private\n */\n\n\nAmplitudeClient.prototype._setInStorage = function _setInStorage(storage, key, value) {\n storage.setItem(key + this._storageSuffix, value);\n};\n/**\n * Fetches deviceId, userId, event meta data from amplitude cookie\n * @private\n */\n\n\nvar _loadCookieData = function _loadCookieData(scope) {\n if (!scope._useOldCookie) {\n var props = scope._metadataStorage.load();\n\n if (type(props) === 'object') {\n _loadCookieDataProps(scope, props);\n }\n\n return;\n }\n\n var cookieData = scope.cookieStorage.get(scope._oldCookiename);\n\n if (type(cookieData) === 'object') {\n _loadCookieDataProps(scope, cookieData);\n\n return;\n }\n};\n\nvar _upgradeCookieData = function _upgradeCookieData(scope) {\n var cookieData = scope.cookieStorage.get(scope._oldCookiename);\n\n if (type(cookieData) === 'object') {\n _loadCookieDataProps(scope, cookieData);\n\n _saveCookieData(scope);\n }\n};\n\nvar _loadCookieDataProps = function _loadCookieDataProps(scope, cookieData) {\n if (cookieData.deviceId) {\n scope.options.deviceId = cookieData.deviceId;\n }\n\n if (cookieData.userId) {\n scope.options.userId = cookieData.userId;\n }\n\n if (cookieData.optOut !== null && cookieData.optOut !== undefined) {\n // Do not clobber config opt out value if cookieData has optOut as false\n if (cookieData.optOut !== false) {\n scope.options.optOut = cookieData.optOut;\n }\n }\n\n if (cookieData.sessionId) {\n scope._sessionId = parseInt(cookieData.sessionId, 10);\n }\n\n if (cookieData.lastEventTime) {\n scope._lastEventTime = parseInt(cookieData.lastEventTime, 10);\n }\n\n if (cookieData.eventId) {\n scope._eventId = parseInt(cookieData.eventId, 10);\n }\n\n if (cookieData.identifyId) {\n scope._identifyId = parseInt(cookieData.identifyId, 10);\n }\n\n if (cookieData.sequenceNumber) {\n scope._sequenceNumber = parseInt(cookieData.sequenceNumber, 10);\n }\n};\n/**\n * Saves deviceId, userId, event meta data to amplitude cookie\n * @private\n */\n\n\nvar _saveCookieData = function _saveCookieData(scope) {\n var cookieData = {\n deviceId: scope.options.deviceId,\n userId: scope.options.userId,\n optOut: scope.options.optOut,\n sessionId: scope._sessionId,\n lastEventTime: scope._lastEventTime,\n eventId: scope._eventId,\n identifyId: scope._identifyId,\n sequenceNumber: scope._sequenceNumber\n };\n\n if (scope._useOldCookie) {\n scope.cookieStorage.set(scope.options.cookieName + scope._storageSuffix, cookieData);\n } else {\n scope._metadataStorage.save(cookieData);\n }\n};\n/**\n * Parse the utm properties out of cookies and query for adding to user properties.\n * @private\n */\n\n\nAmplitudeClient.prototype._initUtmData = function _initUtmData(queryParams, cookieParams) {\n queryParams = queryParams || this._getUrlParams();\n cookieParams = cookieParams || this.cookieStorage.get('__utmz');\n var utmProperties = getUtmData(cookieParams, queryParams);\n\n _sendParamsReferrerUserProperties(this, utmProperties);\n\n return utmProperties;\n};\n/**\n * Unset the utm params from the Amplitude instance and update the identify.\n * @private\n */\n\n\nAmplitudeClient.prototype._unsetUTMParams = function _unsetUTMParams() {\n var identify = new Identify();\n identify.unset(Constants.REFERRER);\n identify.unset(Constants.UTM_SOURCE);\n identify.unset(Constants.UTM_MEDIUM);\n identify.unset(Constants.UTM_CAMPAIGN);\n identify.unset(Constants.UTM_TERM);\n identify.unset(Constants.UTM_CONTENT);\n this.identify(identify);\n};\n/**\n * The calling function should determine when it is appropriate to send these user properties. This function\n * will no longer contain any session storage checking logic.\n * @private\n */\n\n\nvar _sendParamsReferrerUserProperties = function _sendParamsReferrerUserProperties(scope, userProperties) {\n if (type(userProperties) !== 'object' || Object.keys(userProperties).length === 0) {\n return;\n } // setOnce the initial user properties\n\n\n var identify = new Identify();\n\n for (var key in userProperties) {\n if (Object.prototype.hasOwnProperty.call(userProperties, key)) {\n identify.setOnce('initial_' + key, userProperties[key]);\n identify.set(key, userProperties[key]);\n }\n }\n\n scope.identify(identify);\n};\n/**\n * @private\n */\n\n\nAmplitudeClient.prototype._getReferrer = function _getReferrer() {\n return typeof document !== 'undefined' ? document.referrer : '';\n};\n/**\n * @private\n */\n\n\nAmplitudeClient.prototype._getUrlParams = function _getUrlParams() {\n return GlobalScope.location.search;\n};\n/**\n * Try to fetch Google Gclid from url params.\n * @private\n */\n\n\nAmplitudeClient.prototype._saveGclid = function _saveGclid(urlParams) {\n var gclid = utils.getQueryParam('gclid', urlParams);\n\n if (utils.isEmptyString(gclid)) {\n return;\n }\n\n var gclidProperties = {\n gclid: gclid\n };\n\n _sendParamsReferrerUserProperties(this, gclidProperties);\n\n return gclidProperties;\n};\n/**\n * Try to fetch Facebook Fbclid from url params.\n * @private\n */\n\n\nAmplitudeClient.prototype._saveFbclid = function _saveFbclid(urlParams) {\n var fbclid = utils.getQueryParam('fbclid', urlParams);\n\n if (utils.isEmptyString(fbclid)) {\n return;\n }\n\n var fbclidProperties = {\n fbclid: fbclid\n };\n\n _sendParamsReferrerUserProperties(this, fbclidProperties);\n\n return fbclidProperties;\n};\n/**\n * Try to fetch Amplitude device id from url params.\n * @private\n */\n\n\nAmplitudeClient.prototype._getDeviceIdFromUrlParam = function _getDeviceIdFromUrlParam(urlParams) {\n return utils.getQueryParam(Constants.AMP_DEVICE_ID_PARAM, urlParams);\n};\n/**\n * Parse the domain from referrer info\n * @private\n */\n\n\nAmplitudeClient.prototype._getReferringDomain = function _getReferringDomain(referrer) {\n if (utils.isEmptyString(referrer)) {\n return null;\n }\n\n var parts = referrer.split('/');\n\n if (parts.length >= 3) {\n return parts[2];\n }\n\n return null;\n};\n/**\n * Fetch the referrer information, parse the domain and send.\n * Since user properties are propagated on the server, only send once per session, don't need to send with every event\n * @private\n */\n\n\nAmplitudeClient.prototype._saveReferrer = function _saveReferrer(referrer) {\n if (utils.isEmptyString(referrer)) {\n return;\n }\n\n var referrerInfo = {\n referrer: referrer,\n referring_domain: this._getReferringDomain(referrer)\n };\n\n _sendParamsReferrerUserProperties(this, referrerInfo);\n\n return referrerInfo;\n};\n/**\n * Saves unsent events and identifies to localStorage. JSON stringifies event queues before saving.\n * Note: this is called automatically every time events are logged, unless you explicitly set option saveEvents to false.\n * @private\n */\n\n\nAmplitudeClient.prototype.saveEvents = function saveEvents() {\n try {\n var serializedUnsentEvents = JSON.stringify(this._unsentEvents.map(function (_ref) {\n var event = _ref.event;\n return event;\n }));\n\n this._setInStorage(ampLocalStorage, this.options.unsentKey, serializedUnsentEvents);\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n\n try {\n var serializedIdentifys = JSON.stringify(this._unsentIdentifys.map(function (unsentIdentify) {\n return unsentIdentify.event;\n }));\n\n this._setInStorage(ampLocalStorage, this.options.unsentIdentifyKey, serializedIdentifys);\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n};\n/**\n * Sets a customer domain for the amplitude cookie. Useful if you want to support cross-subdomain tracking.\n * @public\n * @param {string} domain to set.\n * @example amplitudeClient.setDomain('.amplitude.com');\n */\n\n\nAmplitudeClient.prototype.setDomain = function setDomain(domain) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setDomain'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateInput(domain, 'domain', 'string')) {\n return;\n }\n\n try {\n this.cookieStorage.options({\n expirationDays: this.options.cookieExpiration,\n secure: this.options.secureCookie,\n domain: domain,\n sameSite: this.options.sameSiteCookie\n });\n this.options.domain = this.cookieStorage.options().domain;\n\n _loadCookieData(this);\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets an identifier for the current user.\n * @public\n * @param {string} userId - identifier to set. Can be null.\n * @param {boolean} startNewSession - (optional) if start a new session or not\n * @example amplitudeClient.setUserId('joe@gmail.com');\n */\n\n\nAmplitudeClient.prototype.setUserId = function setUserId(userId) {\n var startNewSession = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!utils.validateInput(startNewSession, 'startNewSession', 'boolean')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setUserId'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.userId = userId !== undefined && userId !== null && '' + userId || null;\n\n if (startNewSession) {\n if (this.options.unsetParamsReferrerOnNewSession) {\n this._unsetUTMParams();\n }\n\n this._newSession = true;\n this._sessionId = new Date().getTime();\n\n this._runNewSessionStartCallbacks(); // only capture UTM params and referrer if new session\n\n\n if (this.options.saveParamsReferrerOncePerSession) {\n this._trackParamsAndReferrer();\n }\n }\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Add user to a group or groups. You need to specify a groupType and groupName(s).\n *\n * For example you can group people by their organization.\n * In that case, groupType is \"orgId\" and groupName would be the actual ID(s).\n * groupName can be a string or an array of strings to indicate a user in multiple gruups.\n * You can also call setGroup multiple times with different groupTypes to track multiple types of groups (up to 5 per app).\n *\n * Note: this will also set groupType: groupName as a user property.\n * See the [advanced topics article](https://developers.amplitude.com/docs/setting-user-groups) for more information.\n * @public\n * @param {string} groupType - the group type (ex: orgId)\n * @param {string|list} groupName - the name of the group (ex: 15), or a list of names of the groups\n * @example amplitudeClient.setGroup('orgId', 15); // this adds the current user to orgId 15.\n */\n\n\nAmplitudeClient.prototype.setGroup = function (groupType, groupName) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setGroup'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('setGroup()') || !utils.validateInput(groupType, 'groupType', 'string') || utils.isEmptyString(groupType)) {\n return;\n }\n\n var groups = {};\n groups[groupType] = groupName;\n var identify = new Identify().set(groupType, groupName);\n\n this._logEvent(Constants.IDENTIFY_EVENT, null, null, identify.userPropertiesOperations, groups, null, null, null);\n};\n/**\n * Sets whether to opt current user out of tracking.\n * @public\n * @param {boolean} enable - if true then no events will be logged or sent.\n * @example: amplitude.setOptOut(true);\n */\n\n\nAmplitudeClient.prototype.setOptOut = function setOptOut(enable) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setOptOut'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateInput(enable, 'enable', 'boolean')) {\n return;\n }\n\n try {\n this.options.optOut = enable;\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Set a custom Session ID for the current session.\n * Note: This is not recommended unless you know what you are doing because the Session ID of a session is utilized for all session metrics in Amplitude.\n * The Session ID to set for the current session must be in milliseconds since epoch (Unix Timestamp).\n * @public\n * @param {int} sessionId to set.\n * @example amplitudeClient.setSessionId(1622158968000);\n */\n\n\nAmplitudeClient.prototype.setSessionId = function setSessionId(sessionId) {\n if (!utils.validateInput(sessionId, 'sessionId', 'number')) {\n return;\n }\n\n try {\n this._sessionId = sessionId;\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the current Unix timestamp as the new Session ID for the instance.\n * @public\n * @example amplitudeClient.resetSessionId();\n */\n\n\nAmplitudeClient.prototype.resetSessionId = function resetSessionId() {\n this.setSessionId(new Date().getTime());\n};\n/**\n * Regenerates a new random deviceId for current user. Note: this is not recommended unless you know what you\n * are doing. This can be used in conjunction with `setUserId(null)` to anonymize users after they log out.\n * With a null userId and a completely new deviceId, the current user would appear as a brand new user in dashboard.\n * This uses src/uuid.js to regenerate the deviceId.\n * @public\n */\n\n\nAmplitudeClient.prototype.regenerateDeviceId = function regenerateDeviceId() {\n if (this._shouldDeferCall()) {\n return this._q.push(['regenerateDeviceId'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n this.setDeviceId(base64Id());\n};\n/**\n * Sets a custom deviceId for current user. **Values may not have `.` inside them**\n * Note: this is not recommended unless you know what you are doing (like if you have your own system for managing deviceIds).\n * Make sure the deviceId you set is sufficiently unique\n * (we recommend something like a UUID - see src/uuid.js for an example of how to generate) to prevent conflicts with other devices in our system.\n * @public\n * @param {string} deviceId - custom deviceId for current user.\n * @example amplitudeClient.setDeviceId('45f0954f-eb79-4463-ac8a-233a6f45a8f0');\n */\n\n\nAmplitudeClient.prototype.setDeviceId = function setDeviceId(deviceId) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setDeviceId'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateDeviceId(deviceId)) {\n return;\n }\n\n try {\n if (!utils.isEmptyString(deviceId)) {\n this.options.deviceId = '' + deviceId;\n\n _saveCookieData(this);\n }\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the network transport type for events. Typically used to set to 'beacon'\n * on an end-of-lifecycle event handler such as `onpagehide` or `onvisibilitychange`\n * @public\n * @param {string} transport - transport mechanism to use for events. Must be one of `http` or `beacon`.\n * @example amplitudeClient.setDeviceId('45f0954f-eb79-4463-ac8a-233a6f45a8f0');\n */\n\n\nAmplitudeClient.prototype.setTransport = function setTransport(transport) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setTransport'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateTransport(transport)) {\n return;\n }\n\n this.options.transport = transport;\n};\n/**\n * Sets user properties for the current user.\n * @public\n * @param {object} - object with string keys and values for the user properties to set.\n * @param {boolean} - DEPRECATED opt_replace: in earlier versions of the JS SDK the user properties object was kept in\n * memory and replace = true would replace the object in memory. Now the properties are no longer stored in memory, so replace is deprecated.\n * @example amplitudeClient.setUserProperties({'gender': 'female', 'sign_up_complete': true})\n */\n\n\nAmplitudeClient.prototype.setUserProperties = function setUserProperties(userProperties) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setUserProperties'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('setUserProperties()') || !utils.validateInput(userProperties, 'userProperties', 'object')) {\n return;\n } // sanitize the userProperties dict before converting into identify\n\n\n var sanitized = utils.truncate(utils.validateProperties(userProperties));\n\n if (Object.keys(sanitized).length === 0) {\n return;\n } // convert userProperties into an identify call\n\n\n var identify = new Identify();\n\n for (var property in sanitized) {\n if (Object.prototype.hasOwnProperty.call(sanitized, property)) {\n identify.set(property, sanitized[property]);\n }\n }\n\n this.identify(identify);\n};\n/**\n * Clear all of the user properties for the current user. Note: clearing user properties is irreversible!\n * @public\n * @example amplitudeClient.clearUserProperties();\n */\n\n\nAmplitudeClient.prototype.clearUserProperties = function clearUserProperties() {\n if (this._shouldDeferCall()) {\n return this._q.push(['clearUserProperties'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('clearUserProperties()')) {\n return;\n }\n\n var identify = new Identify();\n identify.clearAll();\n this.identify(identify);\n};\n/**\n * Applies the proxied functions on the proxied object to an instance of the real object.\n * Used to convert proxied Identify and Revenue objects.\n * @private\n */\n\n\nvar _convertProxyObjectToRealObject = function _convertProxyObjectToRealObject(instance, proxy) {\n for (var i = 0; i < proxy._q.length; i++) {\n var fn = instance[proxy._q[i][0]];\n\n if (type(fn) === 'function') {\n fn.apply(instance, proxy._q[i].slice(1));\n }\n }\n\n return instance;\n};\n/**\n * Send an identify call containing user property operations to Amplitude servers.\n * See the [Identify](https://amplitude.github.io/Amplitude-JavaScript/Identify/)\n * reference page for more information on the Identify API and user property operations.\n * @param {Identify} identify_obj - the Identify object containing the user property operations to send.\n * @param {Amplitude~eventCallback} opt_callback - (optional) callback function to run when the identify event has been sent.\n * Note: the server response code and response body from the identify event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @example\n * var identify = new amplitude.Identify().set('colors', ['rose', 'gold']).add('karma', 1).setOnce('sign_up_date', '2016-03-31');\n * amplitude.identify(identify);\n */\n\n\nAmplitudeClient.prototype.identify = function (identify_obj, opt_callback, opt_error_callback, outOfSession) {\n if (this._shouldDeferCall()) {\n return this._q.push(['identify'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('identify()')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'API key is not set'\n });\n\n return;\n } // if identify input is a proxied object created by the async loading snippet, convert it into an identify object\n\n\n if (type(identify_obj) === 'object' && Object.prototype.hasOwnProperty.call(identify_obj, '_q')) {\n identify_obj = _convertProxyObjectToRealObject(new Identify(), identify_obj);\n }\n\n if (identify_obj instanceof Identify) {\n // only send if there are operations\n if (Object.keys(identify_obj.userPropertiesOperations).length > 0) {\n return this._logEvent(Constants.IDENTIFY_EVENT, null, null, identify_obj.userPropertiesOperations, null, null, null, opt_callback, opt_error_callback, outOfSession);\n } else {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'No user property operations'\n });\n }\n } else {\n utils.log.error('Invalid identify input type. Expected Identify object but saw ' + type(identify_obj));\n\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid identify input type'\n });\n }\n};\n\nAmplitudeClient.prototype.groupIdentify = function (group_type, group_name, identify_obj, opt_callback, opt_error_callback, outOfSession) {\n if (this._shouldDeferCall()) {\n return this._q.push(['groupIdentify'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('groupIdentify()')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'API key is not set'\n });\n\n return;\n }\n\n if (!utils.validateInput(group_type, 'group_type', 'string') || utils.isEmptyString(group_type)) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid group type'\n });\n\n return;\n }\n\n if (group_name === null || group_name === undefined) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid group name'\n });\n\n return;\n } // if identify input is a proxied object created by the async loading snippet, convert it into an identify object\n\n\n if (type(identify_obj) === 'object' && Object.prototype.hasOwnProperty.call(identify_obj, '_q')) {\n identify_obj = _convertProxyObjectToRealObject(new Identify(), identify_obj);\n }\n\n if (identify_obj instanceof Identify) {\n // only send if there are operations\n if (Object.keys(identify_obj.userPropertiesOperations).length > 0) {\n return this._logEvent(Constants.GROUP_IDENTIFY_EVENT, null, null, null, _defineProperty({}, group_type, group_name), identify_obj.userPropertiesOperations, null, opt_callback, opt_error_callback, outOfSession);\n } else {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'No group property operations'\n });\n }\n } else {\n utils.log.error('Invalid identify input type. Expected Identify object but saw ' + type(identify_obj));\n\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid identify input type'\n });\n }\n};\n/**\n * Set a versionName for your application.\n * @public\n * @param {string} versionName - The version to set for your application.\n * @example amplitudeClient.setVersionName('1.12.3');\n */\n\n\nAmplitudeClient.prototype.setVersionName = function setVersionName(versionName) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setVersionName'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateInput(versionName, 'versionName', 'string')) {\n return;\n }\n\n this.options.versionName = versionName;\n};\n/**\n * Private logEvent method. Keeps apiProperties from being publicly exposed.\n * @private\n */\n\n\nAmplitudeClient.prototype._logEvent = function _logEvent(eventType, eventProperties, apiProperties, userProperties, groups, groupProperties, timestamp, callback, errorCallback, outOfSession) {\n _loadCookieData(this); // reload cookie before each log event to sync event meta-data between windows and tabs\n\n\n if (!eventType) {\n _logErrorsWithCallbacks(callback, errorCallback, 0, 'No request sent', {\n reason: 'Missing eventType'\n });\n\n return;\n }\n\n if (this.options.optOut) {\n _logErrorsWithCallbacks(callback, errorCallback, 0, 'No request sent', {\n reason: 'optOut is set to true'\n });\n\n return;\n }\n\n try {\n var eventId;\n\n if (eventType === Constants.IDENTIFY_EVENT || eventType === Constants.GROUP_IDENTIFY_EVENT) {\n eventId = this.nextIdentifyId();\n } else {\n eventId = this.nextEventId();\n }\n\n var sequenceNumber = this.nextSequenceNumber();\n var eventTime = type(timestamp) === 'number' ? timestamp : new Date().getTime();\n\n if (outOfSession) {\n this._sessionId = -1;\n } else if (!this._sessionId || !this._lastEventTime || eventTime - this._lastEventTime > this.options.sessionTimeout) {\n this._sessionId = eventTime;\n\n this._runNewSessionStartCallbacks();\n }\n\n this._lastEventTime = eventTime;\n\n _saveCookieData(this);\n\n var osName = this._ua.browser.name;\n var osVersion = this._ua.browser.major;\n var deviceModel = this._ua.device.model || this._ua.os.name;\n var deviceVendor = this._ua.device.vendor;\n userProperties = userProperties || {};\n\n var trackingOptions = _objectSpread({}, this._apiPropertiesTrackingOptions);\n\n apiProperties = _objectSpread({}, apiProperties || {}, trackingOptions);\n eventProperties = eventProperties || {};\n groups = groups || {};\n groupProperties = groupProperties || {};\n var event = {\n device_id: this.options.deviceId,\n user_id: this.options.userId,\n timestamp: eventTime,\n event_id: eventId,\n session_id: this._sessionId || -1,\n event_type: eventType,\n version_name: this.options.versionName || null,\n platform: _shouldTrackField(this, 'platform') ? this.options.platform : null,\n os_name: _shouldTrackField(this, 'os_name') ? osName || null : null,\n os_version: _shouldTrackField(this, 'os_version') ? osVersion || null : null,\n device_model: _shouldTrackField(this, 'device_model') ? deviceModel || null : null,\n device_manufacturer: _shouldTrackField(this, 'device_manufacturer') ? deviceVendor || null : null,\n language: _shouldTrackField(this, 'language') ? this.options.language : null,\n api_properties: apiProperties,\n event_properties: utils.truncate(utils.validateProperties(eventProperties)),\n user_properties: utils.truncate(utils.validateProperties(userProperties)),\n uuid: uuid(),\n library: this.options.library,\n sequence_number: sequenceNumber,\n // for ordering events and identifys\n groups: utils.truncate(utils.validateGroups(groups)),\n group_properties: utils.truncate(utils.validateProperties(groupProperties)),\n user_agent: this._userAgent\n };\n\n if (_isObservePlanSet(this)) {\n event.plan = {\n branch: this.options.plan.branch || undefined,\n source: this.options.plan.source || undefined,\n version: this.options.plan.version || undefined\n };\n }\n\n if (eventType === Constants.IDENTIFY_EVENT || eventType === Constants.GROUP_IDENTIFY_EVENT) {\n this._unsentIdentifys.push({\n event: event,\n callback: callback,\n errorCallback: errorCallback\n });\n\n this._limitEventsQueued(this._unsentIdentifys);\n } else {\n this._unsentEvents.push({\n event: event,\n callback: callback,\n errorCallback: errorCallback\n });\n\n this._limitEventsQueued(this._unsentEvents);\n }\n\n if (this.options.saveEvents) {\n this.saveEvents();\n }\n\n this._sendEventsIfReady();\n\n return eventId;\n } catch (e) {\n utils.log.error(e);\n }\n};\n\nvar _isObservePlanSet = function _isObservePlanSet(scope) {\n return scope.options.plan && (scope.options.plan.source || scope.options.plan.branch || scope.options.plan.version);\n};\n\nvar _shouldTrackField = function _shouldTrackField(scope, field) {\n return !!scope.options.trackingOptions[field];\n};\n\nvar _generateApiPropertiesTrackingConfig = function _generateApiPropertiesTrackingConfig(scope) {\n // to limit size of config payload, only send fields that have been disabled\n var fields = ['city', 'country', 'dma', 'ip_address', 'region'];\n var config = {};\n\n for (var i = 0; i < fields.length; i++) {\n var field = fields[i];\n\n if (!_shouldTrackField(scope, field)) {\n config[field] = false;\n }\n }\n\n return config;\n};\n/**\n * Remove old events from the beginning of the array if too many have accumulated. Default limit is 1000 events.\n * @private\n */\n\n\nAmplitudeClient.prototype._limitEventsQueued = function _limitEventsQueued(queue) {\n if (queue.length > this.options.savedMaxCount) {\n var deletedEvents = queue.splice(0, queue.length - this.options.savedMaxCount);\n deletedEvents.forEach(function (event) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'Event dropped because options.savedMaxCount exceeded. User may be offline or have a content blocker'\n });\n });\n }\n};\n/**\n * This is the callback for logEvent and identify calls. It gets called after the event/identify is uploaded,\n * and the server response code and response body from the upload request are passed to the callback function.\n * @callback Amplitude~eventCallback\n * @param {number} responseCode - Server response code for the event / identify upload request.\n * @param {string} responseBody - Server response body for the event / identify upload request.\n * @param {object} details - (optional) Additional information associated with sending event.\n */\n\n/**\n * Log an event with eventType and eventProperties\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {boolean} outOfSession - (optional) if this event is out of session or not\n * @example amplitudeClient.logEvent('Clicked Homepage Button', {'finished_flow': false, 'clicks': 15});\n */\n\n\nAmplitudeClient.prototype.logEvent = function logEvent(eventType, eventProperties, opt_callback, opt_error_callback) {\n var outOfSession = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (this._shouldDeferCall()) {\n return this._q.push(['logEvent'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n return this.logEventWithTimestamp(eventType, eventProperties, null, opt_callback, opt_error_callback, outOfSession);\n};\n/**\n * Log an event with eventType and eventProperties and a custom timestamp\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {number} timestamp - (optional) the custom timestamp as milliseconds since epoch.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {boolean} outOfSession - (optional) if out of the sessioin or not\n * @example amplitudeClient.logEvent('Clicked Homepage Button', {'finished_flow': false, 'clicks': 15});\n */\n\n\nAmplitudeClient.prototype.logEventWithTimestamp = function logEvent(eventType, eventProperties, timestamp, opt_callback, opt_error_callback) {\n var outOfSession = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n if (this._shouldDeferCall()) {\n return this._q.push(['logEventWithTimestamp'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('logEvent()')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'API key not set'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(eventType, 'eventType', 'string')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid type for eventType'\n });\n\n return -1;\n }\n\n if (utils.isEmptyString(eventType)) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Missing eventType'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(outOfSession, 'outOfSession', 'boolean')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid outOfSession value'\n });\n }\n\n return this._logEvent(eventType, eventProperties, null, null, null, null, timestamp, opt_callback, opt_error_callback, outOfSession);\n};\n/**\n * Log an event with eventType, eventProperties, and groups. Use this to set event-level groups.\n * Note: the group(s) set only apply for the specific event type being logged and does not persist on the user\n * (unless you explicitly set it with setGroup).\n *\n * See the [advanced topics article](https://developers.amplitude.com/docs/setting-user-groups) for more information.\n * about groups and Count by Distinct on the Amplitude platform.\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {object} groups - (optional) an object with string groupType: groupName values for the event being logged.\n * groupName can be a string or an array of strings.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @example amplitudeClient.logEventWithGroups('Clicked Button', null, {'orgId': 24});\n */\n\n\nAmplitudeClient.prototype.logEventWithGroups = function (eventType, eventProperties, groups, opt_callback, opt_error_callback) {\n var outOfSession = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n if (this._shouldDeferCall()) {\n return this._q.push(['logEventWithGroups'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('logEventWithGroups()')) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'API key not set'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(eventType, 'eventType', 'string')) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'Invalid type for eventType'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(outOfSession, 'outOfSession', 'boolean')) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'Invalid outOfSession value'\n });\n }\n\n return this._logEvent(eventType, eventProperties, null, null, groups, null, null, opt_callback, opt_error_callback, outOfSession);\n};\n/**\n * Test that n is a number or a numeric value.\n * @private\n */\n\n\nvar _isNumber = function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n/**\n * Handles errors that are sent to both callbacks\n * @private\n */\n\n\nvar _logErrorsWithCallbacks = function _logErrorsWithCallbacks(opt_callback, opt_error_callback, status, response, details) {\n if (type(opt_callback) === 'function') {\n opt_callback(status, response, details);\n }\n\n if (type(opt_error_callback) === 'function') {\n opt_error_callback(status, response, details);\n }\n};\n/**\n * Log revenue with Revenue interface. The new revenue interface allows for more revenue fields like\n * revenueType and event properties.\n *\n * See the [Revenue](https://amplitude.github.io/Amplitude-JavaScript/Revenue/)\n * reference page for more information on the Revenue interface and logging revenue.\n * @public\n * @param {Revenue} revenue_obj - the revenue object containing the revenue data being logged.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nAmplitudeClient.prototype.logRevenueV2 = function logRevenueV2(revenue_obj) {\n if (this._shouldDeferCall()) {\n return this._q.push(['logRevenueV2'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('logRevenueV2()')) {\n return;\n } // if revenue input is a proxied object created by the async loading snippet, convert it into an revenue object\n\n\n if (type(revenue_obj) === 'object' && Object.prototype.hasOwnProperty.call(revenue_obj, '_q')) {\n revenue_obj = _convertProxyObjectToRealObject(new Revenue(), revenue_obj);\n }\n\n if (revenue_obj instanceof Revenue) {\n // only send if revenue is valid\n if (revenue_obj && revenue_obj._isValidRevenue()) {\n return this.logEvent(Constants.REVENUE_EVENT, revenue_obj._toJSONObject());\n }\n } else {\n utils.log.error('Invalid revenue input type. Expected Revenue object but saw ' + type(revenue_obj));\n }\n};\n\n{\n /**\n * Log revenue event with a price, quantity, and product identifier. DEPRECATED - use logRevenueV2\n * @public\n * @deprecated\n * @param {number} price - price of revenue event\n * @param {number} quantity - (optional) quantity of products in revenue event. If no quantity specified default to 1.\n * @param {string} product - (optional) product identifier\n * @example amplitudeClient.logRevenue(3.99, 1, 'product_1234');\n */\n AmplitudeClient.prototype.logRevenue = function logRevenue(price, quantity, product) {\n if (this._shouldDeferCall()) {\n return this._q.push(['logRevenue'].concat(Array.prototype.slice.call(arguments, 0)));\n } // Test that the parameters are of the right type.\n\n\n if (!this._apiKeySet('logRevenue()') || !_isNumber(price) || quantity !== undefined && !_isNumber(quantity)) {\n // utils.log('Price and quantity arguments to logRevenue must be numbers');\n return -1;\n }\n\n return this._logEvent(Constants.REVENUE_EVENT, {}, {\n productId: product,\n special: 'revenue_amount',\n quantity: quantity || 1,\n price: price\n }, null, null, null, null, null);\n };\n}\n/**\n * Calls error callback on unsent events\n * @private\n */\n\n\nAmplitudeClient.prototype._logErrorsOnEvents = function _logErrorsOnEvents(maxEventId, maxIdentifyId, status, response) {\n var queues = ['_unsentEvents', '_unsentIdentifys'];\n\n for (var j = 0; j < queues.length; j++) {\n var queue = queues[j];\n var maxId = queue === '_unsentEvents' ? maxEventId : maxIdentifyId;\n\n for (var i = 0; i < this[queue].length || 0; i++) {\n var unsentEvent = this[queue][i];\n\n if (unsentEvent.event.event_id <= maxId) {\n if (unsentEvent.errorCallback) {\n unsentEvent.errorCallback(status, response);\n }\n }\n }\n }\n};\n/**\n * Remove events in storage with event ids up to and including maxEventId.\n * @private\n */\n\n\nAmplitudeClient.prototype.removeEvents = function removeEvents(maxEventId, maxIdentifyId, status, response) {\n _removeEvents(this, '_unsentEvents', maxEventId, status, response);\n\n _removeEvents(this, '_unsentIdentifys', maxIdentifyId, status, response);\n};\n/**\n * Helper function to remove events up to maxId from a single queue.\n * Does a true filter in case events get out of order or old events are removed.\n * @private\n */\n\n\nvar _removeEvents = function _removeEvents(scope, eventQueue, maxId, status, response) {\n if (maxId < 0) {\n return;\n }\n\n var filteredEvents = [];\n\n for (var i = 0; i < scope[eventQueue].length || 0; i++) {\n var unsentEvent = scope[eventQueue][i];\n\n if (unsentEvent.event.event_id > maxId) {\n filteredEvents.push(unsentEvent);\n } else {\n if (unsentEvent.callback) {\n unsentEvent.callback(status, response);\n }\n }\n }\n\n scope[eventQueue] = filteredEvents;\n};\n/**\n * Send unsent events. Note: this is called automatically after events are logged if option batchEvents is false.\n * If batchEvents is true, then events are only sent when batch criterias are met.\n * @private\n */\n\n\nAmplitudeClient.prototype.sendEvents = function sendEvents() {\n if (!this._apiKeySet('sendEvents()')) {\n this.removeEvents(Infinity, Infinity, 0, 'No request sent', {\n reason: 'API key not set'\n });\n return;\n }\n\n if (this.options.optOut) {\n this.removeEvents(Infinity, Infinity, 0, 'No request sent', {\n reason: 'Opt out is set to true'\n });\n return;\n } // How is it possible to get into this state?\n\n\n if (this._unsentCount() === 0) {\n return;\n } // We only make one request at a time. sendEvents will be invoked again once\n // the last request completes.\n // beacon data is sent synchronously, so don't pause for it\n\n\n if (this.options.transport !== Constants.TRANSPORT_BEACON) {\n if (this._sending) {\n return;\n }\n\n this._sending = true;\n }\n\n var protocol = this.options.forceHttps ? 'https' : 'https:' === GlobalScope.location.protocol ? 'https' : 'http';\n var url = protocol + '://' + this.options.apiEndpoint; // fetch events to send\n\n var numEvents = Math.min(this._unsentCount(), this.options.uploadBatchSize);\n\n var mergedEvents = this._mergeEventsAndIdentifys(numEvents);\n\n var maxEventId = mergedEvents.maxEventId;\n var maxIdentifyId = mergedEvents.maxIdentifyId;\n var events = JSON.stringify(mergedEvents.eventsToSend.map(function (_ref2) {\n var event = _ref2.event;\n return event;\n }));\n var uploadTime = new Date().getTime();\n var data = {\n client: this.options.apiKey,\n e: events,\n v: Constants.API_VERSION,\n upload_time: uploadTime,\n checksum: md5(Constants.API_VERSION + this.options.apiKey + events + uploadTime)\n };\n\n if (this.options.transport === Constants.TRANSPORT_BEACON) {\n var success = navigator.sendBeacon(url, new URLSearchParams(data));\n\n if (success) {\n this.removeEvents(maxEventId, maxIdentifyId, 200, 'success');\n\n if (this.options.saveEvents) {\n this.saveEvents();\n }\n } else {\n this._logErrorsOnEvents(maxEventId, maxIdentifyId, 0, '');\n }\n\n return;\n }\n\n var scope = this;\n new Request(url, data, this.options.headers).send(function (status, response) {\n scope._sending = false;\n\n try {\n if (status === 200 && response === 'success') {\n scope.removeEvents(maxEventId, maxIdentifyId, status, response); // Update the event cache after the removal of sent events.\n\n if (scope.options.saveEvents) {\n scope.saveEvents();\n } // Send more events if any queued during previous send.\n\n\n scope._sendEventsIfReady(); // handle payload too large\n\n } else {\n scope._logErrorsOnEvents(maxEventId, maxIdentifyId, status, response);\n\n if (status === 413) {\n // utils.log('request too large');\n // Can't even get this one massive event through. Drop it, even if it is an identify.\n if (scope.options.uploadBatchSize === 1) {\n scope.removeEvents(maxEventId, maxIdentifyId, status, response);\n } // The server complained about the length of the request. Backoff and try again.\n\n\n scope.options.uploadBatchSize = Math.ceil(numEvents / 2);\n scope.sendEvents();\n }\n } // else {\n // all the events are still queued, and will be retried when the next\n // event is sent In the interest of debugging, it would be nice to have\n // something like an event emitter for a better debugging experince\n // here.\n // }\n\n } catch (e) {// utils.log.error('failed upload');\n }\n });\n};\n/**\n * Merge unsent events and identifys together in sequential order based on their sequence number, for uploading.\n * Identifys given higher priority than Events. Also earlier sequence given priority\n * @private\n */\n\n\nAmplitudeClient.prototype._mergeEventsAndIdentifys = function _mergeEventsAndIdentifys(numEvents) {\n // coalesce events from both queues\n var eventsToSend = [];\n var eventIndex = 0;\n var maxEventId = -1;\n var identifyIndex = 0;\n var maxIdentifyId = -1;\n\n while (eventsToSend.length < numEvents) {\n var unsentEvent = void 0;\n var noIdentifys = identifyIndex >= this._unsentIdentifys.length;\n var noEvents = eventIndex >= this._unsentEvents.length; // case 0: no events or identifys left\n // note this should not happen, this means we have less events and identifys than expected\n\n if (noEvents && noIdentifys) {\n utils.log.error('Merging Events and Identifys, less events and identifys than expected');\n break;\n } // case 1: no identifys - grab from events\n else if (noIdentifys) {\n unsentEvent = this._unsentEvents[eventIndex++];\n maxEventId = unsentEvent.event.event_id; // case 2: no events - grab from identifys\n } else if (noEvents) {\n unsentEvent = this._unsentIdentifys[identifyIndex++];\n maxIdentifyId = unsentEvent.event.event_id; // case 3: need to compare sequence numbers\n } else {\n // events logged before v2.5.0 won't have a sequence number, put those first\n if (!('sequence_number' in this._unsentEvents[eventIndex].event) || this._unsentEvents[eventIndex].event.sequence_number < this._unsentIdentifys[identifyIndex].event.sequence_number) {\n unsentEvent = this._unsentEvents[eventIndex++];\n maxEventId = unsentEvent.event.event_id;\n } else {\n unsentEvent = this._unsentIdentifys[identifyIndex++];\n maxIdentifyId = unsentEvent.event.event_id;\n }\n }\n\n eventsToSend.push(unsentEvent);\n }\n\n return {\n eventsToSend: eventsToSend,\n maxEventId: maxEventId,\n maxIdentifyId: maxIdentifyId\n };\n};\n\n{\n /**\n * Set global user properties. Note this is deprecated, and we recommend using setUserProperties\n * @public\n * @deprecated\n */\n AmplitudeClient.prototype.setGlobalUserProperties = function setGlobalUserProperties(userProperties) {\n this.setUserProperties(userProperties);\n };\n}\n/**\n * Get the current version of Amplitude's Javascript SDK.\n * @public\n * @returns {number} version number\n * @example var amplitudeVersion = amplitude.__VERSION__;\n */\n\n\nAmplitudeClient.prototype.__VERSION__ = function getVersion() {\n return this.options.library.version;\n};\n/**\n * Sets the library name and version. Default is `amplitude-js` and the version defined in package.json. Used if you're building another library on top of amplitude-js and want a custom data source value\n * @public\n * @param {string} name - Custom library name\n * @param {string} version - Custom library version\n */\n\n\nAmplitudeClient.prototype.setLibrary = function setLibrary(name, version) {\n if (name !== null && typeof name !== 'undefined') {\n this.options.library.name = name;\n }\n\n if (version !== null && typeof version !== 'undefined') {\n this.options.library.version = version;\n }\n};\n/**\n * Determines whether or not to push call to this._q or invoke it\n * @private\n */\n\n\nAmplitudeClient.prototype._shouldDeferCall = function _shouldDeferCall() {\n return this._pendingReadStorage || this._initializationDeferred;\n};\n/**\n * Defers Initialization by putting all functions into storage until users\n * have accepted terms for tracking\n * @private\n */\n\n\nAmplitudeClient.prototype._deferInitialization = function _deferInitialization() {\n this._initializationDeferred = true;\n\n this._q.push(['init'].concat(Array.prototype.slice.call(arguments, 0)));\n};\n/**\n * Enable tracking via logging events and dropping a cookie\n * Intended to be used with the deferInitialization configuration flag\n * This will drop a cookie and reset initialization deferred\n * @public\n */\n\n\nAmplitudeClient.prototype.enableTracking = function enableTracking() {\n // This will call init (which drops the cookie) and will run any pending tasks\n this._initializationDeferred = false;\n\n _saveCookieData(this);\n\n this.runQueuedFunctions();\n};\n/**\n * Find best server url if choose to enable dynamic configuration.\n */\n\n\nAmplitudeClient.prototype._refreshDynamicConfig = function _refreshDynamicConfig() {\n if (this.options.useDynamicConfig) {\n instance.refresh(this.options.serverZone, this.options.forceHttps, function () {\n this.options.apiEndpoint = instance.ingestionEndpoint;\n }.bind(this));\n }\n};\n/**\n * Returns the deviceId value.\n * @public\n * @return {string} Id of current device.\n */\n\n\nAmplitudeClient.prototype.getDeviceId = function getDeviceId() {\n return this.options.deviceId;\n};\n/**\n * Returns the userId.\n * @public\n * @return {string} Id of current user.\n */\n\n\nAmplitudeClient.prototype.getUserId = function getUserId() {\n return this.options.userId;\n};\n/**\n * Set a custom session expiration time.\n * @public\n * @param {number} timeInMillis - session expireation time in milliseconds.\n */\n\n\nAmplitudeClient.prototype.setMinTimeBetweenSessionsMillis = function setMinTimeBetweenSessionsMillis(timeInMillis) {\n if (!utils.validateInput(timeInMillis, 'timeInMillis', 'number')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setMinTimeBetweenSessionsMillis'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.sessionTimeout = timeInMillis;\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets minimum number of events to batch together per request if batchEvents is true.\n * @public\n * @param {number} eventUploadThreshold - The number of the event upload threshold. Default value is 30.\n * @example amplitudeClient.setEventUploadThreshold(10);\n */\n\n\nAmplitudeClient.prototype.setEventUploadThreshold = function setEventUploadThreshold(eventUploadThreshold) {\n if (!utils.validateInput(eventUploadThreshold, 'eventUploadThreshold', 'number')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setEventUploadThreshold'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.eventUploadThreshold = eventUploadThreshold;\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Dynamically adjust server URL\n * @public\n * @param {bool} useDynamicConfig - if enable dynamic config or not.\n * @example amplitudeClient.setUseDynamicConfig(true);\n */\n\n\nAmplitudeClient.prototype.setUseDynamicConfig = function setUseDynamicConfig(useDynamicConfig) {\n if (!utils.validateInput(useDynamicConfig, 'useDynamicConfig', 'boolean')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setUseDynamicConfig'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.useDynamicConfig = useDynamicConfig;\n\n this._refreshDynamicConfig();\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the server zone, used for server api endpoint and dynamic configuration.\n * @public\n * @param {string} serverZone - the server zone value. AmplitudeServerZone.US or AmplitudeServerZone.EU.\n * @param {bool} serverZoneBasedApi - (optional) update api endpoint with serverZone change or not. For data residency, recommend to enable it unless using own proxy server.\n * @example amplitudeClient.setServerZone('joe@gmail.com', true);\n */\n\n\nAmplitudeClient.prototype.setServerZone = function setServerZone(serverZone) {\n var serverZoneBasedApi = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (serverZone !== AmplitudeServerZone.EU && serverZone !== AmplitudeServerZone.US || !utils.validateInput(serverZoneBasedApi, 'serverZoneBasedApi', 'boolean')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setServerZone'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.serverZone = serverZone;\n this.options.serverZoneBasedApi = serverZoneBasedApi;\n\n if (serverZoneBasedApi) {\n this.options.apiEndpoint = getEventLogApi(this.options.serverZone);\n }\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the server URL for the request.\n * @public\n * @param {string} serverUrl - The value of the server URL.\n * @example amplitudeClient.setServerUrl('api.amplitude.com');\n */\n\n\nAmplitudeClient.prototype.setServerUrl = function setServerUrl(serverUrl) {\n if (!utils.validateInput(serverUrl, 'serverUrl', 'string')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setServerUrl'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.apiEndpoint = serverUrl;\n } catch (e) {\n utils.log.error(e);\n }\n};\n\n/**\n * Deprecated legacy API of the Amplitude JS SDK - instance manager.\n *\n * Wraps around the current [AmplitudeClient](https://amplitude.github.io/Amplitude-JavaScript/) which provides more features\n * Function calls directly on amplitude have been deprecated. Please call methods on the default shared instance: amplitude.getInstance() instead.\n *\n * See the [3.0.0 changelog](https://github.com/amplitude/Amplitude-JavaScript/blob/ed405afb5f06d5cf5b72539a5d09179abcf7e1fe/README.md#300-update-and-logging-events-to-multiple-amplitude-apps) for more information about this change.\n * @constructor Amplitude\n * @public\n * @deprecated\n * @example var amplitude = new Amplitude();\n */\n\nvar Amplitude = function Amplitude() {\n this.options = _objectSpread({}, DEFAULT_OPTIONS);\n this._q = [];\n this._instances = {}; // mapping of instance names to instances\n};\n\nAmplitude.prototype.Identify = Identify;\nAmplitude.prototype.Revenue = Revenue;\n\nAmplitude.prototype.getInstance = function getInstance(instance) {\n instance = utils.isEmptyString(instance) ? Constants.DEFAULT_INSTANCE : instance.toLowerCase();\n var client = this._instances[instance];\n\n if (client === undefined) {\n client = new AmplitudeClient(instance);\n this._instances[instance] = client;\n }\n\n return client;\n};\n\n{\n /**\n * Initializes the Amplitude Javascript SDK with your apiKey and any optional configurations.\n * This is required before any other methods can be called.\n * @public\n * @param {string} apiKey - The API key for your app.\n * @param {string} opt_userId - (optional) An identifier for this user.\n * @param {object} opt_config - (optional) Configuration options.\n * See [options.js](https://github.com/amplitude/Amplitude-JavaScript/blob/master/src/options.js#L14) for list of options and default values.\n * @param {function} opt_callback - (optional) Provide a callback function to run after initialization is complete.\n * @deprecated Please use amplitude.getInstance().init(apiKey, opt_userId, opt_config, opt_callback);\n * @example amplitude.init('API_KEY', 'USER_ID', {includeReferrer: true, includeUtm: true}, function() { alert('init complete'); });\n */\n Amplitude.prototype.init = function init(apiKey, opt_userId, opt_config, opt_callback) {\n this.getInstance().init(apiKey, opt_userId, opt_config, function (instance) {\n // make options such as deviceId available for callback functions\n this.options = instance.options;\n\n if (type(opt_callback) === 'function') {\n opt_callback(instance);\n }\n }.bind(this));\n };\n /**\n * Returns true if a new session was created during initialization, otherwise false.\n * @public\n * @return {boolean} Whether a new session was created during initialization.\n * @deprecated Please use amplitude.getInstance().isNewSession();\n */\n\n\n Amplitude.prototype.isNewSession = function isNewSession() {\n return this.getInstance().isNewSession();\n };\n /**\n * Returns the id of the current session.\n * @public\n * @return {number} Id of the current session.\n * @deprecated Please use amplitude.getInstance().getSessionId();\n */\n\n\n Amplitude.prototype.getSessionId = function getSessionId() {\n return this.getInstance().getSessionId();\n };\n /**\n * Increments the eventId and returns it.\n * @private\n */\n\n\n Amplitude.prototype.nextEventId = function nextEventId() {\n return this.getInstance().nextEventId();\n };\n /**\n * Increments the identifyId and returns it.\n * @private\n */\n\n\n Amplitude.prototype.nextIdentifyId = function nextIdentifyId() {\n return this.getInstance().nextIdentifyId();\n };\n /**\n * Increments the sequenceNumber and returns it.\n * @private\n */\n\n\n Amplitude.prototype.nextSequenceNumber = function nextSequenceNumber() {\n return this.getInstance().nextSequenceNumber();\n };\n /**\n * Saves unsent events and identifies to localStorage. JSON stringifies event queues before saving.\n * Note: this is called automatically every time events are logged, unless you explicitly set option saveEvents to false.\n * @private\n */\n\n\n Amplitude.prototype.saveEvents = function saveEvents() {\n this.getInstance().saveEvents();\n };\n /**\n * Sets a customer domain for the amplitude cookie. Useful if you want to support cross-subdomain tracking.\n * @public\n * @param {string} domain to set.\n * @deprecated Please use amplitude.getInstance().setDomain(domain);\n * @example amplitude.setDomain('.amplitude.com');\n */\n\n\n Amplitude.prototype.setDomain = function setDomain(domain) {\n this.getInstance().setDomain(domain);\n };\n /**\n * Sets an identifier for the current user.\n * @public\n * @param {string} userId - identifier to set. Can be null.\n * @deprecated Please use amplitude.getInstance().setUserId(userId);\n * @example amplitude.setUserId('joe@gmail.com');\n */\n\n\n Amplitude.prototype.setUserId = function setUserId(userId) {\n this.getInstance().setUserId(userId);\n };\n /**\n * Add user to a group or groups. You need to specify a groupType and groupName(s).\n * For example you can group people by their organization.\n * In that case groupType is \"orgId\" and groupName would be the actual ID(s).\n * groupName can be a string or an array of strings to indicate a user in multiple gruups.\n * You can also call setGroup multiple times with different groupTypes to track multiple types of groups (up to 5 per app).\n * Note: this will also set groupType: groupName as a user property.\n * See the [advanced topics article](https://developers.amplitude.com/docs/setting-user-groups) for more information.\n * @public\n * @param {string} groupType - the group type (ex: orgId)\n * @param {string|list} groupName - the name of the group (ex: 15), or a list of names of the groups\n * @deprecated Please use amplitude.getInstance().setGroup(groupType, groupName);\n * @example amplitude.setGroup('orgId', 15); // this adds the current user to orgId 15.\n */\n\n\n Amplitude.prototype.setGroup = function (groupType, groupName) {\n this.getInstance().setGroup(groupType, groupName);\n };\n /**\n * Sets whether to opt current user out of tracking.\n * @public\n * @param {boolean} enable - if true then no events will be logged or sent.\n * @deprecated Please use amplitude.getInstance().setOptOut(enable);\n * @example: amplitude.setOptOut(true);\n */\n\n\n Amplitude.prototype.setOptOut = function setOptOut(enable) {\n this.getInstance().setOptOut(enable);\n };\n /**\n * Regenerates a new random deviceId for current user. Note: this is not recommended unless you know what you\n * are doing. This can be used in conjunction with `setUserId(null)` to anonymize users after they log out.\n * With a null userId and a completely new deviceId, the current user would appear as a brand new user in dashboard.\n * This uses src/uuid.js to regenerate the deviceId.\n * @public\n * @deprecated Please use amplitude.getInstance().regenerateDeviceId();\n */\n\n\n Amplitude.prototype.regenerateDeviceId = function regenerateDeviceId() {\n this.getInstance().regenerateDeviceId();\n };\n /**\n * Sets a custom deviceId for current user. Note: this is not recommended unless you know what you are doing\n * (like if you have your own system for managing deviceIds).\n *\n * Make sure the deviceId you set is sufficiently unique\n * (we recommend something like a UUID - see src/uuid.js for an example of how to generate) to prevent conflicts with other devices in our system.\n * @public\n * @param {string} deviceId - custom deviceId for current user.\n * @deprecated Please use amplitude.getInstance().setDeviceId(deviceId);\n * @example amplitude.setDeviceId('45f0954f-eb79-4463-ac8a-233a6f45a8f0');\n */\n\n\n Amplitude.prototype.setDeviceId = function setDeviceId(deviceId) {\n this.getInstance().setDeviceId(deviceId);\n };\n /**\n * Sets user properties for the current user.\n * @public\n * @param {object} userProperties - object with string keys and values for the user properties to set.\n * @param {boolean} opt_replace - Deprecated. In earlier versions of the JS SDK the user properties object was kept in\n * memory and replace = true would replace the object in memory. Now the properties are no longer stored in memory, so replace is deprecated.\n * @deprecated Please use amplitude.getInstance().setUserProperties(userProperties);\n * @example amplitude.setUserProperties({'gender': 'female', 'sign_up_complete': true})\n */\n\n\n Amplitude.prototype.setUserProperties = function setUserProperties(userProperties) {\n this.getInstance().setUserProperties(userProperties);\n };\n /**\n * Clear all of the user properties for the current user. Note: clearing user properties is irreversible!\n * @public\n * @deprecated Please use amplitude.getInstance().clearUserProperties();\n * @example amplitude.clearUserProperties();\n */\n\n\n Amplitude.prototype.clearUserProperties = function clearUserProperties() {\n this.getInstance().clearUserProperties();\n };\n /**\n * Send an identify call containing user property operations to Amplitude servers.\n * See the [Identify](https://amplitude.github.io/Amplitude-JavaScript/Identify/)\n * reference page for more information on the Identify API and user property operations.\n * @param {Identify} identify_obj - the Identify object containing the user property operations to send.\n * @param {Amplitude~eventCallback} opt_callback - (optional) callback function to run when the identify event has been sent.\n * Note: the server response code and response body from the identify event upload are passed to the callback function.\n * @deprecated Please use amplitude.getInstance().identify(identify);\n * @example\n * var identify = new amplitude.Identify().set('colors', ['rose', 'gold']).add('karma', 1).setOnce('sign_up_date', '2016-03-31');\n * amplitude.identify(identify);\n */\n\n\n Amplitude.prototype.identify = function (identify_obj, opt_callback) {\n this.getInstance().identify(identify_obj, opt_callback);\n };\n /**\n * Set a versionName for your application.\n * @public\n * @param {string} versionName - The version to set for your application.\n * @deprecated Please use amplitude.getInstance().setVersionName(versionName);\n * @example amplitude.setVersionName('1.12.3');\n */\n\n\n Amplitude.prototype.setVersionName = function setVersionName(versionName) {\n this.getInstance().setVersionName(versionName);\n };\n /**\n * This is the callback for logEvent and identify calls. It gets called after the event/identify is uploaded,\n * and the server response code and response body from the upload request are passed to the callback function.\n * @callback Amplitude~eventCallback\n * @param {number} responseCode - Server response code for the event / identify upload request.\n * @param {string} responseBody - Server response body for the event / identify upload request.\n */\n\n /**\n * Log an event with eventType and eventProperties\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @deprecated Please use amplitude.getInstance().logEvent(eventType, eventProperties, opt_callback);\n * @example amplitude.logEvent('Clicked Homepage Button', {'finished_flow': false, 'clicks': 15});\n */\n\n\n Amplitude.prototype.logEvent = function logEvent(eventType, eventProperties, opt_callback) {\n return this.getInstance().logEvent(eventType, eventProperties, opt_callback);\n };\n /**\n * Log an event with eventType, eventProperties, and groups. Use this to set event-level groups.\n *\n * Note: the group(s) set only apply for the specific event type being logged and does not persist on the user\n * (unless you explicitly set it with setGroup).\n *\n * See the [advanced topics article](https://developers.amplitude.com/docs/setting-user-groups) for more information.\n * about groups and Count by Distinct on the Amplitude platform.\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {object} groups - (optional) an object with string groupType: groupName values for the event being logged.\n * groupName can be a string or an array of strings.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @deprecated Please use amplitude.getInstance().logEventWithGroups(eventType, eventProperties, groups, opt_callback);\n * @example amplitude.logEventWithGroups('Clicked Button', null, {'orgId': 24});\n */\n\n\n Amplitude.prototype.logEventWithGroups = function (eventType, eventProperties, groups, opt_callback) {\n return this.getInstance().logEventWithGroups(eventType, eventProperties, groups, opt_callback);\n };\n /**\n * Log revenue with Revenue interface. The new revenue interface allows for more revenue fields like\n * revenueType and event properties.\n *\n * See the [Revenue](https://amplitude.github.io/Amplitude-JavaScript/Revenue/)\n * reference page for more information on the Revenue interface and logging revenue.\n * @public\n * @param {Revenue} revenue_obj - the revenue object containing the revenue data being logged.\n * @deprecated Please use amplitude.getInstance().logRevenueV2(revenue_obj);\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\n Amplitude.prototype.logRevenueV2 = function logRevenueV2(revenue_obj) {\n return this.getInstance().logRevenueV2(revenue_obj);\n };\n /**\n * Log revenue event with a price, quantity, and product identifier.\n * @public\n * @param {number} price - price of revenue event\n * @param {number} quantity - (optional) quantity of products in revenue event. If no quantity specified default to 1.\n * @param {string} product - (optional) product identifier\n * @deprecated Please use amplitude.getInstance().logRevenueV2(revenue_obj);\n * @example amplitude.logRevenue(3.99, 1, 'product_1234');\n */\n\n\n Amplitude.prototype.logRevenue = function logRevenue(price, quantity, product) {\n return this.getInstance().logRevenue(price, quantity, product);\n };\n /**\n * Remove events in storage with event ids up to and including maxEventId.\n * @private\n */\n\n\n Amplitude.prototype.removeEvents = function removeEvents(maxEventId, maxIdentifyId) {\n this.getInstance().removeEvents(maxEventId, maxIdentifyId);\n };\n /**\n * Send unsent events. Note: this is called automatically after events are logged if option batchEvents is false.\n * If batchEvents is true, then events are only sent when batch criterias are met.\n * @private\n * @param {Amplitude~eventCallback} callback - (optional) callback to run after events are sent.\n * Note the server response code and response body are passed to the callback as input arguments.\n */\n\n\n Amplitude.prototype.sendEvents = function sendEvents(callback) {\n this.getInstance().sendEvents(callback);\n };\n /**\n * Set global user properties.\n * @public\n * @deprecated Please use amplitudeClient.setUserProperties\n */\n\n\n Amplitude.prototype.setGlobalUserProperties = function setGlobalUserProperties(userProperties) {\n this.getInstance().setUserProperties(userProperties);\n };\n}\n/**\n * Get the current version of Amplitude's Javascript SDK.\n * @public\n * @returns {number} version number\n * @example var amplitudeVersion = amplitude.__VERSION__;\n */\n\n\nAmplitude.prototype.__VERSION__ = version;\n\n// Entry point\nvar old = typeof GlobalScope !== 'undefined' && GlobalScope.amplitude || {};\nvar newInstance = new Amplitude();\nnewInstance._q = old._q || [];\n/**\n * Instantiates Amplitude object and runs all queued function logged by stubbed methods provided by snippets\n * Event queue allows async loading of SDK to not blocking client's app\n */\n\nfor (var instance$1 in old._iq) {\n // migrate each instance's queue\n if (Object.prototype.hasOwnProperty.call(old._iq, instance$1)) {\n newInstance.getInstance(instance$1)._q = old._iq[instance$1]._q || [];\n }\n} // If SDK is enabled as snippet, process the events queued by stubbed function\n\nexport default newInstance;\n","import { Analytics } from './Analytics';\nimport amplitude from 'amplitude-js';\nimport { Event } from './Event';\nimport { Events } from './Events';\n\nconst AMPLITUDE_API_KEY = process.env.REACT_APP_AMPLITUDE_API_KEY || '';\n\nexport class Amplitude extends Analytics {\n unsupportedEvents: Events[] = [];\n\n supportedEvents = Object.values(Events).filter(\n (event) => !this.unsupportedEvents.includes(event),\n );\n\n constructor() {\n super();\n amplitude.getInstance().init(AMPLITUDE_API_KEY, undefined, {\n includeUtm: true,\n includeReferrer: true,\n includeGclid: true,\n });\n }\n\n static setUserProperty(name: string, value: any) {\n amplitude.getInstance().setUserProperties({\n [name]: value,\n });\n }\n\n trackEvent(event: Event) {\n amplitude.getInstance().logEvent(event.name, event.params);\n }\n}\n","import ReactPixel from 'react-facebook-pixel';\nimport { Events } from './Events';\nimport { Analytics } from './Analytics';\nimport { Event } from './Event';\n\nconst FACEBOOK_PIXEL_ID = process.env.REACT_APP_FACEBOOK_PIXEL_ID || '';\n\nconst mappedEvents: Record = {\n [Events.Install]: 'Lead',\n [Events.SignUp]: 'CompleteRegistration',\n};\n\nexport class FacebookPixel extends Analytics {\n constructor() {\n super();\n ReactPixel.init(FACEBOOK_PIXEL_ID, undefined, {\n debug: process.env.NODE_ENV !== 'production',\n autoConfig: true,\n });\n }\n\n trackEvent(event: Event) {\n const eventName = mappedEvents[event.name];\n const track = () => {\n ReactPixel.track(eventName, event.params);\n };\n track();\n }\n}\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import { Events } from './Events';\nimport { Event } from './Event';\n\nexport class ExperimentStarted extends Event {\n constructor(name: string, value: number) {\n super(Events.ExperimentStarted, {\n experiment: name,\n variant: value,\n });\n }\n}\n","import { ExperimentStarted } from './AllEvents';\nimport { Analytics } from './Analytics';\nimport { Event } from './Event';\nimport { Events } from './Events';\nimport { appAnalytics } from './index';\n\ntype GoogleAnalyticsEventInfo = {\n action: string;\n category?: string;\n};\n\ndeclare global {\n interface Window {\n dataLayer: Record[];\n }\n}\n\nconst mappedEvents: Record = {\n [Events.Install]: {\n action: 'generate_lead',\n category: 'engagement',\n },\n [Events.SignUp]: {\n action: 'sign_up',\n category: 'engagement',\n },\n};\n\nexport class GoogleAnalytics extends Analytics {\n supportedEvents = [Events.Install, Events.SignUp];\n\n constructor() {\n super();\n\n activateOptimize();\n }\n\n trackEvent(event: Event) {\n const eventInfo = mappedEvents[event.name] || event.name;\n const params: any = event.params;\n\n window.dataLayer?.push({\n event: eventInfo.action,\n eventProps: {\n category: eventInfo.category,\n action: eventInfo.action,\n value: params,\n },\n ...params,\n });\n }\n}\n\nexport const activateOptimize = () => {\n // @ts-ignore\n window.dataLayer?.push({ event: 'optimize.activate' });\n};\n\nexport const initOptimize = () => {\n // @ts-ignore\n gtag('event', 'optimize.callback', {\n callback: (value: any, name: any) => {\n if (name && value) {\n appAnalytics.trackEvent(new ExperimentStarted(name, value));\n }\n },\n });\n};\n\nfunction gtag() {\n // @ts-ignore\n // eslint-disable-next-line prefer-rest-params\n window.dataLayer?.push(arguments);\n}\n","import { Amplitude } from './Amplitude';\nimport { Analytics } from './Analytics';\nimport { DummyAnalytics } from './DummyAnalytics';\nimport { FacebookPixel } from './FacebookPixel';\nimport { GoogleAnalytics } from './GoogleAnalytics';\nimport { Event } from './Event';\n\nclass AppAnalytics {\n private analytics: Analytics[];\n\n constructor(analytics: Analytics[]) {\n this.analytics = analytics;\n }\n\n trackEvent(event: Event) {\n this.analytics.forEach((it: Analytics) => {\n if (it.supportedEvents.includes(event.name)) {\n it.trackEvent(event);\n }\n });\n }\n}\n\nexport const appAnalytics = new AppAnalytics(\n process.env.NODE_ENV === 'production'\n ? [new Amplitude(), new FacebookPixel(), new GoogleAnalytics()]\n : [\n new DummyAnalytics(),\n new Amplitude(),\n new FacebookPixel(),\n new GoogleAnalytics(),\n ],\n);\n","function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { cloneElement, createElement, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Route, Switch, matchPath, useLocation } from 'react-router-dom';\nimport TransitionMotion from 'react-motion/lib/TransitionMotion';\nimport spring from 'react-motion/lib/spring'; // Helpers\n\nfunction ensureSpring(styles) {\n var obj = {};\n\n for (var key in styles) {\n var value = styles[key];\n\n if (typeof value === 'number') {\n obj[key] = spring(value);\n } else {\n obj[key] = value;\n }\n }\n\n return obj;\n}\n\nfunction identity(v) {\n return v;\n}\n\nfunction noop() {} // Components\n\n\nfunction RouteTransition(_ref) {\n var children = _ref.children,\n className = _ref.className,\n atEnter = _ref.atEnter,\n atActive = _ref.atActive,\n atLeave = _ref.atLeave,\n _ref$wrapperComponent = _ref.wrapperComponent,\n wrapperComponent = _ref$wrapperComponent === void 0 ? 'div' : _ref$wrapperComponent,\n _ref$didLeave = _ref.didLeave,\n didLeave = _ref$didLeave === void 0 ? noop : _ref$didLeave,\n _ref$mapStyles = _ref.mapStyles,\n mapStyles = _ref$mapStyles === void 0 ? identity : _ref$mapStyles,\n _ref$runOnMount = _ref.runOnMount,\n runOnMount = _ref$runOnMount === void 0 ? false : _ref$runOnMount;\n var defaultStyles = runOnMount === false ? null : children == undefined ? [] : [{\n key: children.key,\n data: children,\n style: atEnter\n }];\n var styles = children == undefined ? [] : [{\n key: children.key,\n data: children,\n style: ensureSpring(atActive)\n }];\n return React.createElement(TransitionMotion, {\n defaultStyles: defaultStyles,\n styles: styles,\n willEnter: function willEnter() {\n return atEnter;\n },\n willLeave: function willLeave() {\n return ensureSpring(atLeave);\n },\n didLeave: didLeave\n }, function (interpolatedStyles) {\n return React.createElement(\"div\", {\n className: className\n }, interpolatedStyles.map(function (config) {\n var props = {\n style: mapStyles(config.style),\n key: config.key\n };\n return wrapperComponent !== false ? createElement(wrapperComponent, props, config.data) : cloneElement(config.data, props);\n }));\n });\n}\n\nRouteTransition.propTypes = {\n className: PropTypes.string,\n wrapperComponent: PropTypes.oneOfType([PropTypes.bool, PropTypes.element, PropTypes.string, PropTypes.func]),\n atEnter: PropTypes.object.isRequired,\n atActive: PropTypes.object.isRequired,\n atLeave: PropTypes.object.isRequired,\n didLeave: PropTypes.func,\n mapStyles: PropTypes.func,\n runOnMount: PropTypes.bool\n}; // AnimatedRoute\n// The key-getter for RouteTransition. It's either on or off.\n\nfunction getKey(_ref2, path, exact) {\n var pathname = _ref2.pathname;\n return matchPath(pathname, {\n exact: exact,\n path: path\n }) ? 'match' : 'no-match';\n}\n\nfunction AnimatedRoute(_ref3) {\n var render = _ref3.render,\n component = _ref3.component,\n path = _ref3.path,\n exact = _ref3.exact,\n strict = _ref3.strict,\n sensitive = _ref3.sensitive,\n children = _ref3.children,\n routeTransitionProps = _objectWithoutProperties(_ref3, [\"render\", \"component\", \"path\", \"exact\", \"strict\", \"sensitive\", \"children\"]);\n\n var location = useLocation();\n return React.createElement(RouteTransition, routeTransitionProps, React.createElement(Route, {\n key: getKey(location, path, exact),\n path: path,\n exact: exact,\n strict: strict,\n sensitive: sensitive,\n location: location,\n component: component,\n render: render,\n children: children\n }));\n} // AnimatedSwitch\n\n\nvar NO_MATCH = {\n key: 'no-match'\n}; // Not every location object has a `key` property (e.g. HashHistory).\n\nfunction getLocationKey(location) {\n return typeof location.key === 'string' ? location.key : '';\n} // Some superfluous work, but something we need to do in order\n// to persist matches/allow for nesting/etc.\n\n\nfunction getMatchedRoute(children, _ref4) {\n var pathname = _ref4.pathname;\n var childrenArray = React.Children.toArray(children);\n\n for (var i = 0; i < childrenArray.length; i++) {\n var child = childrenArray[i];\n var matches = matchPath(pathname, {\n exact: child.props.exact,\n path: child.props.path\n });\n\n if (matches) {\n return child;\n }\n }\n\n return NO_MATCH;\n}\n\nvar counter = 0;\n\nfunction AnimatedSwitch(_ref5) {\n var children = _ref5.children,\n routeTransitionProps = _objectWithoutProperties(_ref5, [\"children\"]);\n\n var location = useLocation();\n var match = useRef(null);\n var key = useRef(null);\n var nextMatch = getMatchedRoute(children, location);\n\n if (match.current === null) {\n // Persist a reference to the most recent match\n match.current = nextMatch;\n key.current = getLocationKey(location);\n } else if (match.current.key !== nextMatch.key) {\n // Update the key given to Switch anytime the matched route changes\n match.current = nextMatch;\n key.current = getLocationKey(location) + ++counter;\n }\n\n return React.createElement(RouteTransition, routeTransitionProps, React.createElement(Switch, {\n key: key.current,\n location: location\n }, children));\n}\n\nexport { ensureSpring, spring, RouteTransition, AnimatedRoute, AnimatedSwitch };","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var _circle, _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcDelete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 26,\n viewBox: \"0 0 26 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.1,\n cx: 13,\n cy: 13,\n r: 13,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 10L10 15.9999\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 16L10 10.0001\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcDelete);\nexport default __webpack_public_path__ + \"static/media/ic_delete.c97d120f413af4d3579ef960d48fa938.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconEyeClosed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 13,\n viewBox: \"0 0 28 13\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 1C22.15 4 18.9597 7 14.5 7C10.0403 7 6.85 4 6 1\",\n stroke: \"#090110\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.5,\n cy: 4.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 22.5,\n cy: 9.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 14.5,\n cy: 11.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 6.5,\n cy: 9.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1.5,\n cy: 4.5,\n r: 1.5,\n fill: \"#090110\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEyeClosed);\nexport default __webpack_public_path__ + \"static/media/icon_eye_closed.6f13a3a262e22d7011cd97b1dfbf6f56.svg\";\nexport { ForwardRef as ReactComponent };","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\nimport { AppDispatch } from './index';\nimport { RootState } from './reducer';\n\n// Use throughout app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n","import React from 'react';\nimport './styles.scss';\n\nexport const Loader = () => (\n <>\n \n \n \n \n);\n","import React from 'react';\nimport { Loader } from '../loader/Loader';\nimport './styles.scss';\n\ntype Props = {\n disabled: boolean;\n className?: string;\n isLoading: boolean;\n label: string;\n onClick: () => void;\n};\n\nexport const LoadingButton = ({\n disabled,\n className,\n isLoading,\n label,\n onClick,\n}: Props) => (\n {\n event.preventDefault();\n !isLoading && onClick();\n }}\n >\n {isLoading ? : label}\n \n);\n","var _path, _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconEyeOpened(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 15,\n viewBox: \"0 0 21 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.5,\n d: \"M19.8129 8.05342C19.9497 7.69701 19.9497 7.30299 19.8129 6.94658C18.6402 3.89115 15.2011 1 10.5 1C5.79885 1 2.35979 3.89115 1.18706 6.94658C1.05026 7.30299 1.05026 7.69701 1.18706 8.05342C2.35979 11.1089 5.79885 14 10.5 14C15.2011 14 18.6402 11.1089 19.8129 8.05342Z\",\n stroke: \"#090110\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.5,\n cx: 10.5,\n cy: 7.5,\n r: 2.5,\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEyeOpened);\nexport default __webpack_public_path__ + \"static/media/icon_eye_opened.fc29c3490db04a6be2d8f64e46a6ee38.svg\";\nexport { ForwardRef as ReactComponent };","import './styles.scss';\nimport React, { useState } from 'react';\n\nimport { ReactComponent as ClosedEye } from '../../assets/icon_eye_closed.svg';\nimport { ReactComponent as OpenedEye } from '../../assets/icon_eye_opened.svg';\n\ntype Props = {\n value: string;\n placeholder?: string;\n isValid: boolean;\n onChange: (event: React.ChangeEvent) => void;\n onFocusChange?: (isFocused: boolean) => void;\n};\n\nexport const PasswordInput = ({\n value,\n placeholder = 'Password',\n isValid,\n onChange,\n onFocusChange,\n}: Props) => {\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n\n return (\n
\n onFocusChange?.(true)}\n onBlur={() => onFocusChange?.(true)}\n onChange={onChange}\n />\n {isPasswordVisible ? (\n setIsPasswordVisible(!isPasswordVisible)}\n />\n ) : (\n setIsPasswordVisible(!isPasswordVisible)}\n />\n )}\n
\n );\n};\n","import { push } from 'connected-react-router';\n\nexport function validateEmail(email: string): boolean {\n const re =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(email.toLowerCase());\n}\n\nexport function formatPrice(\n price?: number | string,\n currencySign?: string,\n): string {\n const amount =\n typeof price === 'number' ? price : parseFloat(price || '0.00');\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencySign,\n }).format(amount);\n}\n\n// Returns date in format YYYY-MM-DD HH:mm:ss\nexport function getFormattedDate(date: Date = new Date()): string {\n const parts = Intl.DateTimeFormat('en', {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false,\n })\n .formatToParts(date)\n .reduce(\n (\n result: Map,\n part: Intl.DateTimeFormatPart,\n ) => {\n result.set(part.type, part.value);\n return result;\n },\n new Map(),\n );\n\n const { year, month, day, hour, minute, second } = Object.fromEntries(parts);\n\n return `${year}-${month}-${day} ${hour}:${minute}:${second}`;\n}\n\nexport function pushWithSearchQuery(path: string) {\n return push({\n pathname: path,\n search: window.location.search,\n });\n}\n\nexport function getQueryVariable(variable: string): string | undefined {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (decodeURIComponent(pair[0]) === variable) {\n return decodeURIComponent(pair[1]);\n }\n }\n return undefined;\n}\n\nfunction randomInt(bound: number): number {\n return Math.floor(Math.random() * bound);\n}\n\nexport function generateCode(): string {\n const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const delimiter = '-';\n\n const chars: string[] = [];\n\n for (let i = 0; i < 6; i++) {\n chars[i] = alphabet[randomInt(alphabet.length - 1)];\n }\n\n chars.splice(3, 0, delimiter);\n return chars.join('');\n}\n\nexport const getSubDomain = () => {\n const parsedData = location.hostname.split('.');\n\n if (parsedData.length >= 2) {\n return parsedData[0];\n } else {\n return undefined;\n }\n};\n\nexport const isGiftFlow = (): boolean => {\n return window.location.pathname.split('/').includes('gift');\n};\n\nexport const isCookiesAccepted = (): boolean => {\n return localStorage.getItem('cookies-accepted') === 'true';\n};\n","import { Events } from './Events';\n\ntype EventParams = {} | string[] | string;\n\nexport class Event {\n name: Events;\n params?: EventParams;\n eventId?: string;\n\n constructor(name: Events, params?: EventParams, eventId?: string) {\n this.name = name;\n this.params = params;\n this.eventId = eventId;\n }\n}\n","import { Event } from '../../../analytics/Event';\nimport { Events } from '../../../analytics/Events';\n\nexport class RedeemScreenOpened extends Event {\n constructor(screenName: string) {\n super(Events.RedeemScreenOpened, { screenName });\n }\n}\n\nexport class RedeemWelcomeContinue extends Event {\n constructor() {\n super(Events.RedeemWelcomeContinue);\n }\n}\n\nexport class RedeemSignUp extends Event {\n constructor(accountType: 'email' | 'facebook' | 'google') {\n super(Events.RedeemSignUp, { accountType });\n }\n}\n\nexport class RedeemGiftCodeActivated extends Event {\n constructor(giftCode: string) {\n super(Events.RedeemGiftCodeActivated, { giftCode });\n }\n}\n\nexport class RedeemAppContinue extends Event {\n constructor() {\n super(Events.RedeemAppContinue);\n }\n}\n","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconExclamation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 6,\n height: 23,\n viewBox: \"0 0 6 23\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.09012 3.05122C1.01095 1.94281 1.88882 1 3.00006 1C4.11129 1 4.98916 1.94281 4.90999 3.05122L4.10154 14.3696C4.06026 14.9474 3.57941 15.3952 3.00006 15.3952C2.4207 15.3952 1.93985 14.9474 1.89857 14.3696L1.09012 3.05122Z\",\n fill: \"#E34646\",\n stroke: \"#E34646\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.62904 18.1371C0.871875 18.8943 0.871875 20.1219 1.62904 20.879C2.3862 21.6362 3.61381 21.6362 4.37098 20.879C5.12814 20.1219 5.12814 18.8943 4.37098 18.1371C3.61381 17.3799 2.3862 17.3799 1.62904 18.1371Z\",\n fill: \"#E34646\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconExclamation);\nexport default __webpack_public_path__ + \"static/media/icon_exclamation.b3a2c24cfd21e368363cdc9d4c3b63c9.svg\";\nexport { ForwardRef as ReactComponent };","import React, { SyntheticEvent, useEffect, useRef } from 'react';\nimport Exclamation from '../../../../assets/icon_exclamation.svg';\nimport './styles.scss';\n\ntype Props = {\n visible: boolean;\n error: string;\n onClose: () => void;\n};\n\nexport const ErrorPopup = ({ visible, error, onClose }: Props) => {\n const alert = useRef(null);\n\n useEffect(() => {\n if (visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n });\n\n const close = (e: SyntheticEvent) => {\n e.preventDefault();\n // eslint-disable-next-line\n if (e.target == alert.current) {\n onClose();\n }\n };\n\n return (\n \n
\n \"\"\n
\n

{error}

\n \n );\n};\n","export interface ResponseError {\n code: number;\n description: string;\n debug_text: string;\n}\n\nexport interface ServerResponse {\n response: T;\n error: ResponseError;\n}\n\nconst getToken = (): string | null => localStorage.getItem('auth_token');\n\nexport async function fetchServer(\n endpoint: string,\n method: 'GET' | 'POST' = 'GET',\n body: object | null = null,\n): Promise> {\n if (!navigator.onLine) {\n return Promise.reject('No internet connection');\n } else {\n return fetch(endpoint, {\n method: method,\n headers: {\n 'Content-Type': body ? 'application/json' : '',\n Authorization: getToken() || '',\n },\n body: body && JSON.stringify(body),\n })\n .then((response) => {\n return response\n .json()\n .then((result) => {\n if (result.hasOwnProperty('response')) {\n return Promise.resolve(result);\n } else {\n return Promise.reject(result);\n }\n })\n .catch((reason) => {\n return Promise.reject(\n reason.debug_text || reason || 'Unknown error',\n );\n });\n })\n .catch((reason) => {\n return Promise.reject(reason.debug_text || reason || 'Unknown error');\n });\n }\n}\n","import { fetchServer } from '../../../net/commonnet';\nimport { PaymentInfoResponse, UserInfo } from './data';\n\nconst API = `${process.env.REACT_APP_BACKEND_URL}/api`;\n\nconst ENDPOINTS = {\n ACTIVATE_GIFT_CARD: `${API}/payments/gift-cards/activate`,\n EMAIL_REGISTER: `${API}/auth/register`,\n EMAIL_LOGIN: `${API}/auth/login`,\n SOCIAL_REGISTER: {\n facebook: `${API}/soc-auth/register/facebook`,\n },\n SOCIAL_LOGIN: {\n facebook: `${API}/soc-auth/login/facebook`,\n },\n USER_PURCHASES: `${API}/user/purchase`,\n};\n\nexport async function register(\n email: string,\n password: string,\n): Promise {\n const result = await fetchServer(ENDPOINTS.EMAIL_REGISTER, 'POST', {\n email,\n password,\n confirm: password,\n });\n\n if (result.error.code === 0) {\n localStorage.setItem('auth_token', result.response.auth_token);\n return Promise.resolve(result.response);\n } else if (result.error.code === 409) {\n return login(email, password);\n } else {\n return Promise.reject(\n result.error || {\n debug_text: 'Unknown server error',\n },\n );\n }\n}\n\nexport async function login(\n email: string,\n password: string,\n): Promise {\n const result = await fetchServer(ENDPOINTS.EMAIL_LOGIN, 'POST', {\n email,\n password,\n });\n\n if (result.error.code === 0) {\n localStorage.setItem('auth_token', result.response.auth_token);\n return Promise.resolve(result.response);\n } else {\n return Promise.reject(\n result.error || {\n debug_text: 'Unknown server error',\n },\n );\n }\n}\n\nexport async function socialLogin(\n userId: string,\n platform: 'facebook',\n): Promise {\n const result = await fetchServer(\n ENDPOINTS.SOCIAL_LOGIN[platform],\n 'POST',\n {\n provider_user_id: userId,\n },\n );\n\n if (result.error.code === 0) {\n localStorage.setItem('auth_token', result.response.auth_token);\n return Promise.resolve(result.response);\n } else {\n return Promise.reject(\n result.error || {\n debug_text: 'Unknown server error',\n },\n );\n }\n}\n\nexport async function socialRegister(\n firstName: string,\n lastName: string,\n email: string,\n userId: string,\n accessToken: string,\n platform: 'facebook',\n): Promise {\n return fetchServer(ENDPOINTS.SOCIAL_REGISTER[platform], 'POST', {\n first_name: firstName,\n last_name: lastName,\n email: email,\n provider_user_id: userId,\n token: {\n key: accessToken,\n },\n })\n .then(() => {\n return socialLogin(userId, platform);\n })\n .catch((error) => {\n return Promise.reject(error);\n });\n}\n\nexport async function checkSubscription(): Promise {\n const result = await fetchServer(\n ENDPOINTS.USER_PURCHASES,\n );\n\n if (result.error.code === 0) {\n return Promise.resolve(result.response.purchase?.is_active || false);\n } else {\n return Promise.reject(result.error);\n }\n}\n\nexport async function activateGiftCode(code: string): Promise {\n const result = await fetchServer(\n ENDPOINTS.ACTIVATE_GIFT_CARD,\n 'POST',\n {\n gift_code: code,\n },\n );\n\n if (result.error.code === 0) {\n return Promise.resolve(result.response.purchase?.is_active || false);\n } else {\n return Promise.reject(result.error);\n }\n}\n","import { RedeemActionTypes } from './index';\n\nexport const SET_CODE_PREFETCH = 'SET_CODE_PREFETCH';\n\nexport interface SetCodePrefetch {\n type: typeof SET_CODE_PREFETCH;\n payload: {\n code: string;\n error?: string;\n };\n}\n\nexport function setCodePrefetch(\n code: string,\n error?: string,\n): RedeemActionTypes {\n return {\n type: SET_CODE_PREFETCH,\n payload: {\n code: code,\n error: error,\n },\n };\n}\n","import { push } from 'connected-react-router';\nimport { AnyAction } from 'redux';\nimport { ThunkAction } from 'redux-thunk';\nimport { appAnalytics } from '../../../../analytics';\nimport { RootState } from '../../../../bootstrap/reducer';\nimport { getQueryVariable } from '../../../../utils';\nimport { RedeemGiftCodeActivated } from '../../analytics';\nimport { checkSubscription, login, register, socialRegister } from '../../net';\nimport { SET_CODE_PREFETCH } from './code';\n\nexport const SET_AUTH_TOKEN = 'SET_AUTH_TOKEN';\nexport const SET_SUBSCRIPTION = 'SET_SUBSCRIPTION';\n\nexport interface SetAuthToken {\n type: typeof SET_AUTH_TOKEN;\n token: string;\n}\n\nexport interface SetSubscription {\n type: typeof SET_SUBSCRIPTION;\n payload: {\n hasSubscription: boolean;\n oldUser: boolean;\n };\n}\n\nexport const emailRegister =\n (\n email: string,\n password: string,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return register(email, password)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n token: userInfo.auth_token,\n });\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n let message;\n if (error.description === 'DATA_EXIST') {\n return dispatch(emailLogin(email, password));\n } else {\n message = error.debug_text;\n }\n return Promise.reject(message);\n });\n };\n\nexport const emailLogin =\n (\n email: string,\n password: string,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return login(email, password)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n token: userInfo.auth_token,\n });\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n const message = error.debug_text;\n return Promise.reject(message);\n });\n };\n\nexport const socialLogin =\n (\n firstName: string,\n lastName: string,\n email: string,\n id: string,\n accessToken: string,\n type: 'facebook',\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return socialRegister(firstName, lastName, email, id, accessToken, type)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n token: userInfo.auth_token,\n });\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n const message = error.debug_text || error.message;\n return Promise.reject(message);\n });\n };\n\nconst checkActiveSubscription =\n (): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return checkSubscription()\n .then((isActive) => {\n dispatch({\n type: SET_SUBSCRIPTION,\n payload: {\n hasSubscription: isActive,\n oldUser: isActive,\n },\n });\n const code = getQueryVariable('c');\n if (code && code !== '') {\n dispatch({\n type: SET_CODE_PREFETCH,\n payload: { code: code },\n });\n appAnalytics.trackEvent(new RedeemGiftCodeActivated(code));\n }\n dispatch(push(`code?c=${code}`));\n return Promise.resolve();\n })\n .catch((error) => {\n return Promise.reject(error.debug_text);\n });\n };\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcFacebook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 10C20 4.47658 15.5234 0 10 0C4.47658 0 0 4.47658 0 10C0 14.9922 3.65625 19.1289 8.4375 19.8789V12.8906H5.89842V10H8.4375V7.79687C8.4375 5.291 9.92971 3.90625 12.2148 3.90625C13.3086 3.90625 14.4531 4.10156 14.4531 4.10156V6.5625H13.1914C11.9492 6.5625 11.5625 7.334 11.5625 8.125V10H14.3359L13.8926 12.8906H11.5625V19.8789C16.3438 19.1289 20 14.9922 20 10Z\",\n fill: \"#395B9C\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcFacebook);\nexport default __webpack_public_path__ + \"static/media/ic_facebook.9c2bdacd7bf981685fee180d4bfedd71.svg\";\nexport { ForwardRef as ReactComponent };","export class Translation {\n translation: Object;\n\n constructor(translation: Object) {\n this.translation = translation;\n }\n\n get(key: string): any {\n if (key in this.translation) {\n // @ts-ignore\n return this.translation[key];\n }\n return key;\n }\n}\n","import { useLocation } from 'react-router-dom';\nimport translationsEn from './resources/en.json';\nimport translationsRu from './resources/ru.json';\nimport { Translation } from './translation';\n\nexport function useTranslation(): Translation {\n const location = useLocation();\n const file = location.pathname.startsWith('/ru')\n ? translationsRu\n : translationsEn;\n return new Translation(file);\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"socialLoginButton\":\"styles_socialLoginButton__nyTlD\"};","import React from 'react';\nimport ReactFacebookLogin, {\n ReactFacebookFailureResponse,\n ReactFacebookLoginInfo,\n} from 'react-facebook-login';\nimport { appAnalytics } from '../../../../analytics';\nimport { useAppDispatch } from '../../../../bootstrap/hooks';\nimport { ReactComponent as FacebookLogo } from '../../../../assets/ic_facebook.svg';\nimport { socialLogin } from '../../redux/actions/register';\nimport { useTranslation } from './../../../bidease/i18n/useTranslation';\nimport { RedeemSignUp } from '../../analytics';\nimport styles from './styles.module.scss';\n\nconst FACEBOOK_CLIENT_ID = process.env.REACT_APP_FACEBOOK_CLIENT_ID || '';\n\ntype Props = {\n onError: (type: 'facebook', error: string) => void;\n};\n\nexport const FacebookLoginButton = ({ onError }: Props) => {\n const dispatch = useAppDispatch();\n const translations = useTranslation();\n\n const handleFacebookLogin = (\n response: ReactFacebookLoginInfo | ReactFacebookFailureResponse,\n ) => {\n const fbLoginInfo = response as any;\n if (fbLoginInfo.id) {\n dispatch(\n socialLogin(\n fbLoginInfo.first_name || '',\n fbLoginInfo.last_name || '',\n fbLoginInfo.email || '',\n fbLoginInfo.id,\n fbLoginInfo.accessToken,\n 'facebook',\n ),\n )\n .then(() => {\n appAnalytics.trackEvent(new RedeemSignUp('facebook'));\n })\n .catch((error) => {\n onError('facebook', error);\n });\n }\n };\n\n return (\n }\n callback={handleFacebookLogin}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__fsZr1\",\"title\":\"styles_title__ULdlH\",\"description\":\"styles_description__wtuGA\",\"formContainer\":\"styles_formContainer__zqvBM\",\"inputContainer\":\"styles_inputContainer__EZZQ7\",\"delete\":\"styles_delete__13+pD\",\"errorLabel\":\"styles_errorLabel__DOmZo\",\"legal\":\"styles_legal__2IGWn\",\"disclaimer\":\"styles_disclaimer__w2l-e\"};","import React, { useEffect, useState } from 'react';\nimport { appAnalytics } from '../../../analytics';\nimport Delete from '../../../assets/ic_delete.svg';\nimport { useAppDispatch } from '../../../bootstrap/hooks';\nimport { LoadingButton } from '../../../components/loadingbutton/LoadingButton';\nimport { PasswordInput } from '../../../components/passwordinput/PasswordInput';\nimport { validateEmail } from '../../../utils';\nimport { RedeemScreenOpened, RedeemSignUp } from '../analytics';\nimport { ErrorPopup } from '../components/errorpopup/ErrorPopup';\nimport { emailRegister } from '../redux/actions/register';\nimport { FacebookLoginButton } from './facebook/FacebookLoginButton';\nimport { useTranslation } from './../../bidease/i18n/useTranslation';\nimport styles from './styles.module.scss';\n\nexport const RedeemAccount = () => {\n const dispatch = useAppDispatch();\n const translations = useTranslation();\n\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [error, setError] = useState('');\n const [isErrorVisible, setIsErrorVisible] = useState(false);\n const [passwordError, setPasswordError] = useState('');\n const [emailError, setEmailError] = useState('');\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemAccount'));\n }, []);\n\n const handleSubmit = async (): Promise => {\n setIsErrorVisible(false);\n if (!isLoading && validateForm()) {\n setIsLoading(true);\n dispatch(emailRegister(email, password))\n .then(() => {\n setIsLoading(false);\n appAnalytics.trackEvent(new RedeemSignUp('email'));\n })\n .catch((message) => {\n setIsLoading(false);\n if (message.email) {\n setEmailError(translations.get('email_validation_error'));\n } else if (message.password) {\n setPasswordError(translations.get('password_validation_error'));\n } else {\n setError(message);\n setIsErrorVisible(true);\n }\n });\n }\n };\n\n const validateForm = (): boolean => {\n const isEmailValid = validateEmail(email);\n const isPasswordValid = password !== '';\n if (!isEmailValid) {\n setEmailError(translations.get('email_validation_error'));\n return false;\n } else if (!isPasswordValid) {\n setPasswordError(translations.get('password_validation_error'));\n return false;\n } else return true;\n };\n\n const onSocialError = (type: 'facebook', error: string | any) => {\n setError(error);\n setIsErrorVisible(true);\n };\n\n const onEmailChange = (event: React.ChangeEvent) => {\n setEmail(event.target.value);\n const isValid = validateEmail(event.target.value);\n setEmailError(isValid ? '' : translations.get('email_validation_error'));\n setIsErrorVisible(false);\n };\n\n const onPasswordChange = (event: React.ChangeEvent) => {\n setPasswordError(\n event.target.value.length < 8\n ? translations.get('password_validation_error_2')\n : '',\n );\n setPassword(event.target.value);\n setIsErrorVisible(false);\n };\n\n const content = (\n
\n
Sign in
\n
\n {translations.get('sign_in_description')}\n
\n \n
\n
\n \n {email && (\n setEmail('')}\n />\n )}\n
\n\n
{emailError}
\n\n \n\n
{passwordError}
\n\n \n {translations.get('legal_note')}\n
\n \n {translations.get('terms')}\n {' '}\n &{' '}\n \n {translations.get('privacy')}\n \n
\n\n \n\n

\n {translations.get('secure_info_text')}\n

\n \n
\n );\n\n return (\n <>\n setIsErrorVisible(false)}\n />\n {content}\n \n );\n};\n","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcChecked(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22Z\",\n fill: \"#B350FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.55014 11.3228C6.37115 11.1438 6.37115 10.8536 6.55014 10.6746C6.72913 10.4957 7.01933 10.4957 7.19832 10.6746L9.62423 13.1006L14.8001 7.92465C14.9791 7.74566 15.2693 7.74566 15.4483 7.92465C15.6273 8.10364 15.6273 8.39384 15.4483 8.57283L9.94832 14.0728C9.76933 14.2518 9.47913 14.2518 9.30014 14.0728L6.55014 11.3228Z\",\n fill: \"#9A40FB\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.4466 7.57109C14.8208 7.19684 15.4276 7.19684 15.8019 7.57109C16.1761 7.94535 16.1761 8.55213 15.8019 8.92638L10.3019 14.4264C9.92762 14.8006 9.32084 14.8006 8.94658 14.4264L6.19658 11.6764C5.82233 11.3021 5.82233 10.6953 6.19658 10.3211C6.57084 9.94684 7.17762 9.94684 7.55187 10.3211L9.62423 12.3935L14.4466 7.57109Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcChecked);\nexport default __webpack_public_path__ + \"static/media/ic_checked.4e7afcd3b2ef3868bbcdea08df479ac4.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__nBwwD\",\"inputContainer\":\"styles_inputContainer__kfe4e\",\"codeInput\":\"styles_codeInput__4b4-7\",\"invalid\":\"styles_invalid__0brvg\",\"applyButton\":\"styles_applyButton__hIS0P\",\"deleteButton\":\"styles_deleteButton__zS2WS\",\"checkMark\":\"styles_checkMark__fUPrm\",\"error\":\"styles_error__y5hEY\"};","import React, { ChangeEvent } from 'react';\nimport CheckedMark from '../../../../assets/ic_checked.svg';\nimport Delete from '../../../../assets/ic_delete.svg';\nimport { useTranslation } from '../../../bidease/i18n/useTranslation';\nimport styles from './styles.module.scss';\n\ntype Props = {\n placeholder: string;\n value: string;\n applied: boolean;\n error: JSX.Element | string;\n onChange: (value: string) => void;\n onButtonClick: () => void;\n};\n\nexport const InputWithButton = ({\n placeholder,\n value,\n applied,\n error,\n onChange,\n onButtonClick,\n}: Props) => {\n const translations = useTranslation();\n const onInputChange = ({ target }: ChangeEvent) => {\n onChange(target.value);\n };\n\n const onClear = () => {\n onChange('');\n };\n\n let button;\n\n if (error) {\n button = (\n \n );\n } else if (applied) {\n button = \"\";\n } else {\n button = (\n \n {translations.get('apply_button')}\n \n );\n }\n\n return (\n
\n
\n \n {button}\n
\n
{error}
\n
\n );\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogoLoona(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 19,\n viewBox: \"0 0 56 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.2605 3.11874C21.7329 3.70688 21.7831 4.61908 22.3721 5.14596C22.961 5.67284 23.8745 5.62269 24.4021 5.03456L26.7728 2.39184C27.3004 1.8037 27.2502 0.891497 26.6613 0.36462C26.0725 -0.162257 25.1588 -0.112111 24.6312 0.476024L22.2605 3.11874ZM1.29072 1.79966C0.546529 1.87064 0 2.5374 0 3.28388V17.4243C0 18.1709 0.546529 18.8375 1.29072 18.9085C2.14439 18.9899 2.86284 18.3216 2.86284 17.4859V3.22235C2.86284 2.38654 2.14439 1.71826 1.29072 1.79966ZM10.915 15.869C8.70803 16.2333 6.81778 14.3459 7.18251 12.142C7.40354 10.8066 8.48185 9.72969 9.81903 9.50869C12.0262 9.14419 13.9167 11.0319 13.5517 13.236C13.3305 14.5712 12.2522 15.6481 10.915 15.869ZM10.9891 6.6349C7.13573 6.25388 3.92388 9.46125 4.30558 13.3093C4.58809 16.1566 6.89439 18.4597 9.74569 18.7418C13.5989 19.123 16.8109 15.9156 16.4292 12.0677C16.1469 9.22011 13.8406 6.91702 10.9891 6.6349ZM20.1742 12.1413C19.8092 14.3455 21.6993 16.2333 23.9066 15.8689C25.2436 15.6482 26.3222 14.5713 26.5433 13.2361C26.9081 11.0322 25.0182 9.14441 22.8112 9.50862C21.474 9.72921 20.3954 10.8062 20.1742 12.1413ZM17.2976 13.31C16.9153 9.46145 20.1276 6.25352 23.9813 6.63496C26.8327 6.91708 29.1389 9.22031 29.4211 12.0678C29.8025 15.9154 26.5914 19.1223 22.7384 18.7419C19.8871 18.4602 17.5805 16.1574 17.2976 13.31ZM33.7023 7.2321C34.5138 6.83094 35.4267 6.6041 36.3937 6.6041C39.6568 6.6041 42.3122 9.16806 42.4705 12.3874H42.4855V17.2957C42.4855 18.1313 41.7672 18.7996 40.9136 18.7182C40.1694 18.6473 39.6228 17.9805 39.6228 17.234V12.6726C39.6142 10.9015 38.1692 9.46296 36.3937 9.46296C34.618 9.46296 33.1731 10.9015 33.1645 12.6726V17.2957C33.1645 18.1313 32.446 18.7996 31.5922 18.7182C30.8482 18.6473 30.3017 17.9805 30.3017 17.234V8.15042C30.3017 7.38282 30.8773 6.70078 31.6444 6.65438C32.0802 6.62799 32.4746 6.79746 32.7519 7.08208C32.9967 7.3335 33.3876 7.38782 33.7023 7.2321ZM46.2459 12.1419C45.8812 14.3458 47.7714 16.2332 49.9784 15.8689C51.3156 15.648 52.3939 14.5711 52.6151 13.2359C52.9801 11.0318 51.0895 9.14409 48.8824 9.50872C47.5454 9.72958 46.4669 10.8065 46.2459 12.1419ZM53.1084 7.08778C53.3834 6.8019 53.7755 6.63063 54.2096 6.65369C54.9817 6.69467 55.5634 7.38004 55.5634 8.15181V17.225C55.5634 17.9967 54.9817 18.682 54.2098 18.723C53.7754 18.746 53.383 18.5745 53.1082 18.2887C52.858 18.0287 52.4593 17.9783 52.1359 18.139C51.2425 18.5828 50.2248 18.8145 49.1486 18.7662C46.0543 18.6275 43.5101 16.1096 43.3456 13.0209C43.1585 9.50977 45.9543 6.6041 49.4296 6.6041C50.4065 6.6041 51.3289 6.83496 52.1469 7.24377C52.4659 7.4031 52.8613 7.34448 53.1084 7.08778Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoLoona);\nexport default __webpack_public_path__ + \"static/media/logo_loona.40e6cac69c0e50021a456dd44f6d6243.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport LogoImage from '../../../../assets/logo_loona.svg';\n\ntype Props = {\n className?: string;\n};\n\nexport const Logo = ({ className = 'logo' }: Props) => {\n return \"Loóna\";\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__cwRZo\",\"logo\":\"styles_logo__1w1kN\",\"textWrapper\":\"styles_textWrapper__iLssL\",\"image\":\"styles_image__l0PbW\"};","import React from 'react';\nimport { Logo } from '../logo/Logo';\nimport Cards from '../../../../assets/bidease/cards.png';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element[] | JSX.Element;\n};\n\nexport const RedeemTemplate = ({ children }: Props) => {\n return (\n
\n \n
\n \"\"\n {children}\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__pJTwC\",\"accent\":\"styles_accent__CC16Q\",\"submitButton\":\"styles_submitButton__yuqSI\",\"helpSection\":\"styles_helpSection__lmoLr\"};","import React, { useEffect, useState } from 'react';\nimport { appAnalytics } from '../../../analytics';\nimport { useAppDispatch, useAppSelector } from '../../../bootstrap/hooks';\nimport { RedeemGiftCodeActivated, RedeemScreenOpened } from '../analytics';\nimport { activateGiftCode } from '../net';\nimport { InputWithButton } from './inputwithbutton/InputWithButton';\nimport { useTranslation } from './../../bidease/i18n/useTranslation';\nimport { RedeemTemplate } from '../components/redeemtemplate/RedeemTemplate';\nimport { push } from 'connected-react-router';\nimport styles from './styles.module.scss';\n\nexport const RedeemCode = () => {\n const dispatch = useAppDispatch();\n const translations = useTranslation();\n const { giftCode: initialCode, giftCodeError } = useAppSelector(\n (state) => state.redeem,\n );\n const [giftCode, setGiftCode] = useState(initialCode || '');\n const [giftCodeApplied, setGiftCodeApplied] = useState(false);\n const [error, setError] = useState(giftCodeError || '');\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemGiftCode'));\n onRedeem();\n }, []);\n\n const onRedeem = () => {\n const code = giftCode;\n activateGiftCode(code)\n .then((_) => {\n setGiftCodeApplied(true);\n })\n .catch((error) => {\n if (error.code === 409 && error.description === 'DATA_EXIST') {\n setError(\n
\n {translations.get('activate_code_validation_line1')}\n \n {translations.get('activate_code_validation_line2')}{' '}\n \n {translations.get('activate_code_validation_line3')}\n
,\n );\n }\n if (error.code === 404) {\n setError(translations.get('invalid_code_validation_error'));\n }\n });\n };\n\n const onGiftCodeChange = (newGiftCode: string) => {\n setError('');\n setGiftCode(newGiftCode);\n };\n\n const onContinue = () => {\n appAnalytics.trackEvent(new RedeemGiftCodeActivated(giftCode));\n dispatch(push('done'));\n };\n\n return (\n \n
\n {translations.get('redeem_code_title_line1')}{' '}\n \n {translations.get('redeem_code_title_line2')}\n \n
\n \n \n {translations.get('activate_button')}\n \n
\n {translations.get('help_text_line1')}\n
\n \n {translations.get('help_text_line2')}\n \n
\n
\n );\n};\n","const LINK_PARAMS_MAP: Record = {\n mediaSource: 'pid',\n webDp: 'af_web_dp',\n campaign: 'c',\n retargeting: 'is_retargeting',\n iosUrl: 'af_ios_url',\n androidUrl: 'af_android_url',\n utmSource: 'utm_source',\n utmMedium: 'utm_medium',\n utmCampaign: 'utm_campaign',\n utmContent: 'utm_content',\n utm_source: 'c',\n utm_medium: 'af_adset',\n utm_campaign: 'af_ad',\n};\n\nexport const getOneLink = (\n params: Object,\n authToken?: string,\n oneLink?: string,\n) => {\n const link = oneLink || 'https://loona.onelink.me/Jfkp';\n\n const url = new URL(link);\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.append(LINK_PARAMS_MAP[key], value);\n }\n\n const currentParams = Object.fromEntries(\n new URLSearchParams(window.location.search),\n );\n\n Object.keys(currentParams)\n .filter((key) => LINK_PARAMS_MAP[key])\n .forEach((key) => {\n url.searchParams.append(LINK_PARAMS_MAP[key], currentParams[key]);\n });\n\n authToken && url.searchParams.append('deep_link_value', authToken);\n\n return url.href;\n};\n\nexport const getLink = (link: string, params: Object) => {\n const url = new URL(link);\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.append(LINK_PARAMS_MAP[key], value);\n }\n\n return url.href;\n};\n\nexport const isTouchDevice = () => {\n return (\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n // @ts-ignore\n navigator.msMaxTouchPoints > 0\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__nTxK9\",\"subtitle\":\"styles_subtitle__Px80I\",\"description\":\"styles_description__RwcYh\",\"contentContainer\":\"styles_contentContainer__0rv6I\",\"flex\":\"styles_flex__Ys3o7\",\"logo\":\"styles_logo__qm40j\",\"textWrapper\":\"styles_textWrapper__myWzy\",\"image\":\"styles_image__pPqu-\"};","import React from 'react';\nimport { Logo } from '../logo/Logo';\nimport GiftCard from '../../../../assets/bidease/gift_card_nooverlay.png';\nimport styles from './styles.module.scss';\n\ntype Props = {\n title: string;\n subtitle?: string;\n description: string | JSX.Element;\n button: string | JSX.Element;\n onButtonClick?: () => void;\n};\n\nexport const SuccessTemplate = ({\n title,\n subtitle,\n description,\n button,\n onButtonClick,\n}: Props) => {\n const handleButtonClick = () => {\n onButtonClick?.();\n };\n\n return (\n
\n \n
\n \"\"\n
{title}
\n
{subtitle}
\n
{description}
\n {typeof button === 'string' ? (\n \n ) : (\n button\n )}\n
\n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { appAnalytics } from '../../../analytics';\nimport { useAppSelector } from '../../../bootstrap/hooks';\nimport { RedeemAppContinue, RedeemScreenOpened } from '../analytics';\nimport { getOneLink, isTouchDevice } from '../../../loonaweb/utils';\nimport { useTranslation } from './../../bidease/i18n/useTranslation';\nimport { SuccessTemplate } from '../components/successtemplate/SuccessTemplate';\n\nexport const RedeemDone = () => {\n const translations = useTranslation();\n const { authToken } = useAppSelector((state) => state.redeem);\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemCongratsScreen'));\n }, []);\n\n const handleAppLink = () => {\n appAnalytics.trackEvent(new RedeemAppContinue());\n window.location.href = getOneLink(\n {\n mediaSource: 'web_payments_dev',\n webDp: 'https%3A%2F%2Floona.app%2F',\n },\n authToken,\n !isTouchDevice() ? 'https://install.loona.app/install' : '',\n );\n };\n\n return (\n {translations.get('congratulations_description')}}\n button={translations.get('continue_app_button')}\n onButtonClick={handleAppLink}\n />\n );\n};\n","import { fetchServer, ServerResponse } from '../../net/commonnet';\n\nconst API = process.env.REACT_APP_BACKEND_URL;\n\nconst ENDPOINTS = {\n REQUEST_PASSWORD_RESET: `${API}/api/auth/request-password-reset`,\n RESET_PASSWORD: `${API}/api/auth/password-reset`,\n};\n\nexport async function requestPasswordReset(email: string): Promise {\n return fetchServer>(\n ENDPOINTS.REQUEST_PASSWORD_RESET,\n 'POST',\n {\n email: email,\n },\n )\n .then((result) => {\n return Promise.resolve(result.response);\n })\n .catch((error) => {\n return Promise.reject(error);\n });\n}\n\nexport async function resetPassword(\n hash: string,\n password: string,\n confirmation: string,\n): Promise {\n return fetchServer>(ENDPOINTS.RESET_PASSWORD, 'POST', {\n hash: hash,\n password: password,\n confirm: confirmation,\n })\n .then((result) => {\n return Promise.resolve(result);\n })\n .catch((error) => {\n return Promise.reject(error);\n });\n}\n","import React from 'react';\nimport { LoadingButton } from '../../components/loadingbutton/LoadingButton';\nimport './styles.scss';\n\nimport Logo from '../../assets/logo_loona.svg';\n\ntype Props = {\n title: JSX.Element | string;\n description?: string;\n children?: JSX.Element[] | JSX.Element;\n buttonDisabled: boolean;\n buttonLabel: string;\n buttonClassName?: string;\n isLoading: boolean;\n handleSubmit: () => void;\n};\n\nexport const Template = ({\n title,\n description,\n children,\n buttonDisabled,\n buttonLabel,\n buttonClassName,\n isLoading,\n handleSubmit,\n}: Props) => {\n return (\n
\n \"Loóna\"\n
\n
\n

{title}

\n {description && (\n
{description}
\n )}\n {children}\n \n
\n
\n );\n};\n","import { push } from 'connected-react-router';\nimport React, { useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useParams } from 'react-router-dom';\nimport { PasswordInput } from '../../components/passwordinput/PasswordInput';\nimport { resetPassword } from '../net/net';\nimport { Template } from '../template/Template';\nimport './styles.scss';\n\nconst ERROR_TYPES = {\n PASSWORD_MISMATCH: 'PASSWORD_MISMATCH',\n PASSWORD_WEAK: 'PASSWORD_WEAK',\n NO_INTERNET_CONNECTION: 'NO_INTERNET_CONNECTION',\n UNKNOWN: 'UNKNOWN',\n};\n\nconst ERRORS = {\n [ERROR_TYPES.PASSWORD_MISMATCH]: \"Passwords don't match\",\n [ERROR_TYPES.PASSWORD_WEAK]: 'Password should be at least 8 characters',\n [ERROR_TYPES.NO_INTERNET_CONNECTION]: 'No internet connection',\n [ERROR_TYPES.UNKNOWN]: 'Unknown error',\n};\n\nexport const CreatePassword = () => {\n const [password, setPassword] = useState('');\n const [confirmation, setConfirmation] = useState('');\n const [error, setError] = useState('');\n const [isLoading, setLoading] = useState(false);\n const [isPasswordValid, setPasswordValid] = useState(false);\n const [isConfirmationValid, setConfirmationValid] = useState(false);\n const { hash }: any = useParams();\n const dispatch = useDispatch();\n\n const handleSubmit = () => {\n if (password && confirmation) {\n setLoading(true);\n resetPassword(hash, password, confirmation)\n .then((result) => {\n if (result.error.code === 0) {\n setLoading(false);\n dispatch(push('/reset-password/done'));\n } else if (result.error.code === 404) {\n setLoading(false);\n dispatch(push('/reset-password/expired'));\n } else if (result.error.code === 500) {\n setLoading(false);\n const errorCode =\n result.error.debug_text.password ||\n result.error.debug_text.confirm;\n setError(ERRORS[errorCode || ERROR_TYPES.UNKNOWN]);\n } else {\n setLoading(false);\n setError(result.error.debug_text || result.error || ERRORS.UNKNOWN);\n }\n })\n .catch((error) => {\n setLoading(false);\n setError(error.debug_text || error || ERRORS.UNKNOWN);\n });\n }\n };\n\n const handleInputChange = (\n currentPassword: string,\n currentConfirmation: string,\n ) => {\n if (currentPassword.length < 8) {\n setPasswordValid(false);\n setConfirmationValid(false);\n setError(ERRORS.PASSWORD_WEAK);\n } else if (currentPassword !== currentConfirmation) {\n setPasswordValid(true);\n setConfirmationValid(false);\n setError(ERRORS.PASSWORD_MISMATCH);\n } else {\n setPasswordValid(true);\n setConfirmationValid(true);\n setError('');\n }\n };\n\n return (\n \n Reset your password\n \n }\n buttonDisabled={!isPasswordValid || !isConfirmationValid}\n buttonLabel=\"Change password\"\n isLoading={isLoading}\n handleSubmit={handleSubmit}\n >\n ) => {\n event.preventDefault();\n setPassword(event.target.value);\n handleInputChange(event.target.value, confirmation);\n }}\n />\n ) => {\n event.preventDefault();\n setConfirmation(event.target.value);\n handleInputChange(password, event.target.value);\n }}\n />\n
{error}
\n
\n \n );\n};\n","import React from 'react';\nimport { getOneLink } from '../../loonaweb/utils';\nimport { Template } from '../template/Template';\n\nexport const Done = () => {\n const handleSubmit = () => {\n window.location.href = getOneLink(\n {\n mediaSource: 'web_payments_dev',\n webDp: 'https%3A%2F%2Floona.app%2F',\n },\n 'login',\n );\n };\n\n return (\n \n Password\n
\n successfully changed\n \n }\n buttonDisabled={false}\n buttonLabel=\"Continue in the app\"\n isLoading={false}\n handleSubmit={handleSubmit}\n />\n );\n};\n","import React, { useRef, useState } from 'react';\nimport { validateEmail } from '../../utils';\nimport { requestPasswordReset } from '../net/net';\nimport { Template } from '../template/Template';\nimport './style.scss';\n\nexport const Email = () => {\n const email = useRef(null);\n const [error, setError] = useState('');\n const [isLoading, setLoading] = useState(false);\n const [isValid, setIsValid] = useState(false);\n const [sentEmail, setSentEmail] = useState(false);\n\n const handleSubmit = () => {\n if (email.current) {\n setLoading(true);\n requestPasswordReset(email.current.value)\n .then(() => {\n setLoading(false);\n setSentEmail(true);\n })\n .catch((error) => {\n setLoading(false);\n setError(error.debug_text || error || 'Unknown error');\n });\n }\n };\n\n const handleInputChange = () => {\n setError('');\n setIsValid(!!email.current && validateEmail(email.current?.value));\n };\n\n return (\n \n Reset your password\n \n }\n description={\n sentEmail\n ? 'Please check your email inbox.\\nYou will receive the password reset instructions if your Loóna account is linked with the email address you entered'\n : 'Please enter the email address that you used when creating your Loóna account'\n }\n buttonDisabled={!isValid || sentEmail}\n buttonLabel=\"Submit\"\n buttonClassName={sentEmail ? 'checked-button' : undefined}\n isLoading={isLoading}\n handleSubmit={handleSubmit}\n >\n {sentEmail ? undefined : (\n <>\n \n
{error}
\n \n )}\n \n );\n};\n","import { push } from 'connected-react-router';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { Template } from '../template/Template';\n\nexport const ExpiredHash = () => {\n const dispatch = useDispatch();\n\n const handleSubmit = () => {\n dispatch(push('/reset-password'));\n };\n\n return (\n \n Oops..\n
\n The link has expired\n \n }\n buttonDisabled={false}\n buttonLabel=\"Request a new link\"\n isLoading={false}\n handleSubmit={handleSubmit}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"styles_header__dI-BE\",\"logo\":\"styles_logo__n5r99\",\"backgroundContainer\":\"styles_backgroundContainer__lu7fF\",\"video\":\"styles_video__JOBGT\",\"topGradient\":\"styles_topGradient__3nckF\",\"bottomGradient\":\"styles_bottomGradient__v+ytK\",\"title\":\"styles_title__5WhPI\",\"description\":\"styles_description__Gbosm\",\"fade-in\":\"styles_fade-in__U5Pxi\",\"animate\":\"styles_animate__rJL6j\",\"button\":\"styles_button__fTMwj\",\"overlay\":\"styles_overlay__qbGMY\",\"playerWrapper\":\"styles_playerWrapper__JqDx2\"};","import { ObserverInstanceCallback } from './index';\n\nconst observerMap = new Map<\n string,\n {\n id: string;\n observer: IntersectionObserver;\n elements: Map>;\n }\n>();\n\nconst RootIds: WeakMap = new WeakMap();\nlet rootId = 0;\n\nlet unsupportedValue: boolean | undefined = undefined;\n\n/**\n * What should be the default behavior if the IntersectionObserver is unsupported?\n * Ideally the polyfill has been loaded, you can have the following happen:\n * - `undefined`: Throw an error\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\n * **/\nexport function defaultFallbackInView(inView: boolean | undefined) {\n unsupportedValue = inView;\n}\n\n/**\n * Generate a unique ID for the root element\n * @param root\n */\nfunction getRootId(root: IntersectionObserverInit['root']) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n\n/**\n * Convert the options to a string Id, based on the values.\n * Ensures we can reuse the same observer when observing elements with the same options.\n * @param options\n */\nexport function optionsToId(options: IntersectionObserverInit) {\n return Object.keys(options)\n .sort()\n .filter((key) => options[key] !== undefined)\n .map((key) => {\n return `${key}_${\n key === 'root' ? getRootId(options.root) : options[key]\n }`;\n })\n .toString();\n}\n\nfunction createObserver(options: IntersectionObserverInit) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n let id = optionsToId(options);\n let instance = observerMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n const elements = new Map>();\n let thresholds: number[] | readonly number[];\n\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n const inView =\n entry.isIntersecting &&\n thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n\n // @ts-ignore support IntersectionObserver v2\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n elements.get(entry.target)?.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n\n // Ensure we have a valid thresholds array. If not, use the threshold from the options\n thresholds =\n observer.thresholds ||\n (Array.isArray(options.threshold)\n ? options.threshold\n : [options.threshold || 0]);\n\n instance = {\n id,\n observer,\n elements,\n };\n\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n\n/**\n * @param element - DOM Element to observe\n * @param callback - Callback function to trigger when intersection status changes\n * @param options - Intersection Observer options\n * @param fallbackInView - Fallback inView value.\n * @return Function - Cleanup function that should be triggered to unregister the observer\n */\nexport function observe(\n element: Element,\n callback: ObserverInstanceCallback,\n options: IntersectionObserverInit = {},\n fallbackInView = unsupportedValue,\n) {\n if (\n typeof window.IntersectionObserver === 'undefined' &&\n fallbackInView !== undefined\n ) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio:\n typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds,\n });\n return () => {\n // Nothing to cleanup\n };\n }\n // An observer with the same options can be reused, so lets use this fact\n const { id, observer, elements } = createObserver(options);\n\n // Register the callback listener for this element\n let callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements.delete(element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n","import * as React from 'react';\nimport { IntersectionObserverProps, PlainChildrenProps } from './index';\nimport { observe } from './observe';\n\ntype State = {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n};\n\nfunction isPlainChildren(\n props: IntersectionObserverProps | PlainChildrenProps,\n): props is PlainChildrenProps {\n return typeof props.children !== 'function';\n}\n\n/**\n ## Render props\n\n To use the `` component, you pass it a function. It will be called\n whenever the state changes, with the new value of `inView`. In addition to the\n `inView` prop, children also receive a `ref` that should be set on the\n containing DOM element. This is the element that the IntersectionObserver will\n monitor.\n\n If you need it, you can also access the\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\n on `entry`, giving you access to all the details about the current intersection\n state.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n \n {({ inView, ref, entry }) => (\n
\n

{`Header inside viewport ${inView}.`}

\n
\n )}\n
\n );\n\n export default Component;\n ```\n\n ## Plain children\n\n You can pass any element to the ``, and it will handle creating the\n wrapping DOM element. Add a handler to the `onChange` method, and control the\n state in your own component. Any extra props you add to `` will be\n passed to the HTML element, allowing you set the `className`, `style`, etc.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n console.log('Inview:', inView)}>\n

Plain children are always rendered. Use onChange to monitor state.

\n
\n );\n\n export default Component;\n ```\n */\nexport class InView extends React.Component<\n IntersectionObserverProps | PlainChildrenProps,\n State\n> {\n static displayName = 'InView';\n static defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false,\n };\n\n constructor(props: IntersectionObserverProps | PlainChildrenProps) {\n super(props);\n this.state = {\n inView: !!props.initialInView,\n entry: undefined,\n };\n }\n\n componentDidUpdate(prevProps: IntersectionObserverProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (\n prevProps.rootMargin !== this.props.rootMargin ||\n prevProps.root !== this.props.root ||\n prevProps.threshold !== this.props.threshold ||\n prevProps.skip !== this.props.skip ||\n prevProps.trackVisibility !== this.props.trackVisibility ||\n prevProps.delay !== this.props.delay\n ) {\n this.unobserve();\n this.observeNode();\n }\n }\n\n componentWillUnmount() {\n this.unobserve();\n this.node = null;\n }\n\n node: Element | null = null;\n _unobserveCb: (() => void) | null = null;\n\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView,\n } = this.props;\n\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay,\n },\n fallbackInView,\n );\n }\n\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n\n handleNode = (node?: Element | null) => {\n if (this.node) {\n // Clear the old observer, before we start observing a new element\n this.unobserve();\n\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n this.setState({ inView: !!this.props.initialInView, entry: undefined });\n }\n }\n\n this.node = node ? node : null;\n this.observeNode();\n };\n\n handleChange = (inView: boolean, entry: IntersectionObserverEntry) => {\n if (inView && this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n this.props.onChange(inView, entry);\n }\n };\n\n render() {\n if (!isPlainChildren(this.props)) {\n const { inView, entry } = this.state;\n return this.props.children({ inView, entry, ref: this.handleNode });\n }\n\n const {\n children,\n as,\n tag,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n\n return React.createElement(\n as || tag || 'div',\n { ref: this.handleNode, ...props },\n children,\n );\n }\n}\n","import * as React from 'react';\nimport { InViewHookResponse, IntersectionOptions } from './index';\nimport { useEffect } from 'react';\nimport { observe } from './observe';\n\ntype State = {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n};\n\n/**\n * React Hooks make it easy to monitor the `inView` state of your components. Call\n * the `useInView` hook with the (optional) [options](#options) you need. It will\n * return an array containing a `ref`, the `inView` status and the current\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\n * report the status.\n *\n * @example\n * ```jsx\n * import React from 'react';\n * import { useInView } from 'react-intersection-observer';\n *\n * const Component = () => {\n * const { ref, inView, entry } = useInView({\n * threshold: 0,\n * });\n *\n * return (\n *
\n *

{`Header inside viewport ${inView}.`}

\n *
\n * );\n * };\n * ```\n */\nexport function useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n}: IntersectionOptions = {}): InViewHookResponse {\n const unobserve = React.useRef();\n const [state, setState] = React.useState({\n inView: !!initialInView,\n });\n const setRef = React.useCallback(\n (node) => {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n // Skip creating the observer\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(\n node,\n (inView, entry) => {\n setState({ inView, entry });\n\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay,\n },\n fallbackInView,\n );\n }\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay,\n ],\n );\n\n /* eslint-disable-next-line */\n useEffect(() => {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView,\n });\n }\n });\n\n const result = [setRef, state.inView, state.entry] as InViewHookResponse;\n\n // Support object destructuring, by adding the specific values.\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n\n return result;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__RTg5K\",\"fade-in\":\"styles_fade-in__ixkmu\",\"animate\":\"styles_animate__780wC\"};","import React from 'react';\nimport { useInView } from 'react-intersection-observer';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: (string | JSX.Element)[];\n className?: string;\n};\n\nexport const Title = ({ children, className }: Props) => {\n const { ref, inView } = useInView({\n triggerOnce: true,\n });\n return (\n \n {children}\n
\n );\n};\n","import { Event } from '../../analytics/Event';\nimport { Events } from '../../analytics/Events';\n\nexport class Install extends Event {\n constructor() {\n super(Events.Install);\n }\n}\n\nexport class SignUp extends Event {\n constructor() {\n super(Events.SignUp);\n }\n}\n","import React from 'react';\nimport styles from './styles.module.scss';\nimport Logo from '../../../assets/logo_loona.svg';\nimport { Title } from '../title/Title';\nimport { useInView } from 'react-intersection-observer';\nimport { appAnalytics } from '../../../analytics';\nimport { SignUp } from '../../analytics';\nimport { getOneLink, getLink, isTouchDevice } from '../../utils';\nimport HeaderVideo from '../../../assets/loonaWeb/video.mp4';\n\nexport const Header = () => {\n const { ref, inView } = useInView({\n triggerOnce: true,\n });\n\n const getUrl = () => {\n if (isTouchDevice()) {\n return getOneLink({\n mediaSource: 'website',\n campaign: 'header',\n retargeting: 'true',\n });\n } else {\n return getLink(\n 'https://install.loona.app?payment=plan-selector-ramp-direct',\n {\n utmSource: 'website',\n utmMedium: 'social',\n utmCampaign: 'index',\n utmContent: 'header',\n },\n );\n }\n };\n\n const handleButtonClick = () => {\n appAnalytics.trackEvent(new SignUp());\n window.location.href = getUrl();\n };\n\n return (\n
\n \"Loóna\"\n
\n
\n \n \n \n
\n
\n \n Say goodnight to racing thoughts <span>and drift off to sleep</span>\n \n \n An award-winning app designed to gently occupy your mind with soothing\n interactive content, shedding the worries of today and setting you up\n for a serene tomorrow.\n
\n \n
\n );\n};\n","var _path, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppleAward(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 240,\n height: 69,\n viewBox: \"0 0 240 69\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_1586_5868\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 0,\n width: 240,\n height: 69\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0H240V69H0V0Z\",\n fill: \"#C4C4C4\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_1586_5868)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.2537 37.0443H54.4917L55.9812 33.5472H62.5004L63.9899 37.0443H67.271L60.6439 21.7177H57.8592L51.2537 37.0443ZM57.1253 30.8057L59.2408 25.8191L61.3563 30.8057H57.1253Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.815 41.5559H71.7724V35.8354C72.2689 36.5262 73.413 37.2817 74.9024 37.2817C77.7735 37.2817 79.9753 34.7129 79.9753 31.6476C79.9753 28.5823 77.7735 26.0134 74.9024 26.0134C73.413 26.0134 72.2689 26.769 71.7724 27.4597V26.2509H68.815V41.5559ZM76.9748 31.6476C76.9748 33.3313 75.8738 34.5834 74.2548 34.5834C72.6358 34.5834 71.5349 33.3313 71.5349 31.6476C71.5349 29.9638 72.6358 28.7118 74.2548 28.7118C75.8738 28.7118 76.9748 29.9638 76.9748 31.6476Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.2537 41.5559H85.2111V35.8354C85.7076 36.5262 86.8517 37.2817 88.3412 37.2817C91.2122 37.2817 93.4141 34.7129 93.4141 31.6476C93.4141 28.5823 91.2122 26.0134 88.3412 26.0134C86.8517 26.0134 85.7076 26.769 85.2111 27.4597V26.2509H82.2537V41.5559ZM90.4135 31.6476C90.4135 33.3313 89.3126 34.5834 87.6936 34.5834C86.0746 34.5834 84.9737 33.3313 84.9737 31.6476C84.9737 29.9638 86.0746 28.7118 87.6936 28.7118C89.3126 28.7118 90.4135 29.9638 90.4135 31.6476Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.6925 37.0443H98.6499V20.8542H95.6925V37.0443Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.097 33.5256H109.01C108.664 34.2596 107.758 34.7129 106.721 34.7129C104.887 34.7129 103.937 33.612 103.807 32.3384H112.226C112.377 28.28 109.765 26.0134 106.592 26.0134C103.311 26.0134 100.915 28.4096 100.915 31.626C100.915 34.9072 103.268 37.2817 106.57 37.2817C109.312 37.2817 111.449 35.7059 112.097 33.5256ZM106.506 28.4096C107.52 28.4096 108.621 28.9492 108.988 30.3955H103.915C104.196 29.2083 105.146 28.4096 106.506 28.4096Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.804 37.0443H124.855C129.259 37.0443 132.735 33.6551 132.735 29.381C132.735 25.1068 129.259 21.7177 124.855 21.7177H119.804V37.0443ZM122.934 34.1732V24.5887H124.855C127.683 24.5887 129.583 26.7258 129.583 29.381C129.583 32.0361 127.683 34.1732 124.855 34.1732H122.934Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.583 33.5256H142.496C142.15 34.2596 141.244 34.7129 140.207 34.7129C138.373 34.7129 137.423 33.612 137.293 32.3384H145.712C145.863 28.28 143.251 26.0134 140.078 26.0134C136.797 26.0134 134.401 28.4096 134.401 31.626C134.401 34.9072 136.754 37.2817 140.056 37.2817C142.798 37.2817 144.935 35.7059 145.583 33.5256ZM139.992 28.4096C141.006 28.4096 142.107 28.9492 142.474 30.3955H137.401C137.682 29.2083 138.632 28.4096 139.992 28.4096Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M156.66 34.0005C156.66 32.3168 155.775 31.1943 153.659 30.6546L151.76 30.1365C151.112 29.9854 150.529 29.7479 150.529 29.1435C150.529 28.6254 151.047 28.3232 151.803 28.3232C152.451 28.3232 153.077 28.6038 153.228 29.4241H156.207C156.034 27.2655 154.221 26.0134 151.846 26.0134C149.148 26.0134 147.507 27.3518 147.507 29.2083C147.507 30.7841 148.371 32.0793 150.249 32.5542L152.278 33.0723C153.228 33.3098 153.638 33.5904 153.638 34.1516C153.638 34.6697 153.163 35.0151 152.235 35.0151C151.285 35.0151 150.465 34.5618 150.357 33.612H147.27C147.378 35.7275 149.364 37.2817 152.148 37.2817C154.76 37.2817 156.66 36.0297 156.66 34.0005Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.28 22.6027C162.28 21.5666 161.438 20.7247 160.38 20.7247C159.365 20.7247 158.502 21.5666 158.502 22.6027C158.502 23.6389 159.365 24.4808 160.38 24.4808C161.438 24.4808 162.28 23.6389 162.28 22.6027ZM158.912 37.0443H161.87V26.2509H158.912V37.0443Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M164.588 37.7135C164.803 40.0232 166.811 41.7718 169.855 41.7718C172.661 41.7718 175.316 40.2823 175.316 36.3751V26.2509H172.359V27.4597C171.798 26.6394 170.61 26.0134 169.229 26.0134C166.422 26.0134 164.134 28.4311 164.134 31.4749C164.134 34.497 166.422 36.9148 169.229 36.9148C170.61 36.9148 171.798 36.2887 172.359 35.49V36.7636C172.359 38.469 171.215 39.3109 169.92 39.3109C168.689 39.3109 167.847 38.8144 167.48 37.7135H164.588ZM172.596 31.4749C172.596 33.1155 171.344 34.238 169.855 34.238C168.365 34.238 167.113 33.1155 167.113 31.4749C167.113 29.8127 168.365 28.7118 169.855 28.7118C171.344 28.7118 172.596 29.8127 172.596 31.4749Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.285 37.0443H181.242V31.7771C181.242 29.7048 182.278 28.7118 183.638 28.7118C184.869 28.7118 185.538 29.6616 185.538 31.2158V37.0443H188.495V30.7193C188.495 27.9131 186.941 26.0134 184.329 26.0134C182.926 26.0134 181.803 26.6179 181.242 27.4813V26.2509H178.285V37.0443Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.7292 62.44H63.9672L65.4567 58.9429H71.9759L73.4654 62.44H76.7466L70.1195 47.1134H67.3348L60.7292 62.44ZM66.6008 56.2014L68.7163 51.2149L70.8318 56.2014H66.6008Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.9183 62.44H89.8541L93.4159 51.6466H90.2427L88.2135 58.5544L86.0117 51.6466H83.7451L81.5648 58.5544L79.5141 51.6466H76.3624L79.9458 62.44H82.8816L84.8892 56.2877L86.9183 62.44Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.2217 57.0433C94.2217 60.1086 96.4235 62.6774 99.2946 62.6774C100.784 62.6774 101.928 61.9219 102.403 61.2311V62.44H105.36V51.6466H102.403V52.8554C101.928 52.1647 100.784 51.4091 99.2946 51.4091C96.4235 51.4091 94.2217 53.978 94.2217 57.0433ZM102.641 57.0433C102.641 58.7271 101.54 59.9791 99.9206 59.9791C98.3016 59.9791 97.2007 58.7271 97.2007 57.0433C97.2007 55.3595 98.3016 54.1075 99.9206 54.1075C101.54 54.1075 102.641 55.3595 102.641 57.0433Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.351 62.44H111.309V57.2807C111.309 55.5106 112.237 54.4097 113.64 54.4097C114.115 54.4097 114.525 54.496 114.978 54.6471V51.6466C114.611 51.5387 114.288 51.5171 113.985 51.5171C112.777 51.5171 111.676 52.3158 111.309 53.3735V51.6466H108.351V62.44Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.913 57.0433C115.913 60.1086 118.115 62.6774 120.986 62.6774C122.476 62.6774 123.62 61.9219 124.095 61.2311V62.44H127.052V46.2499H124.095V52.8554C123.62 52.1647 122.476 51.4091 120.986 51.4091C118.115 51.4091 115.913 53.978 115.913 57.0433ZM124.332 57.0433C124.332 58.7271 123.231 59.9791 121.612 59.9791C119.993 59.9791 118.892 58.7271 118.892 57.0433C118.892 55.3595 119.993 54.1075 121.612 54.1075C123.231 54.1075 124.332 55.3595 124.332 57.0433Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M144.979 59.5258H138.632C139.042 58.5328 140.661 57.6909 141.611 56.9785C143.554 55.5538 144.849 54.2154 144.849 51.5818C144.849 48.4517 142.518 46.8543 139.927 46.8543C136.884 46.8543 134.574 48.9267 134.574 51.9272H137.553C137.531 50.6968 138.503 49.7685 139.863 49.7685C141.179 49.7685 141.892 50.632 141.892 51.7545C141.892 53.0066 140.812 53.9564 139.474 54.9062C137.229 56.5252 134.531 57.9931 134.531 61.4254V62.44H144.979V59.5258Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.656 56.6115V52.8986C158.656 49.4016 156.303 46.8543 152.957 46.8543C149.59 46.8543 147.237 49.4016 147.237 52.8986V56.6115C147.237 60.1302 149.59 62.6774 152.957 62.6774C156.303 62.6774 158.656 60.1302 158.656 56.6115ZM150.194 56.6115V52.8986C150.194 50.9342 151.317 49.7685 152.957 49.7685C154.576 49.7685 155.699 50.9342 155.699 52.8986V56.6115C155.699 58.5975 154.576 59.7632 152.957 59.7632C151.317 59.7632 150.194 58.5975 150.194 56.6115Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.203 59.5258H164.856C165.266 58.5328 166.885 57.6909 167.835 56.9785C169.778 55.5538 171.073 54.2154 171.073 51.5818C171.073 48.4517 168.742 46.8543 166.151 46.8543C163.108 46.8543 160.798 48.9267 160.798 51.9272H163.777C163.755 50.6968 164.727 49.7685 166.087 49.7685C167.403 49.7685 168.116 50.632 168.116 51.7545C168.116 53.0066 167.036 53.9564 165.698 54.9062C163.453 56.5252 160.755 57.9931 160.755 61.4254V62.44H171.203V59.5258Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.641 62.44H178.598V47.1134H174.562L172.403 50.0276H175.641V62.44Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.1343 10.2909H101.054L103.467 0.270494H101.294L99.7694 6.93194L96.9326 0.101135L94.0959 6.93194L92.5716 0.270494H90.3982L92.8116 10.2909H94.731L96.9326 4.9702L99.1343 10.2909Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.378 10.2909H107.424V0.270494H105.378V10.2909Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.155 10.2909V0.270494H117.109V6.80492L111.972 0.270494H110.208V10.2909H112.254V3.75646L117.391 10.2909H119.155Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.89 10.2909V0.270494H128.843V6.80492L123.706 0.270494H121.942V10.2909H123.988V3.75646L129.126 10.2909H130.89Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.677 10.2909H139.915V8.34326H135.723V6.22627H139.068V4.27865H135.723V2.21812H139.915V0.270494H133.677V10.2909Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M142.255 10.2909H144.301V6.07103H144.809L148.239 10.2909H150.709L147.11 5.84522C148.437 5.42182 149.17 4.57503 149.17 3.23427C149.17 1.56891 147.971 0.270494 146.094 0.270494H142.255V10.2909ZM144.301 4.32099V2.14755H145.854C146.616 2.14755 147.138 2.54272 147.138 3.23427C147.138 3.91171 146.616 4.32099 145.854 4.32099H144.301Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M223.314 10.53C223.499 10.3252 223.816 10.3094 224.02 10.4947C228.313 14.3785 230.809 19.5996 232.191 24.5176C233.573 29.4327 233.854 34.086 233.684 36.8903C232.868 57.6214 215.721 65.837 207.273 67.3575C207.002 67.4064 206.742 67.2258 206.693 66.954C206.644 66.6822 206.825 66.4222 207.096 66.3733C215.315 64.894 231.898 56.9108 232.685 36.8458L232.686 36.8352L232.686 36.8352C232.849 34.1389 232.58 29.595 231.229 24.7882C229.877 19.9812 227.457 14.9523 223.349 11.2362C223.145 11.0509 223.129 10.7347 223.314 10.53Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M223.819 62.0063C221.48 62.0063 219.431 62.8219 218.526 63.8698C218.482 63.9211 218.47 63.9922 218.495 64.055C219.066 65.4883 221.376 66.2309 223.819 66.2309C225.717 66.2309 227.945 64.5504 229.022 63.0969C229.104 62.9858 229.043 62.8299 228.909 62.7958C227.091 62.3324 226.106 62.0063 223.819 62.0063Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M219.322 57.4358C219.322 59.3937 218.531 61.0901 217.027 61.6351C216.957 61.6605 216.879 61.6413 216.828 61.587C216.128 60.8438 215.685 59.789 215.685 57.8654C215.685 55.9549 216.727 54.2331 217.547 53.3565C217.612 53.2869 217.717 53.2766 217.786 53.3421C218.332 53.8583 219.322 55.5827 219.322 57.4358Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M223.847 52.8179C224.588 55.2919 223.485 56.8314 222.657 57.4798C222.586 57.5354 222.487 57.5313 222.421 57.4701C221.941 57.0262 221.097 55.9821 220.584 54.2721C220.054 52.5012 220.883 50.5355 221.43 49.4864C221.474 49.4018 221.572 49.3611 221.66 49.399C222.235 49.6484 223.136 50.4438 223.847 52.8179Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.741 47.7506C228.697 50.0269 227.641 51.8443 226.903 52.5707C226.839 52.6339 226.74 52.6403 226.668 52.5858C226.152 52.1946 225.161 51.1861 224.501 49.6136C223.817 47.985 224.061 45.7954 224.443 44.7172C224.475 44.6273 224.568 44.577 224.66 44.6035C225.323 44.7957 226.819 45.5553 227.741 47.7506Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.884 40.6106C231.188 42.7131 230.577 44.9011 229.976 45.7573C229.924 45.8311 229.827 45.8528 229.749 45.8083C229.156 45.4718 227.874 44.4201 226.971 42.9645C226.037 41.4598 226.225 39.0939 226.46 37.9525C226.48 37.8591 226.564 37.7947 226.658 37.8112C227.302 37.9241 228.629 38.5895 229.884 40.6106Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M230.749 34.2581C232.461 35.9123 232.219 37.9232 231.841 38.851C231.807 38.9346 231.718 38.9794 231.631 38.9575C231.022 38.8049 229.763 38.2862 228.582 37.1447C227.357 35.9605 226.973 33.7109 226.923 32.5865C226.919 32.4912 226.985 32.4081 227.08 32.4015C227.712 32.3576 229.106 32.6698 230.749 34.2581Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.942 27.5172C231.216 28.5104 231.816 30.2602 231.876 31.4849C231.881 31.5952 231.791 31.685 231.681 31.6804C230.855 31.6458 229.996 31.3799 228.62 30.4575C227.24 29.5325 226.713 27.7924 226.48 26.719C226.454 26.5959 226.549 26.4807 226.675 26.4782C227.516 26.4614 228.531 26.417 229.942 27.5172Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.953 21.704C230.061 22.4924 230.614 24.3241 230.64 25.2759C230.642 25.3661 230.579 25.4427 230.49 25.4572C229.899 25.5538 228.613 25.5765 227.161 25.0334C225.652 24.4688 224.47 22.6663 223.999 21.7056C223.957 21.62 223.984 21.5172 224.069 21.4737C224.607 21.1981 225.933 20.9484 227.953 21.704Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.208 16.6721C227.424 17.0614 228.303 18.7608 228.502 19.6919C228.521 19.7801 228.473 19.867 228.388 19.8976C227.825 20.1007 226.565 20.3584 225.038 20.0903C223.451 19.8115 221.959 18.2558 221.32 17.3977C221.263 17.3212 221.271 17.2151 221.347 17.1568C221.825 16.7873 223.084 16.2991 225.208 16.6721Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.452 12.1013C223.701 12.1777 224.809 13.738 225.136 14.6322C225.167 14.7169 225.131 14.8097 225.052 14.8519C224.522 15.1315 223.311 15.5624 221.761 15.5097C220.151 15.4549 218.457 14.1224 217.704 13.3617C217.637 13.294 217.63 13.1877 217.697 13.1195C218.119 12.6869 219.297 12.028 221.452 12.1013Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.931 8.19851C228.858 10.2491 227.949 11.9328 227.292 12.622C227.23 12.6873 227.131 12.6963 227.058 12.6435C226.573 12.2926 225.65 11.3968 225.011 9.98421C224.347 8.516 224.792 6.40682 225.141 5.39534C225.172 5.30522 225.265 5.25232 225.355 5.28182C225.93 5.46888 227.043 6.2336 227.931 8.19851Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M213.905 9.24809C217.97 7.13123 220.601 8.56322 221.553 9.69527C221.628 9.78464 221.598 9.91805 221.496 9.97603C217.791 12.0961 214.972 10.6775 213.852 9.54598C213.762 9.45559 213.792 9.30683 213.905 9.24809Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M219.609 1.10496C223.509 4.01094 223.344 7.18467 222.698 8.60516C222.65 8.71146 222.517 8.74204 222.42 8.67606C218.683 6.116 218.749 2.76683 219.317 1.18608C219.36 1.06638 219.507 1.02898 219.609 1.10496Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M211.877 2.80446C216.455 2.57936 218.247 4.97956 218.639 6.40553C218.67 6.51811 218.587 6.62669 218.47 6.63704C214.219 7.01547 212.249 4.5488 211.705 3.05284C211.661 2.93334 211.75 2.8107 211.877 2.80446Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.185 55.8655C227.228 56.2568 225.161 58.0596 224.707 59.2335C224.688 59.283 224.692 59.3378 224.72 59.383C225.296 60.3237 227.62 60.5694 229.685 59.8654C231.221 59.3417 232.951 57.7315 233.856 56.5085C233.934 56.4026 233.885 56.2533 233.76 56.2126C232.705 55.8699 231.033 55.4958 229.185 55.8655Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.171 49.2319C231.317 49.8614 230.19 51.8382 229.723 53.2728C229.691 53.3719 229.743 53.4778 229.841 53.5116C231.05 53.9251 232.805 53.9801 234.573 52.7878C235.937 51.8675 237.211 50.0141 237.949 48.8672C238.031 48.7397 237.946 48.5735 237.794 48.5698C236.794 48.5459 234.885 48.6502 233.171 49.2319Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.908 42.4317C233.269 43.5027 232.985 45.4872 232.639 47.0849C232.615 47.194 232.685 47.3022 232.795 47.321C234.472 47.6083 236.052 47.0414 237.48 45.4325C238.654 44.1087 239.323 42.367 239.519 40.8338C239.536 40.702 239.419 40.595 239.289 40.624C238.333 40.8382 236.459 41.4179 234.908 42.4317Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.413 39.3434L234.413 39.3531C234.413 39.4857 234.54 39.5815 234.666 39.54C236.344 38.9868 237.938 37.6769 238.681 36.3032C239.414 34.9471 239.795 32.9069 239.608 31.1925C239.592 31.044 239.422 30.9726 239.301 31.0602C237.929 32.0522 236.731 32.9503 235.62 34.544C234.403 36.29 234.408 37.8871 234.413 39.3434Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M238.032 27.9763C237.655 29.8609 235.848 31.2817 234.664 31.9972C234.556 32.0625 234.417 32.0093 234.382 31.8879C233.956 30.3968 233.98 28.3099 234.454 26.8857C234.811 25.8153 236.322 24.2349 237.471 23.08C237.572 22.9782 237.742 23.0142 237.785 23.1513C238.092 24.1437 238.392 26.1729 238.032 27.9763Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M236.075 20.0086C236.139 21.8262 234.511 23.9007 233.543 24.8647C233.453 24.9538 233.306 24.934 233.244 24.824C232.533 23.5623 232.149 21.834 232.276 20.4209C232.371 19.3577 233.541 17.1339 234.364 15.7637C234.438 15.6407 234.612 15.6355 234.688 15.7573C235.208 16.5893 236.014 18.2759 236.075 20.0086Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.6 13.8734C232.964 15.6969 231.971 17.3818 231.288 18.1703C231.198 18.2734 231.036 18.2481 230.972 18.1275C230.594 17.4134 229.928 16.2318 229.6 14.8734C229.194 13.195 229.681 11.3441 230.02 10.1523C230.058 10.0175 230.219 9.96435 230.325 10.0563C231.047 10.6834 232.24 12.0766 232.6 13.8734Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.6861 10.53C16.5008 10.3252 16.1847 10.3094 15.9799 10.4947C11.6872 14.3785 9.19127 19.5996 7.80899 24.5176C6.42754 29.4327 6.14669 34.086 6.31594 36.8903C7.13178 57.6214 24.2795 65.837 32.7268 67.3575C32.9985 67.4064 33.2585 67.2258 33.3074 66.954C33.3564 66.6822 33.1757 66.4222 32.9039 66.3733C24.6852 64.894 8.10182 56.9108 7.31496 36.8458L7.31454 36.8352L7.31443 36.8352C7.15102 34.1389 7.42069 29.595 8.77169 24.7882C10.1228 19.9812 12.5435 14.9523 16.6508 11.2362C16.8556 11.0509 16.8714 10.7347 16.6861 10.53Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1817 62.0063C18.5201 62.0063 20.5696 62.8219 21.4738 63.8698C21.518 63.9211 21.5306 63.9922 21.5056 64.055C20.9347 65.4883 18.6245 66.2309 16.1817 66.2309C14.2835 66.2309 12.0552 64.5504 10.9784 63.0969C10.8961 62.9858 10.9572 62.8299 11.0912 62.7958C12.9095 62.3324 13.8947 62.0063 16.1817 62.0063Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.6781 57.4358C20.6781 59.3937 21.4688 61.0901 22.973 61.6351C23.0431 61.6605 23.1215 61.6413 23.1726 61.587C23.872 60.8438 24.3154 59.789 24.3154 57.8654C24.3154 55.9549 23.2733 54.2331 22.4537 53.3565C22.3886 53.2869 22.2834 53.2766 22.2141 53.3421C21.6686 53.8583 20.6781 55.5827 20.6781 57.4358Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1529 52.8179C15.4118 55.2919 16.5149 56.8314 17.3431 57.4798C17.4141 57.5354 17.5133 57.5313 17.5795 57.4701C18.0596 57.0262 18.9036 55.9821 19.4159 54.2721C19.9464 52.5012 19.1177 50.5355 18.5702 49.4864C18.5261 49.4018 18.4278 49.3611 18.3404 49.399C17.7656 49.6484 16.8641 50.4438 16.1529 52.8179Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2591 47.7506C11.3034 50.0269 12.3593 51.8443 13.0974 52.5707C13.1617 52.6339 13.2606 52.6403 13.3324 52.5858C13.8485 52.1946 14.839 51.1861 15.4991 49.6136C16.1829 47.985 15.939 45.7954 15.5571 44.7172C15.5252 44.6273 15.4322 44.577 15.3407 44.6035C14.677 44.7957 13.1808 45.5553 12.2591 47.7506Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1167 40.6106C8.812 42.7131 9.42307 44.9011 10.0247 45.7573C10.0765 45.8311 10.1732 45.8528 10.2516 45.8083C10.8442 45.4718 12.1259 44.4201 13.0291 42.9645C13.9628 41.4598 13.7755 39.0939 13.5398 37.9525C13.5205 37.8591 13.4364 37.7947 13.3425 37.8112C12.6979 37.9241 11.3708 38.5895 10.1167 40.6106Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25106 34.2581C7.5396 35.9123 7.78157 37.9232 8.1593 38.851C8.1933 38.9346 8.2818 38.9794 8.36929 38.9575C8.97825 38.8049 10.2374 38.2862 11.4184 37.1447C12.6436 35.9605 13.027 33.7109 13.0768 32.5865C13.081 32.4912 13.015 32.4081 12.9199 32.4015C12.288 32.3576 10.8944 32.6698 9.25106 34.2581Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0581 27.5172C8.78423 28.5104 8.18425 30.2602 8.12448 31.4849C8.1191 31.5952 8.20905 31.685 8.31941 31.6804C9.14509 31.6458 10.0039 31.3799 11.3803 30.4575C12.7606 29.5325 13.2877 27.7924 13.5199 26.719C13.5465 26.5959 13.4517 26.4807 13.3257 26.4782C12.4838 26.4614 11.4693 26.417 10.0581 27.5172Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0471 21.704C9.93935 22.4924 9.38619 24.3241 9.36069 25.2759C9.35827 25.3661 9.42171 25.4427 9.51072 25.4572C10.1015 25.5538 11.3874 25.5765 12.8394 25.0334C14.3485 24.4688 15.5305 22.6663 16.0017 21.7056C16.0437 21.62 16.0161 21.5172 15.9312 21.4737C15.3934 21.1981 14.0668 20.9484 12.0471 21.704Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.7927 16.6721C12.5762 17.0614 11.6971 18.7608 11.4978 19.6919C11.4789 19.7801 11.5272 19.867 11.6121 19.8976C12.1752 20.1007 13.4352 20.3584 14.9621 20.0903C16.549 19.8115 18.0411 18.2558 18.6802 17.3977C18.7371 17.3212 18.7288 17.2151 18.6534 17.1568C18.175 16.7873 16.9166 16.2991 14.7927 16.6721Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5479 12.1013C16.2988 12.1777 15.1913 13.738 14.8641 14.6322C14.8331 14.7169 14.8689 14.8097 14.9486 14.8519C15.4779 15.1315 16.6897 15.5624 18.239 15.5097C19.8494 15.4549 21.5437 14.1224 22.2962 13.3617C22.3633 13.294 22.3698 13.1877 22.3032 13.1195C21.8811 12.6869 20.703 12.028 18.5479 12.1013Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0695 8.19851C11.1424 10.2491 12.0513 11.9328 12.7083 12.622C12.7705 12.6873 12.8696 12.6963 12.9426 12.6435C13.4277 12.2926 14.3504 11.3968 14.989 9.98421C15.6528 8.516 15.2079 6.40682 14.859 5.39534C14.8279 5.30522 14.7355 5.25232 14.6448 5.28182C14.0701 5.46888 12.9577 6.2336 12.0695 8.19851Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.0953 9.24809C22.0301 7.13123 19.399 8.56322 18.4476 9.69527C18.3725 9.78464 18.4027 9.91805 18.5041 9.97603C22.2091 12.0961 25.0286 10.6775 26.1486 9.54598C26.238 9.45559 26.2081 9.30683 26.0953 9.24809Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.3914 1.10496C16.4908 4.01094 16.6566 7.18467 17.3019 8.60516C17.3502 8.71146 17.4836 8.74204 17.5799 8.67606C21.3171 6.116 21.2509 2.76683 20.6834 1.18608C20.6405 1.06638 20.4934 1.02898 20.3914 1.10496Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.1228 2.80446C23.5451 2.57936 21.7528 4.97956 21.3613 6.40553C21.3303 6.51811 21.4136 6.62669 21.5298 6.63704C25.7817 7.01547 27.7508 4.5488 28.2957 3.05284C28.3392 2.93334 28.2499 2.8107 28.1228 2.80446Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.8154 55.8655C12.7719 56.2568 14.8389 58.0596 15.293 59.2335C15.3121 59.283 15.3084 59.3378 15.2807 59.383C14.7038 60.3237 12.3799 60.5694 10.3154 59.8654C8.77933 59.3417 7.04941 57.7315 6.14463 56.5085C6.06627 56.4026 6.11501 56.2533 6.2403 56.2126C7.29515 55.8699 8.96719 55.4958 10.8154 55.8655Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.82893 49.2319C8.6833 49.8614 9.81027 51.8382 10.2771 53.2728C10.3094 53.3719 10.2574 53.4778 10.1588 53.5116C8.95064 53.9251 7.19492 53.9801 5.42759 52.7878C4.06355 51.8675 2.78931 50.0141 2.05145 48.8672C1.96941 48.7397 2.05443 48.5735 2.20603 48.5698C3.20669 48.5459 5.11516 48.6502 6.82893 49.2319Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.09234 42.4317C6.73126 43.5027 7.01496 45.4872 7.36117 47.0849C7.38481 47.194 7.31544 47.3022 7.20539 47.321C5.52836 47.6083 3.94798 47.0414 2.5204 45.4325C1.3458 44.1087 0.677735 42.367 0.481041 40.8338C0.464135 40.702 0.581419 40.595 0.711077 40.624C1.66729 40.8382 3.541 41.4179 5.09234 42.4317Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.58726 39.3434L5.58723 39.3531C5.58678 39.4857 5.46001 39.5815 5.33406 39.54C3.65576 38.9868 2.06179 37.6769 1.31949 36.3032C0.586718 34.9471 0.205567 32.9069 0.391881 31.1925C0.408017 31.044 0.57808 30.9726 0.699099 31.0602C2.07078 32.0522 3.26895 32.9503 4.3802 34.544C5.59759 36.29 5.59219 37.8871 5.58726 39.3434Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.96859 27.9763C2.3455 29.8609 4.15246 31.2817 5.33588 31.9972C5.44388 32.0625 5.58304 32.0093 5.61777 31.8879C6.0446 30.3968 6.0207 28.3099 5.5459 26.8857C5.18905 25.8153 3.67846 24.2349 2.52943 23.08C2.42816 22.9782 2.25799 23.0142 2.21556 23.1513C1.90858 24.1437 1.6079 26.1729 1.96859 27.9763Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.92503 20.0086C3.86129 21.8262 5.48921 23.9007 6.45746 24.8647C6.5469 24.9538 6.69464 24.934 6.75655 24.824C7.46684 23.5623 7.8513 21.834 7.72473 20.4209C7.6295 19.3577 6.45884 17.1339 5.63603 15.7637C5.56211 15.6407 5.3878 15.6355 5.3118 15.7573C4.79271 16.5893 3.9858 18.2759 3.92503 20.0086Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.40063 13.8734C7.03594 15.6969 8.02895 17.3818 8.71235 18.1703C8.80175 18.2734 8.96416 18.2481 9.02805 18.1275C9.40628 17.4134 10.0725 16.2318 10.4006 14.8734C10.8061 13.195 10.3196 11.3441 9.98036 10.1523C9.94199 10.0175 9.78144 9.96435 9.67559 10.0563C8.95339 10.6834 7.76 12.0766 7.40063 13.8734Z\",\n fill: \"white\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppleAward);\nexport default __webpack_public_path__ + \"static/media/apple_award.aa398def8fbec5d3ade98a9bb2fef6c7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBazaar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 135,\n height: 35,\n viewBox: \"0 0 135 35\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.96684 16.762H7.314L7.31305 33.2333H10.4457C13.6883 33.2333 15.5522 30.1838 15.6099 25.3446C15.6778 19.6451 13.4302 16.762 9.96684 16.762ZM9.19311 1.3974L7.314 1.38719V16.2437H10.2983C12.8777 16.2437 14.9898 13.5355 14.9753 8.80987C14.9587 3.53434 12.6197 1.3974 9.19311 1.3974ZM11.3669 33.5372H0.0553763C-0.0184588 33.5372 -0.0184588 33.2333 0.0553763 33.2333H3.29034L3.29771 1.3917L0.0553763 1.3974V1.07214H9.74581C13.8725 1.07214 19.0243 1.87246 19.2081 8.62563C19.3895 15.2841 13.7573 16.5072 11.1781 16.5072C15.3048 16.5072 20.3488 19.5874 20.3488 25.0683C20.3488 29.4438 16.7096 33.5372 11.3669 33.5372\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.827 7.23683L24.4465 23.5897H32.7908L28.827 7.23683ZM32.0401 33.4896V33.2571L35.5921 33.259L32.9881 23.9411H24.4499L22.6344 30.6342C22.2291 32.2923 22.0442 33.2571 22.0442 33.2571H25.5011V33.4896H18.4341V33.2571H21.6831C21.6831 33.2571 21.8616 32.4305 22.3037 30.6342L30.4834 4.9434e-05L39.8899 33.2607L43.1574 33.264V33.4896H32.0401V33.4896Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.4873 33.4896L59.3723 1.16241H52.6593C47.7235 1.23743 46.3325 7.27362 46.2482 13.6712C46.2368 14.5268 46.1682 15.6564 46.1286 16.9225C46.1286 16.9225 45.9042 16.9353 45.9042 16.9L45.9196 0.834782H63.5664L49.883 33.2614L55.9968 33.269C61.8967 33.0767 63.0681 28.809 63.2773 16.9246H63.5472V33.4822L45.4873 33.4896V33.4896Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M121.755 1.1624H119.356L119.36 16.3425H122.344C125.697 16.3425 127.313 14.2476 127.547 9.00932C127.803 3.25779 124.923 1.1624 121.755 1.1624ZM133.774 33.8585C133.208 34.1393 132.528 34.249 131.732 34.249C128.397 34.2495 127.254 31.8011 127.389 25.3138V22.32C127.389 18.267 125.44 16.86 122.344 16.86H119.36L119.368 33.2837H123.214L123.217 33.466H112.102L112.092 33.2932L115.36 33.288L115.344 1.13296L112.102 1.13865V0.811023H122.566C127.65 0.811023 131.854 2.19893 131.861 8.82509C131.867 14.4259 127.324 16.5657 123.786 16.5657C129.019 16.5657 132.121 18.7584 131.516 25.4059L131.397 29.5511C131.397 31.9001 131.703 33.6353 133.046 33.6282C133.473 33.6258 133.887 33.5252 134.169 33.2132C134.471 32.8789 134.644 32.3621 134.683 32.0325C134.703 31.8614 134.777 31.4599 134.733 31.0155C134.733 31.0155 134.752 26.2302 134.733 26.2072C134.747 26.2255 134.992 26.2072 134.992 26.2072L134.986 29.1895C135.017 31.8604 135.014 32.1869 134.79 32.7199C134.642 33.0691 134.332 33.5817 133.774 33.8585\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M75.4322 7.24416L71.0515 23.5971H79.3958L75.4322 7.24416ZM78.6451 33.4971V33.274L82.1975 33.2759L79.5934 23.9484H71.0548L69.2396 30.6415C68.8343 32.2996 68.6492 33.2645 68.6492 33.2645H72.1061V33.4971H65.0393V33.2645H68.2881C68.2881 33.2645 68.4666 32.4378 68.9089 30.6415L77.0884 0.00738232L86.4949 33.2725L89.7626 33.2763V33.4971H78.6451V33.4971Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M98.3719 7.25319L93.9912 23.6061H102.336L98.3719 7.25319ZM101.585 33.5062V33.2733L105.137 33.2752L102.533 23.9572H93.9945L92.1793 30.6506C91.774 32.3087 91.5889 33.2733 91.5889 33.2733H95.0458V33.5062H87.979V33.2782L91.2277 33.2733C91.2277 33.2733 91.4063 32.4468 91.8486 30.6506L100.028 0.0164098L109.435 33.2768L112.702 33.2806V33.5062H101.585V33.5062Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBazaar);\nexport default __webpack_public_path__ + \"static/media/bazaar.f9b93a4ea7477e260d468a4229aa3b8b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCnn(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 89,\n height: 43,\n viewBox: \"0 0 89 43\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M65.2145 23.125C65.2145 23.2204 65.2145 23.3157 65.2145 23.4101C65.2145 27.1183 65.2127 30.8264 65.2145 34.5345C65.2145 35.6847 65.0982 36.818 64.68 37.8952C63.6828 40.4781 61.8049 41.9971 59.0702 42.3161C56.0975 42.6627 53.6682 41.5125 51.6776 39.3368C51.0498 38.6507 50.5881 37.8489 50.1113 37.0568C47.3348 32.4506 44.5566 27.8462 41.7784 23.24C41.7482 23.1901 41.7162 23.1411 41.6718 23.0698C41.6114 23.1696 41.6345 23.2578 41.6345 23.338C41.631 26.8893 41.6434 30.4415 41.6221 33.9928C41.6123 35.5119 41.2989 36.9731 40.5468 38.3095C39.524 40.1288 37.9355 41.1783 35.9378 41.6497C35.1449 41.8377 34.3387 41.9036 33.5262 41.9036C29.6754 41.9054 25.8246 41.9107 21.9738 41.9018C19.1218 41.8956 16.3249 41.5035 13.6328 40.5333C7.54984 38.3407 3.40335 34.1782 1.21645 28.0752C0.306353 25.5351 -0.0789959 22.8996 0.0133456 20.2054C0.168728 15.6482 1.53343 11.5062 4.34541 7.89158C6.59357 5.00312 9.47125 2.9673 12.8817 1.68166C15.6608 0.633907 18.5509 0.19645 21.5094 0.176849C23.6732 0.162594 25.8361 0.167049 27.9999 0.154576C28.1971 0.153685 28.2299 0.22407 28.229 0.398696C28.2237 2.00241 28.2228 3.60701 28.2299 5.21072C28.2308 5.39871 28.1757 5.44682 27.992 5.44682C25.4783 5.44325 22.9655 5.42098 20.4528 5.45572C17.6728 5.49314 15.0313 6.11057 12.6055 7.51738C9.59467 9.26365 7.53829 11.8225 6.29701 15.0575C5.45972 17.2376 5.10456 19.5051 5.22976 21.8349C5.44285 25.813 6.83241 29.3011 9.65771 32.1495C11.4371 33.9421 13.5805 35.1261 15.9938 35.83C17.7696 36.3485 19.5862 36.557 21.4321 36.5543C25.4472 36.5481 29.4632 36.5525 33.4774 36.5525C35.0792 36.5525 36.3196 35.3302 36.3489 33.7211C36.3551 33.3558 36.3497 32.9896 36.3497 32.6243C36.3497 24.588 36.3498 16.5534 36.3506 8.51703C36.3506 8.25687 36.3418 7.99493 36.4101 7.73834C36.6277 6.92312 37.5138 6.67276 38.1255 7.25455C38.2339 7.3579 38.3244 7.47551 38.4035 7.60381C43.3455 15.6535 48.3426 23.6685 53.3264 31.6933C54.0776 32.9014 54.8278 34.1104 55.5808 35.3168C55.983 35.9618 56.5246 36.4331 57.2838 36.5908C58.3679 36.8154 59.349 36.1757 59.7432 35.0121C59.88 34.604 59.9182 34.1835 59.9182 33.7558C59.9182 27.063 59.9182 20.3702 59.9182 13.6774C59.9182 11.9089 59.9182 10.1412 59.9182 8.37269C59.9164 8.14818 59.9306 7.92633 59.9998 7.70983C60.2405 6.965 61.0769 6.72889 61.6664 7.24386C61.8067 7.36681 61.9195 7.51471 62.018 7.67419C67.6855 16.8964 73.4204 26.0759 79.1323 35.2696C79.3525 35.6224 79.6073 35.9351 79.9474 36.173C81.1629 37.0239 82.7043 36.5837 83.2948 35.2206C83.5008 34.7448 83.5461 34.2432 83.5461 33.7327C83.5461 27.7188 83.5461 21.7058 83.5461 15.691C83.5461 10.625 83.5461 5.55818 83.5461 0.492245C83.5461 0.162594 83.5461 0.162595 83.8648 0.162595C85.4275 0.162595 86.9884 0.165268 88.5503 0.159031C88.7269 0.15814 88.79 0.19645 88.79 0.389786C88.7847 11.9098 88.79 23.4297 88.7776 34.9506C88.7758 36.6345 88.3576 38.2177 87.3551 39.6005C86.1964 41.1971 84.6115 42.1174 82.6715 42.3152C79.2033 42.668 76.5254 41.2176 74.5383 38.4405C73.5465 37.0541 72.7501 35.536 71.8693 34.0766C69.7001 30.478 67.5372 26.8759 65.3734 23.2756C65.3388 23.2195 65.3024 23.166 65.266 23.1117C65.2473 23.1161 65.2305 23.1206 65.2145 23.125ZM53.1461 19.5666C50.9974 15.8442 48.854 12.1182 46.6964 8.4012C45.9106 7.04785 45.1826 5.66153 44.3053 4.36431C43.2567 2.81317 41.9595 1.51595 40.2316 0.748839C37.3957 -0.510964 34.7222 -0.200913 32.3427 1.82867C30.6281 3.29161 29.8477 5.24457 29.7686 7.47729C29.7296 8.54287 29.758 9.61111 29.758 10.6776C29.758 16.6238 29.7589 22.5709 29.758 28.5162C29.758 29.4454 29.1942 30.0094 28.2716 30.0094C26.1522 30.0103 24.0337 30.0139 21.9143 30.0085C20.2805 30.0049 18.6841 29.7813 17.1605 29.1612C15.4308 28.4574 14.02 27.3562 13.0344 25.7498C11.8704 23.8521 11.5152 21.7868 11.8748 19.6031C12.245 17.3552 13.2848 15.4691 15.0579 14.0249C16.7591 12.6386 18.7436 12.0345 20.9118 12.0176C23.2683 11.9989 25.6257 12.0087 27.9822 12.0158C28.1891 12.0158 28.2414 11.9579 28.2406 11.7547C28.2326 10.1804 28.2317 8.60612 28.2414 7.03182C28.2423 6.82244 28.1811 6.77522 27.9804 6.77611C25.631 6.78235 23.2816 6.78413 20.9323 6.77878C19.7016 6.77611 18.4817 6.8759 17.2794 7.14051C13.5805 7.95217 10.6424 9.90423 8.70588 13.1838C6.24729 17.3454 5.89124 21.7752 7.48768 26.3164C8.75028 29.9096 11.1956 32.4604 14.6912 33.975C16.7076 34.849 18.8297 35.2126 21.0104 35.2348C23.382 35.2589 25.7544 35.2428 28.1269 35.2437C29.9116 35.2437 31.6963 35.2455 33.4801 35.2428C34.1824 35.2419 34.7444 34.8366 34.9575 34.1942C35.0294 33.9777 35.0294 33.7558 35.0294 33.5313C35.0286 25.1974 35.0294 16.8634 35.0277 8.52861C35.0277 8.15441 35.0543 7.78378 35.1582 7.42205C35.4911 6.2656 36.4412 5.5368 37.5386 5.6259C38.4718 5.70163 39.1342 6.2068 39.6154 6.99172C45.2776 16.2157 50.9992 25.4041 56.7031 34.604C56.7777 34.7234 56.8593 34.8401 56.9543 34.9435C57.211 35.2268 57.527 35.3818 57.9115 35.2767C58.2844 35.1751 58.446 34.8758 58.5357 34.5256C58.6067 34.2468 58.5979 33.9634 58.5979 33.6801C58.5996 25.3088 58.5996 16.9374 58.5979 8.56692C58.5979 8.19272 58.6156 7.82209 58.7159 7.45769C59.0329 6.29946 59.9697 5.55818 61.0689 5.62322C62.0092 5.67935 62.6831 6.19789 63.1599 6.96678C65.0191 9.95948 66.8589 12.9655 68.7128 15.9609C72.561 22.1735 76.4127 28.3834 80.2626 34.5951C80.3736 34.7733 80.4917 34.9435 80.6559 35.0771C81.1816 35.5039 81.8475 35.3221 82.0846 34.6878C82.1867 34.4169 82.192 34.1336 82.192 33.8503C82.192 22.7099 82.1902 11.5712 82.1973 0.431662C82.1973 0.206252 82.1227 0.164377 81.9185 0.166159C80.3647 0.174177 78.8091 0.169722 77.2553 0.170613C76.9134 0.170613 76.9569 0.146557 76.9569 0.469972C76.9569 6.8269 76.9569 13.1838 76.9569 19.5407C76.9569 19.6254 76.9569 19.7091 76.9569 19.8143C76.8495 19.7483 76.8273 19.6655 76.7874 19.5969C74.0313 14.8579 71.2762 10.1181 68.5219 5.37821C67.7992 4.13267 66.9406 2.99492 65.8396 2.05764C64.4314 0.860208 62.8287 0.100228 60.9685 0.03608C58.4798 -0.0485602 56.4545 0.928811 54.9246 2.89603C53.7872 4.35808 53.3273 6.05444 53.3273 7.89069C53.3273 11.7556 53.3273 15.6206 53.3255 19.4846C53.3255 19.5782 53.3495 19.6762 53.2873 19.8009C53.2296 19.7056 53.1861 19.6361 53.1461 19.5666Z\",\n fill: \"#EDEDED\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCnn);\nexport default __webpack_public_path__ + \"static/media/cnn.db7de3ec795d7e28a9e573272160ecfe.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgForbes(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 151,\n height: 69,\n viewBox: \"0 0 151 69\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M85.9166 15C85.897 18.9199 85.8774 22.8383 85.8608 26.7567C85.8562 27.6189 85.8713 27.6386 86.6354 27.2747C88.7916 26.2449 91.0823 26.0002 93.4031 26.2781C95.7783 26.562 97.7338 27.7609 99.286 29.5698C101.019 31.5902 101.996 33.9488 102.309 36.5867C102.504 38.2402 102.563 39.9027 102.368 41.5546C101.865 45.8203 100.252 49.4971 96.5877 52.0218C94.7017 53.3204 92.5968 54.0542 90.3303 54.3442C90.2322 54.3578 90.0781 54.2989 90.0676 54.4876C89.5149 54.4876 88.9608 54.4876 88.4051 54.4876C88.3809 54.4272 88.3553 54.4363 88.3311 54.4876C86.9963 54.4876 85.6614 54.4876 84.3296 54.4876C84.3266 54.2898 84.165 54.3608 84.0729 54.3502C82.0798 54.0995 80.1032 53.7523 78.1357 53.3461C77.814 53.2781 77.8291 53.1014 77.8322 52.8659C77.9273 47.0298 78.0028 41.1937 78.0119 35.3561C78.0179 31.6717 77.9877 27.9859 77.8926 24.303C77.8609 23.0528 77.885 21.7934 77.4698 20.5734C77.1195 19.5375 76.4973 18.8671 75.389 18.7055C75.2154 18.6783 75.0462 18.6285 74.8756 18.5877C74.2354 18.4292 74.0149 18.0109 74.2082 17.3661C74.2656 17.1744 74.4196 17.1608 74.557 17.1336C75.836 16.8739 77.1134 16.6142 78.3954 16.3711C80.5018 15.9694 82.6128 15.5844 84.7192 15.1752C84.8642 15.1465 85.0997 15.2718 85.1601 15.0015C85.2356 15.0015 85.3126 15.0015 85.3851 15.0015C85.3685 15.0347 85.3761 15.0649 85.4153 15.0604C85.4334 15.0589 85.447 15.0226 85.4621 15.0015C85.6146 15 85.7656 15 85.9166 15ZM85.8396 40.629C85.8713 40.629 85.9015 40.6275 85.9317 40.6275C85.9317 43.1567 85.9181 45.6859 85.9378 48.2121C85.9468 49.3793 86.0238 50.5496 86.0616 51.7183C86.0706 52.0399 86.2216 52.2015 86.5418 52.2211C86.6656 52.2287 86.7909 52.2498 86.9162 52.2634C88.5772 52.4537 89.9589 51.9327 91.0445 50.6523C91.7784 49.7901 92.3054 48.8071 92.7116 47.7576C94.1627 44.0053 94.3499 40.1186 93.8169 36.1836C93.6085 34.6494 93.1328 33.1681 92.2888 31.8454C91.2922 30.2856 89.9845 29.2256 87.9929 29.366C87.4009 29.4068 86.8271 29.517 86.2564 29.6786C85.9695 29.7586 85.8955 29.8915 85.8895 30.1738C85.8034 33.6604 85.8502 37.1454 85.8396 40.629ZM0 17.567C0.887871 17.6198 1.76819 17.7165 2.62133 17.9837C3.92747 18.3975 4.48315 19.4424 4.82591 20.6443C5.20794 21.9852 5.29703 23.3698 5.34988 24.75C5.57033 30.5468 5.52503 36.3467 5.42085 42.1465C5.38763 44.0174 5.32421 45.8928 5.05241 47.7516C4.95275 48.4341 4.81383 49.1106 4.53448 49.7478C4.07394 50.7987 3.31291 51.4782 2.16532 51.6911C1.67155 51.7832 1.18383 51.9071 0.687043 51.9795C0.434876 52.0143 0.252167 52.209 0 52.2211C0 52.3208 0 52.422 0 52.5216C0.00905991 52.5397 0.0196298 52.5563 0.0256697 52.576C0.0271797 52.5805 0.00905991 52.5911 0 52.5986C0 52.9263 0 53.254 0 53.5801C0.147979 53.8006 0.377496 53.7794 0.597954 53.7809C3.15134 53.793 5.70623 53.8096 8.26113 53.8096C11.9349 53.8096 15.6087 53.796 19.2825 53.793C19.6072 53.793 19.8352 53.7432 19.8638 53.343C19.9288 52.4597 19.8337 52.1471 19.3973 52.058C18.8567 51.9493 18.3146 51.824 17.7665 51.7681C16.1931 51.6096 15.269 50.7142 14.8265 49.248C14.7284 48.9233 14.6408 48.5957 14.5744 48.265C14.2965 46.8803 14.2467 45.4715 14.1682 44.0672C14.0217 41.4776 14.0006 38.8865 13.9945 36.2953C13.9945 36.0401 14.0866 35.9782 14.3252 35.9873C15.7205 36.0341 17.1157 36.0764 18.5049 36.2213C19.4033 36.3165 20.1266 36.7121 20.6808 37.4293C20.9918 37.828 21.244 38.2598 21.4539 38.7188C21.7921 39.4542 21.9778 40.2349 22.159 41.017C22.2073 41.2239 22.2904 41.3115 22.5078 41.31C22.834 41.3085 23.1617 41.3447 23.4878 41.3477C24.0631 41.3538 23.9997 41.4247 23.9997 40.86C24.0012 36.8465 24.0012 32.8329 24.0012 28.8179C24.0012 28.7424 23.9952 28.6654 24.0012 28.5929C24.0178 28.4132 23.9363 28.3453 23.7596 28.3513C23.4199 28.3634 23.0786 28.383 22.7404 28.3634C22.3614 28.3362 22.1922 28.4781 22.1092 28.8617C21.8903 29.8688 21.6094 30.8609 21.0477 31.7427C20.4286 32.7136 19.5921 33.3705 18.4112 33.4898C17.096 33.6242 15.7763 33.6468 14.4551 33.6649C14.0987 33.671 13.99 33.5864 13.99 33.2134C13.9794 28.9976 14.0731 24.7847 14.2074 20.5703C14.2256 20.0313 14.292 19.4937 14.3222 18.9546C14.3343 18.7448 14.4219 18.6859 14.6257 18.6874C16.5887 18.701 18.5517 18.701 20.5147 18.7131C22.5486 18.7266 24.2941 19.4394 25.712 20.9131C26.4776 21.7058 27.0529 22.636 27.5557 23.6114C28.0329 24.5401 28.3892 25.5201 28.7833 26.4834C29.0098 27.0391 29.1306 27.0904 29.7044 26.9425C30.0321 26.8564 30.3522 26.7432 30.6814 26.6661C30.8913 26.6163 30.9607 26.5151 30.9532 26.3007C30.8565 22.9184 30.8883 19.533 30.7373 16.1506C30.7237 15.8229 30.6255 15.6991 30.2692 15.6991C21.1594 15.6991 12.0497 15.687 2.93994 15.6825C1.95996 15.6825 0.97696 15.6478 0 15.755C0 16.359 0 16.963 0 17.567ZM37.6741 54.4861C37.6545 54.2747 37.4824 54.3578 37.3751 54.3396C34.6859 53.9017 32.362 52.7677 30.4806 50.7685C28.8483 49.0335 27.903 46.9498 27.3836 44.6591C26.6407 41.3855 26.6195 38.0967 27.6841 34.9061C29.2967 30.0727 32.6051 27.0225 37.6681 26.0486C40.383 25.5246 43.0829 25.6967 45.6906 26.6541C49.2376 27.9602 51.4724 30.5408 52.6924 34.0575C53.5592 36.5565 53.7253 39.1311 53.5486 41.7569C53.384 44.2167 52.6849 46.4968 51.3818 48.5775C49.4339 51.6911 46.5921 53.5167 43.0225 54.2566C42.8262 54.2974 42.6254 54.3155 42.4291 54.3563C42.3641 54.3698 42.2388 54.3396 42.2796 54.4861C41.8266 54.4861 41.3736 54.4861 40.9206 54.4861C40.8949 54.4242 40.8692 54.4333 40.8451 54.4861C39.7881 54.4861 38.7296 54.4861 37.6741 54.4861ZM45.2135 40.5927C45.2422 39.6837 45.1833 38.7792 45.135 37.8763C45.0398 36.0915 44.833 34.3218 44.3181 32.6019C43.8802 31.1372 43.2369 29.7933 42.0908 28.7318C41.286 27.9874 40.3498 27.7699 39.2974 27.9768C38.2373 28.1837 37.5533 28.8828 37.0414 29.7707C36.0192 31.5434 35.6991 33.5169 35.4937 35.5086C35.3034 37.3614 35.317 39.2262 35.3352 41.088C35.3578 43.359 35.5798 45.6029 36.2396 47.7878C36.6337 49.0955 37.1335 50.3548 38.0984 51.3635C39.4438 52.7677 41.3298 52.7889 42.722 51.4435C43.7533 50.4454 44.2033 49.1604 44.534 47.821C45.1229 45.4458 45.1667 43.0163 45.2135 40.5927ZM115.814 54.4861C115.867 54.3125 115.719 54.3562 115.648 54.3442C109.811 53.4654 105.676 49.1483 104.764 43.2397C104.163 39.3364 104.58 35.5101 106.664 32.0175C108.672 28.6518 111.636 26.6812 115.485 26.0078C117.395 25.6741 119.295 25.7013 121.169 26.1965C123.713 26.8715 125.637 28.3875 126.934 30.6706C128.344 33.1485 128.836 35.8544 128.82 38.6766C128.818 38.968 128.711 39.0224 128.444 39.0224C123.349 39.0374 118.254 39.0631 113.161 39.0752C112.825 39.0767 112.716 39.1431 112.729 39.504C112.808 41.6059 113.069 43.6731 114.049 45.5636C115.423 48.2061 117.512 49.8897 120.563 50.1902C122.196 50.3503 123.801 50.2702 125.344 49.6511C126.013 49.3824 126.609 48.9822 127.222 48.6153C127.514 48.4416 127.764 48.3405 128.042 48.6742C128.438 49.1483 128.515 49.3914 128.246 49.7689C127.707 50.5224 127.014 51.1249 126.3 51.7062C124.498 53.1679 122.416 53.9757 120.145 54.3457C120.071 54.3578 119.928 54.314 119.968 54.4846C118.987 54.4846 118.005 54.4846 117.025 54.4846C116.998 54.4166 116.976 54.4529 116.948 54.4846C116.773 54.4846 116.598 54.4846 116.42 54.4846C116.396 54.4665 116.373 54.4514 116.349 54.4333C116.346 54.4514 116.346 54.4665 116.343 54.4846C116.169 54.4861 115.991 54.4861 115.814 54.4861ZM116.684 36.6864C116.684 36.6547 116.684 36.623 116.684 36.5913C117.865 36.5913 119.046 36.5762 120.228 36.5988C120.592 36.6064 120.684 36.4795 120.642 36.1458C120.601 35.8091 120.589 35.4709 120.571 35.1311C120.503 33.7117 120.344 32.3029 119.961 30.9319C119.752 30.192 119.482 29.4747 119.011 28.8541C118.229 27.8198 117.083 27.6159 115.98 28.3075C115.503 28.605 115.118 29.0021 114.816 29.4702C113.439 31.6023 112.977 34.0001 112.791 36.478C112.773 36.7287 112.888 36.7634 113.102 36.7589C114.295 36.7257 115.491 36.7649 116.684 36.6864ZM142.09 54.4861C142.147 54.2656 142.336 54.3638 142.464 54.3411C145.265 53.8474 147.752 52.7904 149.472 50.3895C150.159 49.4292 150.598 48.3541 150.851 47.205C150.87 47.1189 150.864 47.0283 150.946 46.9709C150.949 46.9679 150.964 46.9785 150.973 46.986C150.982 46.9936 150.991 47.0041 151 47.0132C151 45.9562 151 44.9007 151 43.8407C150.977 43.8256 150.941 43.8135 150.938 43.7969C150.935 43.7592 150.965 43.7501 151 43.7667C151 43.6897 151 43.6142 151 43.5402C150.879 43.4481 150.882 43.4481 150.847 43.2986C150.607 42.1978 150.132 41.2118 149.383 40.3662C148.274 39.1114 146.829 38.3504 145.341 37.6603C143.873 36.9809 142.349 36.4222 140.936 35.6204C140.11 35.1523 139.335 34.6223 138.731 33.8748C138.038 33.0187 138.028 32.0341 138.162 31.0104C138.369 29.4279 139.849 28.0825 141.445 28.0644C143.31 28.0433 144.795 28.8164 145.942 30.2644C146.802 31.3531 147.343 32.6094 147.832 33.8914C148.24 34.956 148.294 34.9696 149.363 34.5739C149.584 34.4924 149.644 34.3852 149.638 34.1647C149.578 32.0024 149.517 29.8401 149.479 27.6763C149.473 27.329 149.336 27.181 149.022 27.0587C147.344 26.4079 145.594 26.1135 143.817 25.9187C141.775 25.6952 139.754 25.7451 137.753 26.2524C133.898 27.2294 131.103 30.3656 130.873 33.9171C130.674 37.0126 131.727 39.4814 134.396 41.1711C135.55 41.9004 136.832 42.3549 138.088 42.8638C139.369 43.3832 140.651 43.8981 141.798 44.6848C142.399 45.0955 142.916 45.5878 143.202 46.2748C144.081 48.4069 142.819 51.0237 140.569 51.528C138.192 52.0626 136.148 51.3846 134.543 49.5092C133.448 48.2302 132.731 46.7414 132.106 45.1997C131.76 44.3481 131.681 44.3118 130.787 44.5972C130.727 44.6168 130.67 44.6455 130.611 44.6621C130.399 44.7241 130.322 44.8524 130.327 45.0789C130.398 47.4813 130.454 49.8837 130.52 52.2845C130.537 52.9112 130.546 52.9202 131.153 53.1347C132.889 53.7477 134.692 54.0693 136.506 54.3427C136.614 54.3593 136.783 54.2823 136.806 54.4891C138.565 54.4861 140.329 54.4861 142.09 54.4861ZM85.3881 15C85.3715 15.0332 85.3791 15.0634 85.4183 15.0589C85.4365 15.0574 85.45 15.0211 85.4651 15C85.4395 15 85.4138 15 85.3881 15ZM150.998 43.7652C150.964 43.7471 150.934 43.7562 150.937 43.7954C150.94 43.8135 150.976 43.8256 150.998 43.8392C150.998 43.8166 150.998 43.7894 150.998 43.7652ZM0 52.5986C0.00905991 52.5911 0.0271797 52.5805 0.0256697 52.576C0.0196298 52.5579 0.00754992 52.5397 0 52.5216C0 52.5488 0 52.573 0 52.5986ZM40.9206 54.4861C40.8949 54.4242 40.8692 54.4333 40.8451 54.4861C40.8692 54.4861 40.8949 54.4861 40.9206 54.4861ZM88.4081 54.4861C88.3839 54.4257 88.3583 54.4348 88.3341 54.4861C88.3583 54.4861 88.3839 54.4861 88.4081 54.4861ZM116.42 54.4861C116.396 54.468 116.373 54.4529 116.349 54.4348C116.346 54.4529 116.346 54.468 116.343 54.4861C116.368 54.4861 116.394 54.4861 116.42 54.4861ZM117.024 54.4861C116.997 54.4182 116.974 54.4544 116.947 54.4861C116.974 54.4861 116.997 54.4861 117.024 54.4861ZM65.2585 31.3607C65.3219 29.6786 65.3839 27.9949 65.4473 26.3128C65.4654 25.8326 65.4367 25.8009 64.9837 25.8855C61.4186 26.5438 57.8656 27.2686 54.3172 28.0025C53.529 28.164 53.4973 28.2214 53.5305 29.0293C53.532 29.0549 53.532 29.0791 53.532 29.1048C53.5365 29.3433 53.6513 29.4626 53.8944 29.5019C54.29 29.5638 54.6811 29.6635 55.0767 29.7224C56.0974 29.8779 56.6652 30.5075 56.934 31.4588C57.2012 32.3996 57.2526 33.369 57.2858 34.3323C57.396 37.6015 57.4066 40.8721 57.3341 44.1427C57.2964 45.9018 57.2888 47.6625 57.0804 49.4141C56.9189 50.7685 56.2122 51.6156 54.9348 51.895C54.5799 51.9735 54.2175 52.0233 53.8627 52.0988C53.7373 52.1245 53.5878 52.1305 53.5878 52.3359C53.5878 52.662 53.5531 52.9882 53.5486 53.3144C53.5456 53.5982 53.6362 53.796 53.988 53.7613C54.1858 53.7417 54.3897 53.7809 54.5905 53.7809C58.0499 53.79 61.5092 53.7991 64.9686 53.8021C66.4786 53.8036 67.9886 53.787 69.4971 53.7945C69.7779 53.796 69.8806 53.7115 69.8745 53.4352C69.867 53.109 69.8912 52.7813 69.9017 52.4552C69.9078 52.2166 69.8157 52.0973 69.5529 52.0777C69.0275 52.0429 68.5035 51.975 67.9795 51.9131C67.2547 51.83 66.5601 51.6806 66.1117 51.0131C65.855 50.6326 65.7055 50.2098 65.6134 49.7629C65.334 48.4145 65.3084 47.0404 65.2555 45.6753C65.1136 42.0544 65.1347 38.4319 65.2329 34.8095C65.251 34.1481 65.5349 33.7268 66.1086 33.446C67.4208 32.7997 68.7934 32.6563 70.2188 32.9311C71.1641 33.1138 72.0233 33.5366 72.89 33.9352C73.201 34.0802 73.3747 34.0485 73.5151 33.6981C74.3849 31.5192 75.2259 29.3282 75.9945 27.1116C76.1667 26.6148 76.1108 26.488 75.6487 26.2509C75.5491 26.1996 75.4464 26.1482 75.3392 26.112C73.7175 25.6061 72.0988 25.5714 70.5042 26.2071C68.5563 26.9832 67.1505 28.38 66.0709 30.1406C65.8187 30.5528 65.5817 30.9756 65.337 31.3939C65.3084 31.3803 65.2827 31.3698 65.2585 31.3607Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgForbes);\nexport default __webpack_public_path__ + \"static/media/forbes.a56c9ec692ea3528f07e00775aae74f1.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGoogleAward(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 240,\n height: 69,\n viewBox: \"0 0 240 69\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M223.314 11.3947C223.499 11.1899 223.816 11.1741 224.02 11.3594C228.313 15.2433 230.809 20.4643 232.191 25.3824C233.573 30.2975 233.854 34.9508 233.684 37.7551C232.868 58.4861 215.721 66.7018 207.273 68.2223C207.002 68.2712 206.742 68.0905 206.693 67.8187C206.644 67.547 206.825 67.287 207.096 67.2381C215.315 65.7587 231.898 57.7756 232.685 37.7106L232.686 37.6999L232.686 37.6999C232.849 35.0036 232.58 30.4597 231.229 25.653C229.877 20.846 227.457 15.8171 223.349 12.1009C223.145 11.9157 223.129 11.5995 223.314 11.3947Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M223.819 62.8711C221.48 62.8711 219.431 63.6866 218.526 64.7346C218.482 64.7858 218.47 64.8569 218.495 64.9198C219.066 66.3531 221.376 67.0956 223.819 67.0956C225.717 67.0956 227.945 65.4152 229.022 63.9617C229.104 63.8505 229.043 63.6947 228.909 63.6605C227.091 63.1972 226.106 62.8711 223.819 62.8711Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M219.322 58.3006C219.322 60.2584 218.531 61.9549 217.027 62.4999C216.957 62.5253 216.879 62.5061 216.828 62.4517C216.128 61.7085 215.685 60.6538 215.685 58.7302C215.685 56.8196 216.727 55.0979 217.547 54.2213C217.612 54.1516 217.717 54.1413 217.786 54.2069C218.332 54.723 219.322 56.4474 219.322 58.3006Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M223.847 53.6827C224.588 56.1566 223.485 57.6962 222.657 58.3445C222.586 58.4001 222.487 58.3961 222.421 58.3348C221.941 57.8909 221.097 56.8468 220.584 55.1368C220.054 53.3659 220.883 51.4003 221.43 50.3511C221.474 50.2666 221.572 50.2258 221.66 50.2637C222.235 50.5131 223.136 51.3085 223.847 53.6827Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.741 48.6153C228.697 50.8916 227.641 52.709 226.903 53.4354C226.839 53.4987 226.74 53.5051 226.668 53.4506C226.152 53.0593 225.161 52.0508 224.501 50.4784C223.817 48.8497 224.061 46.6602 224.443 45.5819C224.475 45.4921 224.568 45.4417 224.66 45.4682C225.323 45.6604 226.819 46.42 227.741 48.6153Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.884 41.4753C231.188 43.5779 230.577 45.7658 229.976 46.6221C229.924 46.6959 229.827 46.7176 229.749 46.6731C229.156 46.3365 227.874 45.2848 226.971 43.8292C226.037 42.3245 226.225 39.9587 226.46 38.8172C226.48 38.7239 226.564 38.6594 226.658 38.6759C227.302 38.7889 228.629 39.4543 229.884 41.4753Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M230.749 35.1229C232.461 36.7771 232.219 38.7879 231.841 39.7158C231.807 39.7993 231.718 39.8442 231.631 39.8223C231.022 39.6696 229.763 39.1509 228.582 38.0094C227.357 36.8252 226.973 34.5756 226.923 33.4512C226.919 33.356 226.985 33.2728 227.08 33.2662C227.712 33.2223 229.106 33.5345 230.749 35.1229Z\",\n fill: \"white\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.942 28.382C231.216 29.3751 231.816 31.125 231.876 32.3497C231.881 32.46 231.791 32.5497 231.681 32.5451C230.855 32.5105 229.996 32.2447 228.62 31.3223C227.24 30.3973 226.713 28.6571 226.48 27.5838C226.454 27.4606 226.549 27.3454 226.675 27.3429C227.516 27.3262 228.531 27.2817 229.942 28.382Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.953 22.5687C230.061 23.3572 230.614 25.1888 230.64 26.1407C230.642 26.2308 230.579 26.3074 230.49 26.322C229.899 26.4186 228.613 26.4413 227.161 25.8981C225.652 25.3336 224.47 23.531 223.999 22.5703C223.957 22.4847 223.984 22.3819 224.069 22.3385C224.607 22.0628 225.933 21.8132 227.953 22.5687Z\",\n fill: \"white\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.208 17.5368C227.424 17.9261 228.303 19.6255 228.502 20.5566C228.521 20.6448 228.473 20.7318 228.388 20.7624C227.825 20.9655 226.565 21.2232 225.038 20.955C223.451 20.6763 221.959 19.1206 221.32 18.2624C221.263 18.1859 221.271 18.0798 221.347 18.0215C221.825 17.6521 223.084 17.1638 225.208 17.5368Z\",\n fill: \"white\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.452 12.966C223.701 13.0425 224.809 14.6027 225.136 15.4969C225.167 15.5816 225.131 15.6745 225.052 15.7166C224.522 15.9962 223.311 16.4271 221.761 16.3744C220.151 16.3197 218.457 14.9872 217.704 14.2265C217.637 14.1587 217.63 14.0525 217.697 13.9842C218.119 13.5517 219.297 12.8927 221.452 12.966Z\",\n fill: \"white\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.931 9.06326C228.858 11.1138 227.949 12.7976 227.292 13.4868C227.23 13.5521 227.131 13.5611 227.058 13.5082C226.573 13.1574 225.65 12.2616 225.011 10.849C224.347 9.38075 224.792 7.27157 225.141 6.26009C225.172 6.16997 225.265 6.11706 225.355 6.14657C225.93 6.33363 227.043 7.09834 227.931 9.06326Z\",\n fill: \"white\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M213.905 10.1128C217.97 7.99598 220.601 9.42797 221.553 10.56C221.628 10.6494 221.598 10.7828 221.496 10.8408C217.791 12.9608 214.972 11.5423 213.852 10.4107C213.762 10.3203 213.792 10.1716 213.905 10.1128Z\",\n fill: \"white\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M219.609 1.9697C223.509 4.87568 223.344 8.04942 222.698 9.46991C222.65 9.5762 222.517 9.60678 222.42 9.54081C218.683 6.98075 218.749 3.63158 219.317 2.05083C219.36 1.93113 219.507 1.89372 219.609 1.9697Z\",\n fill: \"white\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M211.877 3.6692C216.455 3.44411 218.247 5.8443 218.639 7.27028C218.67 7.38286 218.587 7.49143 218.47 7.50178C214.219 7.88022 212.249 5.41355 211.705 3.91758C211.661 3.79808 211.75 3.67545 211.877 3.6692Z\",\n fill: \"white\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.185 56.7302C227.228 57.1215 225.161 58.9243 224.707 60.0982C224.688 60.1477 224.692 60.2025 224.72 60.2478C225.296 61.1885 227.62 61.4341 229.685 60.7302C231.221 60.2064 232.951 58.5962 233.856 57.3732C233.934 57.2673 233.885 57.1181 233.76 57.0774C232.705 56.7346 231.033 56.3606 229.185 56.7302Z\",\n fill: \"white\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.171 50.0967C231.317 50.7262 230.19 52.703 229.723 54.1375C229.691 54.2366 229.743 54.3426 229.841 54.3764C231.05 54.7899 232.805 54.8448 234.573 53.6525C235.937 52.7323 237.211 50.8789 237.949 49.7319C238.031 49.6044 237.946 49.4382 237.794 49.4346C236.794 49.4106 234.885 49.5149 233.171 50.0967Z\",\n fill: \"white\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.908 43.2964C233.269 44.3675 232.985 46.352 232.639 47.9496C232.615 48.0587 232.685 48.1669 232.795 48.1858C234.472 48.4731 236.052 47.9061 237.48 46.2972C238.654 44.9734 239.323 43.2318 239.519 41.6985C239.536 41.5667 239.419 41.4597 239.289 41.4888C238.333 41.7029 236.459 42.2826 234.908 43.2964Z\",\n fill: \"white\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.413 40.2081L234.413 40.2178C234.413 40.3505 234.54 40.4463 234.666 40.4048C236.344 39.8516 237.938 38.5417 238.681 37.1679C239.413 35.8118 239.794 33.7717 239.608 32.0573C239.592 31.9088 239.422 31.8374 239.301 31.9249C237.929 32.917 236.731 33.815 235.62 35.4088C234.402 37.1547 234.408 38.7518 234.413 40.2081Z\",\n fill: \"white\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M238.032 28.8411C237.655 30.7256 235.848 32.1465 234.665 32.862C234.557 32.9272 234.417 32.874 234.383 32.7527C233.956 31.2615 233.98 29.1747 234.455 27.7505C234.811 26.68 236.322 25.0996 237.471 23.9448C237.572 23.843 237.742 23.8789 237.785 24.0161C238.092 25.0085 238.393 27.0376 238.032 28.8411Z\",\n fill: \"white\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M236.075 20.8733C236.139 22.691 234.511 24.7654 233.543 25.7295C233.453 25.8185 233.306 25.7988 233.244 25.6888C232.533 24.427 232.149 22.6987 232.276 21.2857C232.371 20.2225 233.541 17.9986 234.364 16.6285C234.438 16.5054 234.612 16.5002 234.688 16.6221C235.208 17.4541 236.014 19.1406 236.075 20.8733Z\",\n fill: \"white\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.6 14.7382C232.964 16.5616 231.971 18.2465 231.288 19.035C231.198 19.1382 231.036 19.1129 230.972 18.9922C230.594 18.2781 229.928 17.0966 229.6 15.7382C229.194 14.0598 229.681 12.2089 230.02 11.017C230.058 10.8822 230.219 10.8291 230.325 10.921C231.047 11.5481 232.24 12.9414 232.6 14.7382Z\",\n fill: \"white\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.6861 11.3947C16.5008 11.1899 16.1847 11.1741 15.9799 11.3594C11.6872 15.2433 9.19127 20.4643 7.80899 25.3824C6.42754 30.2975 6.14669 34.9508 6.31594 37.7551C7.13178 58.4861 24.2795 66.7018 32.7268 68.2223C32.9985 68.2712 33.2585 68.0905 33.3074 67.8187C33.3564 67.547 33.1757 67.287 32.9039 67.2381C24.6852 65.7587 8.10182 57.7756 7.31496 37.7106L7.31454 37.6999L7.31443 37.6999C7.15102 35.0036 7.42069 30.4597 8.77169 25.653C10.1228 20.846 12.5435 15.8171 16.6508 12.1009C16.8556 11.9157 16.8714 11.5995 16.6861 11.3947Z\",\n fill: \"white\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1817 62.8711C18.5201 62.8711 20.5696 63.6866 21.4738 64.7346C21.518 64.7858 21.5306 64.8569 21.5056 64.9198C20.9347 66.3531 18.6245 67.0956 16.1817 67.0956C14.2835 67.0956 12.0552 65.4152 10.9784 63.9617C10.8961 63.8505 10.9572 63.6947 11.0912 63.6605C12.9095 63.1972 13.8947 62.8711 16.1817 62.8711Z\",\n fill: \"white\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.6781 58.3006C20.6781 60.2584 21.4688 61.9549 22.973 62.4999C23.0431 62.5253 23.1215 62.5061 23.1726 62.4517C23.872 61.7085 24.3154 60.6538 24.3154 58.7302C24.3154 56.8196 23.2733 55.0979 22.4537 54.2213C22.3886 54.1516 22.2834 54.1413 22.2141 54.2069C21.6686 54.723 20.6781 56.4474 20.6781 58.3006Z\",\n fill: \"white\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1529 53.6827C15.4118 56.1566 16.5149 57.6962 17.3431 58.3445C17.4141 58.4001 17.5133 58.3961 17.5795 58.3348C18.0596 57.8909 18.9036 56.8468 19.4159 55.1368C19.9464 53.3659 19.1177 51.4003 18.5702 50.3511C18.5261 50.2666 18.4278 50.2258 18.3404 50.2637C17.7656 50.5131 16.8641 51.3085 16.1529 53.6827Z\",\n fill: \"white\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2591 48.6153C11.3034 50.8916 12.3593 52.709 13.0974 53.4354C13.1617 53.4987 13.2606 53.5051 13.3324 53.4506C13.8485 53.0593 14.839 52.0508 15.4991 50.4784C16.1829 48.8497 15.939 46.6602 15.5571 45.5819C15.5252 45.4921 15.4322 45.4417 15.3407 45.4682C14.677 45.6604 13.1808 46.42 12.2591 48.6153Z\",\n fill: \"white\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1167 41.4753C8.812 43.5779 9.42307 45.7658 10.0247 46.6221C10.0765 46.6959 10.1732 46.7176 10.2516 46.6731C10.8442 46.3365 12.1259 45.2848 13.0291 43.8292C13.9628 42.3245 13.7755 39.9587 13.5398 38.8172C13.5205 38.7239 13.4364 38.6594 13.3425 38.6759C12.6979 38.7889 11.3708 39.4543 10.1167 41.4753Z\",\n fill: \"white\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25106 35.1229C7.5396 36.7771 7.78157 38.7879 8.1593 39.7158C8.1933 39.7993 8.2818 39.8442 8.36929 39.8223C8.97825 39.6696 10.2374 39.1509 11.4184 38.0094C12.6436 36.8252 13.027 34.5756 13.0768 33.4512C13.081 33.356 13.015 33.2728 12.9199 33.2662C12.288 33.2223 10.8944 33.5345 9.25106 35.1229Z\",\n fill: \"white\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0581 28.382C8.78423 29.3751 8.18425 31.125 8.12448 32.3497C8.1191 32.46 8.20905 32.5497 8.31941 32.5451C9.14509 32.5105 10.0039 32.2447 11.3803 31.3223C12.7606 30.3973 13.2877 28.6571 13.5199 27.5838C13.5465 27.4606 13.4517 27.3454 13.3257 27.3429C12.4838 27.3262 11.4693 27.2817 10.0581 28.382Z\",\n fill: \"white\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0471 22.5687C9.93935 23.3572 9.38619 25.1888 9.36069 26.1407C9.35827 26.2308 9.42171 26.3074 9.51072 26.322C10.1015 26.4186 11.3874 26.4413 12.8394 25.8981C14.3485 25.3336 15.5305 23.531 16.0017 22.5703C16.0437 22.4847 16.0161 22.3819 15.9312 22.3385C15.3934 22.0628 14.0668 21.8132 12.0471 22.5687Z\",\n fill: \"white\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.7927 17.5368C12.5762 17.9261 11.6971 19.6255 11.4978 20.5566C11.4789 20.6448 11.5272 20.7318 11.6121 20.7624C12.1752 20.9655 13.4352 21.2232 14.9621 20.955C16.549 20.6763 18.0411 19.1206 18.6802 18.2624C18.7371 18.1859 18.7288 18.0798 18.6534 18.0215C18.175 17.6521 16.9166 17.1638 14.7927 17.5368Z\",\n fill: \"white\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5479 12.966C16.2988 13.0425 15.1913 14.6027 14.8641 15.4969C14.8331 15.5816 14.8689 15.6745 14.9486 15.7166C15.4779 15.9962 16.6897 16.4271 18.239 16.3744C19.8494 16.3197 21.5437 14.9872 22.2962 14.2265C22.3633 14.1587 22.3698 14.0525 22.3032 13.9842C21.8811 13.5517 20.703 12.8927 18.5479 12.966Z\",\n fill: \"white\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0695 9.06326C11.1424 11.1138 12.0513 12.7976 12.7083 13.4868C12.7705 13.5521 12.8696 13.5611 12.9426 13.5082C13.4277 13.1574 14.3504 12.2616 14.989 10.849C15.6528 9.38075 15.2079 7.27157 14.859 6.26009C14.8279 6.16997 14.7355 6.11706 14.6448 6.14657C14.0701 6.33363 12.9577 7.09834 12.0695 9.06326Z\",\n fill: \"white\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.0953 10.1128C22.0301 7.99598 19.399 9.42797 18.4476 10.56C18.3725 10.6494 18.4027 10.7828 18.5041 10.8408C22.2091 12.9608 25.0286 11.5423 26.1486 10.4107C26.238 10.3203 26.2081 10.1716 26.0953 10.1128Z\",\n fill: \"white\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.3914 1.9697C16.4908 4.87568 16.6566 8.04942 17.3019 9.46991C17.3502 9.5762 17.4836 9.60678 17.5799 9.54081C21.3171 6.98075 21.2509 3.63158 20.6834 2.05083C20.6405 1.93113 20.4934 1.89372 20.3914 1.9697Z\",\n fill: \"white\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.1228 3.6692C23.5451 3.44411 21.7528 5.8443 21.3613 7.27028C21.3303 7.38286 21.4136 7.49143 21.5298 7.50178C25.7817 7.88022 27.7508 5.41355 28.2957 3.91758C28.3392 3.79808 28.2499 3.67545 28.1228 3.6692Z\",\n fill: \"white\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.8154 56.7302C12.7719 57.1215 14.8389 58.9243 15.293 60.0982C15.3121 60.1477 15.3084 60.2025 15.2807 60.2478C14.7038 61.1885 12.3799 61.4341 10.3154 60.7302C8.77933 60.2064 7.04941 58.5962 6.14463 57.3732C6.06627 57.2673 6.11501 57.1181 6.2403 57.0774C7.29515 56.7346 8.96719 56.3606 10.8154 56.7302Z\",\n fill: \"white\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.82893 50.0967C8.6833 50.7262 9.81027 52.703 10.2771 54.1375C10.3094 54.2366 10.2574 54.3426 10.1588 54.3764C8.95064 54.7899 7.19492 54.8448 5.42759 53.6525C4.06355 52.7323 2.78931 50.8789 2.05145 49.7319C1.96941 49.6044 2.05443 49.4382 2.20603 49.4346C3.20669 49.4106 5.11516 49.5149 6.82893 50.0967Z\",\n fill: \"white\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.09234 43.2964C6.73126 44.3675 7.01496 46.352 7.36117 47.9496C7.38481 48.0587 7.31544 48.1669 7.20539 48.1858C5.52836 48.4731 3.94798 47.9061 2.5204 46.2972C1.3458 44.9734 0.677735 43.2318 0.481041 41.6985C0.464135 41.5667 0.581419 41.4597 0.711077 41.4888C1.66729 41.7029 3.541 42.2826 5.09234 43.2964Z\",\n fill: \"white\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.58726 40.2081L5.58723 40.2178C5.58678 40.3505 5.46001 40.4463 5.33406 40.4048C3.65576 39.8516 2.06179 38.5417 1.31949 37.1679C0.586718 35.8118 0.205567 33.7717 0.391881 32.0573C0.408017 31.9088 0.57808 31.8374 0.699099 31.9249C2.07078 32.917 3.26895 33.815 4.3802 35.4088C5.59759 37.1547 5.59219 38.7518 5.58726 40.2081Z\",\n fill: \"white\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.96859 28.8411C2.3455 30.7256 4.15246 32.1465 5.33588 32.862C5.44388 32.9272 5.58304 32.874 5.61777 32.7527C6.0446 31.2615 6.0207 29.1747 5.5459 27.7505C5.18905 26.68 3.67846 25.0996 2.52943 23.9448C2.42816 23.843 2.25799 23.8789 2.21556 24.0161C1.90858 25.0085 1.6079 27.0376 1.96859 28.8411Z\",\n fill: \"white\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.92503 20.8733C3.86129 22.691 5.48921 24.7654 6.45746 25.7295C6.5469 25.8185 6.69464 25.7988 6.75655 25.6888C7.46684 24.427 7.8513 22.6987 7.72473 21.2857C7.6295 20.2225 6.45884 17.9986 5.63603 16.6285C5.56211 16.5054 5.3878 16.5002 5.3118 16.6221C4.79271 17.4541 3.9858 19.1406 3.92503 20.8733Z\",\n fill: \"white\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.40063 14.7382C7.03594 16.5616 8.02895 18.2465 8.71235 19.035C8.80175 19.1382 8.96416 19.1129 9.02805 18.9922C9.40628 18.2781 10.0725 17.0966 10.4006 15.7382C10.8061 14.0598 10.3196 12.2089 9.98036 11.017C9.94199 10.8822 9.78144 10.8291 9.67559 10.921C8.95339 11.5481 7.76 12.9414 7.40063 14.7382Z\",\n fill: \"white\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.3357 42.2733H48.5737L50.0632 38.7762H56.5824L58.0719 42.2733H61.3531L54.7259 26.9467H51.9412L45.3357 42.2733ZM51.2073 36.0347L53.3228 31.0482L55.4383 36.0347H51.2073Z\",\n fill: \"white\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.4968 46.7849H65.4542V41.0644C65.9507 41.7552 67.0948 42.5107 68.5843 42.5107C71.4553 42.5107 73.6572 39.9419 73.6572 36.8766C73.6572 33.8113 71.4553 31.2424 68.5843 31.2424C67.0948 31.2424 65.9507 31.998 65.4542 32.6887V31.4799H62.4968V46.7849ZM70.6566 36.8766C70.6566 38.5603 69.5557 39.8124 67.9367 39.8124C66.3177 39.8124 65.2167 38.5603 65.2167 36.8766C65.2167 35.1928 66.3177 33.9408 67.9367 33.9408C69.5557 33.9408 70.6566 35.1928 70.6566 36.8766Z\",\n fill: \"white\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.5353 46.7849H78.4927V41.0644C78.9892 41.7552 80.1333 42.5107 81.6228 42.5107C84.4939 42.5107 86.6957 39.9419 86.6957 36.8766C86.6957 33.8113 84.4939 31.2424 81.6228 31.2424C80.1333 31.2424 78.9892 31.998 78.4927 32.6887V31.4799H75.5353V46.7849ZM83.6951 36.8766C83.6951 38.5603 82.5942 39.8124 80.9752 39.8124C79.3562 39.8124 78.2553 38.5603 78.2553 36.8766C78.2553 35.1928 79.3562 33.9408 80.9752 33.9408C82.5942 33.9408 83.6951 35.1928 83.6951 36.8766Z\",\n fill: \"white\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.843 36.8766C103.843 33.7249 101.296 31.2424 98.1661 31.2424C95.036 31.2424 92.4888 33.7249 92.4888 36.8766C92.4888 40.0282 95.036 42.5107 98.1661 42.5107C101.296 42.5107 103.843 40.0282 103.843 36.8766ZM95.4678 36.8766C95.4678 35.2144 96.6119 34.0055 98.1661 34.0055C99.7204 34.0055 100.843 35.2144 100.843 36.8766C100.843 38.5388 99.7204 39.7476 98.1661 39.7476C96.6119 39.7476 95.4678 38.5388 95.4678 36.8766Z\",\n fill: \"white\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.625 42.2733H109.582V34.0703H112.626V31.4799H109.582V30.4437C109.582 29.1269 110.144 28.6088 111.417 28.6088C111.892 28.6088 112.281 28.6736 112.626 28.8031V26.1911C112.151 26.04 111.568 25.9537 110.748 25.9537C108.46 25.9537 106.625 27.4432 106.625 30.0767V31.4799H104.445V34.0703H106.625V42.2733Z\",\n fill: \"white\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M124.936 42.1653V39.5533C124.591 39.6829 124.202 39.7476 123.727 39.7476C122.454 39.7476 121.893 39.2295 121.893 37.9127V34.0703H124.936V31.4799H121.893V28.4793H118.935V31.4799H116.755V34.0703H118.935V38.4956C118.935 41.1292 120.77 42.4028 123.058 42.4028C123.879 42.4028 124.461 42.3164 124.936 42.1653Z\",\n fill: \"white\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M126.762 42.2733H129.719V37.0061C129.719 34.9338 130.756 33.9408 132.116 33.9408C133.346 33.9408 134.015 34.8906 134.015 36.4448V42.2733H136.973V35.9483C136.973 33.1421 135.418 31.2424 132.806 31.2424C131.403 31.2424 130.281 31.8469 129.719 32.7103V26.0832H126.762V42.2733Z\",\n fill: \"white\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M149.891 38.7546H146.804C146.459 39.4886 145.552 39.9419 144.516 39.9419C142.681 39.9419 141.731 38.841 141.602 37.5674H150.021C150.172 33.509 147.56 31.2424 144.387 31.2424C141.105 31.2424 138.709 33.6386 138.709 36.855C138.709 40.1362 141.062 42.5107 144.365 42.5107C147.107 42.5107 149.244 40.9349 149.891 38.7546ZM144.3 33.6386C145.315 33.6386 146.416 34.1782 146.783 35.6245H141.71C141.99 34.4373 142.94 33.6386 144.3 33.6386Z\",\n fill: \"white\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.395 42.2733H163.526V35.8404L169.203 26.9467H165.555L161.95 32.7535L158.366 26.9467H154.74L160.395 35.8188V42.2733Z\",\n fill: \"white\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.235 38.7546H175.148C174.802 39.4886 173.896 39.9419 172.859 39.9419C171.025 39.9419 170.075 38.841 169.945 37.5674H178.364C178.515 33.509 175.903 31.2424 172.73 31.2424C169.449 31.2424 167.053 33.6386 167.053 36.855C167.053 40.1362 169.406 42.5107 172.708 42.5107C175.45 42.5107 177.587 40.9349 178.235 38.7546ZM172.644 33.6386C173.658 33.6386 174.759 34.1782 175.126 35.6245H170.053C170.334 34.4373 171.284 33.6386 172.644 33.6386Z\",\n fill: \"white\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.543 36.8766C179.543 39.9419 181.745 42.5107 184.616 42.5107C186.105 42.5107 187.25 41.7552 187.724 41.0644V42.2733H190.682V31.4799H187.724V32.6887C187.25 31.998 186.105 31.2424 184.616 31.2424C181.745 31.2424 179.543 33.8113 179.543 36.8766ZM187.962 36.8766C187.962 38.5603 186.861 39.8124 185.242 39.8124C183.623 39.8124 182.522 38.5603 182.522 36.8766C182.522 35.1928 183.623 33.9408 185.242 33.9408C186.861 33.9408 187.962 35.1928 187.962 36.8766Z\",\n fill: \"white\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M193.272 42.2733H196.23V37.114C196.23 35.3439 197.158 34.243 198.561 34.243C199.036 34.243 199.446 34.3293 199.899 34.4804V31.4799C199.533 31.372 199.209 31.3504 198.906 31.3504C197.698 31.3504 196.597 32.1491 196.23 33.2068V31.4799H193.272V42.2733Z\",\n fill: \"white\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.628 65.4486H108.628C108.868 64.2905 110.04 63.7114 111.199 62.864C112.837 61.6777 113.515 60.8303 113.515 59.3615C113.515 57.4125 112.088 56.4239 110.422 56.4239C108.572 56.4239 107.117 57.6667 107.117 59.5875H108.36C108.374 58.2881 109.334 57.6102 110.436 57.6102C111.523 57.6102 112.272 58.3023 112.272 59.3474C112.272 60.5196 111.65 61.0421 110.492 61.9037C109.009 63.0053 107.131 63.9939 107.131 66.1406V66.6208H113.628V65.4486Z\",\n fill: \"white\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.353 62.9911V60.1948C122.353 57.9774 120.856 56.4239 118.794 56.4239C116.732 56.4239 115.249 57.9774 115.249 60.1948V62.9911C115.249 65.2226 116.732 66.762 118.794 66.762C120.856 66.762 122.353 65.2226 122.353 62.9911ZM116.463 62.9911V60.1948C116.463 58.5706 117.438 57.6102 118.794 57.6102C120.163 57.6102 121.138 58.5706 121.138 60.1948V62.9911C121.138 64.6153 120.163 65.5757 118.794 65.5757C117.438 65.5757 116.463 64.6153 116.463 62.9911Z\",\n fill: \"white\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.476 65.4486H125.477C125.717 64.2905 126.889 63.7114 128.047 62.864C129.685 61.6777 130.363 60.8303 130.363 59.3615C130.363 57.4125 128.937 56.4239 127.27 56.4239C125.42 56.4239 123.965 57.6667 123.965 59.5875H125.208C125.222 58.2881 126.183 57.6102 127.284 57.6102C128.372 57.6102 129.12 58.3023 129.12 59.3474C129.12 60.5196 128.499 61.0421 127.341 61.9037C125.858 63.0053 123.98 63.9939 123.98 66.1406V66.6208H130.476V65.4486Z\",\n fill: \"white\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.201 62.9911V60.1948C139.201 57.9774 137.704 56.4239 135.642 56.4239C133.58 56.4239 132.097 57.9774 132.097 60.1948V62.9911C132.097 65.2226 133.58 66.762 135.642 66.762C137.704 66.762 139.201 65.2226 139.201 62.9911ZM133.312 62.9911V60.1948C133.312 58.5706 134.286 57.6102 135.642 57.6102C137.012 57.6102 137.987 58.5706 137.987 60.1948V62.9911C137.987 64.6153 137.012 65.5757 135.642 65.5757C134.286 65.5757 133.312 64.6153 133.312 62.9911Z\",\n fill: \"white\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.145 7.0948C107.145 10.0183 109.405 12.278 112.343 12.278C115.266 12.278 117.653 10.0324 117.37 6.37452H112.286V7.60324H116.029C115.845 9.58047 114.405 11.0352 112.343 11.0352C110.111 11.0352 108.459 9.31213 108.459 7.0948C108.459 4.87747 110.111 3.15446 112.343 3.15446C113.854 3.15446 115.097 3.95947 115.633 5.04695H117.088C116.523 3.38043 114.715 1.91162 112.343 1.91162C109.405 1.91162 107.145 4.17132 107.145 7.0948Z\",\n fill: \"white\"\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M126.078 8.57773C126.078 6.544 124.511 4.90572 122.392 4.90572C120.259 4.90572 118.692 6.544 118.692 8.57773C118.692 10.6115 120.259 12.2497 122.392 12.2497C124.511 12.2497 126.078 10.6115 126.078 8.57773ZM119.935 8.57773C119.935 7.16542 120.923 6.03557 122.392 6.03557C123.861 6.03557 124.835 7.16542 124.835 8.57773C124.835 9.99004 123.861 11.1199 122.392 11.1199C120.923 11.1199 119.935 9.99004 119.935 8.57773Z\",\n fill: \"white\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.73 8.57773C134.73 6.544 133.162 4.90572 131.044 4.90572C128.911 4.90572 127.344 6.544 127.344 8.57773C127.344 10.6115 128.911 12.2497 131.044 12.2497C133.162 12.2497 134.73 10.6115 134.73 8.57773ZM128.586 8.57773C128.586 7.16542 129.575 6.03557 131.044 6.03557C132.513 6.03557 133.487 7.16542 133.487 8.57773C133.487 9.99004 132.513 11.1199 131.044 11.1199C129.575 11.1199 128.586 9.99004 128.586 8.57773Z\",\n fill: \"white\"\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M136.25 12.7582C136.462 14.1846 137.775 15.2015 139.667 15.2015C141.588 15.2015 143.142 14.0292 143.142 11.6707V5.04695H141.927V6.13443C141.447 5.42828 140.515 4.90572 139.47 4.90572C137.507 4.90572 136.01 6.48751 136.01 8.49299C136.01 10.5126 137.507 12.0944 139.47 12.0944C140.515 12.0944 141.447 11.5577 141.927 10.8516V11.6848C141.927 13.2807 140.967 14.1281 139.696 14.1281C138.552 14.1281 137.761 13.6903 137.436 12.7582H136.25ZM142.026 8.49299C142.026 9.91943 141.052 10.9645 139.639 10.9645C138.227 10.9645 137.252 9.91943 137.252 8.49299C137.252 7.08068 138.227 6.02145 139.639 6.02145C141.052 6.02145 142.026 7.08068 142.026 8.49299Z\",\n fill: \"white\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.516 12.1085H146.73V1.51617H145.516V12.1085Z\",\n fill: \"white\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.433 9.96179H154.19C153.766 10.8092 153.018 11.1481 152.142 11.1481C150.871 11.1481 149.84 10.1878 149.797 8.90256H155.546C155.715 6.71348 154.373 4.90572 152.156 4.90572C149.953 4.90572 148.569 6.51575 148.569 8.57773C148.569 10.6821 150.066 12.2497 152.128 12.2497C153.921 12.2497 155.08 11.2046 155.433 9.96179ZM152.114 5.97908C153.159 5.97908 154.034 6.62874 154.26 7.94219H149.854C150.094 6.544 151.097 5.97908 152.114 5.97908Z\",\n fill: \"white\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.3936 6.32009L90.7929 0.69543L97.9187 4.79263L96.3936 6.32009ZM89.3316 0.364807C89.0015 0.537642 88.781 0.852811 88.781 1.26192V12.4783C88.781 12.8874 89.0019 13.2026 89.3316 13.3754L95.8434 6.86868L89.3316 0.364807ZM100.121 6.09886L98.6268 5.23224L96.9596 6.87153L98.6268 8.51082L100.152 7.6442C100.609 7.28105 100.609 6.46242 100.121 6.09886ZM90.7933 13.048L97.9191 8.95084L96.394 7.42338L90.7933 13.048Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGoogleAward);\nexport default __webpack_public_path__ + \"static/media/google_award.4364282061866c884a26a1a361825ced.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGoogle(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 164,\n height: 54,\n viewBox: \"0 0 164 54\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.215 1.40576L136.065 1.40576V40.5533H130.215V1.40576Z\",\n fill: \"#EDEDED\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.6984 14.7334C48.3278 14.7334 42.3242 20.3355 42.3242 28.0503C42.3242 35.7172 48.3278 41.3671 55.6984 41.3671C63.0691 41.3671 69.0727 35.7172 69.0727 28.0503C69.0727 20.3259 63.0691 14.7334 55.6984 14.7334ZM55.6984 36.1188C51.6642 36.1188 48.1844 32.7919 48.1844 28.0503C48.1844 23.2608 51.6642 19.9818 55.6984 19.9818C59.7327 19.9818 63.2125 23.2608 63.2125 28.0503C63.2125 32.7919 59.7327 36.1188 55.6984 36.1188Z\",\n fill: \"#EDEDED\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.9839 18.8138V24.4636H34.5015C34.1 27.6375 33.0388 29.9605 31.4232 31.5761C29.4539 33.5455 26.3756 35.7156 20.9839 35.7156C12.6572 35.7156 6.15654 29.0045 6.15654 20.6779C6.15654 12.3513 12.6572 5.64986 20.9839 5.64986C25.477 5.64986 28.756 7.41843 31.1746 9.68412L35.1611 5.69766C31.7769 2.46644 27.2933 0 20.9839 0C9.57896 0 0 9.2826 0 20.6875C0 32.0924 9.58852 41.375 20.9839 41.375C27.1404 41.375 31.7769 39.3579 35.4097 35.5722C39.1475 31.8343 40.3043 26.5955 40.3043 22.3509C40.3043 21.0412 40.1991 19.8271 39.9984 18.8233H20.9839V18.8138Z\",\n fill: \"#EDEDED\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M152.108 36.1186C149.135 36.1186 147.013 34.7611 145.646 32.0843L163.456 24.7137L162.853 23.2032C161.744 20.2301 158.36 14.7236 151.448 14.7236C144.584 14.7236 138.887 20.1249 138.887 28.0405C138.887 35.5067 144.537 41.3573 152.108 41.3573C158.217 41.3573 161.744 37.6195 163.207 35.4589L158.666 32.4285C157.156 34.6559 155.091 36.1186 152.108 36.1186ZM151.659 19.8764C153.982 19.8764 155.951 21.0331 156.601 22.7061L144.699 27.6485C144.546 22.4958 148.676 19.8764 151.659 19.8764Z\",\n fill: \"#EDEDED\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.629 17.7055H120.428C119.118 16.1377 116.594 14.7324 113.411 14.7324C106.748 14.7324 100.648 20.583 100.648 28.1066C100.648 35.5729 106.757 41.3757 113.411 41.3757C116.585 41.3757 119.108 39.9608 120.428 38.3452H120.629V40.2668C120.629 45.3622 117.904 48.0867 113.516 48.0867C109.931 48.0867 107.713 45.5151 106.805 43.345L101.71 45.4673C103.172 48.9949 107.054 53.3351 113.516 53.3351C120.38 53.3351 126.183 49.3008 126.183 39.4637V15.5354H120.629V17.7055ZM113.917 36.1178C109.883 36.1178 106.499 32.7336 106.499 28.0971C106.499 23.4032 109.883 19.9712 113.917 19.9712C117.904 19.9712 121.03 23.4032 121.03 28.0971C121.03 32.7432 117.904 36.1178 113.917 36.1178Z\",\n fill: \"#EDEDED\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.8547 14.7329C77.4841 14.7329 71.4805 20.335 71.4805 28.0498C71.4805 35.7168 77.4841 41.3666 84.8547 41.3666C92.2253 41.3666 98.2289 35.7168 98.2289 28.0498C98.2289 20.3254 92.2253 14.7329 84.8547 14.7329ZM84.8547 36.1183C80.8204 36.1183 77.3406 32.7914 77.3406 28.0498C77.3406 23.2603 80.8204 19.9813 84.8547 19.9813C88.8889 19.9813 92.3687 23.2603 92.3687 28.0498C92.3783 32.7914 88.8985 36.1183 84.8547 36.1183Z\",\n fill: \"#EDEDED\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGoogle);\nexport default __webpack_public_path__ + \"static/media/google.fdd7b6714789643014b13eb0568ced9d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGq(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 118,\n height: 56,\n viewBox: \"0 0 118 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5674 32.5229C56.8119 43.1974 47.4581 55.2524 28.9138 55.446C12.5136 55.6172 0.0531369 43.6397 0.000128545 27.4167C-0.0453837 13.4139 11.9992 0.0775092 28.7663 0.000458393C49.0729 -0.0927432 56.7574 14.0515 58.2506 19.6261C57.2711 19.6261 39.1136 19.5996 39.1136 19.5996C36.6061 16.6708 35.0146 15.2441 28.8608 15.2441C23.2894 15.2441 16.2487 20.1423 16.394 27.9823C16.5339 35.5505 22.9191 40.2111 28.8077 40.3129C36.4459 40.4451 39.4708 36.8601 39.4708 36.5425H31.6194V23.4476H58.4134C60.3997 9.4774 73.2708 0.108679 87.3809 0.102918C104.743 0.0957175 116.986 12.4842 116.964 28.2663C116.95 38.6662 110.946 45.2565 110.946 45.2565L117.903 53.9189L102.011 54.4285L100.74 52.8319C99.8548 53.2865 94.2568 55.6074 87.3551 55.5496C72.6761 55.4266 60.8967 46.853 58.5674 32.5228V32.5229ZM99.9351 31.898C102.574 23.8918 97.1377 15.2602 87.4258 15.2263C80.1441 15.2008 74.3122 20.6951 74.4648 28.0332C74.6414 36.526 82.0577 41.3838 90.2415 40.1526L81.8811 29.9017L97.8439 29.3921L99.9351 31.898Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGq);\nexport default __webpack_public_path__ + \"static/media/gq.717ff2d4cf547c15c5632ec0752e1f88.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgQuartz(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 197,\n height: 31,\n viewBox: \"0 0 197 31\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9375 23.9125C28.8239 21.3388 29.84 18.2231 29.8363 15.0242C29.8363 6.74395 23.1399 0 14.9185 0C6.69045 0 0 6.74395 0 15.0242C0 23.3103 6.69045 30.0483 14.9188 30.0483C18.0338 30.0529 21.0709 29.0684 23.5983 27.2347L27.3367 31L30.6581 27.6603L26.9375 23.9125ZM23.5632 20.5149L18.0508 14.9633L14.7346 18.3087L20.2171 23.8298C18.6198 24.8065 16.7865 25.322 14.9178 25.3198C9.27706 25.3198 4.69385 20.7027 4.69385 15.0242C4.69385 9.3496 9.27706 4.72853 14.9178 4.72853C20.551 4.72853 25.1408 9.34993 25.1408 15.0242C25.1422 16.968 24.5951 18.8722 23.5632 20.5149ZM164.475 0.744331V5.52015H155.605V29.4068H150.799V5.52015H141.929V0.744331H164.475ZM90.3097 0.744331H84.5412L73.5729 29.4068H78.6076L80.6623 23.8229H94.189L96.2434 29.4068H101.279L90.3097 0.744331ZM82.4931 19.3559L87.428 6.41824L92.3579 19.3559H82.4931ZM197 5.52015L181.091 24.5675H197V29.4068H174.824V24.3149L190.791 5.52015H175.933V0.791947H197V5.52015ZM64.2706 0.744331V18.8771C64.2706 25.0242 59.3114 30.0242 53.209 30.0242C47.1043 30.0242 42.1399 25.0242 42.1399 18.8771V0.744331H46.9402V18.8771C46.8348 22.4172 49.6929 25.296 53.209 25.296C56.7183 25.296 59.5764 22.4172 59.5071 18.8771V0.744331H64.2706ZM126.318 19.6991C129.582 18.0617 131.818 14.6872 131.818 10.7976C131.818 5.54363 127.515 0.850475 122.161 0.744331H111.621V29.4062H116.426V20.7745H120.779L130.685 30.881L134.024 27.5591L126.318 19.6991ZM121.811 16.0456H116.427V5.54925H121.811C124.74 5.54925 127.123 7.90227 127.123 10.7976C127.123 13.6942 124.74 16.0456 121.811 16.0456Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuartz);\nexport default __webpack_public_path__ + \"static/media/quartz.ff42d996752e440e5afb014bbfe0518b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTechCrunch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 239,\n height: 34,\n viewBox: \"0 0 239 34\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.5217 11.1805C29.9733 11.1661 26.4248 11.1565 22.8763 11.1349C22.4728 11.1325 22.2794 11.2812 22.3056 11.6987C22.32 11.9122 22.3056 12.1282 22.3056 12.3417C22.3056 19.1004 22.3056 25.8614 22.3056 32.6201C22.3056 32.9392 22.3056 33.2535 22.3056 33.6278C18.5948 33.6278 14.9508 33.6278 11.1683 33.6278C11.1683 33.3087 11.1683 32.9776 11.1683 32.6393C11.1683 25.8254 11.1683 19.014 11.1683 12.2025C11.1683 11.1445 11.1683 11.1421 10.1439 11.1421C7.07304 11.1397 4.00455 11.1421 0.936068 11.1421C0.644741 11.1421 0.353413 11.1421 0 11.1421C0 7.40406 0 3.72362 0 0C11.1373 0 22.2603 0 33.4979 0C33.4979 3.72602 33.4979 7.46404 33.4979 11.2045L33.5217 11.1805ZM33.5241 11.1781C33.5552 11.5236 33.6101 11.8643 33.6101 12.2097C33.6149 19.0236 33.6125 25.835 33.6172 32.6489C33.6172 32.9824 33.6483 33.3183 33.665 33.6326C44.8859 33.6326 56.0065 33.6326 67.1533 33.6326C67.1533 29.9161 67.1533 26.2573 67.1533 22.5025C66.7856 22.5025 66.4727 22.5025 66.1599 22.5025C59.3519 22.5025 52.544 22.4881 45.736 22.5169C44.9862 22.5217 44.7259 22.3441 44.7378 21.5476C44.7832 18.4358 44.7569 15.324 44.7545 12.2121C44.7545 11.9026 44.7259 11.5931 44.7068 11.2045C40.91 11.2045 37.2039 11.2045 33.4979 11.2045C33.4955 11.2045 33.5217 11.1805 33.5241 11.1781ZM44.9169 0.0119988C44.9002 0.307105 44.8716 0.544628 44.8716 0.782153C44.8692 3.94675 44.8907 7.11375 44.8524 10.276C44.8453 11.0197 45.1103 11.1541 45.7837 11.1517C52.618 11.1301 59.4522 11.1397 66.2865 11.1373C66.5707 11.1373 66.8548 11.1133 67.17 11.0989C67.17 7.36807 67.17 3.72842 67.17 0.00960085C59.7101 0.0120001 52.3338 0.0119988 44.9169 0.0119988ZM153.599 8.17662C152.675 8.07105 151.727 8.02786 150.802 8.11663C147.524 8.41654 145.105 10.0648 143.799 13.1071C142.347 16.4924 142.378 19.9569 143.777 23.3614C144.849 25.9718 146.812 27.6585 149.587 28.1455C150.929 28.3854 152.364 28.3974 153.716 28.2007C156.636 27.7784 158.58 25.9694 159.896 23.2894C158.351 22.4641 156.853 21.6676 155.361 20.871C154.891 21.5188 154.516 22.145 154.031 22.6704C152.632 24.2036 150.201 23.9444 149.308 22.0802C148.099 19.5586 148.092 16.9075 149.281 14.3835C150.279 12.2721 152.99 12.2625 154.188 14.2731C154.47 14.7433 154.695 15.252 154.967 15.787C156.6 15.144 158.184 14.5226 159.831 13.87C158.792 10.7222 156.973 8.56529 153.599 8.17662ZM230.313 27.1474C230.313 24.7338 230.308 22.3201 230.318 19.9065C230.32 19.4794 230.349 19.0476 230.425 18.6301C230.605 17.6704 231.08 17.2865 232.021 17.2865C232.933 17.2889 233.456 17.7064 233.616 18.6421C233.697 19.1124 233.699 19.6018 233.702 20.0841C233.709 22.4425 233.706 24.8034 233.706 27.1618C233.706 27.4521 233.706 27.7376 233.706 28.0471C235.447 28.0471 237.085 28.0471 238.709 28.0471C238.745 27.9488 238.776 27.9008 238.776 27.8552C238.783 25.2256 238.8 22.5985 238.786 19.9713C238.776 19.0092 238.767 18.0351 238.623 17.0874C238.167 14.0476 236.023 12.5096 233.007 13.0879C232.095 13.263 231.233 13.7021 230.282 14.0428C230.282 11.9338 230.282 9.8033 230.282 7.56241C228.795 8.15502 227.424 8.73804 226.029 9.24428C225.437 9.45781 225.217 9.73372 225.22 10.3935C225.251 15.9981 225.237 21.598 225.239 27.2026C225.239 27.4881 225.265 27.7688 225.28 28.0519C226.992 28.0519 228.611 28.0519 230.313 28.0519C230.313 27.7232 230.313 27.4329 230.313 27.1474ZM131.107 19.8777C131.109 19.4506 131.133 19.0188 131.224 18.6037C131.443 17.5816 131.959 17.205 132.977 17.2457C133.884 17.2817 134.395 17.7664 134.519 18.7645C134.584 19.2947 134.607 19.8321 134.612 20.3672C134.622 22.5937 134.612 24.8154 134.617 27.0395C134.617 27.3538 134.65 27.6633 134.667 28.0039C136.329 28.0039 137.912 28.0039 139.548 28.0039C139.562 27.6944 139.586 27.4329 139.586 27.1738C139.586 24.4939 139.598 21.8091 139.579 19.1292C139.574 18.4358 139.524 17.7352 139.414 17.049C138.963 14.1507 136.938 12.6296 134.058 13.1167C133.067 13.2846 132.122 13.7453 131.1 14.0884C131.1 12.001 131.1 9.87048 131.1 7.62959C129.617 8.2198 128.251 8.80282 126.852 9.30666C126.298 9.5082 126.157 9.8057 126.159 10.3623C126.178 15.967 126.171 21.5668 126.173 27.1714C126.173 27.4521 126.2 27.7328 126.214 28.0111C127.878 28.0111 129.447 28.0111 131.107 28.0111C131.102 25.24 131.097 22.5601 131.107 19.8777ZM189.382 13.3278C187.694 13.3278 186.072 13.3278 184.353 13.3278C184.353 13.6589 184.353 13.9444 184.353 14.2299C184.353 16.6171 184.355 19.0044 184.35 21.394C184.348 21.8475 184.346 22.3129 184.269 22.7568C184.107 23.6853 183.577 24.1028 182.662 24.098C181.745 24.0932 181.253 23.6757 181.1 22.716C181.024 22.2434 180.995 21.7563 180.993 21.2765C180.983 18.9132 180.991 16.5548 180.988 14.1915C180.986 13.9108 180.96 13.6277 180.945 13.3206C179.24 13.3206 177.621 13.3206 175.959 13.3206C175.938 13.5653 175.902 13.7716 175.904 13.978C175.933 17.2769 175.835 20.5807 176.036 23.8725C176.251 27.3538 178.906 29.1244 182.22 28.2079C182.925 28.0111 183.577 27.6273 184.295 27.313C184.336 27.5577 184.374 27.8 184.422 28.0663C186.096 28.0663 187.715 28.0663 189.384 28.0663C189.382 23.0999 189.382 18.2102 189.382 13.3278ZM206.525 17.6224C206.518 16.9698 206.303 16.2957 206.069 15.6742C205.565 14.3331 204.607 13.4453 203.191 13.1286C201.615 12.7784 200.118 12.9943 198.728 13.8604C198.566 13.9636 198.382 14.0356 198.184 14.1363C198.138 13.81 198.11 13.5773 198.074 13.3206C196.431 13.3206 194.814 13.3206 193.15 13.3206C193.15 18.251 193.15 23.1383 193.15 28.0495C194.817 28.0495 196.431 28.0495 198.134 28.0495C198.134 27.7208 198.134 27.4353 198.134 27.145C198.134 24.7314 198.129 22.3177 198.138 19.9041C198.143 19.4507 198.177 18.99 198.265 18.5485C198.442 17.668 198.95 17.2865 199.85 17.2865C200.739 17.2889 201.25 17.68 201.422 18.5725C201.505 19.0164 201.515 19.4794 201.52 19.9305C201.527 22.3465 201.522 24.7602 201.522 27.1738C201.522 27.4593 201.522 27.7496 201.522 28.0639C203.256 28.0639 204.875 28.0639 206.546 28.0639C206.549 24.5323 206.572 21.0749 206.525 17.6224ZM84.3225 27.992C86.1445 27.992 87.8566 27.992 89.6333 27.992C89.6333 27.6081 89.6333 27.289 89.6333 26.9699C89.6333 22.6536 89.6476 18.3398 89.6189 14.0236C89.6142 13.311 89.7741 13.0327 90.5431 13.0639C92.0522 13.1262 93.5662 13.0831 95.1733 13.0831C95.1733 11.7611 95.1327 10.5327 95.19 9.31146C95.2234 8.59888 94.9989 8.40215 94.2945 8.40695C89.4136 8.43574 84.5303 8.42134 79.6493 8.42374C79.3699 8.42374 79.0929 8.46693 78.8398 8.48612C78.8398 10.0696 78.8398 11.5547 78.8398 13.0831C79.7854 13.0831 80.6618 13.0831 81.5406 13.0831C82.4169 13.0831 83.2933 13.0831 84.3225 13.0831C84.3225 18.1359 84.3225 23.0519 84.3225 27.992ZM107.509 17.9223C106.836 14.8465 104.723 13.1526 101.609 13.0207C98.5378 12.8887 96.0329 14.5946 95.1446 17.5025C94.5118 19.573 94.4879 21.6939 95.1279 23.7645C95.9183 26.3221 97.6448 27.8552 100.322 28.2631C101.943 28.5078 103.517 28.3015 105.047 27.7712C105.862 27.4953 106.635 27.1018 107.485 26.7348C106.798 25.5855 106.196 24.585 105.582 23.5582C105.246 23.7045 104.988 23.8629 104.711 23.9228C103.653 24.1484 102.59 24.4747 101.523 24.5179C100.193 24.5658 99.3497 23.5702 99.302 22.1186C102.117 22.1186 104.933 22.1186 108.016 22.1186C107.841 20.6119 107.801 19.2371 107.509 17.9223ZM99.3068 18.9948C99.3283 17.5289 100.102 16.6651 101.325 16.6819C102.643 16.6987 103.445 17.5768 103.404 18.9948C101.993 18.9948 100.649 18.9948 99.3068 18.9948ZM216.308 12.9823C213.672 13.0831 211.48 14.0452 210.379 16.6076C209.18 19.3979 209.19 22.2746 210.491 25.0241C211.699 27.5745 213.97 28.407 216.64 28.4022C219.255 28.4022 221.017 27.0347 222.378 24.8537C221.304 24.0092 220.265 23.2007 219.231 22.3849C218.868 22.8216 218.596 23.1911 218.28 23.5102C216.946 24.8561 215.152 24.4483 214.83 22.6057C214.603 21.3221 214.732 19.9521 214.859 18.6373C214.923 17.9103 215.389 17.2817 216.22 17.1402C217.082 16.9938 217.722 17.3657 218.199 18.0639C218.402 18.3614 218.603 18.6613 218.823 18.99C219.993 18.0999 221.093 17.2577 222.247 16.3796C220.864 14.0236 218.928 12.8791 216.308 12.9823ZM118.047 13.0615C114.611 12.8287 111.621 14.2899 110.8 18.0327C110.535 19.2443 110.461 20.5327 110.52 21.7731C110.702 25.5591 112.858 27.86 116.505 28.3278C119.256 28.6781 121.93 27.2818 123.091 24.8561C122.921 24.7098 122.749 24.5466 122.563 24.4027C121.749 23.7597 120.929 23.1287 120.106 22.4809C119.69 22.9391 119.353 23.395 118.936 23.7549C117.706 24.8178 116.192 24.4339 115.683 22.8936C115.184 21.3796 115.194 19.8177 115.74 18.3182C116.275 16.8571 117.859 16.598 118.866 17.7688C119.16 18.1119 119.392 18.503 119.683 18.918C120.789 18.0759 121.868 17.2553 123.021 16.3724C121.858 14.3907 120.28 13.2126 118.047 13.0615ZM173.421 14.1435C173.538 13.6685 173.373 13.4573 172.958 13.3062C171.456 12.7688 170.025 12.8551 168.686 13.7764C168.485 13.918 168.287 14.0572 168.041 14.2299C167.991 13.8508 167.957 13.5917 167.924 13.3206C166.259 13.3206 164.64 13.3206 162.976 13.3206C162.976 18.251 162.976 23.1383 162.976 28.0303C164.664 28.0303 166.302 28.0303 167.991 28.0303C167.991 27.4065 167.991 26.8451 167.991 26.2861C167.991 24.1388 167.979 21.9939 168.005 19.8513C168.015 19.062 168.136 18.2558 168.951 17.8624C169.817 17.4449 170.672 17.6008 171.46 18.1119C171.745 18.2942 172.002 18.5245 172.361 18.8005C172.728 17.1666 173.056 15.6503 173.421 14.1435Z\",\n fill: \"#EDEDED\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTechCrunch);\nexport default __webpack_public_path__ + \"static/media/tech_crunch.8a5548c29296e8e9b5fcfeef79b01525.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTheGuardian(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 174,\n height: 57,\n viewBox: \"0 0 174 57\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.5226 30.4122C40.1124 30.1189 40.7614 29.7649 41.3513 29.4716C41.5879 29.3553 42.4127 29.0603 42.531 28.8242C42.5902 28.7062 42.531 28.3539 42.531 28.1769V26.7641V16.7032V6.87832V5.58362C42.531 5.52461 42.5902 5.11328 42.531 5.05428C42.4719 4.99527 42.0003 5.05428 41.9412 5.05428H40.6431C40.1716 5.05428 40.2307 5.11328 39.9349 5.4656C38.8144 6.93734 37.6921 8.40734 36.5715 9.93808C36.0408 10.6444 35.5101 11.2918 35.0386 11.9982C34.6853 12.4685 34.6853 12.5275 34.0363 12.5275L34.2138 8.64337C34.273 7.7027 34.273 6.76204 34.3321 5.81964C34.3321 5.4656 34.3913 5.11328 34.3913 4.76097C34.3913 4.64295 34.3321 4.29063 34.3913 4.23163C34.5096 4.0546 35.571 4.17262 35.8668 4.17262H57.9284C58.0449 4.17262 58.5774 4.11361 58.694 4.17262C58.8123 4.23163 58.7531 4.58394 58.7531 4.76097C58.8123 5.5246 58.8123 6.34899 58.8715 7.11436C58.9306 8.8204 58.988 10.4692 59.1064 12.1752V12.5292C58.8123 12.5292 58.5757 12.5882 58.339 12.4112C58.1041 12.2342 57.9266 11.8819 57.7491 11.6459C57.041 10.7052 56.3345 9.70378 55.5672 8.76312L53.4426 5.9394C53.3243 5.76237 53.1486 5.35105 52.9119 5.23304C52.7344 5.11676 52.3812 5.17403 52.1446 5.17403H51.2015C51.0832 5.17403 50.6116 5.11502 50.4933 5.17403C50.4342 5.23304 50.4933 5.23303 50.4342 5.35105C50.3158 5.82138 50.4342 6.40973 50.4342 6.88179V27.356C50.4342 27.7673 50.3158 28.3556 50.4342 28.7669C50.5525 29.1783 51.4956 29.4733 51.9097 29.6503C52.3221 29.8846 53.0302 30.0617 53.3835 30.414C53.5018 30.5303 53.6201 31.1203 53.5018 31.2956C53.4426 31.3546 53.1486 31.2956 53.0894 31.2956H40.1124C39.9941 31.2956 39.5817 31.3546 39.5226 31.2956C39.4634 31.0596 39.5226 30.5875 39.5226 30.4122ZM61.4066 29.3536V20.7626V6.69956V4.40518C61.4066 4.05287 61.525 3.52353 61.4066 3.16948C61.2883 2.75815 60.5801 2.69915 60.1678 2.52212C59.9311 2.46312 59.1655 2.28609 59.0472 2.05179V1.58146H59.2247C59.4613 1.46345 59.9329 1.46344 60.2269 1.40444C60.7576 1.28815 61.2883 1.22741 61.7616 1.11113C62.9413 0.876834 64.1802 0.640799 65.3599 0.463774C66.0681 0.347493 66.7746 0.170469 67.4828 0.0524519C67.6602 0.0524519 68.3684 -0.0655648 68.4258 0.0524519C68.485 0.11146 68.4258 0.345756 68.4258 0.404765V12.5848C70.6687 10.3494 74.5611 9.1137 77.6879 9.87734C80.4006 10.5247 81.2862 13.0551 81.2862 15.6445C81.3454 18.9386 81.2862 22.1754 81.2862 25.4694V28.1161C81.2862 28.4112 81.1679 29.1175 81.2862 29.4108C81.3454 29.5289 81.5803 29.5879 81.6986 29.7041C82.111 29.9402 82.5826 30.1745 82.9967 30.4105C83.0558 30.4695 83.2333 30.5268 83.2333 30.5875C83.2925 30.6465 83.2925 31.1759 83.2333 31.2349C83.1742 31.3512 83.1742 31.2922 82.9967 31.2922C82.3477 31.4102 81.6395 31.2922 81.0496 31.2922H72.5549C72.4957 31.2922 72.1999 31.3512 72.1425 31.2922C72.0833 31.2349 72.0833 30.5875 72.1425 30.5285C72.32 30.2925 73.0282 30.0582 73.2631 29.8812C73.4405 29.7631 73.9713 29.5879 74.0896 29.4108C74.2079 29.2338 74.0896 28.5865 74.0896 28.4112V25.9988C74.0896 22.5867 74.1487 19.1156 74.0896 15.7018C74.0896 14.7021 73.9121 13.5254 72.9098 12.9944C72.3791 12.7011 71.671 12.642 71.0811 12.642C70.6096 12.642 70.138 12.7601 69.7256 12.8764C69.3707 12.9944 68.7216 13.2304 68.4867 13.5237C68.3093 13.7597 68.4276 14.1121 68.4276 14.4054V28.2914C68.4276 28.5847 68.3093 29.1731 68.4276 29.4091C68.4867 29.5271 68.7216 29.6451 68.8991 29.7024C69.3115 29.9384 69.8422 30.1727 70.2546 30.4088C70.3138 30.4678 70.4321 30.4678 70.4321 30.525C70.4912 30.5841 70.4912 31.1151 70.4321 31.1724C70.3729 31.2314 70.3138 31.2314 70.1954 31.2314C69.5464 31.2887 68.8382 31.2314 68.1892 31.2314H59.6962C59.6371 31.2314 59.3413 31.2887 59.2821 31.2314C59.2229 31.1724 59.2821 30.5841 59.3413 30.4678C59.5187 30.2317 60.1678 29.9974 60.4027 29.8794C60.8168 29.7059 61.1126 29.5288 61.4066 29.3536ZM89.426 21.233C89.5443 23.8224 90.3708 26.7051 92.7285 28.1161C93.9692 28.8225 95.5021 29.0585 96.9167 28.9405C98.6272 28.7635 100.044 27.9391 101.519 27.1755C101.519 27.4098 101.578 27.8228 101.519 28.0571C101.402 28.2931 101.107 28.5865 100.929 28.7635C100.693 28.9995 100.397 29.2928 100.103 29.5288C99.1005 30.3515 97.9781 30.9398 96.8002 31.3512C94.559 32.1148 91.9629 32.0575 89.6609 31.4674C87.8322 30.9971 86.1809 30.1155 84.942 28.7045C83.7031 27.2917 82.9949 25.4677 82.7009 23.5864C82.0518 19.5269 82.8192 14.8774 86.1809 12.1717C89.1302 9.81833 93.8491 9.348 97.3291 10.7607C101.576 12.4668 102.285 17.2916 102.285 21.292H91.0199C90.4874 21.233 89.9567 21.233 89.426 21.233ZM89.3077 20.2333C90.4874 20.1743 91.6671 20.1153 92.906 19.9973C93.6125 19.9383 94.3816 19.9383 95.088 19.8793C95.2046 19.8793 95.5004 19.8792 95.6204 19.8202C95.7979 19.7022 95.6779 18.5255 95.6779 18.2912C95.6204 16.1721 95.5613 13.5844 94.3224 11.7604C93.4367 10.4657 92.0813 10.7017 91.2548 11.8784C89.5443 14.1728 89.3077 17.5849 89.3077 20.2333ZM0 41.7071C0 38.4131 0.649023 34.9993 2.47777 32.2346C4.24736 29.5288 7.07836 27.7638 10.146 26.8822C13.8626 25.8235 17.9917 25.9415 21.8249 26.6461C22.6514 26.8231 23.4762 26.9984 24.2435 27.2345C24.3619 27.2935 24.8926 27.4115 24.9517 27.5278V27.7048C25.1292 28.4112 25.0109 29.2928 25.0109 29.9992C25.07 31.8232 25.07 33.7063 25.1292 35.5303C24.8926 35.5303 24.4802 35.5893 24.3027 35.5303C24.1844 35.4713 24.0661 35.1763 24.0086 35.06C23.5371 34.3554 23.0656 33.649 22.6514 32.8836C21.6492 31.2939 20.586 29.7059 19.5838 28.1179C19.0531 27.2362 17.5793 27.2362 16.6345 27.2362C15.5731 27.2362 14.5099 27.4132 13.626 27.9426C11.6215 29.1783 10.6767 31.5907 10.146 33.767C9.31949 37.2364 9.37865 40.8862 9.55613 44.4163C9.73361 47.122 9.96851 50.0065 11.0317 52.4779C11.6807 54.0069 12.8012 55.3606 14.5117 55.7129C15.0424 55.8309 15.5731 55.8309 16.1629 55.7719C16.5179 55.7129 17.7568 55.6539 17.9325 55.3016C17.9917 55.1836 17.9325 54.8903 17.9325 54.7705V53.7726V47.5351V45.1209C17.9325 44.7096 18.0508 44.5326 17.6976 44.2966C17.2852 44.0623 16.812 43.8262 16.3996 43.5329C16.1055 43.3559 15.5157 43.1806 15.3382 42.9446C15.2216 42.8266 15.1607 42.1809 15.279 42.0612C15.3382 41.9449 15.3382 42.0039 15.5157 42.0039C16.0464 41.8859 16.7545 42.0039 17.2852 42.0039H26.4273C27.0171 42.0039 27.6661 41.9449 28.256 42.0039H28.4926C28.5518 42.0612 28.5518 42.8856 28.4926 43.0018C28.3743 43.1806 27.7845 43.4149 27.5496 43.5329C27.1372 43.7689 26.6656 44.0032 26.2515 44.2966C25.78 44.5326 25.8391 44.5326 25.8391 45.0602V54.6508C25.8391 54.7671 25.8983 55.0621 25.8391 55.1801C25.7208 55.4752 24.4819 55.6504 24.1287 55.7702C23.1265 56.0635 22.0633 56.2995 21.0036 56.4748C18.9383 56.8272 16.8746 56.9452 14.8092 56.8862C11.5067 56.7699 8.02492 56.0618 5.31225 54.0624C2.95279 52.3564 1.41985 49.767 0.711664 46.9415C0.177481 45.2962 0 43.4722 0 41.7071ZM27.1929 36.353C27.1929 36.235 27.1337 35.7646 27.1929 35.7056C27.252 35.6466 27.3112 35.7056 27.3703 35.6466C27.7253 35.4696 28.1968 35.4696 28.6092 35.4106C29.9664 35.1746 31.3236 34.9403 32.7383 34.706C33.7997 34.5289 34.8628 34.2946 35.8651 34.1749C36.1591 34.1176 36.5141 34.1176 36.8081 34.2339C37.1022 34.2929 36.9856 34.2339 37.0448 34.4699C37.1614 35.1746 37.0448 36.0007 37.0448 36.7053V49.0016C37.0448 50.4733 36.6324 53.179 38.047 54.0624C38.7552 54.5328 39.7575 54.5328 40.584 54.3575C41.233 54.2395 42.4719 53.7691 42.7085 53.0628C42.7677 52.8857 42.7085 52.6514 42.7085 52.4744V51.2387V43.0608V39.2947V38.0608C42.7085 37.9427 42.7677 37.5904 42.7085 37.4707C42.531 37.2936 41.9412 37.1184 41.7654 37.0593C41.4105 36.9431 41.1164 36.766 40.7632 36.648C40.6449 36.5908 40.2325 36.5317 40.1733 36.4137C40.1142 36.3547 40.1142 35.8254 40.1733 35.7664C40.2325 35.7074 40.2325 35.7664 40.2916 35.7074C40.5857 35.5303 41.1181 35.5911 41.4122 35.5303C43.8308 35.119 46.3086 34.5879 48.7864 34.2356C49.0804 34.1766 49.3762 34.1766 49.672 34.2356C49.9661 34.2946 49.8495 34.1766 49.9069 34.4717C50.0252 35.06 49.9069 35.8827 49.9069 36.5317V53.4776C49.9069 53.6546 49.8478 53.9479 49.9069 54.1822C49.9661 54.3609 49.9069 54.3002 50.201 54.4182C50.7909 54.6542 51.4399 54.9493 52.0297 55.1819C52.2072 55.2409 52.2646 55.2409 52.3238 55.3606C52.383 55.4769 52.383 55.8899 52.3238 55.8899C52.2055 56.008 51.6156 55.949 51.4973 56.008C50.1993 56.185 48.9012 56.3013 47.5457 56.4783C46.366 56.5963 45.1863 56.7733 44.0657 56.8896C43.8291 56.9486 43.5942 56.9486 43.3575 56.8896C43.241 56.8896 42.886 56.8896 42.8268 56.8306C42.7677 56.7143 42.8268 56.2423 42.8268 56.126V55.1228C42.8268 54.9458 42.9452 54.4755 42.8268 54.2985C42.7085 54.1214 42.4719 54.3575 42.2961 54.4755C41.8246 54.8868 41.2921 55.2999 40.7632 55.5949C38.8161 56.7716 36.3975 57.2992 34.1564 56.8289C32.5051 56.4766 31.0887 55.5359 30.3823 53.9479C29.8516 52.8285 29.7333 51.5945 29.7333 50.4178V43.4166V39.4145V38.0625C29.7333 37.9445 29.7924 37.5922 29.7333 37.4724C29.6167 37.2954 28.9068 37.1201 28.731 37.0021C28.1377 36.766 27.6644 36.589 27.1929 36.353ZM82.8192 34.1176C82.9375 34.1176 83.4682 34.1176 83.5274 34.2339C83.5865 34.2929 83.5274 34.7042 83.5274 34.7632V39.9421C83.5274 40.1191 83.4682 40.4124 83.5274 40.5877V40.7057C83.764 40.94 83.8214 40.1746 83.8823 40.1174C84.413 37.9393 85.4153 35.4089 87.6564 34.5272C88.0688 34.3502 88.4829 34.2912 88.8953 34.2322C89.2485 34.2322 90.2525 34.1159 90.43 34.4092C90.4874 34.5272 90.43 34.8205 90.43 34.9403V40.94C89.0136 40.6467 87.4215 40.7057 86.0643 40.999C85.4153 41.117 84.8272 41.2941 84.2356 41.5891C83.9415 41.7054 83.8823 41.6464 83.8232 41.8824C83.764 42.1184 83.8232 42.5298 83.8232 42.7658V54.1214C83.8232 54.2377 83.764 54.4147 83.8232 54.5328C83.9415 54.7098 84.3539 54.8261 84.5314 54.8851C84.8272 55.0621 85.1804 55.2374 85.4744 55.4144C85.5928 55.4734 85.7685 55.5324 85.8294 55.6504C85.8886 55.7095 85.8886 56.4158 85.8294 56.4748C85.7702 56.5338 85.417 56.4748 85.2987 56.4748H75.5077C75.2119 56.4748 74.6812 56.5929 74.4463 56.4748H74.2688C74.2096 56.4176 74.2688 55.7702 74.2688 55.7112C74.3871 55.3589 75.1545 55.1228 75.5077 54.9476C75.7426 54.8295 76.2159 54.6525 76.3342 54.4165C76.3933 54.3002 76.3342 53.9462 76.3342 53.8281V52.5924V37.4707C76.3342 37.4134 76.3933 37.1184 76.3342 37.0593C76.275 37.0021 75.9792 36.9431 75.8626 36.9431C75.5094 36.8251 75.1545 36.707 74.8012 36.648C74.4463 36.5317 73.5623 36.471 73.8581 35.8844C73.9173 35.7074 74.1522 35.7681 74.3888 35.7074C76.9849 35.237 79.5219 34.765 82.1162 34.2964C82.3477 34.1766 82.5826 34.1766 82.8192 34.1176ZM105.058 34.647V29.9419V28.5882C105.058 28.4112 105.116 28.0588 105.058 27.8818C104.999 27.7638 104.762 27.7048 104.587 27.6458C104.115 27.4688 103.644 27.2917 103.111 27.1164C102.758 26.9984 102.58 27.0574 102.58 26.6461C102.58 26.2921 102.521 26.4101 102.817 26.3511C103.466 26.1168 104.232 26.1168 104.883 25.9988C106.828 25.6464 108.716 25.2924 110.663 24.9401C111.075 24.8811 111.489 24.7631 111.902 24.8238C112.373 24.8828 112.432 24.7648 112.432 25.1761C112.492 26.1168 112.432 27.1182 112.432 28.0588V53.8281C112.432 54.0642 112.375 54.0642 112.551 54.1804C112.904 54.4165 113.494 54.5345 113.849 54.6508C114.084 54.7098 114.733 54.8278 114.849 55.0031C114.908 55.0621 114.908 55.7095 114.849 55.7685C114.792 55.8275 114.439 55.8275 114.378 55.8275C113.551 55.9438 112.784 56.0618 111.959 56.1208C110.129 56.3568 108.3 56.5911 106.412 56.8254C106.118 56.8844 105.41 57.0042 105.291 56.7681C105.173 56.5321 105.291 55.7685 105.291 55.5324C105.291 55.3554 105.408 54.59 105.291 54.4738C105.173 54.3575 103.877 55.5324 103.699 55.6504C102.991 56.1208 102.224 56.4748 101.399 56.7091C100.101 57.0614 98.6254 57.0614 97.3274 56.7681C91.6654 55.4734 90.4839 48.7673 90.9572 43.8818C91.1939 41.2941 92.0186 38.7046 93.7899 36.8216C95.4395 35.1173 97.6824 34.2339 99.9844 34.0569C101.754 33.8833 103.466 33.9996 105.058 34.647ZM105.058 53.4151V38.9407V36.2332C105.058 35.8809 104.999 35.8236 104.587 35.5876C103.76 35.1173 102.699 34.9403 101.815 35.2926C100.458 35.8237 99.8086 37.4117 99.4554 38.7046C98.7472 41.058 98.6898 43.5885 98.7472 46.0599C98.8064 48.179 98.8656 50.7666 100.045 52.6497C101.105 54.2985 103.524 54.7115 105.058 53.4151ZM124.583 34.1176C124.879 34.1749 125.232 34.0586 125.35 34.3536C125.408 34.5307 125.35 34.942 125.35 35.1173V53.5331C125.35 53.7691 125.291 54.1214 125.35 54.3575C125.408 54.5918 125.646 54.6508 125.881 54.7671C126.236 54.9458 126.53 55.1211 126.883 55.2981C127.001 55.3571 127.355 55.4752 127.416 55.6504C127.416 55.7095 127.475 56.4158 127.416 56.4748H127.238C126.883 56.5338 126.412 56.4748 125.999 56.4748H117.033C116.796 56.4748 116.147 56.5929 115.972 56.4748C115.855 56.4176 115.794 55.7112 115.914 55.5932C116.031 55.4144 116.445 55.2981 116.621 55.2391C116.974 55.0621 117.329 54.8278 117.682 54.6508C117.978 54.4738 117.919 54.5345 117.919 54.2985C118.035 53.4151 117.919 52.4154 117.919 51.532V46.8842V38.4113C117.919 38.1753 117.978 37.764 117.919 37.5279C117.859 37.2919 117.564 37.2936 117.329 37.1774C116.915 37.0003 116.561 36.8823 116.147 36.707C116.031 36.648 115.557 36.5908 115.441 36.4137C115.382 36.3547 115.382 35.7664 115.441 35.7074C115.498 35.6484 115.618 35.7074 115.678 35.6484C116.149 35.4713 116.68 35.4713 117.21 35.3551C117.978 35.237 118.686 35.06 119.452 34.9437C120.927 34.7077 122.342 34.4127 123.817 34.1784C124.111 34.2356 124.348 34.1766 124.583 34.1176ZM125.408 28.6472C125.291 32.1755 120.513 33.7063 118.331 30.9398C117.329 29.6469 117.27 27.8818 118.154 26.5281C119.037 25.1744 120.748 24.586 122.34 24.9383C124.111 25.2924 125.408 26.8231 125.408 28.6472ZM151.247 54.4755V40.2961V37.5887C151.247 37.5297 151.304 37.2346 151.247 37.1774C151.188 37.0594 150.833 37.0003 150.714 37.0003L149.653 36.6463C149.475 36.589 149.004 36.53 148.887 36.353C148.769 36.235 148.828 35.9417 148.828 35.7646C148.828 35.4106 148.946 35.4696 149.3 35.4106L153.192 34.706L157.085 33.9996C157.321 33.9423 157.497 33.8833 157.734 33.8833C157.852 33.8833 158.442 33.8833 158.56 33.9423C158.619 33.9996 158.56 34.3536 158.56 34.4717V35.5911C158.56 35.7681 158.443 36.2957 158.56 36.4727C158.678 36.7088 158.913 36.4727 159.091 36.2957C159.623 35.8844 160.154 35.5321 160.744 35.237C162.867 34.0603 165.403 33.5327 167.822 33.8851C169.472 34.1211 170.831 35.0027 171.419 36.5925C171.831 37.7102 171.89 38.8851 171.89 40.0636V53.4776C171.89 53.7136 171.831 54.1249 171.89 54.3609C171.949 54.5952 172.127 54.6543 172.421 54.7705C172.717 54.9493 173.07 55.1246 173.366 55.3016C173.482 55.3606 173.896 55.4786 173.956 55.6539C174.015 55.7719 174.015 56.3603 173.956 56.4193C173.896 56.5356 174.015 56.4193 173.837 56.4766C173.602 56.5946 173.072 56.4766 172.776 56.4766H164.34C163.987 56.4766 162.63 56.6536 162.452 56.4193C162.395 56.3603 162.395 55.7129 162.452 55.5949C162.512 55.4769 162.865 55.3589 162.985 55.2999C163.338 55.1228 163.634 54.9476 163.987 54.7688C164.104 54.7115 164.459 54.5918 164.518 54.4755C164.577 54.3592 164.518 54.1232 164.518 54.0052V52.7104V48.592V40.6484C164.518 39.7078 164.577 38.6491 163.987 37.8247C163.516 37.1184 162.689 36.9413 161.863 36.8823C161.214 36.8823 160.624 36.9413 160.034 37.1184C159.74 37.2346 158.854 37.4707 158.678 37.8247C158.619 37.941 158.678 38.177 158.678 38.2951V53.5348C158.678 53.7119 158.619 54.1232 158.678 54.2985C158.736 54.5345 159.089 54.5918 159.268 54.7098C159.562 54.8868 159.917 55.0621 160.211 55.2391C160.33 55.2981 160.565 55.4161 160.624 55.4752C160.683 55.5342 160.683 56.2388 160.624 56.2995C160.624 56.3585 160.565 56.2995 160.507 56.2995C160.27 56.4176 159.681 56.2995 159.446 56.2995H149.536C149.241 56.2995 149.181 56.3585 149.124 56.1833C149.065 56.0652 149.065 55.5359 149.124 55.4179C149.181 55.3016 149.536 55.1819 149.655 55.1246C150.243 55.0638 150.714 54.7688 151.247 54.4755ZM138.74 43.6492C138.74 42.1185 138.799 40.5304 138.68 38.9407C138.503 37.2346 138.033 35.3533 136.086 34.9993C135.496 34.883 134.435 34.706 134.021 35.1763C133.608 35.5894 133.313 36.1777 132.959 36.648L129.951 40.7092C129.773 40.9435 129.596 41.4138 129.359 41.5336C129.302 41.5926 128.71 41.5926 128.71 41.5336C128.653 41.4746 128.71 41.0632 128.71 40.9435V36.1794C128.71 36.0024 128.653 35.7091 128.71 35.5321C128.829 35.237 130.127 35.0617 130.421 34.9437C132.072 34.5324 133.784 34.2374 135.494 34.1193C137.913 33.9423 140.626 34.0013 142.867 35.06C144.636 35.8844 145.757 37.3544 146.053 39.2375C146.23 40.1781 146.169 41.2368 146.169 42.1792V53.9462C146.169 54.1232 146.053 54.5918 146.169 54.7098C146.229 54.7671 146.523 54.8261 146.582 54.8261C147.053 54.9441 147.467 55.0621 147.939 55.1784C148.233 55.2374 148.292 55.2374 148.292 55.5324C148.292 55.8275 148.351 55.8275 147.996 55.9438C147.584 56.1208 147.17 56.2961 146.758 56.4141C144.576 57.0597 141.153 57.2385 139.561 55.2357C139.444 55.0586 139.089 54.295 138.912 54.236C138.675 54.177 137.969 55.1194 137.732 55.2947C136.787 56.119 135.55 56.5894 134.31 56.7664C132.011 57.0597 129.533 56.5894 128.115 54.5883C126.935 52.884 126.7 50.2356 127.584 48.3525C129.176 44.7634 133.897 44.4111 137.318 43.8227C137.737 43.8262 138.211 43.7082 138.74 43.6492ZM138.74 53.4151V44.7061C136.968 44.8242 135.141 44.9422 134.494 46.8842C134.022 48.1789 134.022 49.708 134.198 51.0599C134.315 52.0023 134.551 53.179 135.437 53.7691C136.38 54.4165 137.974 54.2985 138.74 53.4151ZM64.0602 43.6492C64.0602 42.1185 64.1193 40.5304 64.001 38.9407C63.8235 37.2346 63.352 35.3533 61.4049 34.9993C60.815 34.883 59.7536 34.706 59.3395 35.1763C58.9271 35.5894 58.6313 36.1777 58.2781 36.648L55.2696 40.7092C55.0922 40.9435 54.9164 41.4138 54.6798 41.5336C54.6206 41.5926 54.0308 41.5926 54.0308 41.5336C53.9716 41.4746 54.0308 41.0632 54.0308 40.9435V36.2367C54.0308 36.0597 53.9716 35.7664 54.0308 35.5911C54.1491 35.296 55.388 35.1208 55.7412 35.001C57.3924 34.5897 59.1029 34.2964 60.7541 34.1766C63.1728 33.9996 65.8872 34.0603 68.1283 35.119C69.8979 35.9434 71.0185 37.4134 71.3143 39.2947C71.4917 40.2371 71.4326 41.2958 71.4326 42.2365V54.0034C71.4326 54.1804 71.3143 54.6508 71.4326 54.7671C71.4917 54.8261 71.7875 54.8851 71.845 54.8851C72.3165 55.0014 72.7306 55.1211 73.2022 55.2374C73.4962 55.2964 73.5571 55.2964 73.5571 55.5914C73.5571 55.8848 73.6163 55.8848 73.2613 56.0028C72.8489 56.1798 72.4348 56.3551 72.0224 56.4731C69.8405 57.1204 66.4179 57.2975 64.8258 55.2964C64.7074 55.1194 64.3542 54.3557 64.1767 54.2967C63.9401 54.2377 63.2337 55.1784 63.0562 55.3554C62.1131 56.1798 60.8742 56.6484 59.6353 56.8254C57.335 57.1205 54.8573 56.6484 53.4409 54.649C52.2612 52.943 52.0263 50.2946 52.9102 48.4115C54.504 44.8242 59.2212 44.4701 62.5846 43.8818C63.0579 43.8262 63.5295 43.7082 64.0602 43.6492ZM64.0602 53.4151V44.7061C62.2906 44.8242 60.4618 44.9422 59.8128 46.8842C59.3413 48.1789 59.3413 49.708 59.5187 51.0599C59.6371 52.0023 59.8737 53.179 60.7576 53.7691C61.7007 54.4165 63.2946 54.2985 64.0602 53.4151Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTheGuardian);\nexport default __webpack_public_path__ + \"static/media/the_guardian.b0ffed30fc8c48454ffcee528887ee19.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVogue(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 158,\n height: 41,\n viewBox: \"0 0 158 41\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.9083 0.175616C36.7344 0.241205 29.2305 10.4372 29.2305 19.3305C29.2305 28.6892 34.7312 40.1054 45.9083 40.0683C57.0853 40.0313 62.8866 27.7408 62.8866 19.3305C62.8866 10.0407 55.0821 0.110029 45.9083 0.175616ZM45.9083 0.524441C53.5864 0.524441 55.6579 9.00438 55.6579 19.3305C55.6579 32.9557 53.1591 39.6776 45.9083 39.6648C38.6574 39.652 36.2985 34.1504 36.2985 19.3305C36.2985 10.0471 38.2301 0.524441 45.9083 0.524441Z\",\n fill: \"#EDEDED\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.9142 19.5814C65.8731 9.46221 73.972 0.498563 80.8278 0.0538344C83.3042 -0.121609 86.4874 1.01243 88.3458 1.82027C89.6953 2.40688 92.45 1.55778 92.9392 0H93.206V13.7842H92.9392C92.9392 13.1966 90.3865 0.400393 80.8278 0.400393C73.7674 0.400393 73.0854 12.8151 73.0854 19.5814C73.0854 26.3477 73.2911 39.7426 81.5302 39.7426C85.5214 39.7426 88.4758 37.9965 89.2417 34.4638V23.7223H85.8915V23.2648H98.8773V23.7223H95.6744V39.4263H95.4136C95.4136 39.4263 94.8929 37.1604 92.2507 37.168C88.8736 37.1776 85.6888 40.1116 81.8065 40.0759C71.5393 39.9815 65.9553 29.7005 65.9142 19.5814Z\",\n fill: \"#EDEDED\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.04338 1.53361H0V1.0791H14.1642V1.53361H10.6107L20.7314 29.0181C23.8961 19.2748 26.3478 12.0725 29.6471 1.53361H26.1324V1.0791H33.6111V1.53361H30.2054L17.9048 39.8798L4.04338 1.53361Z\",\n fill: \"#EDEDED\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.862 30.4913L100.798 1.48912H96.9492V1.05469H111.129V1.48912H107.282L107.368 33.2884C108.219 36.9297 109.733 39.6927 114.905 39.7338C120.077 39.7749 123.594 36.6741 124.9 32.4365V1.48912H120.498L120.498 1.06748H156.533L156.608 14.9897H156.262C155.593 6.00064 152.125 2.60343 146.059 1.61234C143.972 1.2713 141.782 1.52412 139.014 1.5026V19.271C141.424 19.4572 143.992 19.3049 145.722 17.8186C147.296 16.4671 147.741 13.3445 147.856 12.0759H148.161V27.5467H147.831C147.736 27.5467 147.61 23.6644 145.722 21.8225C143.823 19.9685 141.404 19.5127 139.014 19.9544V38.9349C142.39 38.9349 145.082 39.2209 147.419 38.5801C154.524 36.6322 157.025 30.638 157.006 24.6261H157.401V39.3843H129.136V38.9349H132.332V1.48912H125.427V32.4365C124.644 35.3976 121.783 40.2963 114.453 40.2629C107.637 40.2318 100.877 37.1589 100.862 30.4913Z\",\n fill: \"#EDEDED\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVogue);\nexport default __webpack_public_path__ + \"static/media/vogue.d5554fe341a7ca46d53ca280c4993e85.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAlwaysPets(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 200,\n height: 100,\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 290.53 48.2\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:white;}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M480.36,63.25A1.39,1.39,0,0,1,479,64.6H465.21a1.34,1.34,0,0,1-1.35-1.35,1.23,1.23,0,0,1,.45-1l2.7-2.6-1.9-4.45a45.21,45.21,0,0,1-10.75-1.2l-2.55,5.7,2.7,2.55a1.37,1.37,0,0,1,.4,1,1.34,1.34,0,0,1-1.35,1.35h-8.95a1.34,1.34,0,0,1-1.35-1.35,1.32,1.32,0,0,1,.35-1l3.45-3.55,2.75-6.2c-9.55-4-12.05-11.75-8.6-17.45a4.18,4.18,0,0,1,3.5-2,3.46,3.46,0,0,1,1,.15l.15.05a3.81,3.81,0,0,1,2.35,5.6c-2.35,4-.8,7.5,3.35,9.75L460,29.55a1.94,1.94,0,0,1,3.55,0l12.95,29.2L480,62.3A1.37,1.37,0,0,1,480.36,63.25Zm-20.8-20.9-3.55,8a32.43,32.43,0,0,0,7.4,1Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M488.56,65.1a5.91,5.91,0,0,1-5.95-6.25V35.1l-1.7-1.5a1.61,1.61,0,0,1,.6-2.75l7.15-2.15a2.51,2.51,0,0,1,.6-.1,1.53,1.53,0,0,1,1,.35,1.78,1.78,0,0,1,.85,1.55V57.15c0,1.8.75,3.05,2.4,3.05a3.16,3.16,0,0,0,1.75-.55,1.23,1.23,0,0,1,1.65.15v.05a1.25,1.25,0,0,1-.05,1.75A11.93,11.93,0,0,1,488.56,65.1Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M532.26,39.9a1.4,1.4,0,0,1,1.4-1.4h5.75a1.34,1.34,0,0,1,1.35,1.35,1.37,1.37,0,0,1-.4.95l-2.3,2.25L532.61,61.3a6,6,0,0,1-11.55,0l-2.8-9.65-2.8,9.65a6,6,0,0,1-11.55,0l-5.45-18.25-2.3-2.25a1.37,1.37,0,0,1-.4-.95,1.34,1.34,0,0,1,1.35-1.35h10.7A1.45,1.45,0,0,1,509.26,40a1.36,1.36,0,0,1-.3.85l-1.6,2.25,4.15,15.1a.52.52,0,0,0,.5.35.48.48,0,0,0,.5-.35l3.75-12.9-3.1-4.45a1.69,1.69,0,0,1-.25-.85,1.45,1.45,0,0,1,1.45-1.45H525a1.41,1.41,0,0,1,1.4,1.45,1.31,1.31,0,0,1-.25.85l-1.6,2.25,4.15,15.1a.52.52,0,0,0,.5.35.43.43,0,0,0,.45-.35l4.6-15.55-1.6-1.8A1.56,1.56,0,0,1,532.26,39.9Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M565.31,60.05l1.9,2.25a1.2,1.2,0,0,1,.35.9,1.43,1.43,0,0,1-1.4,1.4h-5.7a3.6,3.6,0,0,1-3.55-2.9,12.4,12.4,0,0,1-8,3.4c-4.55,0-8.15-2.25-8.15-6.65,0-6.9,11.35-9.15,16-9.75V47.1c0-4.65-2-6.4-4.2-6.4-2.3,0-3.2,2.1-3.55,4.5a3.2,3.2,0,1,1-5.75-2.35c2.15-3,6.2-4.4,10.15-4.4,6.85,0,11.85,2.35,11.85,10Zm-12.7,1.15c1.45,0,3-1.05,4.2-2.2V50.85c-3.15.5-7,2.3-7,6.75C549.76,60,550.66,61.2,552.61,61.2Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M582.81,67.3c-2.2,5-5.9,9.3-11.7,9.3a4.68,4.68,0,0,1-1-9.3,2.62,2.62,0,0,1,.85-.1h1c2,0,3.45.75,4.6.75.9,0,1.6-.4,2.25-1.85l.7-1.5-9.75-21.55-2.25-2.25a1.18,1.18,0,0,1-.4-.95,1.34,1.34,0,0,1,1.35-1.35h11.65A1.45,1.45,0,0,1,581.61,40a1.69,1.69,0,0,1-.25.85l-1.65,2.25L584,52.8a.48.48,0,0,0,.45.3.53.53,0,0,0,.45-.3l4.6-10.2-1.6-1.8a1.29,1.29,0,0,1-.35-1.1,1.4,1.4,0,0,1,1.4-1.2h6.2a1.34,1.34,0,0,1,1.35,1.35,1.37,1.37,0,0,1-.4.95l-2.25,2.25Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M616.21,46.4a1.22,1.22,0,0,1-1.05-.6c-.85-1.5-3.3-5.2-6.35-5.2a2.44,2.44,0,0,0-2.65,2.75c0,6,12.15,4,12.15,13.55,0,5.2-5.7,8.1-11.85,8.1a19.81,19.81,0,0,1-8.1-1.5,1.42,1.42,0,0,1-.9-1.35V57.3a1.43,1.43,0,0,1,1.4-1.4,1.4,1.4,0,0,1,1.3,1c.7,1.85,2.55,5.9,6.15,5.9a3.35,3.35,0,0,0,3.35-3.6c0-5.95-12.2-3.65-12.2-13.3,0-5.1,4.9-7.45,10.45-7.45a25.91,25.91,0,0,1,8.5,1.5,1.5,1.5,0,0,1,1,1.4v3.9A1.22,1.22,0,0,1,616.21,46.4Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M646.56,50.7H644v9.35l2,2.25a1.43,1.43,0,0,1-1.1,2.3H634.71a1.43,1.43,0,0,1-1.1-2.3l1.9-2.25V33l-1.9-2.3a1.43,1.43,0,0,1,1.1-2.3h11.85c7.7,0,14.7,2.4,14.7,11.15S654.26,50.7,646.56,50.7Zm-1.7-18.3H644V45.9a.83.83,0,0,0,.85.8c5.6,0,7.4-2.5,7.4-7.15S650.46,32.4,644.86,32.4Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M671.11,54.8a8.28,8.28,0,0,0,7.5,4.7c3.2,0,5.4-2.2,6.45-3.45a1.26,1.26,0,0,1,1-.45,1.33,1.33,0,0,1,.6.15,1.28,1.28,0,0,1,.6,1.75,13.21,13.21,0,0,1-12,7.6c-8,0-13-5.5-13-13.3s5.55-13.35,13.55-13.35c4.7,0,9,2.75,11.05,9a1.47,1.47,0,0,1-.9,1.85Zm-1-2.55,9.5-3.55c-1.9-4.9-4.25-7-6.4-7a3.81,3.81,0,0,0-1.05.15C669.71,42.7,668.81,47.75,670.11,52.25Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M706.56,59.85a1.25,1.25,0,0,1,0,1.75,12.07,12.07,0,0,1-8.35,3.5,5.93,5.93,0,0,1-5.95-6.25V41.2H691a1.63,1.63,0,0,1-.55-3.15,16.3,16.3,0,0,0,8-5.8,1.41,1.41,0,0,1,1-.5,1.2,1.2,0,0,1,1.2,1.25v5.45l3.8,0a1.38,1.38,0,0,1,0,2.75l-3.8,0V57.15c0,1.8.8,3.05,2.45,3.05a3.13,3.13,0,0,0,1.7-.55,1.49,1.49,0,0,1,.75-.25,1.17,1.17,0,0,1,.9.4Z\",\n transform: \"translate(-439.74 -28.4)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M728.16,46.4a1.22,1.22,0,0,1-1-.6c-.85-1.5-3.3-5.2-6.35-5.2a2.44,2.44,0,0,0-2.65,2.75c0,6,12.15,4,12.15,13.55,0,5.2-5.7,8.1-11.85,8.1a19.81,19.81,0,0,1-8.1-1.5,1.42,1.42,0,0,1-.9-1.35V57.3a1.43,1.43,0,0,1,1.4-1.4,1.4,1.4,0,0,1,1.3,1c.7,1.85,2.55,5.9,6.15,5.9a3.35,3.35,0,0,0,3.35-3.6c0-5.95-12.2-3.65-12.2-13.3,0-5.1,4.9-7.45,10.45-7.45a25.91,25.91,0,0,1,8.5,1.5,1.5,1.5,0,0,1,1,1.4v3.9A1.22,1.22,0,0,1,728.16,46.4Z\",\n transform: \"translate(-439.74 -28.4)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAlwaysPets);\nexport default __webpack_public_path__ + \"static/media/always_pets.fffe6ea3aac117d14db57c4254e721a2.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFamilyMinded(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 200,\n height: 90,\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 2436.08 438.81\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{opacity:0.7;}.cls-2{fill:white;}.cls-3,.cls-4{fill:none;stroke-width:0.23px;}.cls-3{stroke:#95ebc2;}.cls-4{stroke:#20d680;}.cls-5{fill:white;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"cls-1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M3138,589.52S3125.17,611,3125.83,575l-5.33-28.79-13-21.08,3.71-21s8.5-1.55,64.26-4.73,158.76-8,347.8-14c0,0,37.8-3,101.12-6s152.17-5.81,254.27-5.49l63.8.51,169.15,1.67c140.47,1.56,328.94,4.11,520.92,8.23s387.49,9.89,542.12,17.45c77.32,3.73,144.43,8,195.78,12.24s87,8.65,101,11.51l-10.58-1.1c-6.92-.77-17-1.68-29.87-2.89-25.7-2.31-62.39-5.26-106.49-8.19-88.2-5.94-206.14-11.84-325.87-16.58-239.44-9.52-486-14.87-515.34-12.38,0,0,55.46,1.47,139.72,4.14s197.31,6.59,312.52,11.64,232.54,11.24,325.38,18.07c46.42,3.4,86.72,6.94,117.54,10.23,7.7.84,14.81,1.61,21.28,2.4s12.29,1.55,17.41,2.26c10.23,1.38,17.69,2.74,21.92,3.75,0,0-13.52-1.33-37.27-3.28s-57.74-4.48-98.73-7c-82-5.14-192-10.34-304.39-14.2-224.8-7.8-459.1-10.7-497.47-3.83,0,0,49.5,1.49,125.24,4.17s177.71,6.62,282.65,11.65S5122,535.57,5209.53,542.3s154.8,14,178.47,19.14l-24.27-2.31L5338,556.91c-9.58-.82-20-1.6-30.74-2.44-42.95-3.24-91-6-111.36-5.84q35.31,3.43,70.58,7.09-56.94-2.62-113.91-4.75l-65.7-5.33,7.68.65,20.34,1.8,29,2.67,33.56,3.31c46,4.69,93.5,10.4,99.58,13.26,0,0,20.37-.64.56-2.74-9.91-1.05-29.87-2.45-67.47-4.08s-92.84-3.42-173.31-4.91l-8.81-.6c-5.85-.39-14.57-1-26.08-1.63-23-1.35-57.18-3.21-101.74-5.12-89.11-3.86-219.84-7.89-386.16-9s-368.2.69-599.57,8.17S3422.13,568,3138,589.52Z\",\n transform: \"translate(-3099.81 -157.04)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"M3099.82,495.17l78.88-3c50.12-1.85,121.58-4.38,207-7.13,170.86-5.51,397.59-11.88,621-15.71l153.43,1.26c92.71.86,217.42,2.21,345.39,4.16s259.23,4.52,365,7.31,186.1,5.75,212.1,7.39l12.45.42,34.25,1.26c29.07,1.12,69.59,2.87,115.39,5.37s96.87,5.77,147.16,10.17c6.28.52,12.57,1.13,18.82,1.73s12.47,1.17,18.68,1.82c12.42,1.33,24.65,2.6,36.73,4.13,6,.74,12,1.46,17.93,2.31s11.74,1.6,17.57,2.51L5518.9,522l17,3.19\",\n transform: \"translate(-3099.81 -157.04)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-4\",\n d: \"M4509,474.76c-39.23-2.19-206.17-4.14-363.26-4.89s-304.36-.61-304.36-.61c-117.61-.89-303,5.29-459,12-78,3.35-148.63,6.81-199.78,9.44l-60.57,3.21-22.23,1.24\",\n transform: \"translate(-3099.81 -157.04)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-4\",\n d: \"M4528,504.28,4638.91,507c67.5,1.78,159.09,4.35,255.43,7.7s197.44,7.43,283.95,12c43.26,2.27,82.87,4.59,116.41,6.89s61,4.5,80,6.34\",\n transform: \"translate(-3099.81 -157.04)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"M4331.81,543.24l125.89,3.21c76,2,177.92,5,281.95,8.5s210.13,7.65,294.35,11.68,146.59,7.82,163.31,9.6\",\n transform: \"translate(-3099.81 -157.04)\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M3125.55,174.09H3286q.41,2.08.63,3.54a45.48,45.48,0,0,1,.2,5.19q0,22.45-25.77,22.45h-99.37v83.16h94.38V320h-94.38V452.24h-36.17Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M3299.75,300.48a63.85,63.85,0,0,1-5.61-11.64,30.78,30.78,0,0,1-2.29-10q0-7.07,11.23-13.3t28.06-9.77a163,163,0,0,1,33.47-3.54q39.07,0,56.54,16.64T3438.61,325v81.91q0,11.64,1.25,17.67t4.78,8.31q3.53,2.3,14.35,2.29v16.63a64.55,64.55,0,0,1-20.38,2.91q-30.77,0-33.67-23.7-13.32,13.32-28.48,19.13T3341.74,456q-29.52,0-45.94-15t-16.42-43.24q0-33.25,28.06-51.35t78.79-19.74q12.46,0,17.46.41v-6.23q0-20.79-10.19-29.52t-33.05-8.73a101.1,101.1,0,0,0-29.31,3.95q-13.09,3.94-27.23,13.92Zm104.36,53.22h-12.06q-37.85,0-57.58,10.6t-19.75,31.39q0,15.39,8.94,23.49t26.4,8.11a71.44,71.44,0,0,0,26.4-5q12.67-5,20.16-12.47t7.49-13.72Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M3502.22,256q4.58-.42,7.9-.42,23.28,0,26.2,21.2a77.23,77.23,0,0,1,27.44-18.08,92.44,92.44,0,0,1,34.5-6.45,76.89,76.89,0,0,1,32.43,6.86q15,6.87,22,18.92a78,78,0,0,1,28.06-18.92,93.41,93.41,0,0,1,35.55-6.86q24.94,0,40.75,11.44t20.37,32.22q2.89,11.22,2.91,38.25V452.24H3745V335.41c0-5.26-.07-10.33-.21-15.18a46.72,46.72,0,0,0-2.29-13.51q-2.91-11.64-12.26-17.05t-26.82-5.4a59.5,59.5,0,0,0-24.53,5.4q-12.06,5.41-18.71,13.31a244.23,244.23,0,0,1,1.67,30.76v118.5h-35.34V335.41q0-19.55-3.74-30.35-7.08-20.79-37.42-20.79a61.79,61.79,0,0,0-32.85,9.15q-15,9.15-15,19.54V452.24h-35.34Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M3835.24,192.8q0-10.38,6.45-17.05a22.59,22.59,0,0,1,32,0q6.45,6.66,6.45,17.05a22.46,22.46,0,1,1-44.91,0Zm6.24,61.95a69.45,69.45,0,0,1,7.48-.42q27.86,0,27.86,28.28V414.82q0,13.31,4.16,17.67t15.8,4.36v15q-8.73,2.91-22.87,2.91-11.22,0-18.29-3.74A23.51,23.51,0,0,1,3845,439.14q-3.53-8.11-3.53-27.23Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M3941.68,157.46a69.45,69.45,0,0,1,7.48-.42q27.86,0,27.86,28.28V413.15q0,11.66,1.66,15.8a10.8,10.8,0,0,0,5.82,6q4.15,1.88,12.47,1.87v15q-8.73,2.91-22.86,2.91-11.24,0-18.3-3.74a23.5,23.5,0,0,1-10.6-11.85q-3.54-8.11-3.53-27.23Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M4100.08,451.82H4086l-67.36-192.91a53.2,53.2,0,0,1,18.3-3.33q19.53,0,27.44,23.7l45.73,141.77,45.73-138q7.48-27.43,29.52-27.44a30.93,30.93,0,0,1,15.39,3.74L4125,479.26q-9.15,26.61-18.3,39.91t-21.82,19.75q-12.69,6.45-30.15,6.45t-27.23-5q-9.77-5-9.77-13.72,0-10,9.56-22.87,13.3,10.81,27.44,10.81a29.1,29.1,0,0,0,22.66-10q8.94-10,16.84-34.09Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M4253.5,174.92q3.75-1.65,11.64-1.66,5.82,0,9.36,2.49t7.69,10l86.06,178.78,86.9-177.95a32,32,0,0,1,8.11-10,17.63,17.63,0,0,1,11-3.33c5.54,0,9.57.56,12.06,1.66l20,277.32h-22.87l-16.63-239.48-86.06,173h-26.2L4273,219l-17.46,233.25h-23.7Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M4595.67,206.94a19.18,19.18,0,0,1-5.19,13.51,17.15,17.15,0,0,1-25.37,0,20.19,20.19,0,0,1,0-27,17.15,17.15,0,0,1,25.37,0A19.23,19.23,0,0,1,4595.67,206.94Zm-.83,247.37q-9.57,0-15.8-3.74c-4.15-2.49-7.21-6.51-9.14-12.05s-2.91-14.56-2.91-27V258.08h1.24q22.45,0,22.45,21.61V412.74a72.08,72.08,0,0,0,1.67,17.05c1.1,4.43,3.12,7.69,6,9.77s7.41,3.39,13.51,3.95v8.73A67.17,67.17,0,0,1,4594.84,454.31Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M4683.4,280.94q11.63-12,30.14-19.12a111.53,111.53,0,0,1,40.12-7.07q25.36,0,41.58,11.22t20.37,31.19q3.33,13.3,3.33,37V452.24h-24.12V334.16q0-20.37-3.74-31.18-7.9-26.61-47-26.61a87.36,87.36,0,0,0-32.43,6.44q-16.22,6.45-24.53,16a16.1,16.1,0,0,0-3.33,10.39v143H4659.7V258.08h1.66Q4683.4,258.08,4683.4,280.94Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M5016,157.46a7.48,7.48,0,0,1,2.28-.42h1.88q9.14,0,14.34,5.2t5.2,15.59V452.24H5016V433.53q-8.33,11.22-23.49,18.08a81.25,81.25,0,0,1-33.89,6.86q-39.49,0-61.53-26t-22-74.22q0-33.25,11-56.12t31-35.14q19.95-12.26,44.9-12.26,17,.42,28.48,5t17.67,10a76,76,0,0,1,7.9,7.48ZM4900.84,353.7q0,41.16,16,62.78t46.77,21.62a64.84,64.84,0,0,0,35.34-10q15.79-10,17.05-21.2V298.82q-20.39-24.1-50.73-24.11-31.59,0-48,20.16T4900.84,353.7Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M5253.82,428.54q0,6.24-10.81,13.93a82.08,82.08,0,0,1-25.36,11.84,110.06,110.06,0,0,1-30.35,4.16q-44.49,0-68-26.61t-23.49-77.33q0-31.18,11-53.63t31-34.3q20-11.85,44.9-11.85,36.18,0,56.13,22.66t20,61.32a193,193,0,0,1-1.25,21.21H5121.19q.82,38.25,17.88,58.41t49.06,20.17q19.13,0,34.09-6.86T5244.67,414Q5253.82,424.39,5253.82,428.54Zm-18.71-86.48q0-67.35-54.46-67.35-26.62,0-42.41,17.87t-16.63,49.48Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M5443.41,157.46a7.48,7.48,0,0,1,2.28-.42h1.87q9.15,0,14.35,5.2t5.19,15.59V452.24h-23.69V433.53q-8.33,11.22-23.5,18.08a81.24,81.24,0,0,1-33.88,6.86q-39.51,0-61.53-26t-22-74.22q0-33.25,11-56.12t31-35.14q20-12.26,44.91-12.26,17,.42,28.48,5t17.67,10a78.3,78.3,0,0,1,7.9,7.48ZM5328.24,353.7q0,41.16,16,62.78T5391,438.1a64.86,64.86,0,0,0,35.34-10q15.8-10,17.05-21.2V298.82q-20.39-24.1-50.73-24.11-31.61,0-48,20.16T5328.24,353.7Z\",\n transform: \"translate(-3099.81 -157.04)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFamilyMinded);\nexport default __webpack_public_path__ + \"static/media/family_minded.5a6d49d869ac82a467cbff2085e593f3.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFarWide(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 200,\n height: 90,\n fill: \"white\",\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 2533.92 289.26\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:white;}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M405.84,245.37v38H280.24v83.2h93.6v37.2h-93.6v118.4h-40.8V245.37Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M601.84,245.37l106.4,276.8H665l-22-59.6H517.84l-21.6,59.6H453l105.2-276.8ZM531,426.17h98.4l-49.6-134Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M911.84,245.37a126.46,126.46,0,0,1,38,5.4,83.55,83.55,0,0,1,29.6,16,69.1,69.1,0,0,1,19,26.6q6.6,16,6.6,37.2,0,33.21-15.6,53.2T947,411.37l71.2,110.8h-46.4l-66.4-106.4h-66v106.4h-40.8V245.37Zm-72.4,135.2h73.2q24,0,38.8-12t14.8-37.2q0-25.2-14.8-37t-38.8-11.8h-73.2Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M1331.27,397.37q-24.4,0-37.69,12.11t-13.28,34.18q0,21.68,14.16,33.69t39.94,12q36.91,0,57.23-29.1t20.31-82h37.89q0,46.68-14.65,79.49t-42.38,50.1q-27.73,17.28-67.19,17.28-40,0-62-21.29t-22-60.15q0-34.77,19.14-55.67t54.1-24.22Zm89.26,124.8-108.2-112.89a158.61,158.61,0,0,1-31.74-44.92A118.42,118.42,0,0,1,1269.36,314q0-37.11,19.92-57.62t56.25-20.51q36.13,0,56,19.63T1421.31,311h-39.84q0-17.39-9.37-26.86t-26.57-9.47q-17.19,0-26.76,10.25t-9.57,29q0,17.19,8.4,35.45a132.12,132.12,0,0,0,23.64,34.66l129.88,138.09Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1715.37,245.37l49.2,202.8,58.4-202.8h39.6l57.6,202.8,50.4-202.8H2013l-69.6,276.8h-39.6l-61.2-202.8-63.2,202.8h-38.8l-68.4-276.8Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2145,245.37v276.8h-41.2V245.37Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2343,245.37a162.1,162.1,0,0,1,56.2,9.6,135.9,135.9,0,0,1,45.6,27.4,125.67,125.67,0,0,1,30.4,43.2q11,25.41,11,57.4t-11.2,57.8a129,129,0,0,1-30.6,43.8,137.06,137.06,0,0,1-45.4,27.8,157.36,157.36,0,0,1-56,9.8h-81.2V245.37Zm-40,239.2h40.4a113.22,113.22,0,0,0,39.6-6.8,91.89,91.89,0,0,0,54-51.6q8-18.8,8-42.8,0-23.6-7.8-42.2a89.3,89.3,0,0,0-21.6-31.4,95.2,95.2,0,0,0-32.4-19.6,115.1,115.1,0,0,0-39.8-6.8H2303Z\",\n transform: \"translate(-239.44 -235.84)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2770.56,245.37v38h-134v78.8h99.6V399h-99.6v85.2h136.8v38h-177.6V245.37Z\",\n transform: \"translate(-239.44 -235.84)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFarWide);\nexport default __webpack_public_path__ + \"static/media/far_wide.e247cf203684b7ec62f1213676552179.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _polygon, _polygon2, _path, _path2, _polygon3, _polygon4, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgWorkMoney(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 200,\n height: 60,\n fill: \"white\",\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 887.13 128.58\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:white;}\"))), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-1\",\n points: \"400.99 45.34 400.99 22.84 381.27 22.84 381.27 45.34 359.28 45.34 359.28 63.54 381.27 63.54 381.27 86.04 400.99 86.04 400.99 63.54 422.99 63.54 422.99 45.34 400.99 45.34\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"119 0 101.03 51.97 85.13 0 60.41 0 44.38 51.97 26.53 0 0 0 34.69 99.37 52.88 99.37 72.7 35.99 92.65 99.37 110.85 99.37 145.53 0 119 0\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M236.81,220.15c-11.62,0-21.42,3.89-29.12,11.54a40.21,40.21,0,0,0,0,56.53c7.7,7.61,17.5,11.46,29.12,11.46s21.41-3.85,29.11-11.46a40.19,40.19,0,0,0,0-56.53C258.22,224,248.42,220.15,236.81,220.15Zm12.09,53.62a16.63,16.63,0,0,1-24.18,0c-3.17-3.5-4.77-8.14-4.77-13.78s1.6-10.31,4.77-13.86a16.47,16.47,0,0,1,24.17,0c3.17,3.55,4.78,8.21,4.78,13.86S252.06,270.27,248.9,273.77Z\",\n transform: \"translate(-60.43 -199.21)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M328.6,220.15a28.77,28.77,0,0,0-12.88,3.49A38.73,38.73,0,0,0,308,229v-7.6H284.25v77.19H308V265c0-6.82,1.44-12.34,4.28-16.42s6.84-5.89,12.51-5.89h5.54l-.16-22.52Z\",\n transform: \"translate(-60.43 -199.21)\"\n })), _polygon3 || (_polygon3 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"321.26 53.78 351.1 22.04 320.86 22.04 300.04 44.23 300.04 0 276.31 0 276.31 99.37 300.04 99.37 300.04 77.1 305.05 71.89 323.32 99.37 351.52 99.37 321.26 53.78\"\n })), _polygon4 || (_polygon4 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"515.91 0 491.95 50.84 468.12 0 436.54 0 436.54 99.37 461.1 99.37 461.1 43.8 484.52 91.38 499.23 91.38 522.79 43.76 522.79 99.37 547.35 99.37 547.35 0 515.91 0\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M684.34,231.69c-7.7-7.65-17.5-11.54-29.11-11.54s-21.42,3.89-29.12,11.54a40.21,40.21,0,0,0,0,56.53c7.7,7.61,17.5,11.46,29.12,11.46s21.41-3.85,29.11-11.46a40.21,40.21,0,0,0,0-56.53Zm-17,42.08a16.64,16.64,0,0,1-24.19,0c-3.16-3.5-4.77-8.14-4.77-13.78s1.61-10.31,4.78-13.86a16.47,16.47,0,0,1,24.17,0c3.17,3.55,4.78,8.21,4.78,13.86S670.48,270.27,667.32,273.77Z\",\n transform: \"translate(-60.43 -199.21)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M766.69,228.89A27.7,27.7,0,0,0,746,220.15a29.55,29.55,0,0,0-19.55,7.53v-6.29H702.67v77.19H726.4V255.72c0-5.33,1.4-9.39,4.15-12.06a13.47,13.47,0,0,1,9.75-4c7.41,0,11,5.09,11,15.56v43.41H775V252C775,242.45,772.23,234.67,766.69,228.89Z\",\n transform: \"translate(-60.43 -199.21)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M887.18,327.79c-7.62,0-14.87-3.1-21.57-9.22l-.93-.85,11-18,1.38,1.34c3.17,3.09,6.43,4.66,9.67,4.66a4.57,4.57,0,0,0,3.73-2.2,8.44,8.44,0,0,0,1.77-5.05c-.19-1.82-5.32-16.33-28.55-75l-.83-2.1h25.34l17,43.48,17-43.48h25.34L912.3,310.84a26.21,26.21,0,0,1-10,12.49A27.05,27.05,0,0,1,887.18,327.79Z\",\n transform: \"translate(-60.43 -199.21)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M887.18,326.26q-10.89,0-20.53-8.82L876,302.15q5.24,5.09,10.74,5.09a6,6,0,0,0,5-2.82,10,10,0,0,0,2.07-6q0-3.18-28.66-75.5h22l18,46.15,18-46.15h22.05l-34.45,87.34a24.54,24.54,0,0,1-9.43,11.78A25.47,25.47,0,0,1,887.18,326.26Z\",\n transform: \"translate(-60.43 -199.21)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M863.3,260.93a40.77,40.77,0,0,0-52-39.19,39.56,39.56,0,0,0-17.74,9.61c-7.36,6.77-11.28,15.87-11.68,27.06-.05.83-.09,1.67-.09,2.52a40.43,40.43,0,0,0,.68,7.35,36.07,36.07,0,0,0,10.87,21c7.61,7.18,17.35,10.82,29,10.82a43.1,43.1,0,0,0,30.47-12.27l1.1-1L840.12,272,839,273.16c-4.42,4.59-9.92,6.83-16.81,6.83A18.87,18.87,0,0,1,811,276.42a13.4,13.4,0,0,1-5.32-7.15h56.84A41.68,41.68,0,0,0,863.3,260.93Zm-59.9-10.65a21.89,21.89,0,0,1,38.25,0Z\",\n transform: \"translate(-60.43 -199.21)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWorkMoney);\nexport default __webpack_public_path__ + \"static/media/work_money.1ed7a11726904610c95ef7c6ba4640a5.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _path7, _polygon, _path8, _path9, _path10, _path11;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStadiumTalk(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 200,\n height: 90,\n fill: \"white\",\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 2539.97 380.54\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:white;}.cls-2{fill: black;}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M3152.84,439q29.4,27.81,62.77,31t45.68-11.12q12.32-14.29,5.56-29t-63.56-26.22q-56.8-11.5-71.9-46.08t6.36-72.7q21.45-38.13,78.65-39.72t102.49,40.52l-38.13,38.14q-31.78-25.42-63.56-25.83T3181.84,319q-3.57,21.45,34.16,29.4a316,316,0,0,1,71.11,23.83q33.38,15.9,36.95,56.41t-21.85,65.94q-25.42,25.44-69.92,27t-74.68-12.71q-30.2-14.31-41.91-33.77Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M3437.45,239.55v77.06h47.67l.2,50.46h-47.67l-.2,82.23q0,18.27,13.5,20.65t34.17-15.89l-7.75,55.62q-24.82,12.7-47.87,10.33t-33.76-19.47a70.83,70.83,0,0,1-10.93-37.74V367.07h-34.36V316.81h34.36V264Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M3647.83,517.62v-14.3q-19.87,18.29-49.26,17.88a73.09,73.09,0,0,1-50.85-20.66q-21.45-20.25-20.26-54.82t27.41-48.86a107.48,107.48,0,0,1,55.22-13.51q29,.79,37.74,7.95V380.18q0-10.33-7.95-18.28t-31.78-6.75a88,88,0,0,0-44.49,14.7L3543,331.71q31.78-19.06,70.71-19.86T3676,327.34q23.43,16.29,23.44,55.22V517.62Zm0-60.38V433.41q-15.9-8.75-31-9.54t-25.42,5.56q-10.34,6.36-10.73,19.47t8.74,20.26q9.14,7.15,26.22,6.36T3647.83,457.24Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M3869.15,517.62v-14.3q-18.29,19.08-46.48,18.28T3771,495.78q-23.45-25-23.44-79.85T3771,336.08q23.43-25,51.64-25t46.48,15.1V263.38l52.44-26.22V517.62Zm0-64.35V379.38q-16.68-17.47-33.37-17.08t-25,11.92q-8.34,11.52-8.34,38.13t9.14,42.91q9.13,16.29,25.82,15.89T3869.15,453.27Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M4005.71,239.55q13.51,0,21.46,9.53a32.68,32.68,0,0,1,7.94,21.45,32.12,32.12,0,0,1-7.55,21.06q-7.54,9.14-21.85,9.13t-22.64-9.53q-8.34-9.54-8.34-21.05t8.34-21.06Q3991.41,239.55,4005.71,239.55Zm-27,76.27h52.44v201.8H3978.7Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M4086.83,315.82h52.44v112q0,19.86,7.15,31.38t25,11.12q17.86-.39,26.61-11.92t8.74-34.56v-108h52.44v201.8H4206.8v-14.3q-24.63,17.49-49.66,17.88t-47.67-17.88q-22.64-18.27-22.64-72.3Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M4369.67,315.82v11.92q25.42-18.27,53.63-16.69t50.45,24.63q23.84-26.22,62-24.63t55.62,23.44q17.47,21.86,17.47,58.4V517.62h-53.23V394.48q0-15.9-7.55-24.63t-23.43-8.74q-15.9,0-24.63,9.13t-8.74,26.62V517.62h-52V395.27q-.4-12.7-9.93-23.44t-25-10.72q-15.49,0-25,9.93a32.74,32.74,0,0,0-9.53,23.44V517.62h-52.84l-.39-201.8Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-2\",\n points: \"1568.84 255.98 1668.82 222.65 1689.33 0 2481.47 0 2539.97 380.54 1715.89 380.54 1568.84 255.98\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M4840.92,243.93h207.36v53.23h-77.06V512.47H4915.4V297.16h-74.48Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M5163.15,512.47v-14.3q-19.87,18.29-49.26,17.88A73.09,73.09,0,0,1,5063,495.39q-21.45-20.26-20.26-54.82t27.41-48.86a107.3,107.3,0,0,1,55.22-13.51q29,.8,37.74,7.94V375q0-10.32-7.95-18.27T5123.42,350a88.17,88.17,0,0,0-44.49,14.7l-20.66-38.13q31.78-19.08,70.71-19.87t62.37,15.5q23.44,16.29,23.44,55.21V512.47Zm0-60.38V428.25q-15.88-8.73-31-9.53t-25.42,5.56q-10.33,6.36-10.73,19.47t8.74,20.26q9.15,7.14,26.22,6.35T5163.15,452.09Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M5272.68,512.47v-255l52.44-26.21V512.47Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M5383.33,512.47v-255l52.44-26.21V379l50.85-68.32H5551l-51.64,63.56,58.79,138.24h-59.59l-38.13-92.16-24.63,30.19v62Z\",\n transform: \"translate(-3115.7 -183.36)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStadiumTalk);\nexport default __webpack_public_path__ + \"static/media/stadium_talk.fe52075e67a24effdb8d7a49fc078ce6.svg\";\nexport { ForwardRef as ReactComponent };","import AppleAwardLogo from '../../../assets/loonaWeb/logos/apple_award.svg';\nimport BazaarLogo from '../../../assets/loonaWeb/logos/bazaar.svg';\nimport CNNLogo from '../../../assets/loonaWeb/logos/cnn.svg';\nimport ForbesLogo from '../../../assets/loonaWeb/logos/forbes.svg';\nimport GoogleAwardLogo from '../../../assets/loonaWeb/logos/google_award.svg';\nimport GoogleLogo from '../../../assets/loonaWeb/logos/google.svg';\nimport GQLogo from '../../../assets/loonaWeb/logos/gq.svg';\nimport QuartzLogo from '../../../assets/loonaWeb/logos/quartz.svg';\nimport TechCrunchLogo from '../../../assets/loonaWeb/logos/tech_crunch.svg';\nimport TheGuardianLogo from '../../../assets/loonaWeb/logos/the_guardian.svg';\nimport VogueLogo from '../../../assets/loonaWeb/logos/vogue.svg';\nimport AlwaysPets from '../../../assets/loonaWeb/logos/always_pets.svg';\nimport FamilyMinded from '../../../assets/loonaWeb/logos/family_minded.svg';\nimport FarAndWide from '../../../assets/loonaWeb/logos/far_wide.svg';\nimport WorkAndMoney from '../../../assets/loonaWeb/logos/work_money.svg';\nimport StadiumTalk from '../../../assets/loonaWeb/logos/stadium_talk.svg';\n\ntype Logo = {\n url: string;\n image: string;\n};\n\nexport const Logos: Logo[] = [\n {\n image: GoogleLogo,\n url: 'https://play.google.com/store/apps/topic?id=campaign_editorial_bestof2020_bestapp&hl=en_US&fbclid=IwAR1vqN-gHmTxjo0spab3CP4R4ACHN6tDil9V1TbBoJ2neqjo32iG43h1LDs',\n },\n {\n image: AppleAwardLogo,\n url: 'https://www.apple.com/newsroom/2021/06/apple-announces-winners-of-the-2021-apple-design-awards/',\n },\n {\n image: VogueLogo,\n url: 'https://www.vogue.co.uk/beauty/article/natalia-vodianova-loona-app',\n },\n { image: GQLogo, url: 'https://www.gq.ru/success/loona' },\n {\n image: ForbesLogo,\n url: 'https://www.forbes.com/sites/stephanrabimov/2021/05/14/how-a-supermodel-took-on-the-science-of-sleep/?sh=57d5c4f35768',\n },\n {\n image: BazaarLogo,\n url: 'https://www.harpersbazaar.com/uk/fashion/fashion-news/a37167248/natalia-vodianova-cover-interview/',\n },\n {\n image: TechCrunchLogo,\n url: 'https://techcrunch.com/2020/12/01/google-plays-best-of-2020-awards-highlight-the-stressful-year-its-been/',\n },\n {\n image: GoogleAwardLogo,\n url: 'https://play.google.com/store/apps/topic?id=campaign_editorial_bestof2020_bestapp&hl=en_US&fbclid=IwAR1vqN-gHmTxjo0spab3CP4R4ACHN6tDil9V1TbBoJ2neqjo32iG43h1LDs',\n },\n {\n image: CNNLogo,\n url: 'https://edition.cnn.com/2020/12/02/tech/best-apps-of-2020/index.html',\n },\n {\n image: TheGuardianLogo,\n url: 'https://www.theguardian.com/lifeandstyle/2021/mar/07/from-posh-blankets-to-aural-apps-the-firms-cashing-in-on-the-demand-for-sleep-aids',\n },\n {\n image: QuartzLogo,\n url: 'https://qz.com/1958045/what-meditation-app-is-best-for-you/',\n },\n {\n image: AlwaysPets,\n url: 'https://www.alwayspets.com/',\n },\n {\n image: FamilyMinded,\n url: 'https://www.familyminded.com/',\n },\n {\n image: FarAndWide,\n url: 'https://www.farandwide.com/',\n },\n {\n image: WorkAndMoney,\n url: 'https://www.workandmoney.com/',\n },\n {\n image: StadiumTalk,\n url: 'https://www.stadiumtalk.com/',\n },\n];\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__C34F6\",\"wrapper\":\"styles_wrapper__hj1fV\",\"content\":\"styles_content__cHHKF\",\"slide\":\"styles_slide__YFzDs\",\"hoverable\":\"styles_hoverable__qCIiO\"};","import React from 'react';\nimport { isTouchDevice } from '../../utils';\nimport { Logos } from './Ticket.constants';\nimport styles from './styles.module.scss';\n\nexport const Ticker = () => {\n const logoItems = Logos.map(({ url, image }, index) => (\n \n \"\"\n \n ));\n return (\n
\n
\n \n {logoItems}\n {logoItems}\n
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__hDkS3\",\"appear\":\"styles_appear__vW1VU\",\"background\":\"styles_background__uX5Bm\",\"content\":\"styles_content__xEC2q\",\"title\":\"styles_title__PttOI\",\"description\":\"styles_description__Ywajb\",\"animate\":\"styles_animate__RyPnz\"};","import React from 'react';\nimport styles from './styles.module.scss';\nimport { useInView } from 'react-intersection-observer';\n\ntype Props = {\n title: JSX.Element | string;\n description?: JSX.Element | string;\n background: string;\n children?: JSX.Element | JSX.Element[];\n className: string;\n};\n\nexport const Card = ({\n title,\n description,\n background,\n children,\n className,\n}: Props) => {\n const { ref, inView } = useInView({\n triggerOnce: true,\n });\n\n return (\n \n \n
\n
{title}
\n
{description}
\n {children}\n
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Dg7-r\",\"description\":\"styles_description__8z2nt\",\"accent\":\"styles_accent__yI+Oo\",\"anxiety\":\"styles_anxiety__kXfW5\",\"breadCrumbs\":\"styles_breadCrumbs__XwUH0\",\"sleep\":\"styles_sleep__g1h92\",\"title\":\"styles_title__egH5z\",\"phone\":\"styles_phone__RmyFk\",\"wakeUp\":\"styles_wakeUp__xXxhp\",\"perform\":\"styles_perform__iU2ID\",\"progress\":\"styles_progress__C2AfZ\",\"anxietyTitle\":\"styles_anxietyTitle__mRp0F\"};","import React from 'react';\nimport { Card } from '../../components/card/Card';\nimport BreadCrumbs from '../../../assets/loonaWeb/cards/anxiety_breadcrumb.png';\nimport EaseIntoSleepPhone from '../../../assets/loonaWeb/cards/ease_into_sleep_phone.png';\nimport WakeUpPhone from '../../../assets/loonaWeb/cards/wake_up_phone.png';\nimport PerformBetterProgress from '../../../assets/loonaWeb/cards/perform_better_progress.png';\nimport AnxietyBg from '../../../assets/loonaWeb/cards/anxiety_bg.png';\nimport EaseIntoSleepBg from '../../../assets/loonaWeb/cards/ease_into_sleep_bg.png';\nimport WakeUpBg from '../../../assets/loonaWeb/cards/wake_up_bg.png';\nimport PerformBetterBg from '../../../assets/loonaWeb/cards/perform_better_bg.png';\nimport styles from './styles.module.scss';\n\ntype Card = {\n id: string;\n background: string;\n title: JSX.Element;\n description?: JSX.Element;\n image: string;\n};\n\nexport const HeroSection = () => {\n return (\n
\n \n Relieve anxiety.{' '}\n \n Interact with calming activities{' '}\n \n to hold your focus just long enough\n {'\\n'}to\n quiet your racing thoughts.\n
\n }\n >\n \"\"\n \n \n Ease into sleep\n \n }\n description={\n
\n \n Create a comforting yet engaging nightly routine\n {' '}\n filled with wonder to blanket you in slumber.\n
\n }\n >\n \"\"\n \n \n Wake up refreshed\n \n }\n description={\n
\n \n It’s hard to be a morning person if you haven’t slept all night.{' '}\n \n Treat yourself to rest and wake up on the right side of the bed.\n
\n }\n >\n \"\"\n \n \n Perform better\n \n }\n description={\n
\n \n Utilize your sleep to jumpstart your body and mind.{' '}\n \n Usher in a better, more productive, and creative new day.\n
\n }\n >\n \"\"\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"styles_card__y8j0K\",\"content\":\"styles_content__PguSv\",\"background\":\"styles_background__YK5AW\",\"text\":\"styles_text__u8p5X\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n text: string | JSX.Element;\n background: string;\n};\n\nconst ContentCard = ({ background, text }: Props) => {\n return (\n
\n
\n \n
{text}
\n
\n
\n );\n};\n\nexport default ContentCard;\n","import React from 'react';\n\ntype Props = {\n onMove?: () => void;\n onClick?: () => void;\n index?: number;\n active?: boolean;\n};\n\nconst LinkItem = ({ onMove, onClick, active, index }: Props) => {\n const navigationItems = [\n 'Escapes',\n 'Immersive stories',\n 'Music & Nature sounds',\n 'Breathing exercises',\n ];\n\n return (\n {\n if (onMove) {\n onMove();\n }\n if (onClick) {\n onClick();\n }\n }}\n >\n {navigationItems[index || 0]}\n \n );\n};\n\nexport default LinkItem;\n","import { useState, useEffect } from 'react';\n\nexport const MOBILE_QUERY = '(min-width:480px)';\nexport const TABLET_QUERY = '(min-width:740px)';\n\nexport const useMediaQuery = (query: string) => {\n const [matches, setMatches] = useState(false);\n\n useEffect(() => {\n const media = window.matchMedia(query);\n if (media.matches !== matches) {\n setMatches(media.matches);\n }\n const listener = () => setMatches(media.matches);\n window.addEventListener('resize', listener);\n return () => window.removeEventListener('resize', listener);\n }, [matches, query]);\n\n return matches;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"centeredDot\":\"styles_centeredDot__fpooh\"};","import { useEffect } from 'react';\n\ndeclare global {\n interface Window {\n usePreloadImagesData?: Record;\n }\n}\n\nexport const usePreloadImages = (imageSources: string[]): void => {\n useEffect(() => {\n const randomStr = Math.random().toString(32).slice(2) + Date.now();\n window.usePreloadImagesData = window.usePreloadImagesData ?? {};\n window.usePreloadImagesData[randomStr] = [];\n for (const src of imageSources) {\n const img = new Image();\n img.src = src;\n window.usePreloadImagesData[randomStr].push(img);\n }\n return () => {\n delete window.usePreloadImagesData?.[randomStr];\n };\n }, [imageSources]);\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 6,\n height: 10,\n viewBox: \"0 0 6 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.749857 1.24996L4.49971 4.99976L0.749857 8.74955\",\n stroke: \"white\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"static/media/arrow_right.89c4222fc7c47c9502333ca3d990022b.svg\";\nexport { ForwardRef as ReactComponent };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import React, { useState } from 'react';\nimport ContentCard from '../card/Card';\nimport Carousel from 'react-multi-carousel';\nimport LinkItem from '../item/linkItem';\nimport {\n TABLET_QUERY,\n useMediaQuery,\n} from '../../../../../hooks/useMediaQuery';\nimport 'react-multi-carousel/lib/styles.css';\nimport styles from './styles.module.scss';\n\nimport MusicContentBg from '../../../../../assets/loonaWeb/cards/music_content.png';\nimport SleepscapesContentBg from '../../../../../assets/loonaWeb/cards/sleepscapes_content.png';\nimport StoriesContentBg from '../../../../../assets/loonaWeb/cards/stories_content.png';\nimport EpisodeContentBg from '../../../../../assets/loonaWeb/cards/episode_content.png';\n\nimport MobileSleepscapesContentBg from '../../../../../assets/loonaWeb/mobile/sleepscapes_content.png';\nimport MobileMusicContentBg from '../../../../../assets/loonaWeb/mobile/music_content.png';\nimport MobileStoriesContentBg from '../../../../../assets/loonaWeb/mobile/stories_content.png';\nimport MobileEpisodeContentBg from '../../../../../assets/loonaWeb/mobile/episode_content.png';\nimport { usePreloadImages } from '../../../../../hooks/usePreloadImages';\n\nconst ContentCarousel = () => {\n const isLargeScreen = useMediaQuery(TABLET_QUERY);\n const [isScrollActive, setScrollActive] = useState(false);\n\n usePreloadImages(\n isLargeScreen\n ? [\n MusicContentBg,\n SleepscapesContentBg,\n StoriesContentBg,\n EpisodeContentBg,\n ]\n : [\n MobileSleepscapesContentBg,\n MobileMusicContentBg,\n MobileStoriesContentBg,\n MobileEpisodeContentBg,\n ],\n );\n\n const getSlides = () => {\n return [\n {\n text: (\n <>\n Escapes invite you to color a\n magical rotating diorama while being guided by marvelous narration\n to gently occupy your mind.{' '}\n \n Disengage from solving all the world’s problems while in bed,\n {' '}\n and slip into sleep instead.\n \n ),\n background: isLargeScreen\n ? SleepscapesContentBg\n : MobileSleepscapesContentBg,\n },\n {\n text: (\n <>\n \n Soothe the mind with unique sound design experiences.\n {' '}\n Tailored music and sound effects for each tale take you on a\n 360-audio-encounter{' '}\n \n with the most compelling storytelling.\n {' '}\n Unleash a sense of wonder and endless imagination.\n \n ),\n background: isLargeScreen ? StoriesContentBg : MobileStoriesContentBg,\n },\n {\n text: (\n <>\n Dive into a world of original music{' '}\n created with the help of analog instrumentation. Loóna’s gallery of\n sublime natural sounds is{' '}\n \n designed to alleviate anxiety, promote relaxation, and provide a\n bit of magic to your evening routine.\n \n \n ),\n background: isLargeScreen ? MusicContentBg : MobileMusicContentBg,\n },\n {\n text: (\n <>\n Inhale calm, and exhale worry with\n Loóna breathing exercises. Designed to inspire resilience,{' '}\n \n take a deep breath and lose yourself in this centering experience.\n \n \n ),\n background: isLargeScreen ? EpisodeContentBg : MobileEpisodeContentBg,\n },\n ];\n };\n\n const SLIDES = getSlides();\n\n const responsive = {\n desktop: {\n breakpoint: { max: 4000, min: 0 },\n items: 1,\n },\n tablet: {\n breakpoint: { max: 1024, min: 464 },\n items: 1,\n },\n mobile: {\n breakpoint: { max: 464, min: 0 },\n items: 1,\n },\n };\n\n return (\n }\n className={isScrollActive ? styles.centeredDot : ''}\n swipeable\n afterChange={() => setScrollActive(false)}\n beforeChange={() => setScrollActive(true)}\n >\n {SLIDES.map((slide, idx) => (\n \n ))}\n \n );\n};\n\nexport default ContentCarousel;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__-sPrL\",\"button\":\"styles_button__KFwoP\",\"overlay\":\"styles_overlay__ermxV\",\"title\":\"styles_title__7ZKae\"};","import React from 'react';\nimport { Title } from '../title/Title';\nimport { appAnalytics } from '../../../analytics';\nimport { SignUp } from '../../analytics';\nimport { getOneLink, getLink, isTouchDevice } from '../../utils';\nimport ContentCarousel from './components/carousel/Carousel';\n\nimport styles from './styles.module.scss';\n\nexport const Content = () => {\n const getUrl = () => {\n if (isTouchDevice()) {\n return getOneLink({\n mediaSource: 'website',\n campaign: 'content',\n retargeting: 'true',\n });\n } else {\n return getLink(\n 'https://install.loona.app?payment=plan-selector-ramp-direct',\n {\n utmSource: 'website',\n utmMedium: 'social',\n utmCampaign: 'index',\n utmContent: 'content',\n },\n );\n }\n };\n\n const handleButtonClick = () => {\n appAnalytics.trackEvent(new SignUp());\n window.location.href = getUrl();\n };\n\n return (\n
\n \n Content so good {'\\n'}\n <span>it will put you to sleep</span>\n \n\n \n \n
\n );\n};\n","var _circle, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 40,\n height: 40,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.05,\n r: 25,\n transform: \"matrix(-4.37114e-08 -1 -1 4.37114e-08 25 25)\",\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9998 26.0002L25 21.0005L20.0002 26.0002\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowUp);\nexport default __webpack_public_path__ + \"static/media/arrow_up.d4a1aea829aa9bd7d8d7a1b4f5db89cc.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__2673T\",\"description\":\"styles_description__SqOHR\",\"accent\":\"styles_accent__TOCIu\",\"topGradient\":\"styles_topGradient__jtbpY\",\"background\":\"styles_background__KNJy9\",\"button\":\"styles_button__JHQiF\",\"overlay\":\"styles_overlay__VvgJD\",\"title\":\"styles_title__g8im+\",\"cardsWrapper\":\"styles_cardsWrapper__TMEqZ\",\"bundles\":\"styles_bundles__7LSb0\",\"bundlesTitle\":\"styles_bundlesTitle__jm191\",\"subtitle\":\"styles_subtitle__gT1-t\",\"sign\":\"styles_sign__Zpjm0\",\"doctor\":\"styles_doctor__oE8hf\",\"artActivities\":\"styles_artActivities__XbV05\",\"progress\":\"styles_progress__LPyoJ\",\"phone\":\"styles_phone__7H7pR\",\"tree\":\"styles_tree__Rs5OJ\",\"treeTitle\":\"styles_treeTitle__+NB3a\",\"breathingPractices\":\"styles_breathingPractices__-Nfnn\",\"soundHealing\":\"styles_soundHealing__Zc2Ga\",\"soundHealingTitle\":\"styles_soundHealingTitle__B+dVO\",\"bottomGradient\":\"styles_bottomGradient__ZGlw1\"};","import React from 'react';\nimport { Card } from '../card/Card';\nimport { Title } from '../title/Title';\nimport DoctorBg from '../../../assets/loonaWeb/cards/doctor_bg.png';\nimport ArtActivitiesBg from '../../../assets/loonaWeb/cards/art_activities_bg.png';\nimport TreeBg from '../../../assets/loonaWeb/cards/tree_bg.png';\nimport TreeBgMobile from '../../../assets/loonaWeb/mobile/tree_bg.png';\nimport BreathingPracticesBg from '../../../assets/loonaWeb/cards/breathing_practices_bg.png';\nimport SoundHealingBg from '../../../assets/loonaWeb/cards/sound_healing_bg.png';\nimport Sign from '../../../assets/loonaWeb/cards/doctor_signature.png';\nimport ArtActivitiesProgress from '../../../assets/loonaWeb/cards/art_activities_progress.png';\nimport ArtActivitiesPhone from '../../../assets/loonaWeb/cards/art_activities_phone.png';\nimport Doctor from '../../../assets/loonaWeb/cards/doctor.png';\nimport BreathingPracticesPhone from '../../../assets/loonaWeb/cards/breathing_practices_phone.png';\nimport { TABLET_QUERY, useMediaQuery } from '../../../hooks/useMediaQuery';\nimport { ReactComponent as ArrowRight } from '../../../assets/loonaWeb/arrow_right.svg';\n\nimport styles from './styles.module.scss';\n\nexport const RelaxTechniques = () => {\n const isLargeScreen = useMediaQuery(TABLET_QUERY);\n\n const onHandleClick = () => {\n window.location.href =\n 'https://medium.com/sleepscapism/sleepscapes-the-reason-behind-happy-snoozing-3abd68a785ae';\n };\n\n return (\n
\n
\n
\n \n Backed by{'\\n'} science-based{'\\n'}\n <span> relaxation techniques</span>\n \n \n\n
\n \n Loóna bundles the most popular science-based relaxation techniques\n in one product:{' '}\n guided imagery, art activities, calming sounds, and{' '}\n breathing exercises.\n
\n }\n >\n
\n Jennifer Mundt\n
\n PhD, Sleep Psychologist, Northwestern Medicine Sleep Disorders\n Center\n
\n \"\"\n \"\"\n \n \n We have integrated art activities into our escapes, as they have\n been associated with{' '}\n \n improved emotional and mental well-being.\n \n
\n }\n >\n \n \"card\"\n \n \n Guided imagery generates safety and nurturance\n {'\\n'}\n \n by reframing emotions to rebalance the nervous system.\n \n
\n }\n />\n \n Experts recommend breathing exercises as a way of{' '}\n \n coping with anxiety by regulating your heart rate.\n \n
\n }\n >\n \"\"\n \n Sound healing}\n description={\n <>\n Research shows that listening to music{' '}\n influences your body physically and improves sleep quality.\n \n }\n />\n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Z8MuY\",\"pillow\":\"styles_pillow__2fqQD\",\"textWrapper\":\"styles_textWrapper__9mx39\",\"title\":\"styles_title__uo3ZH\",\"description\":\"styles_description__9A17H\",\"button\":\"styles_button__7-AcF\",\"overlay\":\"styles_overlay__ca9v1\",\"grass\":\"styles_grass__ueEaZ\"};","import React from 'react';\nimport PillowImg from '../../../assets/loonaWeb/pillow.png';\nimport PillowImgMobile from '../../../assets/loonaWeb/mobile/pillow.png';\nimport GrassBg from '../../../assets/loonaWeb/grass_bg.png';\nimport GrassBgMobile from '../../../assets/loonaWeb/mobile/grass_bg.png';\nimport { TABLET_QUERY, useMediaQuery } from '../../../hooks/useMediaQuery';\nimport { appAnalytics } from '../../../analytics';\nimport { SignUp } from '../../analytics';\nimport { getOneLink, getLink, isTouchDevice } from '../../utils';\nimport styles from './styles.module.scss';\n\nexport const Pillow = () => {\n const isLargeScreen = useMediaQuery(TABLET_QUERY);\n\n const getUrl = () => {\n if (isTouchDevice()) {\n return getOneLink({\n mediaSource: 'website',\n campaign: 'pillow',\n retargeting: 'true',\n });\n } else {\n return getLink(\n 'https://install.loona.app?payment=plan-selector-ramp-direct',\n {\n utmSource: 'website',\n utmMedium: 'social',\n utmCampaign: 'index',\n utmContent: 'pillow',\n },\n );\n }\n };\n\n const handleButtonClick = () => {\n appAnalytics.trackEvent(new SignUp());\n window.location.href = getUrl();\n };\n\n return (\n
\n \n
\n
\n {'Power on\\n'} to power off\n
\n
Choose your dream plan
\n \n
\n \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__quNir\",\"title\":\"styles_title__2ZCpC\"};","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"styles_item__lLxj8\",\"questionContent\":\"styles_questionContent__J6qeM\",\"question\":\"styles_question__0ZCR0\",\"answer\":\"styles_answer__tuL77\"};","var _circle, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 40,\n height: 40,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.05,\n cx: 25,\n cy: 25,\n r: 25,\n transform: \"rotate(90 25 25)\",\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9998 23.9998L25 28.9995L20.0002 23.9998\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDown);\nexport default __webpack_public_path__ + \"static/media/arrow_down.92a69a69f45327085f7709e49ed978c0.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useRef, useEffect } from 'react';\nimport styles from './styles.module.scss';\nimport { ReactComponent as ArrowUpCircle } from '../../../../assets/loonaWeb/arrow_up.svg';\nimport { ReactComponent as ArrowDownCircle } from '../../../../assets/loonaWeb/arrow_down.svg';\n\ntype Props = {\n question: string;\n answer: string | JSX.Element;\n};\n\nexport const Item = ({ question, answer }: Props) => {\n const [active, setActive] = useState(false);\n const [maxHeight, setMaxHeight] = useState(0);\n const contentRef = useRef(null);\n\n useEffect(() => {\n if (contentRef && contentRef.current) {\n if (active) {\n setMaxHeight(contentRef.current.scrollHeight);\n } else {\n setMaxHeight(0);\n }\n }\n }, [contentRef, active]);\n\n const toggleAccordionItem = (event: any) => {\n if (!(event.target instanceof HTMLAnchorElement)) {\n setActive(!active);\n }\n };\n\n return (\n
\n
\n
{question}
\n {active ? : }\n
\n
\n

{answer}

\n
\n
\n );\n};\n","import React from 'react';\nimport style from './styles.module.scss';\nimport { Title } from '../title/Title';\nimport { Item } from './item/Item';\n\ntype Item = {\n question: string;\n answer: string | JSX.Element;\n};\n\nconst faq: Item[] = [\n {\n question: 'What is Loóna?',\n answer:\n 'Loóna is an award-winning app that serves as a healthy wind-down ritual to put people’s minds to bed. Loóna is known for its enchanting and immersive experiences called escapes.',\n },\n {\n question: 'What is an Escape?',\n answer:\n \"The app’s number one feature loved by users incorporates science-based relaxation techniques with innovative motion graphics, cultivating a spectacular rotating scene to color in. Combined with soothing narrative tales, escapes help users disengage from anxious thoughts and get in the right mood for a restful night's sleep.\",\n },\n {\n question: 'Where is Loóna available?',\n answer:\n 'Loóna is available globally for download on iOS at the App Store and Android at Google Play Market.',\n },\n {\n question: 'Can I buy a gift card?',\n answer: (\n <>\n Give the gift of sleep! Loóna gift cards are available for purchase at{' '}\n \n https://loona.app/gift\n \n \n ),\n },\n];\n\nexport const FaqAccordion = () => {\n return (\n
\n \n <span>FAQ: Fairies</span> Answering Questions\n \n {faq.map(({ question, answer }, index) => {\n return ;\n })}\n
\n );\n};\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStars(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 50,\n height: 10,\n viewBox: \"0 0 50 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.46094 8.97656C2.62109 9.10156 2.82422 9.05859 3.06641 8.88281L5.13281 7.36328L7.20312 8.88281C7.44531 9.05859 7.64453 9.10156 7.80859 8.97656C7.96875 8.85547 8.00391 8.65625 7.90625 8.37109L7.08984 5.94141L9.17578 4.44141C9.41797 4.26953 9.51562 4.08984 9.45312 3.89453C9.39062 3.70703 9.20703 3.61328 8.90625 3.61719L6.34766 3.63281L5.57031 1.19141C5.47656 0.902344 5.33594 0.757812 5.13281 0.757812C4.93359 0.757812 4.79297 0.902344 4.69922 1.19141L3.92188 3.63281L1.36328 3.61719C1.0625 3.61328 0.878906 3.70703 0.816406 3.89453C0.75 4.08984 0.851562 4.26953 1.09375 4.44141L3.17969 5.94141L2.36328 8.37109C2.26562 8.65625 2.30078 8.85547 2.46094 8.97656ZM12.5744 8.97656C12.7345 9.10156 12.9377 9.05859 13.1798 8.88281L15.2463 7.36328L17.3166 8.88281C17.5588 9.05859 17.758 9.10156 17.922 8.97656C18.0822 8.85547 18.1173 8.65625 18.0197 8.37109L17.2033 5.94141L19.2892 4.44141C19.5314 4.26953 19.6291 4.08984 19.5666 3.89453C19.5041 3.70703 19.3205 3.61328 19.0197 3.61719L16.4611 3.63281L15.6838 1.19141C15.59 0.902344 15.4494 0.757812 15.2463 0.757812C15.047 0.757812 14.9064 0.902344 14.8127 1.19141L14.0353 3.63281L11.4767 3.61719C11.1759 3.61328 10.9923 3.70703 10.9298 3.89453C10.8634 4.08984 10.965 4.26953 11.2072 4.44141L13.2931 5.94141L12.4767 8.37109C12.3791 8.65625 12.4142 8.85547 12.5744 8.97656ZM22.6878 8.97656C22.848 9.10156 23.0511 9.05859 23.2933 8.88281L25.3597 7.36328L27.43 8.88281C27.6722 9.05859 27.8714 9.10156 28.0355 8.97656C28.1956 8.85547 28.2308 8.65625 28.1331 8.37109L27.3167 5.94141L29.4027 4.44141C29.6448 4.26953 29.7425 4.08984 29.68 3.89453C29.6175 3.70703 29.4339 3.61328 29.1331 3.61719L26.5745 3.63281L25.7972 1.19141C25.7034 0.902344 25.5628 0.757812 25.3597 0.757812C25.1605 0.757812 25.0198 0.902344 24.9261 1.19141L24.1488 3.63281L21.5902 3.61719C21.2894 3.61328 21.1058 3.70703 21.0433 3.89453C20.9769 4.08984 21.0784 4.26953 21.3206 4.44141L23.4066 5.94141L22.5902 8.37109C22.4925 8.65625 22.5277 8.85547 22.6878 8.97656ZM32.8013 8.97656C32.9614 9.10156 33.1645 9.05859 33.4067 8.88281L35.4731 7.36328L37.5434 8.88281C37.7856 9.05859 37.9848 9.10156 38.1489 8.97656C38.3091 8.85547 38.3442 8.65625 38.2466 8.37109L37.4302 5.94141L39.5161 4.44141C39.7583 4.26953 39.8559 4.08984 39.7934 3.89453C39.7309 3.70703 39.5473 3.61328 39.2466 3.61719L36.688 3.63281L35.9106 1.19141C35.8169 0.902344 35.6763 0.757812 35.4731 0.757812C35.2739 0.757812 35.1333 0.902344 35.0395 1.19141L34.2622 3.63281L31.7036 3.61719C31.4028 3.61328 31.2192 3.70703 31.1567 3.89453C31.0903 4.08984 31.1919 4.26953 31.4341 4.44141L33.52 5.94141L32.7036 8.37109C32.6059 8.65625 32.6411 8.85547 32.8013 8.97656ZM42.9147 8.97656C43.0748 9.10156 43.278 9.05859 43.5202 8.88281L45.5866 7.36328L47.6569 8.88281C47.8991 9.05859 48.0983 9.10156 48.2623 8.97656C48.4225 8.85547 48.4577 8.65625 48.36 8.37109L47.5436 5.94141L49.6295 4.44141C49.8717 4.26953 49.9694 4.08984 49.9069 3.89453C49.8444 3.70703 49.6608 3.61328 49.36 3.61719L46.8014 3.63281L46.0241 1.19141C45.9303 0.902344 45.7897 0.757812 45.5866 0.757812C45.3873 0.757812 45.2467 0.902344 45.153 1.19141L44.3756 3.63281L41.817 3.61719C41.5163 3.61328 41.3327 3.70703 41.2702 3.89453C41.2038 4.08984 41.3053 4.26953 41.5475 4.44141L43.6334 5.94141L42.817 8.37109C42.7194 8.65625 42.7545 8.85547 42.9147 8.97656Z\",\n fill: \"#EE9636\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStars);\nexport default __webpack_public_path__ + \"static/media/stars.7d071a2d22291019f1ba2abadc97c428.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { appAnalytics } from '../../../analytics';\nimport GooglePlay from '../../../assets/loonaWeb/app_google.png';\nimport { Install } from '../../analytics';\nimport { getOneLink } from '../../utils';\n\nexport const GooglePlayButton = () => {\n const handleClick = () => {\n appAnalytics.trackEvent(new Install());\n\n window.location.href = getOneLink({\n mediaSource: 'website',\n webDp:\n 'https://play.google.com/store/apps/details?id=co.loona&hl=en&gl=US',\n campaign: 'website-android',\n retargeting: 'true',\n iosUrl:\n 'https://play.google.com/store/apps/details?id=co.loona&hl=en&gl=US',\n });\n };\n return (\n \n \"Download\n \n );\n};\n","import React from 'react';\nimport { appAnalytics } from '../../../analytics';\nimport AppStore from '../../../assets/loonaWeb/app_store.png';\nimport { Install } from '../../analytics';\nimport { getOneLink } from '../../utils';\n\nexport const AppStoreButton = () => {\n const handleClick = () => {\n appAnalytics.trackEvent(new Install());\n\n window.location.href = getOneLink({\n mediaSource: 'website',\n webDp:\n 'https://apps.apple.com/us/app/loóna-calm-relax-and-sleep/id1465238901',\n campaign: 'website-ios',\n retargeting: 'true',\n androidUrl:\n 'https://apps.apple.com/us/app/loóna-calm-relax-and-sleep/id1465238901',\n });\n };\n return (\n \n \"Download\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"navigation\":\"styles_navigation__oYhOk\",\"title\":\"styles_title__1w9HC\",\"app\":\"styles_app__S8tq5\",\"product\":\"styles_product__r5zOD\",\"socialMedia\":\"styles_socialMedia__jEzUa\"};","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { GooglePlayButton } from './GooglePlayButton';\nimport { AppStoreButton } from './AppStoreButton';\nimport styles from './styles.module.scss';\n\nexport const Footer = () => (\n \n);\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__+2sPx\",\"hidden\":\"styles_hidden__lIcih\",\"starsIcon\":\"styles_starsIcon__ZMkJ4\",\"closeIcon\":\"styles_closeIcon__aPRaR\",\"bannerIcon\":\"styles_bannerIcon__YBXLM\",\"content\":\"styles_content__5EJq1\",\"title\":\"styles_title__gYVz9\",\"subtitle\":\"styles_subtitle__k9OzF\",\"author\":\"styles_author__pw4V9\",\"button\":\"styles_button__Zqu01\"};","import React from 'react';\nimport BannerIcon from '../../../assets/banner/banner_loona_icon.png';\nimport { ReactComponent as StarsIcon } from '../../../assets/banner/stars.svg';\nimport styles from './styles.module.scss';\nimport { useBannerLogic } from './Banner.hook';\n\nexport const Banner = () => {\n const { isIosDevice, isBannerShown, onClickHandler, onClose } =\n useBannerLogic();\n\n return (\n \n \"\"\n \n ×\n \n
\n
Loóna: calm, relax and sleep
\n
Developer
\n \n
\n GET – {isIosDevice ? 'on the App Store' : 'on Google Play'}\n
\n
\n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { getOneLink } from '../../utils';\n\nexport const useBannerLogic = () => {\n const [isBannerShown, setBannerShown] = useState(false);\n\n useEffect(() => {\n const isMobileDevice = /Mobi/i.test(window.navigator.userAgent);\n const isBannerShownBefore = localStorage.getItem('shownBanner') === 'true';\n\n if (isMobileDevice && !isBannerShownBefore) {\n setBannerShown(true);\n }\n }, []);\n\n const onClose = () => {\n setBannerShown(false);\n localStorage.setItem('shownBanner', 'true');\n };\n\n const onClickHandler = () => {\n const link = getOneLink({\n mediaSource: 'website',\n campaign: 'smartbanner',\n utm_campaign: window.location.href,\n retargeting: true,\n });\n window.location.href = link;\n onClose();\n };\n\n return {\n isBannerShown,\n isIosDevice: !!navigator.platform.match(/iPhone|iPod|iPad/),\n onClose,\n onClickHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__3-dyP\"};","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApple(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 15.7715,\n height: 20.4004,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n height: 20.4004,\n opacity: 0,\n width: 15.7715,\n x: 0,\n y: 0\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.3965 4.66797C9.94141 4.66797 8.75 5.55664 7.98828 5.55664C7.17773 5.55664 6.12305 4.72656 4.85352 4.72656C2.44141 4.72656 0 6.71875 0 10.4688C0 12.8125 0.898438 15.2832 2.02148 16.875C2.97852 18.2227 3.81836 19.3262 5.0293 19.3262C6.2207 19.3262 6.74805 18.5352 8.23242 18.5352C9.73633 18.5352 10.0781 19.3066 11.3965 19.3066C12.7051 19.3066 13.5742 18.1055 14.4043 16.9238C15.3223 15.5664 15.7129 14.248 15.7227 14.1797C15.6445 14.1602 13.1445 13.1348 13.1445 10.2734C13.1445 7.79297 15.1074 6.67969 15.2246 6.5918C13.9258 4.72656 11.9434 4.66797 11.3965 4.66797ZM10.7129 3.08594C11.3086 2.36328 11.7285 1.37695 11.7285 0.380859C11.7285 0.244141 11.7188 0.107422 11.6992 0C10.7227 0.0390625 9.55078 0.644531 8.85742 1.46484C8.30078 2.08984 7.79297 3.08594 7.79297 4.08203C7.79297 4.23828 7.82227 4.38477 7.83203 4.43359C7.89062 4.44336 7.98828 4.46289 8.0957 4.46289C8.96484 4.46289 10.0586 3.87695 10.7129 3.08594Z\",\n fill: \"#000000\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApple);\nexport default __webpack_public_path__ + \"static/media/apple.1d07924616a362d2ca8211ac50b73c32.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { Header } from './components/header/Header';\nimport { Ticker } from './components/ticker/Ticker';\nimport { HeroSection } from './components/herosection/HeroSection';\nimport { Content } from './components/content/Content';\nimport { RelaxTechniques } from './components/relaxtechniques/RelaxTechniques';\nimport { Pillow } from './components/pillow/Pillow';\nimport { FaqAccordion } from './components/accordion/Accordion';\nimport { Footer } from './components/footer/Footer';\nimport { Banner } from './components/banner/Banner';\nimport styles from './styles.module.scss';\nimport AppleLogo from '../assets/apple.svg';\n\nexport const LoonaWeb = () => {\n return (\n <>\n \n \n We are happy to announce Loóna for{' '}\n {' '}\n Vision Pro\n \n \n
\n
\n \n \n \n \n \n \n
\n \n
\n \n );\n};\n","var _desc, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogoLoonaBlack(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"758px\",\n height: \"256px\",\n viewBox: \"0 0 758 256\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Loona-logo\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M497.668534,92.4444444 C541.471322,92.4444444 577.117806,127.041778 579.242777,170.482444 L579.242777,170.482444 L579.444444,170.482444 L579.444444,236.713714 C579.444444,247.989993 569.801781,257.007642 558.342248,255.909255 C548.35227,254.951446 541.015704,245.954415 541.015704,235.881488 L541.015704,235.881488 L541.015704,174.330549 C540.899932,150.43031 521.502568,131.02109 497.668534,131.02109 C473.830764,131.02109 454.435268,150.43031 454.319496,174.330549 L454.319496,174.330549 L454.319496,236.713714 C454.319496,247.989993 444.674965,257.007642 433.213565,255.909255 C423.225454,254.951446 415.888889,245.954415 415.888889,235.881488 L415.888889,235.881488 L415.888889,113.310059 C415.888889,102.952227 423.615717,93.7490144 433.913798,93.1229704 C439.764004,92.7668384 445.057759,95.0535834 448.781126,98.8941914 C452.067549,102.286821 457.314622,103.019705 461.538422,100.918523 C472.432167,95.5053094 484.687163,92.4444444 497.668534,92.4444444 Z M675.170719,92.4444444 C688.238746,92.4444444 700.57736,95.5475064 711.520413,101.042277 C715.787106,103.1838 721.07721,102.395899 724.381897,98.9455634 C728.060594,95.1031444 733.30604,92.8010544 739.113431,93.1109864 C749.440578,93.6617704 757.222222,102.873867 757.222222,113.247278 L757.222222,113.247278 L757.222222,235.200204 C757.222222,245.573615 749.440578,254.783844 739.115292,255.334628 C733.304179,255.644561 728.056872,253.338736 724.380036,249.498184 C721.032552,246.003039 715.699651,245.325295 711.373414,247.485489 C699.421836,253.45076 685.80861,256.565024 671.41201,255.915285 C630.019692,254.051955 595.986628,220.207675 593.785364,178.693493 C591.28266,131.499702 628.681815,92.4444444 675.170719,92.4444444 Z M17.5832559,21.4255014 C29.2125746,20.3098884 39,29.4689534 39,40.9239714 L39,40.9239714 L39,236.411266 C39,247.86438 29.2125746,257.023444 17.5832559,255.907832 C7.44526493,254.935002 0,245.798783 0,235.565989 L0,235.565989 L0,41.7673434 C0,31.5364534 7.44526493,22.3983304 17.5832559,21.4255014 Z M238.526483,182.578199 C233.395773,130.84985 276.512036,87.7323134 328.237361,92.8592184 C366.510443,96.6511874 397.464607,127.60866 401.252893,165.881216 C406.372401,217.596496 363.271075,260.700964 311.555085,255.587128 C273.283871,251.80076 242.324105,220.848888 238.526483,182.578199 Z M60.747598,182.567739 C55.624395,130.847045 98.734729,87.7371314 150.455927,92.8584174 C188.728718,96.6503724 219.684514,127.605867 223.474639,165.880151 C228.597842,217.598978 185.485641,260.708891 133.76631,255.585738 C95.495386,251.793784 64.53959,220.838289 60.747598,182.567739 Z M184.854576,181.576342 C189.753732,151.952045 164.378568,126.578995 134.753983,131.478104 C116.805969,134.448562 102.332547,148.923709 99.365794,166.871548 C94.470372,196.493977 119.841803,221.863293 149.46452,216.966052 C167.412534,213.997461 181.885956,199.522313 184.854576,181.576342 Z M717.768802,181.576241 C722.651402,151.951527 697.361989,126.578119 667.837515,131.479164 C649.952015,134.447797 635.525643,148.923148 632.568915,166.87124 C627.690037,196.494087 652.975728,221.863761 682.498341,216.966451 C700.385703,213.997818 714.810214,199.522466 717.768802,181.576241 Z M362.632537,181.577463 C367.529863,151.954927 342.161974,126.581785 312.539031,131.477177 C294.590881,134.442045 280.113615,148.917245 277.144973,166.863281 C272.245779,196.489552 297.615536,221.862693 327.242213,216.965434 C345.188496,213.9987 359.665762,199.5235 362.632537,181.577463 Z M366.756344,5.17574939 C374.745038,12.6547204 375.426172,25.6034154 368.269554,33.9519424 L336.11289,71.4651034 C329.037598,79.7187614 316.846611,80.5082804 308.851022,73.2982664 L308.576989,73.0464734 C300.588294,65.5675024 299.907161,52.6188074 307.063778,44.2702804 L339.220443,6.75711839 C346.37706,-1.59140861 358.769536,-2.30322161 366.756344,5.17574939 Z\",\n id: \"Loona-logo\",\n fill: \"#000000\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoLoonaBlack);\nexport default __webpack_public_path__ + \"static/media/logo_loona_black.4fe26b159f868ecbbb11623e4d5ba64f.svg\";\nexport { ForwardRef as ReactComponent };","export enum CookieDataTypes {\n Marketing = 'Marketing',\n Performance = 'Performance',\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"bodyBackground\":\"styles_bodyBackground__UnUiO\",\"container\":\"styles_container__egfJJ\",\"logo\":\"styles_logo__8hMBT\",\"article\":\"styles_article__O-S0s\"};","import React, { useEffect } from 'react';\nimport { Footer } from '../footer/Footer';\nimport BlackLogo from '../../../assets/logo_loona_black.svg';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport const PageWrapper = ({ children }: Props) => {\n useEffect(() => {\n document.body.classList.add(styles.bodyBackground);\n\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n };\n });\n\n return (\n
\n \"\"\n
{children}
\n
\n
\n );\n};\n","import React from 'react';\nimport { PageWrapper } from '../components/pagewrapper/PageWrapper';\n\nexport const Terms = () => {\n return (\n \n

LOÓNA TERMS OF USE

\n

\n Effective Date: February 23, 2024.\n

\n

\n Introduction and Acceptance\n

\n

\n \n Please read these Terms (as hereinafter defined) carefully. By using\n the Loóna mobile application (the “App”) or the website located\n at https://loona.app/ (the “Website”) (App and Website\n individually referred to individually as a “Loóna Service” or\n collectively as the “Loóna Services”) or otherwise indicating\n your acceptance (e.g. by clicking tick-box or bottom “agree”), you\n agree to the following terms, which will bind you at all times and in\n whatever manner you use the Loóna Services. In these Terms, anyone who\n uses the Loóna Services is considered a “User”. If you do not\n agree, or you do not have the authority to accept these Terms, you\n must not use the Loóna Services.\n \n

\n

\n \n Loona Inc. and any of our affiliated entities (referred here to as\n “Loona”, “we”, “us” and “our”) permit you to use the Loóna\n Services as described in these Terms.{' '}\n \n

\n

\n \n You should note the following rules which apply to these terms and\n conditions:\n \n

    \n
  • \n the headings do not affect the interpretation of any provisions;\n
  • \n
  • \n where we use the singular of a word, this also includes the plural\n (or vice versa); and\n
  • \n
  • \n if we use terms such as “including”, “include”, “in particular”,\n “for example” or any similar expression, we do this for illustrative\n purposes only and this does not limit the scope or meaning of the\n overall provision (i.e. where we use such words, we are providing\n examples only and the examples are not exhaustive).\n
  • \n
\n

\n

\n \n NOTICE REGARDING DISPUTE RESOLUTION FOR THE U.S. USERS: THIS\n NOTICE IS APPLICABLE TO U.S. USERS ONLY (A) A U.S. CITIZEN; (B)\n A PERSON THAT RESIDES IN THE U.S.; (C) A PERSON THAT IS ACCESSING THE\n LOÓNA SERVICES FROM THE U.S.{' '}\n \n (U.S. USER)\n \n , THESE TERMS CONTAIN PROVISIONS THAT GOVERN HOW CLAIMS YOU AND WE\n HAVE AGAINST EACH OTHER ARE RESOLVED, INCLUDING AN OBLIGATION TO\n ARBITRATE DISPUTES, WHICH WILL, SUBJECT TO LIMITED EXCEPTIONS, REQUIRE\n YOU TO SUBMIT CLAIMS YOU HAVE AGAINST US TO BINDING ARBITRATION,\n UNLESS YOU OPT-OUT. UNLESS YOU OPT-OUT OF ARBITRATION: (A) YOU WILL\n ONLY BE PERMITTED TO PURSUE CLAIMS AGAINST US ON AN INDIVIDUAL BASIS,\n NOT AS PART OF ANY CLASS OR REPRESENTATIVE ACTION OR PROCEEDING AND\n (B) YOU WILL ONLY BE PERMITTED TO SEEK RELIEF (INCLUDING MONETARY,\n INJUNCTIVE, AND DECLARATORY RELIEF) ON AN INDIVIDUAL BASIS.{' '}\n \n

\n
    \n
  1. \n Application of Terms \n
  2. \n

    \n \n These Terms, together with any other documents which we tell you are\n part of them (collectively these “Terms”), set out the terms\n on which Loóna Services are provided to Users.\n \n

    \n

    \n \n Our Privacy Policy should also be read alongside these Terms. Under\n data protection legislation, we are required to provide you with\n certain information including who we are, how we process your\n personal data, and for what purposes and your rights in relation to\n your personal data and how to exercise them. This information is\n provided in our Privacy Policy which you can find here:\n https://loona.app/privacy.\n \n

    \n\n
  3. \n Changes to these Terms\n
  4. \n

    \n \n We may make changes to these Terms at any time, including, for\n example only, in order to: (a) comply with any changes to the law or\n regulations that apply; (b) to reflect any technical changes, such\n as to respond to security breaches; or (c) deal with changes to\n Users’ needs and changes to our business. You should check these\n Terms each time you access the Loóna Services to ensure you\n understand the terms that apply at that time.\n \n

    \n

    \n \n Provided you have registered an account with us, we will try to\n notify you of any changes to these Terms (e.g., by email or a pop-up\n notice when you next access your account).\n \n

    \n

    \n \n In addition, we reserve the right to provide you with operating\n rules or additional terms that may govern your use of Loóna Services\n generally, unique of Loóna Services, or both{' '}\n (“Additional Terms”). Any Additional Terms that we may\n provide to you will be incorporated by reference into these Terms of\n Use. To the extent any Additional Terms conflict with these Terms of\n Use, the Additional Terms will control.\n \n

    \n

    \n \n If you do not agree to any changes to these Terms that we may make,\n do not use the Loóna Services. In addition, you may close your\n account by contacting us hello@loona.app.\n \n

    \n

    \n \n We may update and change our Website and our App from time to time,\n to reflect changes to needs of our Users and business. We will try\n to give you notice of any major changes.\n \n

    \n
  5. \n Creating an Account\n
  6. \n

    \n \n Certain features or functionalities, that we may establish and\n maintain from time to time and in our sole discretion, may require\n you to register an account with us (“Account”). You can create an\n account in the Loóna Services by following the on-screen\n instructions. As part of this process, you will need to provide\n certain information about you in order to create your account.\n Please see our Privacy Policy for how we use this information.\n \n

    \n

    \n {' '}\n \n All information provided by you when creating an account must be\n accurate and complete. If your account information changes at any\n time, you must update it as soon as possible.\n \n

    \n

    \n \n You are responsible for all activity that occurs via your account\n even if that activity is not by you or is without your knowledge or\n consent.\n \n

    \n

    \n \n You must treat all account information as confidential, and you must\n not share it with anyone else. Only you can use your account and you\n are responsible for keeping your password secret. If you know or\n suspect that anyone other than you knows your password, you must\n promptly notify us, please email us at hello@loona.app.\n \n

    \n

    \n \n We have the right to disable any User identification code or\n password (which includes access to your account), whether chosen by\n you or allocated by us, at any time, in our sole discretion and with\n immediate effect, including (but not limited to) if in our\n reasonable opinion you have failed to comply with any of these\n Terms. We will notify you in the Loóna Services if this occurs.\n \n

    \n

    \n \n You may register your Account using a valid account on the app store\n or marketplace from which you downloaded Loóna (e.g. Apple App\n Store, Google Play, etc.) (each such account, a “Third-Party\n Account”). By using a Third-Party Account to register your account,\n you are allowing Loóna to access your Third-Party Account as\n permitted under the applicable terms and conditions that govern your\n and/our use of such Third-Party Account.\n \n

    \n

    \n \n Please note that your relationship with the third-party service\n providers associated with your third-party accounts is governed\n solely by your agreement(s) with such third-party service providers.\n \n

    \n
  7. \n Accessing Loóna Services\n
  8. \n

    \n \n General age limitation. You are not permitted to\n access or use the Loóna Services unless you are at least{' '}\n 13 years old. By using our Loóna Service, you\n confirm that you are at least\n 13 years old. Minors may only use the service with\n the involvement, supervision, and approval of a parent or legal\n guardian. If you are a parent or guardian and believe we have\n collected information from your child who is under the age of 13,\n please contact us at privacy@loona.app.\n \n

    \n

    \n \n Any registration by, use of or access to the Game by anyone under\n 13, or by anyone who is under 18 acting without parental or guardian\n consent, is unauthorized, unlicensed and in violation of these\n Terms.\n \n

    \n

    \n \n IF YOU ARE AT LEAST 13 YEARS OLD BUT UNDER 18 YEARS OF AGE, YOU\n AGREE THAT YOUR PARENT OR LEGAL GUARDIAN HAS REVIEWED AND AGREED TO\n THESE TERMS, AND YOU CAN FORM A BINDING CONTRACT WITH LOÓNA.\n \n

    \n

    \n \n Age limitation for EEA/UK individuals. Age\n limitation for EEA/UK individuals. You must be at least 16 years old\n in order to use Loóna Services. We do not allow use of Loóna by EEA\n individuals younger than 16 years old. If you are aware of anyone\n younger than 16 using Loóna, please contact us by e-mail:\n privacy@loona.app, and we will take the required steps to delete the\n information provided by such persons.\n \n

    \n
  9. \n Loóna Content\n
  10. \n

    \n \n Loóna Services and associated content (and any derivative works or\n enhancements of the same) including, but not limited to, all\n artwork, text, illustrations, files, images, software, scripts,\n graphics, photos, logos, slogans, audio, sounds, music, videos,\n information, content, materials, products, services, URLs,\n technology, filters, tools, documentation, and interactive features\n included with or available through Loóna Services (collectively, the\n “Loóna Content”) and all intellectual property rights to the same\n are owned by us, our licensors, or both. Additionally, all\n trademarks, service marks, trade names, and trade dress that may\n appear in Loóna Services are owned by us, our licensors, or\n identified third parties.\n \n

    \n

    \n \n We provide Loóna Services for educational, entertainment, and/or\n promotional purposes only. You may not rely on any information and\n opinions expressed through any of Loóna Services for any other\n purpose. In all instances, it is your responsibility to evaluate the\n accuracy, timeliness, completeness, or usefulness of any Loóna\n Content. Under no circumstances will we be liable for any loss or\n damage caused by your reliance on any Loóna Content.\n \n

    \n

    \n \n You are hereby granted a limited, non-exclusive, non-transferable,\n non-sublicensable, revocable license to use Loóna Service and the\n Loóna Content for your own personal use{' '}\n (“User License”); however, such User License is\n subject to these Terms and and does not include any right to: (i)\n sell, resell or commercially use Loóna Services or the Loóna\n Content; (ii) copy, reproduce, distribute, publicly perform or\n publicly display the Loóna Content, except as expressly permitted by\n us or our licensors; (iii) modify the Loóna Content, remove any\n proprietary rights notices or markings, or otherwise make any any\n derivative uses of Loóna or the Loóna Content, except as in these\n Terms and the Additional Terms; (iv) use any data mining, mining,\n robots or similar data gathering or extraction methods; or (v) use\n Loóna or the Loóna Content other than as expressly provided Any use\n of Loóna or the Loóna Content other than as specifically authorized\n herein, without our prior written permission, is strictly prohibited\n and will terminate the User the User License granted under these\n Terms. You will not remove, alter or conceal any copyright,\n trademark, service mark or other proprietary rights notices\n incorporated in or accompanying the Loóna Content.\n \n

    \n

    \n \n Except for the limited use rights granted to you in these Terms of\n Use, you shall not acquire any right, title, or interest in our\n Services or any Loóna Content. Any rights not expressly granted in\n these Terms of Use are expressly reserved.\n \n

    \n

    \n \n You must not use any of the Loóna Content for commercial purposes\n unless you tell us first that you want to do this and we (or in the\n case of user content, the applicable User) agree to give you a\n separate license to do so to cover this use.\n \n

    \n

    \n \n Loóna Services may link or contain links to other websites\n maintained by third parties. We do not operate or control, in any\n respect, or necessarily endorse the content found on these\n third-party websites. You assume sole responsibility for your use of\n third-party links. We are not responsible for any content posted on\n third-party websites or liable to you for any loss or damage of any\n sort incurred as a result of your dealings with any third party or\n their website.\n \n

    \n\n
  11. \n In-app purchases and subscriptions\n
  12. \n

    \n \n Free Use. You may use some functionalities and features of\n Loóna Services free of charge. You may, but are not required to,\n provide us with your name and email address in connection with such\n use. Notably, Loóna Services will be limited for free use, and you\n will not have access to all of the functionalities and features\n available to paid users.\n \n

    \n

    \n \n Paid Services. We also offer subscription plans and in-app\n purchases that provide access to enhanced services and additional\n features for a fee (“Purchased Content”). Certain content,\n products or services included in subscription may change from time\n to time, as we introduce new features, develop our existing offering\n and sometimes retire features that aren't working out as planned.\n \n

    \n

    \n \n By accessing Loóna Services you agree that your purchases are not\n contingent on the provision of any future functionality or features,\n or dependent on any oral or written public statements, and comments\n made by Loóna regarding such functionality or features.\n \n

    \n

    \n \n Payment Method. You may purchase a Purchased Content within\n the App or where allowed within the Website through a third party,\n such as Apple App Store, Google Play or other payment processor{' '}\n (“Payment Processor”). If you purchase the Purchased Content\n from a third party, separate terms and conditions with such third\n party in addition to these terms may apply to your access to Loóna.\n Payment for Purchased Content will be charged to a credit/debit card\n or another payment method (the “Payment Method”) after you\n choose one of our Purchased Content and confirm your purchase.\n \n

    \n
      \n
    • \n You agree to promptly notify Loona of any changes to the Payment\n Method you provided while any subscriptions remain outstanding.\n
    • \n
    • \n You are responsible for all applicable fees and charges incurred,\n including applicable taxes.\n
    • \n
    • \n If payment is not received by us from the Payment Method you\n provided, you agree to pay all amounts due upon demand by us.\n
    • \n
    • \n Objections to a payment already made or cancellation requests should\n be directed to email hello@loona.app.\n
    • \n
    \n

    \n \n Renewals. Your payment to the third party through which you\n purchased Purchased Content, if any subscription period is\n applicable, will automatically renew and continue until terminated.\n You must cancel your subscription before it renews to avoid paying\n the subscription fees for the next billing period.\n \n

    \n

    \n \n Refunds. Generally, all purchases are final and\n non-refundable, unless required by law.\n \n

    \n

    \n \n Apple App Store or Google Play Refunds. We are unable to\n view, access, or modify any financial transactions from Apple (as\n defined below) or Google LLC in-app subscriptions for security and\n privacy reasons. Instead, we would ask that you reach out to the\n appropriate support team of Apple or Google LLC in relation to your\n subscription to request any refunds.\n \n

    \n
      \n
    • \n Your purchase will be subject to Apple App Store or Google Play\n applicable payment policy, which may or may not allow for refunds.\n Please contact the third party (Apple App Store or Google Play\n support) regarding any refunds or to manage your Purchased Content.\n
    • \n
    • \n If made via a Google in-app subscription or purchase learn more\n about refunds from Google Play{' '}\n \n here.\n \n
    • \n
    • \n You can request a refund for an Apple in-app subscription or\n purchase by following the guidance{' '}\n \n here.\n \n
    • \n
    \n

    \n \n NOTWITHSTANDING ANYTHING TO THE CONTRARY HEREIN AND SUBJECT TO\n MANDATORY LEGISLATION, YOU ACKNOWLEDGE THAT WE ARE NOT REQUIRED TO\n PROVIDE A REFUND FOR THE PURCHASED CONTENT FOR ANY REASON, AND THAT\n YOU WILL NOT RECEIVE MONEY OR OTHER COMPENSATION FOR THE UNUSED\n PURCHASED CONTENT, WHETHER YOUR LOSS WAS VOLUNTARY OR INVOLUNTARY.\n \n

    \n

    \n \n Website Refunds.{' '}\n If you are a resident of the European Union and where you\n purchase from the Website you agree to waive your cancellation and\n refund right once the Purchase Content is downloaded or the relevant\n purchase is made.{' '}\n If you are not a resident of the European Union\n and where you purchase from a Website, if your local laws do not\n regulate mandatory laws otherwise, you have no right to cancel\n purchases you made once the Purchase Content is downloaded or the\n relevant purchase is made. This means that you will not be able to\n cancel your order or obtain a refund once the download and delivery\n of the app is complete. This will also apply to subscriptions and\n in-app purchases.\n \n

    \n

    \n \n Cancelation of Services. You can cancel your Purchased\n Content by signing in to your account and following the in-app\n instructions for canceling your subscription. Please note that if\n you purchase a Purchased Content through the Apple App Store or\n Google Play, you may cancel your Purchased Content in accordance\n with the policies set forth by Apple and Google. Upon canceling of\n subscription you will not receive a refund for the fees you already\n paid for your Purchased Content and you will continue to receive\n Loóna Services ordered until the end of your current subscription\n period.\n \n

    \n

    \n \n Changes in Pricing. We reserve the right to change our\n subscription plans or adjust pricing that will be applicable to your\n future purchases for Loóna Services or any components thereof in any\n manner and at any time as we may determine in our sole and absolute\n discretion. Except as otherwise expressly provided for in these\n Terms, any price changes or changes to your subscription plan will\n take effect following notice to you.\n \n

    \n

    \n \n Promotion and Discount Codes. You may have access to a free\n trial period in accordance with certain promotional offers. Any\n promotion code or offer provided by us may not be used in\n conjunction with any other promotion code or offer, past or present.\n Introductory offers are only available to new users of Loóna\n Services, except where expressly stated otherwise. Previous users or\n trial users of the Loóna Services do not qualify as new users.\n Unless otherwise set forth in the terms of any promotion, all\n pricing promotions or discounts will apply to the initial period of\n the subscription, and any renewals will be charged at the\n non-discounted rate for the type of subscription purchased.\n \n

    \n\n
  13. \n Feedback\n
  14. \n

    \n \n We welcome any feedback from you about the content, the Loóna\n Services or otherwise, including how they can be improved. All\n feedback you provide is considered to be User Content and as such,\n you agree to grant us a license to use your feedback as set out\n below (“Feedback”). Your Feedback is non-confidential and\n will become our sole property once submitted to us. We will own\n exclusive rights, including, without limitation, all intellectual\n property rights, in and to your Feedback and will be entitled to the\n unrestricted use and dissemination of your Feedback for any purpose,\n commercial or otherwise, without acknowledgment or compensation to\n you. You also have the right to amend and supplement your Feedback\n to us, which we will take into account to provide accurate\n information to other users about Loóna`s user experience. If we\n decide to make your Feedback public, we will not use any of your\n personal data, unless you explicitly consent to it.\n \n

    \n
  15. \n Indemnification\n
  16. \n

    \n \n You agree to indemnify and hold harmless Loóna and its officers,\n directors, employees, parents, partners, successors, agents,\n distribution partners, affiliates, subsidiaries, and their related\n companies from and against any and all claims, liabilities, losses,\n damages, obligations, costs and expenses (including reasonable\n attorneys’ fees and costs) arising out of, related to, or that may\n arise in connection with: (i) your use of Loóna Services; (ii) User\n Content or Feedback provided by you or through use of Loóna\n Services; (iii) any actual or alleged violation or breach by you of\n these Terms of Use; (iv) any actual or alleged breach of any\n representation, warranty, or covenant that you have made to us; (v)\n your acts or omissions or (vi) your conduct in connection with\n Loóna. You agree to cooperate fully with us in the defense of any\n claim that is the subject of your obligations hereunder. You also\n agree that the Company Parties will have control of the defense or\n settlement of any third party Claims. This indemnity is in addition\n to, and not in lieu of, any other indemnities set forth in a written\n agreement between you and us or the other Company Parties.\n \n

    \n\n
  17. \n Disclaimer of Warranties\n
  18. \n

    \n \n We do not control, endorse or take responsibility for any User\n Content (and its loss) or third-party content available on or linked\n to Loóna. You acknowledge sole responsibility for and assume all\n risk arising from your use of any third-party websites or resources.\n \n

    \n

    \n \n You expressly agree that use of Loóna Services is at your sole risk.\n Our services and Loóna Сontent (including software) are provided on\n an “as is” and “as available” basis without warranty of any kind,\n either express or implied. without limiting the foregoing and to the\n fullest extent permitted by law, Loóna and its officers, directors,\n employees, parents, partners, successors, agents, distribution\n partners, affiliates, subsidiaries, and their related companies\n disclaim any and all warranties including any: (i) warranties that\n our services will meet your requirements; (ii) warranties concerning\n the availability, accuracy, security, usefulness, timeliness, or\n informational content of our services or Loóna Сontent; (iii)\n warranties of title, non-infringement, merchantability, or fitness\n for a particular purpose; (iv) warranties for services or goods\n received through or advertised or accessed through our services; (v)\n warranties concerning the accuracy or reliability of the results\n that may be obtained from the use of our services; (vi) warranties\n that your use of our services will be secure or uninterrupted; and\n (vii) warranties that errors in our services or Loóna Сontent\n (including software) will be corrected.\n \n

    \n
  19. \n Limitation on Liability\n
  20. \n

    \n \n Under no circumstances shall Loóna or its officers, directors,\n employees, parents, partners, successors, agents, distribution\n partners, affiliates, subsidiaries, or their related companies be\n liable for indirect, incidental, special, consequential, or\n exemplary damages (even if we have been advised of the possibility\n of such damages), arising out of, relating to, or in any way\n connected with our services or these terms of use. your sole remedy\n for dissatisfaction with our services including, without limitation,\n Loóna Сontent is to stop using our services. such limitation shall\n also apply with respect to damages incurred by reason of goods\n received through or advertised in connection with our services or\n any links placed in our services, as well as by reason of any\n information or advice received through or advertised in connection\n with our services or any links placed in our services. such\n limitation shall also apply with respect to damages incurred by\n reason of any content posted by a third party or conduct of a third\n party using our services.\n \n

    \n\n

    \n \n Notwithstanding anything to the contrary contained herein, in no\n event shall the cumulative liability of Loóna and its officers,\n directors, employees, parents, partners, successors, agents,\n distribution partners, affiliates, subsidiaries, and their related\n companies exceed the lesser of the total payments received from you\n by Loóna during the preceding twelve (12) month period or $100.\n Furthermore, you agree that any cause of action arising out of,\n relating to, or in any way connected with any of Loóna Services or\n these terms of use must commence within one (1) year after the cause\n of action accrues; otherwise, such cause of action shall be\n permanently barred.\n \n

    \n\n

    \n \n In some jurisdictions limitations of liability are not permitted. In\n such jurisdictions, some of the foregoing limitations may not apply\n to you. These limitations shall apply to the fullest extent\n permitted by law.\n \n

    \n\n
  21. \n Release\n
  22. \n

    \n \n If you are a California resident you waive California Civil Code\n Section 1542, which says: “A general release does not extend to\n claims that the creditor or releasing party does not know or suspect\n to exist in his or her favour at the time of executing the release\n and that, if known by him or her, would have materially affected his\n or her settlement with the debtor or released party.”\n \n

    \n
  23. \n Right to terminate\n
  24. \n

    \n \n If you do not comply with our Terms or if we are investigating any\n suspected non-compliance or misconduct by you, we may take such\n action that we think is appropriate or necessary, including\n suspending or ending your access to the whole or any parts of the\n Loóna Services with immediate effect and permanently. If your\n non-compliance is curable, we will give you a reasonable opportunity\n to do so. You may contact us about your suspension or ending your\n access to Lóona Services at hello@loona.app.\n \n

    \n

    \n \n We retain the right to investigate any non-compliance with these\n Terms and any misconduct, we shall be entitled to take any action\n that we deem appropriate or necessary during or in response to such\n investigation.\n \n

    \n

    \n \n You may stop using the Lóona Services at any time.You may close your\n account and terminate the use of Lóona Services at any time by\n following the on-screen instructions or by contacting us at\n hello@loona.app.\n \n

    \n

    \n \n We may stop providing the Loóna Services (or parts of it) to you or\n add or create new limits to our Loóna Services (or parts of it) at\n any time.\n \n

    \n

    \n \n If we suspend or terminate your rights to use the Lóona Services:\n \n

    \n
      \n
    • \n you must stop all activities authorised by these Terms, including\n your use of the Lóona Services (and any Content);\n
    • \n
    • \n you must delete or remove the Lóona Services from all mobile devices\n in your possession and immediately destroy all copies of the Lóona\n Services which you have and confirm to us that you have done this;\n and\n
    • \n
    • \n we shall be entitled to remotely remove access to the Lóona Services\n from your devices and cease providing you with access to the Lóona\n Services.\n
    • \n
    \n
  25. \n COPYRIGHT NOTICE\n
  26. \n

    \n \n Loóna respects the intellectual property rights of others and\n requests that users of Loóna Services do the same. If you believe\n that your work is being used in connection with the Services in a\n way that constitutes copyright infringement, you may notify us by\n providing our copyright agent with the following information in\n writing: (a) the electronic or physical signature of the owner of\n the copyright or the person authorized to act on the owner’s behalf;\n (b) identification of the copyrighted work that you claim has been\n infringed; (c) identification of the material that is claimed to be\n infringing and information reasonably sufficient to permit Loóna to\n locate the material (for example, by providing a URL to the\n material); (d) your name, address, telephone number, and email\n address; (e) a statement by you that you have a good faith belief\n that the disputed use is not authorized by the copyright owner, its\n agent, or the law; and (f) a statement that the information in your\n notification is accurate and a statement, made under penalty of\n perjury, that you are the copyright owner or are authorized to act\n on the copyright owner’s behalf.\n \n

    \n

    \n \n You may send a notification of claimed infringement at email\n hello@loona.app.\n \n

    \n

    \n \n In appropriate circumstances, we will terminate the accounts of\n Users who are repeat copyright infringers.\n \n

    \n
  27. \n Dispute Resolution & Mandatory Arbitration\n
  28. \n

    \n \n We each agree to first contact each other with any disputes and\n provide a written description of the problem, all relevant\n documents/information, and the proposed resolution. You agree to\n contact us with disputes by contacting us at the address provided in\n these Terms of Use. We will contact you based on the contact\n information you have provided us.\n \n

    \n

    \n \n If after 30 days the parties are unable to resolve any dispute\n raised under the previous provision, the dispute may be submitted to\n arbitration consistent with this Section. The parties understand\n that they would have had a right or opportunity to litigate disputes\n through a court and to have a judge or jury decide their case, but\n they choose to have any disputes resolved through arbitration.\n \n

    \n

    \n \n \n BINDING ARBITRATION AGREEMENT AND CLASS WAIVER DISCLOSURE\n (APPLICABLE TO U.S. USERS ONLY)\n \n \n

    \n

    \n \n Agreement to Arbitration; Class Waiver.{' '}\n If you are U.S. User you and we agree, except as provided\n below regarding small claims court proceedings, any dispute, claim,\n or controversy arising out of or relating in any way to, the Loóna\n Service, and the Content, including, but not limited to, our{' '}\n Privacy Policy and/or our privacy practices\n generally, these Terms, and this Arbitration Agreement, shall be\n determined by binding arbitration. Arbitration is more informal than\n a lawsuit in court. Arbitration uses a neutral arbitrator instead of\n a judge or jury, allows for more limited discovery than in court,\n and is subject to very limited review by courts.{' '}\n \n YOU AGREE THAT, BY AGREEING TO THESE TERMS, THE U.S. FEDERAL\n ARBITRATION ACT GOVERNS THE INTERPRETATION AND ENFORCEMENT OF\n THESE TERMS, AND THAT YOU AND WE ARE EACH WAIVING THE RIGHT TO A\n TRIAL BY JURY OR TO PARTICIPATE IN A CLASS ACTION.\n {' '}\n This arbitration provision shall survive termination of these Terms.\n \n

    \n

    \n \n Pre-Filing Mediation. In the event of a dispute, prior to\n initiating arbitration, the party asserting the claim must first\n send to the other, by overnight courier, a written Notice of Claim\n (“Notice”). If you are the claimant, the Notice to Us must be\n addressed to: Loona Inc, 8 The Green, Ste B, Dover, DE, 19901, USA\n with a copy by email to hello@loona.app. If we are the claimant, the\n Notice must be sent to the address we have on file for you in your\n Account. The Notice must (a) describe the nature and basis of the\n claim or dispute; and (b) set forth the specific relief sought.\n Following receipt of the Notice, each party agrees to negotiate with\n the other in good faith about the claim. If the claim is not\n resolved to the satisfaction of the claimant within sixty (60) days\n after Notice is provided, the claimant may pursue the claim in\n arbitration or file a claim in small claims court, as appropriate{' '}\n \n

    \n\n

    \n \n Additional Arbitration Provisions\n \n

    \n

    \n \n Settlement Offers: During the arbitration, the amount of any\n settlement offer made by you or Us shall not be disclosed to the\n arbitrator.\n \n

    \n

    \n \n Initiating A Claim: The form required to initiate an arbitration can\n be printed or downloaded from www.adr.org. Alternatively, you may\n contact the arbitration administrator by calling 1-800-778-7879 or\n writing to the American Arbitration Association, 120 Broadway, Floor\n 21, New York, NY 10271.\n \n

    \n

    \n \n Fees for Initiating Arbitration: If you are required to pay a filing\n fee to initiate arbitration, after we receive notice of the\n initiation of arbitration, We will promptly reimburse you for your\n payment of the filing fee at the address provided in the Notice,\n unless your claim is for greater than US$10,000.\n \n

    \n

    \n \n Applicable Rules; Administrator: The arbitration will be governed by\n the Commercial Arbitration Rules and the Supplementary Procedures\n for Consumer-Related Disputes (collectively, “AAA Rules”) of the\n American Arbitration Association (the “AAA”), as modified by these\n Terms, and will be administered by the AAA. The AAA Rules and Forms\n are available online at www.adr.org, by calling the AAA at\n 1-800-778-7879 or writing to the American Arbitration Association,\n 120 Broadway, Floor 21, New York, NY 10271. The arbitrator is bound\n by the terms of these Terms. All issues are for the arbitrator to\n decide, including issues relating to the scope and enforceability of\n this Arbitration Agreement.\n \n

    \n

    \n \n Location of Hearing: Unless you and We agree otherwise, any\n arbitration hearings will take place in New York, New York. If your\n claim is for US$10,000 or less, we agree you may choose whether the\n arbitration will be conducted solely on the basis of documents\n submitted to the arbitrator, through a telephonic hearing, or by an\n in-person hearing as established by the AAA Rules. If your claim\n exceeds US$10,000, the right to a hearing will be determined by the\n AAA Rules. Regardless of the manner in which the arbitration is\n conducted, the arbitrator shall issue a written decision sufficient\n to explain the essential findings and conclusions on which the award\n is based.\n \n

    \n

    \n \n Class Waiver: YOU AND WE AGREE THAT EACH MAY BRING CLAIMS AGAINST\n THE OTHER ONLY IN AN INDIVIDUAL CAPACITY AND NOT AS A PLAINTIFF OR\n CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING.\n Further, unless both you and We agree otherwise, the arbitrator may\n not consolidate the claims of more than one party, and may not\n otherwise preside over any form of a representative or class\n proceeding. If this specific provision is found to be unenforceable\n as applied to any claim asserted by any individual, then the\n entirety of the arbitration provision set forth herein shall be null\n and void.\n \n

    \n

    \n \n Injunctive Relief Limitation: The arbitrator may award declaratory\n or injunctive relief only in favour of the individual party seeking\n relief and only to the extent necessary to provide the relief\n warranted by that party’s individual claim.\n \n

    \n

    \n \n Small Claims Procedure Alternative: Notwithstanding the foregoing\n binding arbitration procedure, either party may bring an individual\n action in small claims court (provided the claim otherwise qualifies\n for such a program) as an alternative to proceeding with\n arbitration.\n \n

    \n

    \n \n Opt-Out Provision. YOU HAVE THE RIGHT TO OPT-OUT OF THIS\n ARBITRATION PROVISION WITHIN THIRTY (30) DAYS FROM THE DATE THAT YOU\n FIRST USE, OR ATTEMPT TO USE, THE LOÓNA SERVICES BY WRITING TO\n hello@loona.app OR TO THE ARBITRATION NOTICE ADDRESS. FOR YOUR\n OPT-OUT TO BE EFFECTIVE, YOU MUST SUBMIT A SIGNED WRITTEN NOTICE\n OPTING OUT AND CONTAINING ENOUGH DETAILS ABOUT YOU FOR US TO BE ABLE\n TO IDENTIFY YOU WITHIN THIRTY (30) DAYS. IF MORE THAN THIRTY (30)\n DAYS HAVE PASSED, YOU ARE NOT ELIGIBLE TO OPT OUT OF THIS PROVISION\n AND YOU MUST PURSUE YOUR CLAIM THROUGH BINDING ARBITRATION AS SET\n FORTH IN THESE TERMS.\n \n

    \n

    \n \n YOU ACKNOWLEDGE AND AGREE THAT THE BINDING ARBITRATION AGREEMENT AND\n THE CLASS ACTION WAIVER, AS WELL AS WARRANTY DISCLAIMERS AND\n LIABILITY AND REMEDY LIMITATIONS IN THESE TERMS ARE MATERIAL TERMS\n OF THESE TERMS AND THAT THEY HAVE BEEN TAKEN INTO ACCOUNT IN THE\n DECISION BY US TO PROVIDE THE LOÓNA SERVICE.\n \n

    \n

    \n \n No Trial by Jury. TO THE EXTENT ALLOWED BY LAW, WE EACH WAIVE\n ANY RIGHT TO TRIAL BY JURY IN ANY LAWSUIT, ARBITRATION OR OTHER\n PROCEEDING.\n \n

    \n
  29. \n Miscellaneous\n
  30. \n

    \n \n Assignment. We can assign, transfer, or subcontract any or\n all of our rights and obligations under these Terms to another\n organization. We will always tell you in writing if this happens and\n we will ensure that the transfer will not affect your rights as set\n out in these Terms. You may only transfer your rights or your\n obligations under these Terms to another person if we agree in\n writing in advance.\n \n

    \n

    \n \n Third Party Rights. These Terms are between you and us and\n are not intended to give third parties any rights to enforce all or\n any part of these Terms.\n \n

    \n

    \n \n Severability Each of the paragraphs of these Terms operates\n separately. If any court or relevant authority decides that any of\n them are unlawful, the remaining paragraphs will remain in full\n force and effect.\n \n

    \n

    \n \n International Use. You represent and warrant that you are in\n compliance with all laws, restrictions and regulations administered\n by the Office of Foreign Assets Control (“OFAC”) or any other\n foreign governmental entity imposing economic sanctions and trade\n embargoes (“Economic Sanctions Laws”) against designated countries\n (“Embargoed Countries”), entities and persons (collectively,\n “Embargoed Targets”). You represent and warrant that you are not an\n Embargoed Target or otherwise subject to any Economic Sanctions Law.\n You agree to comply with all Economic Sanctions Laws. Without\n limiting the generality of the foregoing, you agree not to (a)\n directly or indirectly export, re-export, transship or otherwise\n deliver any products, services, technology, or information of any\n portion thereof to an Embargoed Target or (b) broker or otherwise\n facilitate any transaction in violation of any Economic Sanctions\n Laws.\n \n

    \n

    \n \n Applicable Law and Jurisdiction. \n \n

    \n

    \n \n For members residing in the United Kingdom (UK), European Union (EU)\n or European Economic Area (EEA) or elsewhere where our arbitration\n agreement is prohibited by law, the laws of England, excluding\n conflict of laws rules, will apply to any disputes arising out of or\n relating to this Agreement or the Loóna Services. For the avoidance\n of doubt, the choice of English governing law shall not supersede\n any mandatory consumer protection legislation in such jurisdictions.\n \n

    \n\n

    \n \n Except for members residing in the UK, EU or EEA who may bring\n claims in their country of residence in accordance with applicable\n law and except for claims that may be properly brought in a small\n claims court of competent jurisdiction, all claims arising out of or\n relating to this Agreement, to the Loóna Services, or to your\n relationship with Loóna that for whatever reason are not submitted\n to arbitration will be litigated exclusively in the courts of\n England.\n \n

    \n\n

    \n \n If you are U.S. User, this Agreement, and all claims and\n causes of action in connection with, arising under or relating to\n the subject matter of these terms and conditions, in the broadest\n possible way, including tort claims (the “Claims”), shall be\n governed by, and construed in accordance with the laws of the State\n of Delaware without regard to its choice of law principles. To the\n extent applicable, the parties expressly disclaim the application of\n the United Nations Convention on Contracts for the International\n Sale of Goods. The choice of law designated herein shall apply to\n all factual and legal issues relating to or arising under the\n contract and shall survive termination of this Agreement.\n \n

    \n\n

    \n \n If you are a U.S. User, further you and the Company agree to\n the jurisdiction of Delaware to resolve any Claims that relate to or\n arise in connection with these Terms and that are not subject to\n mandatory arbitration under Section 14.\n \n

    \n\n

    \n \n No Waiver. If we do not insist immediately that you do\n anything you are required to do under these Terms, or if we delay in\n taking steps against you in respect of your non-compliance with any\n of these Terms, that will not mean that you do not have to do those\n things and it will not prevent us taking steps against you at a\n later date.\n \n

    \n\n

    \n \n Contact Us. If you have any questions or concerns regarding\n these Terms, you may contact us by email at hello@loóna.app.\n \n

    \n
\n
\n );\n};\n","import React from 'react';\nimport { PageWrapper } from '../components/pagewrapper/PageWrapper';\n\nexport const Privacy = () => {\n return (\n \n

LOÓNA PRIVACY POLICY

\n

\n Effective Date: April 25, 2024.\n

\n <>\n

\n This privacy policy explains how we, Loona Inc. of 8 The Green, Ste B,\n Dover, DE, 19901, USA or any of our affiliated entities(\n “Loóna”, “we”, “us”, “our”) process your personal\n information (“you”, “your”) when you use our website,\n app or other services.\n

\n

PLEASE READ THIS PRIVACY POLICY CAREFULLY 

\n

\n By using the Loóna mobile application (the “App”) or\n the website located at{' '}\n https://loona.app/ (the “\n Website”) (App and Website individually referred to\n as a “Loóna Service” or collectively as the{' '}\n “Loóna Services”) or otherwise indicating your\n acceptance (e.g. by clicking tick-box or bottom “agree” or\n “continue”), you agree to the following terms of our Privacy Policy,\n which will bind you at all times and in whatever manner you use the\n Loóna Services.\n

\n

Please note:

\n
    \n
  1. \n Individuals in the European Economic Area (EEA) and the United\n Kingdom (UK) should also read our section about “\n Your EEA & UK Data Privacy Rights”.\n
  2. \n
  3. \n Individuals in California should also read our\n section about “Your California Privacy Rights”.\n
  4. \n
  5. \n Individuals in Nevada should also read our section\n about “Your Nevada Privacy Rights”.\n
    \n
    \n
    \n
  6. \n
\n
    \n
  • \n 1. WHAT THIS PRIVACY POLICY APPLIES TO\n
  • \n
\n

This Privacy Policy applies to all Loóna Services. 

\n
    \n
  • \n 2. WHAT TYPES OF INFORMATION DO WE COLLECT\n
  • \n
\n

\n Generally, “personal information”, “personal data” or similar terms\n refer to any information that identifies you or relates to you.\n However, the exact meaning of personal information may be determined\n by the law of the country of your residence.\n

\n

\n We will process the following information which may be considered\n personal information:\n

\n

\n Information You Provide To Us Directly\n

\n
    \n
  • \n Account details.Your user details when you sign up\n as a user of Loóna Services, such as your name/ user name and email\n address. If you log in with your Apple ID we will receive your Apple\n ID and may receive the email address associated with your Apple ID,\n depending on your Apple settings. If you log in via your Google\n Account we will receive your associated email address.\n
  • \n
  • \n Details of your request. When you contact or visit\n us, we may process the details of your request, communications,\n complaints, or other interaction.\n
  • \n
  • \n Activity Data and Health Data. Information you\n provide to us when you participate in any interactive features of\n Loóna Services, including surveys, contests, promotions. For\n instance, if you choose to take our test to determine your ideal\n sleep schedule, you can voluntarily share personal information with\n us. This may include details such as your gender identity, age\n group, whether you have children, information about your sleep and\n activity patterns, and health data. This information will be solely\n utilized for generating test results and performing statistical\n analysis. The retained data will be stored for up to 12 months and\n will be automatically deleted. The health data you provide will be\n processed on the basis of your consent, which you will be able to\n withdraw at any time by contacting us at privacy@loona.app. \n
  • \n
\n

\n Information We Collect Automatically\n

\n

\n Such automatically collected data helps us operate Loóna and improve\n it to deliver better service, including but not limited to enabling us\n to estimate our audience size, and understand how you use Loóna and\n what you like and dislike the most.\n

\n
    \n
  • \n Transaction information. Transaction information\n such as your purchases in our Loóna Services, including date of\n purchase, currency, amount, payment type and the last four digits of\n your card number.\n
  • \n
  • \n App and country information: Information regarding\n the version of the app that you are using and the country version of\n the app store from which you downloaded Loóna.\n
  • \n
  • \n Device information. When accessing Loóna Services,\n your device and browser will automatically provide unique\n information such as account ID, mobile device ID, internet protocol\n (IP) address, cookie ID or online identifiers, operating system,\n browser type, time zone setting, location and date and time of\n access. \n \n (If you have provided your consent) IDFA or Android Advertising ID\n \n , whichever is applicable to your device. If you want to disable the\n collection of IDFA and/or Android Advertising ID by Loóna Services,\n please follow in-app instructions.\n
  • \n
\n

If you use an iOS device:

\n

\n Go to Privacy settings to see a list of apps that request to track\n your activity. On iPhone or iPad, go to Settings > Privacy >\n Tracking.\n

\n

Tap to turn off or turn on permission to track for Loóna.

\n

If you use an Android device:

\n

Open Settings app

\n

Navigate to “Privacy” > “Ads”

\n

Tap “Delete Advertising ID”

\n

Tap it again on the next page to confirm.

\n

\n We and third-parties may use cookies, Software Development Kits\n (SDKs), and other tracking technologies to automatically collect the\n Personal Data set forth above. For more information regarding our use\n of these technologies, please see Section 6: Cookies, Software\n Development Kits, and Other Tracking Technologies.\n

\n
    \n
  • \n Usage data. Details of your use of Loóna, including\n frequency of use, areas and features of the application that you\n access and information regarding engagement with particular features\n of the app.\n
  • \n
  • \n Interaction information. When we send you emails or\n other communications, we may collect technical interaction\n information, such as open rates and if you clicked on any content.\n
  • \n
\n

\n Information We Obtain From Third Parties\n

\n

\n In addition to the information you may provide us directly, we receive\n information about you from others, including:\n

\n
    \n
  • \n Social media. You may decide to share information\n with us through your social media account, such as your interaction\n with our posts and content, social media profile by sharing your\n “stories” and ‘likes’ on social media platforms, such as Twitter and\n Instagram, TikTok.\n
  • \n
  • \n Our suppliers. We may receive information about you\n from our partners where our ads are published on a partner’s service\n (in which case they may pass along details on a campaign’s success).\n We may receive information about you from our analytics service\n providers to help us measure traffic and usage trends with data they\n collect through Loóna Services in accordance with their own privacy\n policies.\n
  • \n
\n
    \n
  • \n 3. DATA ACCURACY\n
  • \n
\n

\n We will rely on the information provided by you as accurate, complete,\n and up to date, and we would be grateful if you could inform us of any\n changes.\n

\n
    \n
  • \n \n 4. WHAT PURPOSES DO WE COLLECT YOUR INFORMATION FOR?\n \n
  • \n
\n

\n Generally, we will use your personal information to (i) provide Loóna\n Services and enable you to use our service features, (ii) respond to\n your queries, (iii) develop and promote our organisation and services;\n (iv) ensure the security and technical availability of Loóna Services;\n and (v) comply with the law.\n

\n

\n *If you are an individual in the EEA or the UK, we have to inform you\n about the “legal ground” for us to use your “personal data”. This will\n typically be the performance of our contract with you\n (based on our\n Loóna Terms of Use) or our{' '}\n legitimate interest to use your personal data to\n ensure that Loóna Services are provided properly, efficiently and\n securely, as is further explained below. We may be{' '}\n obligated to process some of your personal data to\n comply with applicable laws and regulations. \n

\n

\n Where the legal basis is consent, you can withdraw\n consent at any time. You may withdraw your consent by adapting your\n settings or by deleting your content (for instance where you entered\n information in your profile that may be considered 'special' or\n 'sensitive'). In any case, you may withdraw your consent at any time\n by contacting us at the address provided at the end of this Privacy\n Policy.\n

\n

\n Where we rely on legitimate interests as the legal basis for\n processing personal data, we have considered whether or not those\n interests are overridden by the interests or fundamental rights or\n freedoms of the individuals whose data are being processed and\n concluded that the processing is, on balance, fair. Where the legal\n basis is legitimate interests, you have a right to object to our use\n of your data.\n

\n

\n We use your information for the following purposes:\n

\n
    \n
  • \n To register you as a service user when you sign up for Loóna\n Services and to enable you to use Loóna Services and its\n functionalities. \n
  • \n
  • To enable you to make purchases through our Loóna Service.
  • \n
  • \n To assist and contact you in relation to your enquiry or to send you\n information which you have requested about Loóna Services.\n
  • \n
  • \n To fulfill your requests and send you service communications and\n notifications about matters relevant to your use of Loóna Services\n and your engagement with us, such as information about offers you\n might be interested in, targeted content, confirmations of\n purchases, details of events, surveys, changes in our terms, etc.\n
  • \n
  • \n To send you promotional information through various marketing\n channels including post, email, social media and etc. about Loóna\n Services and our organization, reviewing and optimizing campaign\n performance and profiling information about your interests known,\n observed or inferred for direct marketing purposes.\n
  • \n
  • \n To improve and develop Loóna Services, including to: obtain\n feedback; record preferences; conduct statistical analysis; make\n services and features more relevant; improve user experience; and\n work with third parties and evaluate data to improve and develop\n Loóna Services.\n
  • \n
  • \n To ensure proper administration of our business, including to: keep\n appropriate records about how Loóna Services are used; resolve\n complaints; conduct troubleshooting; manage our business\n relationships and identify opportunities; register interactions with\n our communications, such as emails; enforce our terms; and debt\n collection.\n
  • \n
  • \n To engage our third party service providers who may process your\n information on our behalf to facilitate the provision of Loóna\n Services and the fulfillment of essential service functions, such as\n web hosting, cloud storage, analytics, payments, plugins,\n communications, accounting, security and others. It is our\n legitimate interest in delivering our Loóna Services properly,\n efficiently and understanding our users’ needs and to make analytics\n of our audience as it helps us understand our product and business\n metrics.\n
  • \n
  • \n To monitor our networks, Loóna Services and systems for suspicious\n activities, test and audit our systems and deploy appropriate\n security measures.\n
  • \n
  • \n To monitor operations, user activity and networks for fraud\n prevention, including information from third parties who may alert\n us about suspicious activities. \n
  • \n
  • To share information with our group companies.
  • \n
  • \n To share data with another organization for the purposes of a joint\n venture, collaboration, financing, sale, merger, reorganization or\n similar event relating to our business.\n
  • \n
  • \n To process information as is required for our compliance with the\n law or to establish, exercise or defend legal claims.\n
  • \n
  • \n To process and share information with other third parties where\n required by law, such as regulators, law enforcement agencies or\n where mandatory under a court order.\n
  • \n
\n
    \n
  • \n 5. NO PROCESSING OF PAYMENT DETAILS\n
  • \n
\n

\n We will not receive or store any of your payment details, this is\n fully handled by the relevant payment service provider. If/when you\n make any purchases, we are notified by the payment processor once the\n transaction takes place and then ensure you receive your purchase. We\n do not, however, receive any of your actual payment details or\n personal data related to the payment. We only keep the data concerning\n transaction dates, currencies, value, the last four digits of your\n card number and the subject of the transaction.\n

\n
    \n
  • \n \n 6. COOKIES, SOFTWARE DEVELOPMENT KITS, AND OTHER TRACKING\n TECHNOLOGIES\n \n
  • \n
\n

\n While using Loóna Services, we and our service providers, vendors, and\n partners, including third parties, may use cookies (a small text files\n stored on your computer or mobile device to identify your computer and\n web browser) and other similar technologies to collect or receive\n specific information regarding you and/or your interaction with Loóna\n Services. \n

\n

\n Additionally, we employ third-party analytics tools such as Google\n Firebase, RevenueCat, AppsFlyer, and Amplitude to assist us in\n measuring traffic and usage trends for Loóna, among other purposes.\n These analytics tools collect data through third-party SDKs integrated\n into Loóna, encompassing details about the features you explore or use\n within Loóna, your interactions within the Loóna, and information\n concerning your subscription. This information might be used to\n deliver content, advertising, or features, as well as to evaluate and\n analyze the effectiveness of advertisements on Loóna or other websites\n or platforms. Third parties may also leverage this data for their own\n purposes. \n

\n

\n Interest-based Advertising. We might collaborate with\n ad networks and other providers of ad-serving services to deliver\n advertisements on non-affiliated platforms. Some of these\n advertisements may be personalized, which means that they may try to\n be relevant to you using data collected by ad networks and ad-serving\n providers regarding your app usage patterns over time, including\n details about connections between various browsers and devices. This\n form of advertising is commonly referred to as interest-based\n advertising.\n

\n

\n Your Choices. Most browsers and devices are set to\n accept cookies and similar tracking technologies by default. However,\n you may have the option to set your browser and device settings to\n limit these technologies. For more information about cookies,\n including how to see what cookies have been set on your device and how\n to manage and delete them, visit\n www.allaboutcookies.org .\n

\n

\n \n For users in the European Economic Area, United Kingdom and United\n States.\n {' '}\n You can opt-out from processing of Personal Data via cookies, SDKs and\n other tracking technologies by sending a request to\n

\n

\n Additionally, you have the option to prevent our Loóna Services from\n placing cookies by using a global privacy control signal or by using a\n browser equipped with privacy features or installing browser plugins\n and configuring them to block cookies or trackers.\n

\n

\n Please note that these opt-out mechanisms apply only to the specific\n device or browser on which they are activated, necessitating opting\n out on each browser and device individually.\n

\n

\n It's important to acknowledge that certain features of the app may not\n operate as intended if you choose to reject cookies or similar\n tracking technologies. Additionally, disabling cookies or similar\n tracking technologies could limit your access to certain content\n within our app. Remember that your preferences are typically tied to\n specific devices and browsers.\n

\n
    \n
  • \n \n 7. HOW WE MAY DISCLOSE YOUR INFORMATION TO THIRD PARTIES\n \n
  • \n
\n

\n We do not rent or sell your Personal Data to any third parties outside\n the Loóna or its affiliates (as defined below).\n

\n

\n We do not share your personal information except as approved by you or\n as described below:\n

\n
    \n
  • \n We may engage other companies and individuals to perform services on\n our behalf. An example of these services may include analyzing data\n and providing customer support. These agents and service providers\n may have access to your personal information in connection with the\n performance of services for us, and they are bound by appropriate\n contractual safeguards in place.\n
  • \n
  • \n We may release your information as permitted by law, such as to\n comply with a subpoena, or when we believe that release is\n appropriate to comply with the law; investigate fraud, respond to a\n government request, enforce or apply our rights; or protect the\n rights, property, or safety of us or our users, or others. This\n includes exchanging information with other companies and\n organizations for fraud protection. In certain situations, Loóna may\n be required to disclose personal information in response to lawful\n requests by public authorities or for local law enforcement\n requirements.\n
  • \n
  • \n We may share your Personal Data if our company or any of our\n affiliates, subsidiaries or business units is involved in a business\n change such as a merger, divestiture, restructuring, reorganization,\n acquisition, bankruptcy, dissolution, or liquidation. In these\n situations, your Personal Data and other collected data may be among\n the assets transferred or disclosed as part of the business\n transaction or proceeding.\n
  • \n
  • \n Loóna may contain third party tracking and data collection and\n analytics tools from our service providers. Such third parties may\n use cookies, APIs, and SDKs in Loóna to enable them to collect and\n analyze user and device related data and information on our behalf.\n We collect and use this analytics information in an aggregated\n manner with analytics information so that it cannot reasonably be\n used to identify any particular user. The privacy policies of our\n service providers may include additional terms and disclosures\n regarding their data collection and use practices and tracking\n technologies, and we encourage you to check those privacy policies\n to learn more about their data collection and use practices, use of\n cookies and other similar tracking technologies.\n
  • \n
  • \n Apple iOS users may opt-in to allow Loóna Services to provide data\n regarding the amount of minutes spent within Loóna applications to\n the Apple iOS “Health” application for display. This data will not\n be shared with third parties or used for marketing purposes.\n
  • \n
  • \n We may share aggregate or anonymized information about you with\n advertisers, publishers, business partners, sponsors, and other\n third parties.\n
  • \n
\n
    \n
  • \n 8. CONTROLS FOR DO-NOT-TRACK FEATURES\n
  • \n
\n

\n Many web browsers, as well as certain mobile operating systems and\n applications, offer a feature called Do-Not-Track (\"DNT\") that allows\n you to indicate your preference for privacy by requesting that your\n online browsing activities not be monitored or collected. However,\n it's important to note that there is currently no universally accepted\n technology standard for recognizing and implementing DNT signals.\n Therefore, we do not currently act upon DNT browser signals or any\n other automatic mechanism that indicates your preference not to be\n tracked online. If a standard for online tracking is established in\n the future that requires our compliance, we will update this privacy\n notice accordingly to inform you of any changes in our practices. We\n do recognize the global privacy control signal if you rbrowser or\n device is using such a signal. Please see Section 6 (Your Choices)\n above for more information.\n

\n
    \n
  • \n 9. LINKS TO OTHER SITES\n
  • \n
\n

\n For the convenience of our visitors and clients, Loóna Services may\n contain links to other sites, such as those of our partners or\n vendors, which are subject to different privacy policies. The Policy\n will not apply to your use of other websites. While we generally try\n to link only to sites that share similar high standards and respect\n for privacy, we have no responsibility or liability for the content,\n products or services offered, independent actions, or the privacy and\n security practices employed by these other independent sites. We\n encourage you to ask questions and review the applicable privacy\n policies found on such other websites, services and applications to\n understand how your information may be collected and used on these\n independent sites before disclosing information to third parties.\n

\n
    \n
  • \n 10. HOW LONG IS YOUR INFORMATION KEPT?\n
  • \n
\n

\n We retain your Personal Data for as long as your account is active or\n as needed for the purposes of processing. At any time, you can delete\n your account, as well as the Personal Data associated with it by\n sending a request to privacy@loona.app or proceed with App Settings.\n

\n

\n Please note that we still may retain certain data about you if so\n needed due to applicable legislation requirements, any potential or\n ongoing dispute resolution, or in order to enforce our rights. Even if\n we delete some or all of your Personal Data, we may continue to retain\n and use anonymized data previously collected that can no longer be\n used for personal identification.\n

\n

\n We will retain your Personal Data only for as long as is necessary for\n the purposes set out in this Privacy Policy. \n

\n

\n Please, note that deletion of App does not imply the deletion of your\n account and your data.\n

\n
    \n
  • \n 11. HOW DO WE SECURE YOUR INFORMATION?\n
  • \n
\n

\n We maintain appropriate organizational and technological safeguards to\n help protect against unauthorized use, access to or accidental loss,\n alteration or destruction of the personal information we hold. We also\n seek to ensure our third-party service providers do the same.\n

\n

\n We will endeavour to use the least amount of personal information as\n is required for each purpose. \n

\n

\n Our staff will access your personal information on a “need-to-know”\n basis.\n

\n

\n Unfortunately, the transmission of personal data through the internet\n is not completely secure. Although we will do our best to protect your\n personal data, we cannot guarantee the security of your personal data\n transmitted to or stored on our IT system, and any transmission is at\n your own risk. Once we have received your personal data, we will use\n strict procedures and security features to try to prevent unauthorized\n access.\n

\n
    \n
  • \n 12. WHERE IS YOUR INFORMATION PROCESSED?\n
  • \n
\n

\n We may transfer your personal information to our group companies,\n suppliers and other third parties in countries different to your\n country of residence.\n

\n

\n In addition, data may be transferred to our subsidiaries or processors\n in third countries or subcontractors of our processors in third\n countries.\n

\n

\n We and certain of our service providers are incorporated in the United\n States. Accordingly, your Personal Data may be transferred to and\n stored in the United States.\n

\n

\n Where required under the EEA GDPR, in case of transfers of personal\n data from the EEA to countries outside the EEA, where we cannot rely\n on adequacy decisions adopted by the European Commission (for more\n information, please see{' '}\n \n here\n \n ) we ensure appropriate safeguards are in place to guarantee the\n continued protection of your personal data, particularly by signing\n the Standard Contractual Clauses of the European Commission (article\n 46(2)(c) GDPR). For more information on these Standard Contractual\n Clauses, please see{' '}\n \n here\n \n .\n

\n

\n Where required under the UK GDPR, in case of transfers of personal\n data to countries outside the United Kingdom, we ensure appropriate\n safeguards are in place to guarantee the continued protection of your\n personal data, particularly by signing the UK Addendum to the EU\n Standard Contractual Clauses or the UK International Data Transfer\n Agreement, whichever is more appropriate in the given situation. For\n more information on UK Addendum and the UK International Data Transfer\n Agreement please see{' '}\n \n here\n \n . We may also guarantee the protection of your personal data by\n relying on adequacy decisions adopted or approved by the authorities\n in the United Kingdom.\n

\n
    \n
  • \n 13. OUR POLICY REGARDING CHILDREN\n
  • \n
\n

\n General age limitation. Loóna is not intended for or\n directed at children under 13, and we do not knowingly collect or\n solicit any information from anyone under the age of 13 or knowingly\n allow such persons to use Loóna. If you are under 13, do not: (i) use\n or provide any information in Loóna or through any of its features, or\n (ii) provide any information about yourself to us, including your\n name, address, telephone number or email address. If you are a parent\n or guardian and believe we have collected information from your child\n who is under the age of 13, please contact us at privacy@loona.app.\n

\n

\n Age limitation for EEA/UK individuals. You must be at\n least 16 years old in order to use Loóna Services. We do not allow use\n of Loóna by EEA individuals younger than 16 years old. If you are\n aware of anyone younger than 16 using Loóna, please contact us by\n e-mail: privacy@loona.app, and we will take the required steps to\n delete the information provided by such persons.\n

\n
    \n
  • \n 14. ELECTRONIC COMMUNICATIONS\n
  • \n
\n

\n By using Lóona, you also agree to receive electronic communications\n from us, including via email, push notifications and by posting\n notices on Lóona. The communications between you and us may take place\n via electronic means, whether you use Lóona or send us emails, or\n whether we post notices on Loóna or communicate with you via email.\n These communications may include notices about Lóona and the Purchased\n Content and are part of your relationship with us. For contractual\n purposes, you: (i) consent to receive communications from us in an\n electronic form; and (ii) agree that all terms and conditions,\n agreements, notices, disclosures, and other communications that we\n provide to you electronically satisfy any legal requirement that such\n communications would satisfy if it were to be in writing. The\n foregoing does not affect your statutory rights. Communications from\n us and our affiliated companies may include but are not limited to:\n operational communications concerning your Account or the use of Loóna\n (e.g., technical and security notices, updates to this Privacy Policy\n and Loóna Terms of Use), and\n updates concerning new and existing features (e.g., changes/updates to\n features of Lóona and their scope, prices of in-app subscriptions).\n

\n

\n You may opt-out of receiving promotional emails from us at any time\n through any of the following methods:\n

\n
    \n
  • \n by following the opt-out links in any promotional email sent to you;\n or\n
  • \n
  • through Loóna settings on your mobile device; or
  • \n
  • by contacting us at any time at privacy@loona.app 
  • \n
\n

\n You may opt-out of push notifications by changing the settings on your\n mobile device.\n

\n
    \n
  • \n 15. CONTACT US\n
  • \n
\n

\n Please email us if you have any queries or concerns about how we use\n your personal information. We will try to resolve your query without\n undue delay.\n

\n

E-mail: privacy@loona.app

\n

\n Appointed EEA/UK representative. Loona has appointed\n BrattePL Sp. z o.o. as its data privacy representative in the EEA and\n UK to act as its direct contact for data subjects and EEA/ UK\n supervisory authorities. If you usually reside in an EEA/ UK you can\n contact BrattePL Sp. z o.o. regarding matters pertaining to the GDPR\n by: \n

\n

E-mail: privacy@loona.app

\n

Postal address: 8/12 Młynarska St., 01-194 Warsaw, Poland

\n
    \n
  • \n 16. UPDATES\n
  • \n
\n

\n This Privacy Policy may change from time to time, and we encourage you\n to review it periodically. The date this Privacy Policy was last\n revised is indicated at the top of the page. We may modify or update\n this Privacy Policy from time to time. Some changes do not require\n your consent. However, if we determine that the changes may pose risk\n to your rights and freedoms, we will ask for your consent to those\n changes separately from this Privacy Policy.\n

\n
    \n
  • \n 17. YOUR EEA & UK DATA PRIVACY RIGHTS\n
  • \n
\n

\n This section provides further disclosures and describes the rights in\n relation to your personal data that you may have under GDPR if you are\n an individual in the EEA or UK GDPR if you are an individual in the\n UK.\n

\n
    \n
  1. \n Personal data\n \n
    \n
    \n “Personal data” means any information relating to an identified or\n identifiable natural person; such person is known as a ‘data\n subject’. In practice, almost all information relating to you will\n be your personal data.\n
  2. \n
  3. \n How do we process your information and why?\n \n
    \n
    \n We will process your personal data as “controller” for the purposes\n and on the legal grounds for processing set out above. We will\n update you about any new purposes of processing your personal data\n from time to time, and we will obtain your prior consent for such\n new purposes where we are required to do so by law.\n
  4. \n
  5. \n Data subject rights\n \n
    \n
    \n Subject to certain exemptions, limitations and appropriate proof of\n identity, as a data subject, you will generally have numerous rights\n in relation to your personal data that you may exercise with the\n controller, including the following:\n
  6. \n
\n
    \n
  1. \n Right to information about matters set out in this policy. You may\n also contact us for further details about our retention policy and\n international data transfers.\n
  2. \n
  3. \n Right to make an access request to receive copies of personal data,\n as well as to share your personal data with other parties.\n
  4. \n
  5. \n Right to rectification of any inaccurate or incomplete personal\n data.\n
  6. \n
  7. \n Right to withdraw consent previously provided, without affecting the\n lawfulness of our processing based on consent before its withdrawal.\n
  8. \n
  9. \n Right to object to our processing of personal data for direct\n marketing purposes, or that is based on our legitimate interests,\n and any automated decision-making and profiling.\n
  10. \n
  11. \n Right to erasure of personal data, in certain circumstances. Please\n note that the erasure of some of your personal data may affect your\n ability to use Loona Services.\n
  12. \n
  13. \n Restriction on the processing of personal data in certain\n circumstances.\n
  14. \n
  15. \n Right to data portability from one service provider to another,\n where applicable. In this case, we will provide you with a copy of\n your personal data in a machine-readable format in accordance with\n industry standards so that you can pass this information to another\n data controller.\n
  16. \n
  17. \n Right to lodge a complaint with your country’s supervisory\n authority. Subject to the GDPR, you have the right to lodge a\n complaint with a local data protection authority in the country of\n your residence, where you work or where an alleged infringement of\n the applicable data protection law took place. Please see a list of\n EU member states’ supervisory authority{' '}\n \n here\n \n , and the UK’s supervisory authority (ICO){' '}\n here.\n
  18. \n
\n

\n All requests will be processed in a timely manner, generally within\n one month. If we cannot process your request within this period, we\n will explain why and extend the period by up to two months where\n necessary, taking into account the complexity and number of requests.\n You can exercise these rights directly with us by submitting a request\n at privacy@loona.app. Please note that these rights are not absolute\n and we may be entitled (or required) to refuse requests where\n exceptions apply.\n

\n
    \n
  1. \n 18. YOUR CALIFORNIA PRIVACY RIGHTS\n
  2. \n
\n

\n ​​California’s “Shine the Light” law (Civil Code Section § 1798.83)\n permits users of our Website that are California residents to request\n certain information regarding our disclosure of personal information\n to third parties for their direct marketing purposes. To make such a\n request, please send an email to privacy@loona.app.\n

\n
    \n
  • \n 19. YOUR NEVADA DATA PRIVACY RIGHTS\n
  • \n
\n

\n Nevada residents who wish to exercise their sale opt-out rights under\n Nevada Revised Statutes Chapter 603A may submit a request to\n privacy@loona.app. However, please know we do not currently sell data\n triggering that statute’s opt-out requirements.\n

\n \n
\n );\n};\n","import React from 'react';\nimport { PageWrapper } from '../components/pagewrapper/PageWrapper';\n\nexport const CaliforniaPrivacy = () => {\n return (\n \n

California Data Privacy Notice for California Residents

\n

\n The California Consumer Privacy Act (“CCPA”)\n

\n

\n \n California residents may have additional privacy rights under\n applicable California law. A “California resident” is a natural person\n who resides in California, even if the person is temporarily outside\n of the state.\n \n

\n

\n \n Specifically, the California Consumer Privacy Act (“CCPA”) provides\n California residents additional rights to (i) know the personal\n information collected about them, (ii) request deletion of such\n information (subject to certain exceptions), (iii) opt-out of the sale\n of such information, and (iv) not be discriminated against for\n exercising those rights. Business that are subject to the CCPA are\n required to disclose the means to exercise the foregoing rights.\n \n

\n

\n \n Loona uses and discloses personal information for business purposes\n only as set forth in its Privacy Policy. All collection, use and\n disclosure of personal information is described in Loona’s Privacy\n Policy in the section entitled,\n “How We Use Your Information” and{' '}\n “How We May Disclose Your Information to Third Parties”. \n The categories of personal information collected and disclosed to\n third parties for business purposes by us are listed in the sections\n entitled, “Information and Data we Collect from you” and{' '}\n “Other Information”.\n \n

\n

\n \n Loona does not sell information as the term “sell” is traditionally\n understood. Notwithstanding, to the extent Loona’s handling of\n personal information in accordance with its Privacy Policy is\n interpreted as a “sale” under the CCPA, Loona will comply with\n applicable law as to such activity.\n \n

\n

\n \n If you are a California resident using the Services, you have the\n following rights:\n \n

\n
    \n
  • \n \n To request the categories of personal information that the business\n collected about you or disclosed about you for a business purpose.\n \n
  • \n
  • \n \n To request deletion of the personal information it has collected\n from you, subject to certain legal exceptions.\n \n
  • \n
  • \n \n To be protected from discrimination for exercising your CCPA rights.\n \n
  • \n
  • \n To opt-out of the sale of your personal information.\n
  • \n
\n

\n \n Your rights under CCPA may be limited as permitted by applicable law\n (for example, if you are using the Services as an employee or agent\n under a business account). Loona expressly reserves all rights to\n claim legal exemptions permitted under the CCPA.\n \n

\n

\n \n If you have a question about Loona’s practices under the CCPA or to\n the extent you wish to exercise your rights thereunder, you may\n contact us at:{' '}\n privacy@loona.app. In the\n request, please specify which right you are seeking to exercise and\n the scope of the request. Loona reserves the right to request\n additional information from you to help us verify your identity and\n process your request.\n \n

\n

\n California’s “Shine the Light” Law\n

\n

\n \n California residents may annually request and obtain information that\n Loona shared with other businesses for their own direct marketing use\n within the prior calendar year.\n \n

\n

\n \n California users may request further information about our compliance\n with this law by emailing us at{' '}\n privacy@loona.app.\n \n

\n

\n Do Not Track Signals\n

\n

\n \n Loona does not respond to Do Not Track (DNT) signals. However, some\n third-party sites do keep track of your browsing activities when they\n serve you content, which enables them to tailor what they present to\n you. If you are visiting such sites, your browser may include controls\n to block and delete cookies, web beacons and similar technologies, to\n allow you to opt out of data collection through those technologies.\n \n

\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"bodyBackground\":\"styles_bodyBackground__gZEqv\",\"container\":\"styles_container__2qY6p\",\"logo\":\"styles_logo__rjmj4\",\"article\":\"styles_article__K+Gew\",\"note\":\"styles_note__Ljy-V\",\"light\":\"styles_light__29ykZ\",\"description\":\"styles_description__Yu74I\",\"bold\":\"styles_bold__qDo1W\",\"bottom0\":\"styles_bottom0__pSvNV\",\"tableWrapper\":\"styles_tableWrapper__IkO8W\"};","import React, { useEffect } from 'react';\nimport { Footer } from '../footer/Footer';\nimport BlackLogo from '../../../assets/logo_loona_black.svg';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport const CookiePolicyPageWrapper = ({ children }: Props) => {\n useEffect(() => {\n document.body.classList.add(styles.bodyBackground);\n\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n };\n });\n\n return (\n
\n \"\"\n
{children}
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"styles_table__bf5EB\",\"label\":\"styles_label__e0FUe\",\"green\":\"styles_green__woP+o\",\"purple\":\"styles_purple__bxWjR\"};","import React from 'react';\nimport { CookieDataTypes } from '../../data/CookieDataTypes';\nimport styles from './styles.module.scss';\n\ntype TableHeaders = Record;\n\ninterface TableProps {\n items: T[];\n headers: TableHeaders;\n}\n\nconst objectValues = (obj: T) =>\n Object.keys(obj).map((objKey) => obj[objKey as keyof T]);\n\nconst objectKeys = (obj: T) =>\n Object.keys(obj).map((objKey) => objKey as keyof T);\n\nexport default function Table({ headers, items }: TableProps) {\n const getColumnColorStyle = (columnValue: CookieDataTypes) => {\n return columnValue === CookieDataTypes.Marketing ? 'purple' : 'green';\n };\n\n function renderRow(item: T) {\n return (\n \n {objectKeys(item).map((itemProperty, index) => {\n const columnValue = item[itemProperty];\n if (itemProperty === 'type') {\n return (\n \n \n {columnValue}\n
\n \n );\n }\n return {columnValue};\n })}\n \n );\n }\n\n return (\n \n \n {objectValues(headers).map((headerValue, index) => (\n \n ))}\n \n {items.map(renderRow)}\n
{headerValue}
\n );\n}\n","import { CookieDataTypes } from './CookieDataTypes';\n\nexport const CookieTableData = [\n {\n name: '_fbp',\n description:\n 'Used by Facebook to deliver a series of advertisement products.',\n duration: '3 months',\n type: CookieDataTypes.Marketing,\n },\n {\n name: '_ga',\n description:\n 'Registers a unique ID that is used to generate statistical data on how the visitor uses the website.',\n duration: '2 years',\n type: CookieDataTypes.Performance,\n },\n {\n name: `_gat_gtag_UA${'\\n'}_145929721_1`,\n description: 'Google Analytics cookie to throttle the request rate.',\n duration: '1 minute',\n type: CookieDataTypes.Performance,\n },\n {\n name: '_gid',\n description:\n 'Registers a unique ID that is used to generate statistical data on how the visitor uses the website.',\n duration: '1 day',\n type: CookieDataTypes.Performance,\n },\n {\n name: 'amp_*',\n description:\n 'Contains a token that can be used to retrieve a Client ID from AMP Client ID service.',\n duration: '1 year',\n type: CookieDataTypes.Marketing,\n },\n {\n name: '_scid',\n description:\n 'Registers a unique ID that is used to generate statistical data on how the visitor uses the website.',\n duration: '1 year',\n type: CookieDataTypes.Marketing,\n },\n {\n name: '_pin_unauth',\n description:\n 'Registers a unique ID that is used to generate statistical data on how the visitor uses the website.',\n duration: '1 year',\n type: CookieDataTypes.Marketing,\n },\n {\n name: '_gcl_au',\n description:\n 'Registers a unique ID that is used to generate statistical data on how the visitor uses the website.',\n duration: '3 months',\n type: CookieDataTypes.Marketing,\n },\n {\n name: 'wd',\n description:\n 'Used by Facebook to deliver a series of advertisement products.',\n duration: '1 week',\n type: CookieDataTypes.Marketing,\n },\n {\n name: 'IDE',\n description: 'Used by oogle to deliver a series of advertisement products.',\n duration: '13 months',\n type: CookieDataTypes.Marketing,\n },\n {\n name: 'fr',\n description:\n 'Used by Facebook to deliver a series of advertisement products.',\n duration: '3 months',\n type: CookieDataTypes.Marketing,\n },\n {\n name: 'dpr',\n description:\n 'Used by Facebook to deliver a series of advertisement products.',\n duration: '3 day',\n type: CookieDataTypes.Marketing,\n },\n {\n name: 'datr',\n description:\n 'Used by Facebook to deliver a series of advertisement products.',\n duration: '2 year',\n type: CookieDataTypes.Marketing,\n },\n {\n name: 'usida',\n description:\n 'Used by facebook to register a unique ID that is used to generate statistical data on how the visitor uses the website.',\n duration: 'Session',\n type: CookieDataTypes.Marketing,\n },\n];\n","var _path, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFlower(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 97,\n height: 72,\n viewBox: \"0 0 97 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.9798 23.9998C91.1521 23.9998 87.6512 24.2462 84.3764 24.6916C83.4758 17.9985 81.2355 11.383 77.5614 5.00807C77.0837 4.1777 76.0654 3.79534 75.1655 4.10405C69.6733 5.91537 64.6338 8.46675 60.0951 11.6234C57.2768 7.60823 53.8735 3.82805 49.7941 0.463065C49.0444 -0.154355 47.9551 -0.154355 47.2047 0.463065C43.1253 3.82805 39.722 7.60823 36.9037 11.6234C32.365 8.46607 27.3254 5.91469 21.8333 4.10405C20.9253 3.79735 19.9151 4.18039 19.4374 5.00807C15.7647 11.3857 13.5243 17.9998 12.6238 24.6916C9.34896 24.2462 5.8488 23.9998 2.02108 23.9998C0.903977 23.9998 0 24.8945 0 26.0001C0 40.0197 4.21537 51.0064 12.8869 59.5882C21.2108 67.8242 33.1929 72 48.5 72C63.8071 72 75.7901 67.8242 84.1131 59.5882C92.7846 51.0061 97 40.0195 97 26.0001C97 24.8945 96.096 23.9998 94.9789 23.9998H94.9798ZM74.8625 8.44536C77.8349 13.962 79.6551 19.6417 80.4061 25.3706C75.753 26.3375 71.6324 27.8194 67.959 29.8874C67.0036 24.7291 65.0759 19.7101 62.2822 14.9784C66.0937 12.3071 70.2981 10.0966 74.8627 8.44536H74.8625ZM22.1392 8.44536C26.7038 10.0974 30.9082 12.3071 34.7197 14.9784C31.9259 19.7101 29.9982 24.7291 29.0429 29.8874C25.3688 27.8196 21.2489 26.3369 16.5951 25.3706C17.3461 19.6431 19.167 13.9625 22.1394 8.44536H22.1392ZM15.7451 56.7593C8.17837 49.2693 4.44073 40.0991 4.07403 28.0226C14.3235 28.2509 22.1231 30.2532 28.4264 34.2067C28.2823 36.0235 28.2525 37.8496 28.3513 39.677C28.942 50.5989 33.8583 60.3377 42.2674 67.7074C31.0557 66.7344 22.1363 63.0835 15.7447 56.7594L15.7451 56.7593ZM48.5019 67.572C38.7057 60.6754 32.9984 50.7417 32.3861 39.4627C31.7075 26.8279 37.5609 14.2198 48.5019 4.63689C59.4429 14.2208 65.2964 26.8284 64.6177 39.4627C64.0054 50.7423 58.2981 60.6754 48.5019 67.572ZM81.2587 56.7593C74.8674 63.0835 65.9473 66.7337 54.7359 67.7072C63.145 60.3365 68.0614 50.5984 68.6521 39.6768C68.7509 37.8494 68.7211 36.0233 68.577 34.2065C74.8824 30.253 82.6805 28.2507 92.9293 28.0224C92.5626 40.0987 88.8243 49.2693 81.2582 56.7591L81.2587 56.7593Z\",\n fill: \"url(#paint0_linear_164_5818)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_164_5818\",\n x1: 97,\n y1: 0,\n x2: -6.88089,\n y2: 11.8918,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#45B8AF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#3AB1A8\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlower);\nexport default __webpack_public_path__ + \"static/media/flower.43d0d2b435bfaee335f9b57b3ade1a3f.svg\";\nexport { ForwardRef as ReactComponent };","export const CookieTableHeaders = {\n name: 'Name',\n description: 'Description',\n duration: 'Duration',\n type: 'Type',\n};\n","import React from 'react';\nimport { CookiePolicyPageWrapper } from '../components/cookiepagewrapper/CookiePolicyPageWrapper';\nimport styles from '../components/cookiepagewrapper/styles.module.scss';\nimport Table from '../components/table/Table';\nimport { CookieTableData } from '../data/CookieTableData';\nimport { CookieTableHeaders } from '../data/CookieTableHeaders';\n\nexport const CookiePolicy = () => {\n return (\n \n

Cookie notice

\n

\n Last update: \n April 19, 2022\n

\n\n

\n \n This cookie notice applies to our website{' '}\n https://loona.app and its related\n pages, which are operated by and on behalf of Loona, Inc.\n \n

\n\n

What are cookies?

\n

\n \n Cookies are small text files stored by your web browser on your\n computer or mobile device. Some cookies are essential for a website to\n work and help us provide you with relevant information. The other ones\n allow us to recognize your computer and browser (but not you!) and to\n store your website preferences. Cookies from our website cannot read\n any information contained in your hard disk or read any cookie files\n created by other websites.\n \n

\n\n

What cookies do we use?

\n

\n \n Generally, there are many different ways to classify cookies. Most\n common ways are classification by duration, by provenance and by\n purpose.\n \n

\n\n

Classified by their duration, there are:

\n
    \n
  • \n Session cookies. Such cookies\n expire once you close your browser (or once your session ends).\n
  • \n
  • \n Persistent cookies. Such cookies\n are stored on your hard drive until you erase them or until your\n browser erases them, depending on the cookie’s expiration date. All\n cookies have an expiration date, which is commonly embedded into their\n code.\n
  • \n
\n\n

Classified by their provenance, there are:

\n
    \n
  • \n First-party cookies. Such cookies\n are put on your device directly from this website.\n
  • \n
  • \n Third-party cookies. Such cookies\n are put on your device by a third party - e.g., by an advertiser or an\n analytic system.\n
  • \n
\n\n

Classified by their purpose, there are:

\n
    \n
  1. \n Strictly Necessary cookies. \n These are cookies that are essential for the operation of our website.\n Such cookies are generally first-party session cookies.\n
  2. \n
  3. \n Functionality cookies. \n These cookies allow the website to recognize you when you return to\n our website and to remember your choices – for example, your preferred\n language, your username and password for automatic log in.\n
  4. \n
  5. \n Performance cookies. \n These cookies collect the information about your usage of the website\n – for example, the pages that you visited or the links that you\n clicked on. All such information is anonymized, so it cannot be used\n to identify you. Such cookies are used solely to improve the website\n functionality – sometimes, by help of third-party analytic services.\n
  6. \n
  7. \n Marketing cookies. \n These cookies track your online activity and they may be shared with\n other organizations or advertisers. Generally, such cookies are used\n by the advertisers to deliver more personalized advertising to you.\n These are commonly persistent cookies and most always of third-party\n provenance.\n
  8. \n
\n\n

\n For better understanding of the cookies that we use, please take a look\n at the table below:\n

\n
\n \n \n\n

Considering turning off and deleting cookies?

\n

\n \n When you use our site, we’ll give you a choice to consent to all of\n the cookies we’ve listed above (except for the “Strictly Necessary\n Cookies”, which are collected automatically). You can revoke your\n consent to accept any cookies and delete them by activating the\n respective setting on your browser. By that means you can delete\n already set cookies and choose not to accept the new ones. If you use\n different devices to view and access our website (for example, your\n computer, smartphone, tablet etc.), you will need to ensure that each\n browser on each device is adjusted to suit your cookie preferences.\n \n

\n\n

\n \n Please note that if you disable the cookies that we use, this may\n impact your experience while on the website.\n \n

\n\n

\n Should you need more information on the cookie settings for the most\n popular browsers, you can follow the links below:\n

\n

\n \n Microsoft Internet Explorer\n \n

\n

\n \n Google Chrome\n \n

\n

\n \n Google Chrome app\n \n

\n

\n \n Mozilla Firefox\n \n

\n

\n \n Safari (Desktop)\n \n

\n

\n Safari (Mobile)\n

\n

\n \n Opera browser\n \n

\n

\n \n Opera Mobile\n \n

\n\n

Want to learn more?

\n

\n \n You can find more information about the cookies and the way they\n function by visiting the websites below:\n \n

\n

\n \n https://www.allaboutcookies.org/\n \n

\n

\n \n https://www.aboutcookies.org/\n \n

\n\n

Everything changes…

\n

\n \n And this cookie notice may change from time to time, too. Nonetheless,\n stay tuned! Any changes made to our cookie notice in the future will\n be posted on our website so that you can always access the up-to-date\n version.\n \n

\n\n

Contact us

\n

\n \n Questions, comments or requests related to this cookie notice are\n always welcome. Feel free to contact us via:\n hello@loona.app\n \n

\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"letter\":\"styles_letter__OM5pi\",\"red\":\"styles_red__j5MmF\",\"accent\":\"styles_accent__7mk+8\",\"sign\":\"styles_sign__pk5g+\",\"title\":\"styles_title__0A4f2\",\"logo\":\"styles_logo__KULSR\"};","import React, { ReactElement } from 'react';\nimport { useTranslation } from '../../i18n/useTranslation';\nimport styles from './styles.module.scss';\n\ntype Props = {\n theme?: string;\n logo: React.ReactNode;\n companyName: string | ReactElement;\n};\n\nexport const Letter = ({ logo, theme, companyName }: Props) => {\n const translations = useTranslation();\n\n return (\n
\n

\n {translations.get('letter_title_line1')}{' '}\n {translations.get('letter_title_line2')} {companyName}{' '}\n {translations.get('letter_title_line3')}\n

\n

{translations.get('letter_text_line1')}

\n

{translations.get('letter_text_line2')}

\n

\n {translations.get('letter_text_line3')}\n \n {' '}\n {translations.get('letter_text_line4')}\n \n {translations.get('letter_text_line5')}\n

\n

{translations.get('letter_text_line6')}

\n
\n

{translations.get('letter_text_line7')}

\n {logo}\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"advantageItem\":\"styles_advantageItem__e0oUe\",\"red\":\"styles_red__ghxWP\",\"textWrapper\":\"styles_textWrapper__xZzq9\",\"title\":\"styles_title__P0gJP\",\"description\":\"styles_description__Bzk-X\"};","import React from 'react';\nimport { useTranslation } from '../../../i18n/useTranslation';\nimport styles from './styles.module.scss';\n\ntype Props = {\n title: string;\n description: string;\n imageSrc: any;\n theme?: string;\n};\n\nexport const Item = ({ imageSrc, title, description, theme }: Props) => {\n const translations = useTranslation();\n\n return (\n
\n {imageSrc}\n
\n
{translations.get(title)}
\n
\n {translations.get(description)}\n
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"advantagesContainer\":\"styles_advantagesContainer__QxP0e\"};","import React from 'react';\nimport { Advantage } from '../../constants';\nimport { Item } from './item/item';\nimport styles from './styles.module.scss';\n\ntype Props = {\n adventages: Advantage[];\n theme?: string;\n};\n\nexport const Advantages = ({ adventages, theme }: Props) => {\n return (\n
\n {adventages.map((adventage: Advantage, index: number) => {\n return (\n }\n theme={theme}\n />\n );\n })}\n
\n );\n};\n","var _path, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMoon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 80,\n height: 73,\n viewBox: \"0 0 80 73\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M66.3054 0C65.3387 0 64.5987 0.768683 64.4164 1.68043L64.4147 1.6889L64.4136 1.69746C63.7706 6.68067 59.9141 10.5372 54.9309 11.1802L54.9223 11.1813L54.9138 11.183C54.0021 11.3653 53.2334 12.1053 53.2334 13.0719V13.4007C53.2334 14.3674 54.0021 15.1074 54.9138 15.2897L54.9223 15.2914L54.9309 15.2925C59.9141 15.9355 63.7706 19.792 64.4136 24.7752L64.4147 24.7838L64.4164 24.7922C64.5987 25.704 65.3387 26.4727 66.3054 26.4727H66.6341C67.1094 26.4727 67.5776 26.2838 67.928 25.9801C68.2751 25.6792 68.5223 25.2509 68.5279 24.7601C69.1767 19.7842 73.0304 15.9348 78.0086 15.2925L78.0172 15.2914L78.0256 15.2897C78.9374 15.1074 79.7061 14.3674 79.7061 13.4007V13.0719C79.7061 12.1053 78.9374 11.3653 78.0256 11.183L78.0172 11.1813L78.0086 11.1802C73.0254 10.5372 69.1689 6.68067 68.5259 1.69746L68.5248 1.6889L68.5231 1.68043C68.3408 0.768683 67.6008 0 66.6341 0H66.3054ZM66.6231 19.1057C65.2134 16.6036 63.2581 14.5159 60.7522 13.2188C63.122 11.8064 65.2061 9.8497 66.6333 7.34592C68.0416 9.85314 69.9966 11.9462 72.5035 13.2473C70.0056 14.6547 67.9206 16.6059 66.6231 19.1057ZM33.2645 5.58911C28.295 5.58911 23.3269 6.74842 18.8558 8.90098C10.7384 12.7115 4.77588 19.5041 1.79577 27.9477L1.79573 27.9477L1.79434 27.9519C-1.02031 36.3958 -0.523657 45.5033 3.28466 53.6167L3.28462 53.6167L3.28672 53.621C8.91705 65.0472 20.6743 72.5002 33.4288 72.5002C38.5633 72.5002 43.3676 71.3406 48.003 69.0235C54.4664 66.0393 59.6 60.903 62.9104 54.6132L62.9105 54.6132L62.9128 54.6086C63.2922 53.8498 63.1024 52.9126 62.5372 52.3474C61.9708 51.781 61.0107 51.5801 60.2378 52.1598L60.2376 52.1595L60.2278 52.1677C59.2665 52.9687 58.3049 53.4505 57.3171 53.9444C54.0651 55.5704 50.4871 56.3838 46.9083 56.3838C37.7994 56.3838 29.3389 51.0146 25.4351 42.8818C19.7407 31.0049 24.6215 16.8511 36.3352 10.9942C37.3218 10.5009 38.2861 10.0195 39.5717 9.69809C40.3575 9.50163 40.9117 8.72983 40.9117 7.81172C40.9117 7.02837 40.3278 6.27355 39.3957 6.08712L39.3957 6.08699L39.3878 6.08566C37.4007 5.75448 35.2499 5.58911 33.2645 5.58911ZM5.39093 29.2638C7.99909 21.7653 13.3773 15.735 20.3851 12.3117C24.0075 10.6518 27.7681 9.69047 31.6684 9.42684C20.3189 16.9164 15.8631 31.9335 21.8605 44.5765L21.862 44.5796C26.5063 54.034 36.2913 60.1714 46.7439 60.1714C49.7602 60.1714 52.6431 59.7594 55.5147 58.8093C53.0079 61.7476 49.9404 64.1129 46.311 65.7763L46.307 65.7783C42.2309 67.7348 37.9938 68.7125 33.4288 68.7125C22.1829 68.7125 11.5852 62.0283 6.69515 51.9226C3.27127 44.7483 2.78288 36.7619 5.39093 29.2638ZM41.1547 14.9595C40.188 14.9595 39.448 15.7282 39.2657 16.6399L39.2635 16.6505L39.2624 16.6613C38.7821 20.9835 35.2574 24.5082 30.9353 24.9884L30.9245 24.9896L30.9138 24.9917C30.0021 25.1741 29.2334 25.9141 29.2334 26.8807V27.2095C29.2334 28.1762 30.0021 28.9161 30.9138 29.0985L30.9245 29.1006L30.9353 29.1018C35.2574 29.582 38.7821 33.1068 39.2624 37.4289L39.2635 37.4397L39.2657 37.4503C39.448 38.3621 40.188 39.1308 41.1547 39.1308H41.4834C42.4501 39.1308 43.1901 38.3621 43.3724 37.4503L43.3745 37.4397L43.3757 37.4289C43.856 33.1068 47.3807 29.582 51.7028 29.1018L51.7136 29.1006L51.7243 29.0985C52.636 28.9161 53.4047 28.1762 53.4047 27.2095V26.8807C53.4047 25.9141 52.636 25.1741 51.7243 24.9917L51.7136 24.9896L51.7028 24.9884C47.3807 24.5082 43.856 20.9835 43.3757 16.6613L43.3745 16.6505L43.3724 16.6399C43.1901 15.7282 42.4501 14.9595 41.4834 14.9595H41.1547ZM41.4714 31.9563C40.237 29.918 38.6012 28.1533 36.5582 27.0254C38.4671 25.7887 40.2279 24.1521 41.4824 22.1123C42.7155 24.1551 44.351 25.9249 46.3947 27.0571C44.361 28.2887 42.5996 29.9199 41.4714 31.9563ZM60.1141 33.4999L59.9049 33.1165L59.6802 33.491C58.7161 35.0978 57.2658 36.5503 55.4864 37.6827L55.1289 37.9101L55.5009 38.113C57.267 39.0764 58.7118 40.5212 59.6751 42.2873L59.8946 42.6896L60.1141 42.2873C61.0774 40.5212 62.5222 39.0764 64.2883 38.113L64.6907 37.8936L64.2883 37.6741C62.5222 36.7108 61.0774 35.266 60.1141 33.4999Z\",\n fill: \"url(#paint0_linear_170_733)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_170_733\",\n x1: 79.7061,\n y1: 0,\n x2: -6.02457,\n y2: 8.00865,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#45B8AF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#3AB1A8\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMoon);\nexport default __webpack_public_path__ + \"static/media/moon.a5a32e37bc932b3eb41ccd8db70bbefe.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSmile(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36 0C16.1414 0 0 16.1414 0 36C0 55.8586 16.1414 72 36 72C55.8586 72 72 55.8586 72 36C72 16.1414 55.8586 0 36 0ZM36 4.40014C53.4943 4.40014 67.6 18.5061 67.6 36.0001C67.6 53.4941 53.494 67.6001 36 67.6001C18.506 67.6001 4.4 53.4941 4.4 36.0001C4.4 18.5061 18.506 4.40014 36 4.40014ZM20.8008 25.8003C20.8008 23.7249 22.5258 22 24.6005 22H24.6011C26.6765 22 28.4014 23.7256 28.4014 25.8003C28.4014 27.8757 26.6758 29.6006 24.6011 29.6006C22.5256 29.6006 20.8008 27.875 20.8008 25.8003ZM43.5996 25.8003C43.5996 23.7249 45.3252 22 47.3999 22C49.4753 22 51.2002 23.7256 51.2002 25.8003C51.2002 27.8757 49.4746 29.6006 47.3999 29.6006C45.3245 29.6006 43.5996 27.875 43.5996 25.8003ZM51.4495 43.9252C53.1242 43.8582 54.45 45.6322 53.2246 47.4999H53.2235C49.3112 53.4636 42.6326 56.4 35.9992 56.4C29.367 56.4 22.6879 53.4636 18.7749 47.4999C17.5495 45.6322 18.8753 43.8582 20.55 43.9252C21.3145 43.9559 21.9808 44.4704 22.3999 45.1004C25.4562 49.6964 30.7342 52.0006 35.9997 52.0006C41.2647 52.0006 46.5427 49.6958 49.5996 45.1004C50.0186 44.4698 50.6849 43.9559 51.4495 43.9252Z\",\n fill: \"url(#paint0_linear_170_734)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_170_734\",\n x1: 72,\n y1: 0,\n x2: -5.55794,\n y2: 6.59018,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#45B8AF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#3AB1A8\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmile);\nexport default __webpack_public_path__ + \"static/media/smile.ed9280f1bf1d961ddbd9214189bcfcee.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPerfomance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.9995 12.0963C36.545 12.0963 37.0683 11.8794 37.4542 11.4935C37.8401 11.1076 38.0565 10.5848 38.0565 10.0388V2.05707C38.0565 1.32249 37.6644 0.643231 37.028 0.275852C36.3916 -0.0919509 35.6074 -0.0919509 34.9709 0.275852C34.3345 0.643139 33.9424 1.32246 33.9424 2.05707V10.0388C33.9424 10.5848 34.1588 11.1076 34.5447 11.4935C34.9306 11.8794 35.4539 12.0963 35.9994 12.0963H35.9995ZM46.0957 31.0584H40.2221L42.9982 24.9528V24.9532C43.1292 24.6856 43.187 24.3883 43.1661 24.0915C43.1457 23.7946 43.0467 23.5083 42.8796 23.2616C42.5651 22.7842 42.0299 22.498 41.4578 22.5005H30.5738C30.2418 22.5009 29.9166 22.599 29.6399 22.7825C29.3628 22.966 29.1464 23.2268 29.0168 23.5326L23.6001 36.6743V36.6739C23.3812 37.1963 23.4386 37.793 23.7523 38.264C24.0677 38.7299 24.5943 39.0089 25.1571 39.0081H30.76L28.204 50.1373C28.1203 50.5017 28.1594 50.8835 28.3154 51.2228C28.4718 51.5626 28.7362 51.8408 29.0674 52.0145C29.3084 52.1381 29.5753 52.2018 29.8461 52.2005C30.3213 52.2039 30.7757 52.0073 31.0988 51.6594L47.3323 33.8838C47.6252 33.5597 47.7812 33.1359 47.768 32.6997C47.7549 32.2639 47.5738 31.8498 47.2622 31.544C46.9511 31.2382 46.5332 31.0645 46.0967 31.059L46.0957 31.0584ZM32.994 44.5894L34.602 37.8241C34.7202 37.3213 34.602 36.7916 34.2802 36.3864C33.9678 35.9592 33.473 35.7026 32.943 35.6933H27.7465L31.7583 25.9512H38.817L36.0408 32.0568C35.8057 32.5797 35.8512 33.1857 36.1624 33.6673C36.4735 34.1489 37.0074 34.4403 37.5813 34.4415H42.2533L32.994 44.5894ZM11.4935 34.5452C11.8794 34.9311 12.0963 35.4544 12.0963 35.9999V35.9999C12.0963 36.5455 11.8794 37.0688 11.4935 37.4547C11.1076 37.8405 10.5848 38.057 10.0388 38.057H2.05707C1.32246 38.057 0.643139 37.6649 0.275852 37.0285C-0.0919502 36.392 -0.0919502 35.6078 0.275852 34.9714C0.643232 34.335 1.32249 33.9429 2.05707 33.9429H10.0388C10.5848 33.9429 11.1076 34.1593 11.4935 34.5452ZM35.9994 59.9038C35.4539 59.9038 34.9306 60.1208 34.5447 60.5067C34.1588 60.8926 33.9424 61.4153 33.9424 61.9614V69.9431C33.9424 70.6777 34.3345 71.3569 34.9709 71.7243C35.6073 72.0921 36.3915 72.0921 37.028 71.7243C37.6644 71.357 38.0565 70.6777 38.0565 69.9431V61.9614C38.0565 61.4153 37.8401 60.8926 37.4542 60.5067C37.0683 60.1208 36.545 59.9038 35.9995 59.9038H35.9994ZM61.9616 33.9438H69.9433C70.6779 33.9438 71.3572 34.3359 71.7245 34.9724C72.0923 35.6089 72.0923 36.393 71.7245 37.0294C71.3571 37.6659 70.6778 38.058 69.9433 38.058H61.9616C61.2264 38.058 60.5471 37.666 60.1798 37.0294C59.8125 36.3929 59.8124 35.6088 60.1798 34.9724C60.5472 34.3359 61.2264 33.9438 61.9616 33.9438ZM13.3713 10.5533C12.8434 10.2408 12.2033 10.1799 11.6263 10.3875C11.0493 10.5952 10.5947 11.0498 10.387 11.6268C10.1794 12.2038 10.2403 12.8439 10.5529 13.3718L16.1893 19.111C16.5778 19.4959 17.1032 19.7108 17.6502 19.7077C18.1968 19.7108 18.7222 19.4959 19.1106 19.111C19.5001 18.7246 19.7192 18.1987 19.7192 17.6506C19.7192 17.102 19.5002 16.5761 19.1106 16.1897L13.3713 10.5533ZM10.5519 58.6288L16.1884 52.8895L16.1884 52.9716C16.7101 52.4499 17.4711 52.2463 18.1835 52.437C18.8964 52.6281 19.4532 53.185 19.6444 53.8979C19.8355 54.6108 19.6315 55.3712 19.1097 55.8929L13.4526 61.5294C13.0677 61.922 12.5419 62.1447 11.9917 62.1467C11.4461 62.1446 10.9238 61.9256 10.54 61.5382C10.1557 61.1507 9.94131 60.6263 9.94337 60.0808C9.94545 59.5354 10.1645 59.0131 10.5519 58.6288ZM55.8106 52.8893C55.2889 52.3676 54.528 52.1635 53.8156 52.3546C53.1027 52.5458 52.5458 53.1027 52.3546 53.8156C52.1635 54.5279 52.3676 55.2889 52.8893 55.8106L58.6285 61.4471C59.0134 61.8397 59.5398 62.0618 60.0895 62.0644C60.635 62.0618 61.1572 61.8433 61.5415 61.4559C61.9253 61.0684 62.1402 60.5441 62.1377 59.9985C62.1356 59.453 61.9166 58.9307 61.5291 58.5465L55.8106 52.8893ZM55.81 19.111C55.4215 19.4959 54.8962 19.7108 54.3491 19.7077L54.3492 19.7078C53.8027 19.7109 53.2773 19.496 52.8888 19.1111C52.4993 18.7247 52.2803 18.1988 52.2803 17.6507C52.2803 17.1021 52.4993 16.5762 52.8888 16.1898L58.628 10.5533C59.1559 10.2408 59.796 10.1799 60.373 10.3875C60.95 10.5952 61.4046 11.0498 61.6123 11.6268C61.82 12.2038 61.759 12.8438 61.4465 13.3718L55.81 19.111Z\",\n fill: \"url(#paint0_linear_170_735)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_170_735\",\n x1: 72.0003,\n y1: 0,\n x2: -5.55797,\n y2: 6.59023,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#45B8AF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#3AB1A8\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPerfomance);\nexport default __webpack_public_path__ + \"static/media/perfomance.d02dd2e4d4a5525c82c431ff31cd7185.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 185,\n height: 42,\n viewBox: \"0 0 185 42\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.1374 4.00059C30.1374 6.25092 32.0172 8.05915 34.2276 8.05915C36.4946 8.05915 38.2648 6.25092 38.2648 4.00059C38.2648 1.80824 36.4946 0 34.2276 0C32.0172 0 30.1374 1.80824 30.1374 4.00059ZM37.2701 41.4522H31.1888L31.1888 14.0369L37.2701 14.0369L37.2701 41.4522ZM0 41.451H6.08136L6.08136 37.7784C7.62865 39.9726 11.0009 42 14.9814 42C22.5553 42 28.3042 35.586 28.3042 27.7443C28.3042 19.9026 22.5553 13.4886 14.9814 13.4886C11.0009 13.4886 7.62865 15.5161 6.08136 17.7102L6.08136 0.327261L0 0.327261L0 41.451ZM5.58385 27.7447C5.58385 22.8091 8.95609 18.9716 13.8774 18.9716C18.7422 18.9716 22.1144 22.8091 22.1144 27.7447C22.1144 32.6783 18.7422 36.5177 13.8774 36.5177C8.95609 36.5177 5.58385 32.6783 5.58385 27.7447ZM54.5763 13.4885C58.5568 13.4885 61.8743 15.516 63.4215 17.7102L63.4215 0.327171L69.5029 0.327171L69.5029 41.4509H63.4215V37.7783C61.8743 39.9725 58.5568 41.9999 54.5763 41.9999C47.0024 41.9999 41.2517 35.586 41.2517 27.7442C41.2517 19.9025 47.0024 13.4885 54.5763 13.4885ZM55.6823 18.9716C50.7627 18.9716 47.4453 22.8091 47.4453 27.7446C47.4453 32.6783 50.7627 36.5177 55.6823 36.5177C60.6018 36.5177 63.9192 32.6783 63.9192 27.7446C63.9192 22.8091 60.6018 18.9716 55.6823 18.9716ZM100.252 27.0864C100.252 18.2572 94.171 13.4884 86.9296 13.4884C78.5264 13.4884 72.4999 19.6831 72.4999 27.7441C72.4999 36.0768 78.5264 41.9998 86.9296 41.9998C92.7333 41.9998 97.0464 39.5339 99.5344 35.6402L94.8908 32.3498C93.4531 34.7632 90.8536 36.5171 86.9844 36.5171C82.3956 36.5171 78.7475 33.5565 78.4716 29.0595L100.198 29.0595C100.252 28.1826 100.252 27.6897 100.252 27.0864ZM94.1138 24.6732L78.7451 24.6732C79.5745 20.6164 83.1678 18.5871 86.7062 18.5871C90.2429 18.5871 93.4507 20.7251 94.1138 24.6732ZM115.298 13.4884C119.278 13.4884 122.596 15.5159 124.143 17.71V14.0356L130.224 14.0356V41.4508H124.143V37.7782C122.596 39.9723 119.278 41.9998 115.298 41.9998C107.724 41.9998 101.975 35.5858 101.975 27.7441C101.975 19.9024 107.724 13.4884 115.298 13.4884ZM116.401 18.9714C111.481 18.9714 108.164 22.809 108.164 27.7445C108.164 32.6782 111.481 36.5175 116.401 36.5175C121.32 36.5175 124.638 32.6782 124.638 27.7445C124.638 22.809 121.32 18.9714 116.401 18.9714ZM144.767 41.9998C140.178 41.9998 135.922 40.1372 133.933 36.2979L138.355 33.1724C139.461 35.4753 142.17 36.8451 145.043 36.8451C147.365 36.8451 149.19 35.8051 149.19 33.995C149.19 32.3498 147.973 31.4167 144.713 30.4311L142.334 29.719C137.636 28.3475 135.148 25.3869 135.204 21.3283C135.259 16.6138 139.294 13.4884 144.879 13.4884C148.582 13.4884 151.79 14.7476 154 17.3803L150.407 21.1091C148.859 19.5183 146.98 18.5326 144.658 18.5326C142.5 18.5326 140.843 19.4095 140.843 21.0004C140.843 22.4245 141.673 23.2471 144.658 24.1258L147.422 25.0028C152.232 26.4269 154.886 29.2787 154.886 33.5565C154.886 38.9305 150.628 41.9998 144.767 41.9998ZM171.478 13.4884C178.72 13.4884 184.801 18.2572 184.801 27.0864C184.801 27.6897 184.801 28.1826 184.746 29.0595L163.02 29.0595C163.296 33.5565 166.946 36.5171 171.533 36.5171C175.404 36.5171 178.002 34.7632 179.439 32.3498L184.083 35.6402C181.595 39.5339 177.284 41.9998 171.478 41.9998C163.075 41.9998 157.05 36.0768 157.05 27.7441C157.05 19.6831 163.075 13.4884 171.478 13.4884ZM163.295 24.6731L178.664 24.6731C178.001 20.7251 174.795 18.5871 171.256 18.5871C167.718 18.5871 164.124 20.6164 163.295 24.6731Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.9dd6ca5d420117ac27b1263d013d3a34.svg\";\nexport { ForwardRef as ReactComponent };","import { FunctionComponent, SVGProps } from 'react';\nimport { ReactComponent as Flower } from '../../assets/bidease/flower.svg';\nimport { ReactComponent as Moon } from '../../assets/bidease/moon.svg';\nimport { ReactComponent as Smile } from '../../assets/bidease/smile.svg';\nimport { ReactComponent as Perfomance } from '../../assets/bidease/perfomance.svg';\n\nexport interface Advantage {\n title: string;\n description: string;\n imageSrc: FunctionComponent>;\n}\n\nexport const advantages: Advantage[] = [\n {\n title: 'advantages_title_item1',\n description: 'advantages_description_item1',\n imageSrc: Flower,\n },\n {\n title: 'advantages_title_item2',\n description: 'advantages_description_item2',\n imageSrc: Moon,\n },\n {\n title: 'advantages_title_item3',\n description: 'advantages_description_item3',\n imageSrc: Smile,\n },\n {\n title: 'advantages_title_item4',\n description: 'advantages_description_item4',\n imageSrc: Perfomance,\n },\n];\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"styles_button__iH9fc\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: React.ReactNode;\n className?: string;\n onClick: () => void;\n};\n\nexport const Button = ({ className, children, onClick }: Props) => (\n \n);\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__Dx58+\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport const Title = ({ children }: Props) => (\n

{children}

\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"styles_header__rVdVW\",\"image\":\"styles_image__sC1Lr\",\"red\":\"styles_red__ceFQs\",\"contentWrapper\":\"styles_contentWrapper__NiL-1\",\"button\":\"styles_button__x4Yf-\",\"title\":\"styles_title__PrjsT\",\"logo\":\"styles_logo__svkNO\"};","import React from 'react';\nimport { useTranslation } from '../../i18n/useTranslation';\nimport { Button } from '../button/Button';\nimport { Title } from '../title/Title';\nimport styles from './styles.module.scss';\n\ntype Props = {\n logo: JSX.Element;\n theme?: string;\n headerImage: string;\n handleClick: () => void;\n};\n\nexport const Header = ({ logo, theme, headerImage, handleClick }: Props) => {\n const translations = useTranslation();\n\n return (\n
\n \"\"\n
\n {logo}\n \n <div className={styles.title}>{translations.get('header_title')}</div>\n \n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"description\":\"styles_description__TnuAn\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport const Description = ({ children }: Props) => (\n
{children}
\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"styles_footer__pk-5U\",\"red\":\"styles_red__DBGLw\",\"button\":\"styles_button__1TKHr\",\"image\":\"styles_image__I77FC\",\"contentWrapper\":\"styles_contentWrapper__n15Tw\",\"title\":\"styles_title__v7rQZ\",\"accent\":\"styles_accent__WXUly\",\"description\":\"styles_description__XZyYH\"};","import React from 'react';\nimport { Button } from '../button/Button';\nimport { Title } from '../title/Title';\nimport { Description } from '../description/Description';\nimport styles from './styles.module.scss';\nimport { useTranslation } from '../../i18n/useTranslation';\n\ntype Props = {\n giftCard: string;\n theme?: string;\n companyName: string | JSX.Element;\n handleClick: () => void;\n};\n\nexport const Footer = ({\n companyName,\n theme,\n giftCard,\n handleClick,\n}: Props) => {\n const translations = useTranslation();\n\n return (\n
\n
\n \n <div className={styles.title}>\n {translations.get('footer_title')}{' '}\n <span className={styles.accent}>{companyName}</span>\n </div>\n \n \n
\n {translations.get('footer_description')}\n
\n
\n \n
\n \"\"\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__-sXKa\",\"red\":\"styles_red__9BYu2\",\"title\":\"styles_title__ZTkDc\",\"accent\":\"styles_accent__MCQj9\",\"description\":\"styles_description__xRGxq\",\"cardsBackground\":\"styles_cardsBackground__IfheU\"};","import React from 'react';\nimport { Description } from '../description/Description';\nimport { Title } from '../title/Title';\nimport Cards from '../../../../assets/bidease/cards.png';\nimport { useTranslation } from '../../i18n/useTranslation';\nimport styles from './styles.module.scss';\n\ntype Props = {\n theme?: string;\n companyName: string | JSX.Element;\n};\n\nexport const WhyLoona = ({ companyName, theme }: Props) => {\n const translations = useTranslation();\n\n return (\n
\n \n <div className={styles.title}>\n {translations.get('why_loona_title_line1')}{' '}\n <span className={styles.accent}>{companyName}</span>{' '}\n {translations.get('why_loona_title_line2')}\n </div>\n \n \n \n
\n \n {' '}\n {translations.get('why_loona_title_line3')}\n {' '}\n {translations.get('why_loona_title_line4')}\n
\n
\n
\n );\n};\n","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 188,\n height: 40,\n viewBox: \"0 0 188 40\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_171_453)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.78623 37.5771V22.7718C11.1924 23.9703 19.8813 25.0983 19.8813 33.2765V37.5771H24.5938V33.0649C24.5938 26.1558 19.5868 22.4898 11.8551 21.2208C18.4823 21.2208 25.1093 19.7403 25.1093 12.2672C25.1093 4.08906 19.734 1.83303 10.5297 1.83303H0V37.5771H4.78623ZM4.78623 18.9648V5.56958C5.52258 5.56958 9.35156 5.49908 10.0143 5.49908C15.2423 5.56958 20.1758 5.99258 20.1758 11.4212V13.0427C20.1758 18.9648 13.4015 18.5417 4.78623 18.9648ZM40.5726 38.282C48.0832 38.282 52.4277 35.0389 52.4277 29.3989V21.7143C52.4277 16.5677 49.1877 11.4212 40.9408 11.4212C33.7982 11.4212 29.2329 14.6642 29.2329 21.5732V29.3989C29.2329 34.4749 33.2827 38.282 40.5726 38.282ZM40.9408 34.6865C36.9644 34.6865 34.1663 32.5714 34.1663 28.9054V22.2783C34.1663 17.1317 36.6699 15.0872 40.9408 15.0872H41.7507C45.8006 15.0872 47.3469 18.3303 47.5678 21.3618V28.8349C47.5678 32.7125 45.1379 34.6865 40.9408 34.6865ZM67.67 38.282C72.088 38.282 75.2544 37.0835 77.2425 35.5325C77.0216 35.2505 74.9598 33.2765 74.518 32.8534C72.3089 34.2635 70.6889 34.616 67.8909 34.616C62.3684 34.616 61.1901 29.1874 61.1901 24.7458L61.1915 24.4395C61.2164 21.6806 61.675 15.0872 68.4063 15.0872C70.6153 15.0872 72.2352 15.5808 74.518 16.8497C75.0335 16.4268 77.2425 14.2412 77.2425 14.2412C74.5917 12.3377 71.278 11.5622 68.259 11.5622C67.5963 11.5622 67.0073 11.5622 66.4182 11.6327C60.601 12.2672 56.6984 15.9332 56.4775 21.9963V24.4638C56.4775 31.4434 58.5393 38.282 67.67 38.282ZM84.6059 37.5771V26.5789H85.4159C88.7294 26.5789 94.4728 28.2005 94.4728 34.1225V37.5771H99.1855V33.6289C99.1855 27.2838 93.5156 24.2523 88.5822 23.8294C94.9148 21.9963 97.5656 18.6123 99.9955 12.9017C99.1119 12.4787 97.8601 11.9852 95.7984 11.2097C93.4419 16.4268 90.423 20.6568 84.6059 22.1374V0H79.8196V37.5771H84.6059ZM115.532 38.282C120.024 38.282 123.117 37.0835 125.252 33.206C124.589 32.8534 123.19 31.7254 122.233 31.0909C120.392 33.6995 119.214 34.616 116.195 34.616C111.924 34.616 109.126 31.3729 109.126 26.7903H116.931C123.117 26.7903 126.357 23.6883 126.357 20.2338C126.357 14.9462 121.497 11.3507 115.9 11.3507C108.39 11.3507 104.266 16.4268 104.266 24.3934C104.266 25.0983 104.266 25.8034 104.34 26.3674C104.708 32.0074 107.801 38.282 115.532 38.282ZM115.311 23.5474H109.126C109.126 17.9777 110.82 15.3692 115.9 15.0872C118.846 15.0872 121.939 16.7088 121.939 19.8812C121.939 21.7143 119.803 23.5474 115.311 23.5474ZM140.494 39.2691C141.304 38.1411 142.335 36.6605 142.924 35.744C140.715 34.1929 138.801 33.0649 138.801 30.4565V15.7922H143.734V12.1967H138.727V0H133.941V12.1967H129.449V15.7922H133.941V30.1745C133.941 34.6865 136.371 37.2951 140.494 39.2691Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.83 37.0131V3.10209C154.706 3.10209 149.699 3.59559 145.575 6.76815V6.90915C146.385 7.96666 147.048 9.02418 148.005 9.94069C148.3 9.72918 148.741 9.51769 149.11 9.37669H149.183C150.141 8.81267 152.35 8.10766 154.117 7.82565V37.0131H158.83ZM175.25 37.6476C181.73 37.6476 185.044 34.757 187.179 28.6939C187.179 28.3414 187.253 27.7774 187.253 27.4954V12.1967C187.179 11.9852 187.032 10.7867 186.737 9.94069C185.044 5.28762 180.405 2.53809 175.471 2.53809H173.336C171.421 2.89059 169.875 3.45459 168.329 4.51212C167.813 4.51212 166.046 6.41564 165.531 7.19115C163.616 9.87019 163.395 12.2672 163.395 15.1578V16.5677C163.395 19.2468 163.469 25.1688 163.469 27.8479C163.469 31.5845 167.666 37.6476 173.925 37.6476H175.25ZM176.649 33.911H175.398C173.851 33.911 173.115 33.8405 172.084 33.2061L172.01 33.1354C169.212 31.5845 168.402 28.6939 168.402 27.7774C168.346 27.5131 168.334 27.2884 168.329 27.0437V12.9017C168.623 9.44718 171.495 6.27464 175.324 6.27464H176.428C176.281 6.20413 180.699 6.97964 182.172 11.3507C182.246 11.6327 182.319 12.1262 182.319 12.3377V27.4954C182.319 30.245 179.816 32.9241 176.649 33.911Z\",\n fill: \"#FF0D38\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_171_453\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 188,\n height: 40,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.adea0a240912a12e51b77020c68337b5.svg\";\nexport { ForwardRef as ReactComponent };","export const updateFavicons = (faviconName: string) => {\n const favicons = document.querySelectorAll('link[rel=\"icon\"]');\n\n favicons.forEach((favicon) => {\n favicon?.setAttribute(\n 'href',\n `${process.env.PUBLIC_URL}/${faviconName}_favicon.png`,\n );\n });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__wxA8A\",\"redTheme\":\"styles_redTheme__Rx9Iv\"};","import React, { useEffect } from 'react';\nimport { Letter } from './components/letter/Letter';\nimport { Advantages } from './components/adventages/Adventages';\nimport { advantages } from './constants';\nimport { Header } from './components/header/Header';\nimport { Footer } from './components/footer/Footer';\nimport { WhyLoona } from './components/whyloona/WhyLoona';\nimport { ReactComponent as Logo } from '../../assets/bidease/logo.svg';\nimport { useAppDispatch } from '../../bootstrap/hooks';\nimport { push } from 'connected-react-router';\nimport HeaderImg from '../../assets/bidease/header_img.png';\nimport HeaderImgMobile from '../../assets/bidease/header_img_mobile.png';\nimport GiftCard from '../../assets/bidease/gift_card.png';\nimport { MOBILE_QUERY, useMediaQuery } from '../../hooks/useMediaQuery';\nimport { BIDEASE_CODE } from '../redeem/code/RedeemCode.constants';\nimport { updateFavicons } from './utils';\nimport styles from './styles.module.scss';\n\nexport const Bidease = () => {\n const dispatch = useAppDispatch();\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n const headerImage = isLargeScreen ? HeaderImg : HeaderImgMobile;\n\n useEffect(() => {\n updateFavicons('bidease');\n }, []);\n\n const handleClick = () => {\n dispatch(push(`b2b/redeem/account?c=${BIDEASE_CODE}`));\n };\n\n return (\n
\n }\n headerImage={headerImage}\n handleClick={handleClick}\n />\n } companyName=\"Bidease\" />\n \n \n \n
\n );\n};\n","export const ROCKET_DATA_CODE = 'ROCKETDATA';\nexport const BIDEASE_CODE = 'BIDEASE';\nexport const ROCKET10 = 'ROCKET10';\n","import React, { useEffect } from 'react';\nimport { ReactComponent as Logo } from '../../assets/rocket10/logo.svg';\nimport { Letter } from './components/letter/Letter';\nimport { Advantages } from './components/adventages/Adventages';\nimport { advantages } from './constants';\nimport { Header } from './components/header/Header';\nimport { Footer } from './components/footer/Footer';\nimport { WhyLoona } from './components/whyloona/WhyLoona';\nimport { useAppDispatch } from '../../bootstrap/hooks';\nimport { push } from 'connected-react-router';\nimport HeaderImg from '../../assets/rocket10/header_img.png';\nimport HeaderImgMobile from '../../assets/rocket10/header_img_mobile.png';\nimport GiftCard from '../../assets/rocket10/gift_card.png';\nimport { MOBILE_QUERY, useMediaQuery } from '../../hooks/useMediaQuery';\nimport { ROCKET10 } from '../redeem/code/RedeemCode.constants';\nimport { updateFavicons } from './utils';\nimport styles from './styles.module.scss';\n\nexport const Rocket10 = () => {\n const dispatch = useAppDispatch();\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n useEffect(() => {\n updateFavicons('rocket10');\n }, []);\n\n const handleClick = () => {\n dispatch(push(`b2b/redeem/account?c=${ROCKET10}`));\n };\n\n const headerImage = isLargeScreen ? HeaderImg : HeaderImgMobile;\n const companyName = (\n <>\n Rocket\n 10\n \n );\n\n return (\n
\n }\n headerImage={headerImage}\n theme=\"red\"\n handleClick={handleClick}\n />\n } theme=\"red\" companyName={companyName} />\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { PageWrapper } from '../components/pagewrapper/PageWrapper';\n\nexport const Conditions = () => {\n return (\n \n

APP TERMS AND CONDITIONS

\n
    \n
  1. \n Apple users\n

    \n \n 1.1 If you download the App from Apple’s App Store and / or are\n using the App on an Apple device the following additional terms\n shall apply and, to the extent that there is any inconsistency\n between the terms set out in this paragraph 1 and the rest of\n these terms, the terms set out in this paragraph 1 shall prevail:\n \n

    \n

    \n \n 1.1.1\n \n Acknowledgement.\n {' '}\n You and we acknowledge that this contract is concluded between us,\n and not with Apple, and we, not Apple, are solely responsible for\n the App and the content thereof. These terms and conditions do not\n provide for usage rules for licensed applications that are in\n conflict with the{' '}\n \n Apple Media Services Terms and Conditions.\n \n \n

    \n

    \n \n 1.1.2{' '}\n \n Scope of Licence.\n {' '}\n The licence granted to you for the App is limited to a\n non-transferable licence to use the App on any Apple-branded\n products that you own or control and as permitted by the Usage\n Rules set forth in the{' '}\n \n Apple Media Services Terms and Conditions\n \n , except that the App may be accessed and used by other accounts\n which you hold, for example via Family Sharing or volume\n purchasing.\n \n

    \n

    \n \n 1.1.3{' '}\n \n Maintenance and Support.\n {' '}\n We are solely responsible for providing any maintenance and\n support services with respect to the App, as specified in these\n terms and conditions, or as required under applicable law. You and\n we acknowledge that Apple has no obligation whatsoever to furnish\n any maintenance and support services with respect to the App.\n \n

    \n

    \n \n 1.1.4{' '}\n \n Warranty.\n {' '}\n We are solely responsible for any product warranties, whether\n express or implied by law, to the extent not effectively\n disclaimed. In the event of any failure of the App to conform to\n any applicable warranty, you may notify Apple, and Apple will\n refund the purchase price for the App to you; and, to the maximum\n extent permitted by applicable law, Apple will have no other\n warranty obligation whatsoever with respect to the App, and any\n other claims, losses, liabilities, damages, costs or expenses\n attributable to any failure to conform to any warranty will be our\n sole responsibility.\n \n

    \n

    \n \n 1.1.5{' '}\n \n Product Claims.\n {' '}\n You and we acknowledge that we, not Apple, are responsible for\n addressing any claims by you or any third party relating to the\n App or your possession and/or use of the App, including, but not\n limited to: (i) product liability claims; (ii) any claim that the\n App fails to conform to any applicable legal or regulatory\n requirement; and (iii) claims arising under consumer protection,\n privacy, or similar legislation, including in connection with the\n App’s use of the HealthKit and HomeKit frameworks.\n \n

    \n

    \n \n 1.1.6{' '}\n \n Intellectual Property Rights.{' '}\n {' '}\n You and we acknowledge that, in the event of any third party claim\n that the App or your possession and use of the App infringes that\n third party’s intellectual property rights, we, not Apple, will be\n solely responsible for the investigation, defence, settlement and\n discharge of any such intellectual property infringement claim.\n \n

    \n

    \n \n 1.1.7{' '}\n \n Legal Compliance.\n {' '}\n You represent and warrant that (i) you are not located in a\n country that is subject to a U.S. Government embargo, or that has\n been designated by the U.S. Government as a “terrorist supporting”\n country; and (ii) you are not listed on any U.S. Government list\n of prohibited or restricted parties.\n \n

    \n

    \n \n 1.1.8{' '}\n \n Developer Name and Address.\n {' '}\n [insert details] is a company registered in [insert details] with\n company number [insert details]. Our registered address is [insert\n details] and any questions, complaints or claims with respect to\n these terms and conditions may be directed to that address, via\n email to [insert details].\n \n

    \n

    \n \n 1.1.9{' '}\n \n Third Party Terms of Agreement.\n {' '}\n You must comply with applicable third-party terms of agreement\n when using the App, and you must not be in violation of your\n wireless data service agreement when using the App.\n \n

    \n

    \n \n 1.1.10{' '}\n \n Third Party Beneficiary.\n {' '}\n You and we acknowledge and agree that Apple, and Apple’s\n subsidiaries, are third party beneficiaries of these terms and\n conditions, and that, upon your acceptance of these terms and\n conditions, Apple will have the right (and will be deemed to have\n accepted the right) to enforce these terms and conditions against\n you as a third party beneficiary thereof.\n \n

    \n
  2. \n
  3. \n Google users\n
  4. \n

    \n \n If you download the App from Google Play, the ways in which you can\n use the App may also be controlled by Google Play’s rules and\n policies, including Google Play’s{' '}\n \n Terms of Service.\n \n Google is not a party to this agreement and has no responsibility or\n liability under it.\n \n

    \n
\n
\n );\n};\n","import React from 'react';\nimport { PageWrapper } from '../components/pagewrapper/PageWrapper';\n\nexport const WebAccessibilityStatement = () => {\n return (\n \n

WEB ACCESSIBILITY STATEMENT

\n

\n GENERAL\n

\n

\n \n Loona Inc. cares about all of our customers and is committed to\n facilitating and improving the accessibility and usability of its\n Website, https://loona.app \n (the \"Website\") and its mobile application (the “Loona App”), ensuring\n that the Website and Loona App services and content are accessible to\n persons with disabilities including, but not limited to users of\n screen reader technology. Loona uses commercially reasonable efforts\n to take such action as is necessary and appropriate to improve the\n accessibility of Loona Website and Loona App in accordance with the\n WCAG 2.1 AA standards. In today’s dynamic and ever-changing technology\n environment, Loona understands the importance of continually testing\n its digital offerings to ensure consistent experiences are delivered\n \n

\n

\n DISCLAIMER\n

\n

\n \n Please be aware that our efforts to maintain accessibility and\n usability are ongoing. While we strive to make the Website and Loona\n App as accessible as possible some issues may be encountered by\n different assistive technology as the range of assistive technology is\n wide and varied. We appreciate your understanding.\n \n

\n

\n CONTACT LOONA WITH ANY ACCESSIBILITY QUESTIONS OR COMMENTS\n

\n

\n \n If, at any time, you have specific questions or concerns about the\n accessibility of any particular web page on the Website or the\n accessibility of any function of the Loona App, then please contact us\n by e-mail at hello@loona.app. If you do encounter an accessibility\n issue, then please be sure to specify the web page or App function and\n nature of the issue, and we will make all reasonable efforts to make\n that page (or the information contained therein) or the App function\n accessible for you. Thanks for visiting.\n \n

\n
\n );\n};\n","import React from 'react';\nimport { Redirect, Route } from 'react-router-dom';\nimport { AnimatedSwitch } from 'react-router-transition';\n\nimport { RedeemAccount as B2bRedeemAccount } from '../b2b/redeem/account/RedeemAccount';\nimport { RedeemCode as B2bRedeemCode } from '../b2b/redeem/code/RedeemCode';\nimport { RedeemDone as B2bRedeemDone } from '../b2b/redeem/done/RedeemDone';\n\nimport { CreatePassword } from '../resetpassword/createpassword/CreatePassword';\nimport { Done } from '../resetpassword/done/Done';\nimport { Email } from '../resetpassword/email/Email';\nimport { ExpiredHash } from '../resetpassword/expiredhash/ExpiredHash';\nimport './AppRouter.scss';\nimport '../common.scss';\nimport '../cookieconsent.scss';\nimport '../cookiesettings.scss';\nimport { LoonaWeb } from '../loonaweb/LoonaWeb';\nimport { Terms } from '../loonaweb/pages/Terms';\nimport { Privacy } from '../loonaweb/pages/Privacy';\nimport { CaliforniaPrivacy } from '../loonaweb/pages/CaliforniaPrivacy';\nimport { CookiePolicy } from '../loonaweb/pages/CookiePolicy';\nimport { Bidease } from '../b2b/bidease/Bidease';\nimport { Rocket10 } from '../b2b/bidease/Rocket10';\nimport { Conditions } from '../loonaweb/pages/Conditions';\nimport { WebAccessibilityStatement } from '../loonaweb/pages/WebAccessibilityStatement';\n\nconst AppRouter = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n (\n \n )}\n />\n\n (\n \n )}\n />\n\n \n \n \n\n \n \n \n \n );\n};\n\nexport default AppRouter;\n","const errors = {\n\t0: \"Illegal state\",\n\t1: \"Immer drafts cannot have computed properties\",\n\t2: \"This object has been frozen and should not be mutated\",\n\t3(data: any) {\n\t\treturn (\n\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\tdata\n\t\t)\n\t},\n\t4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t5: \"Immer forbids circular references\",\n\t6: \"The first or second argument to `produce` must be a function\",\n\t7: \"The third argument to `produce` must be a function or undefined\",\n\t8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t10: \"The given draft is already finalized\",\n\t11: \"Object.defineProperty() cannot be used on an Immer draft\",\n\t12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t13: \"Immer only supports deleting array indices\",\n\t14: \"Immer only supports setting array indices and the 'length' property\",\n\t15(path: string) {\n\t\treturn \"Cannot apply patch, path doesn't resolve: \" + path\n\t},\n\t16: 'Sets cannot have \"replace\" patches.',\n\t17(op: string) {\n\t\treturn \"Unsupported patch operation: \" + op\n\t},\n\t18(plugin: string) {\n\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t},\n\t20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n\t21(thing: string) {\n\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t},\n\t22(thing: string) {\n\t\treturn `'current' expects a draft, got: ${thing}`\n\t},\n\t23(thing: string) {\n\t\treturn `'original' expects a draft, got: ${thing}`\n\t},\n\t24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n} as const\n\nexport function die(error: keyof typeof errors, ...args: any[]): never {\n\tif (__DEV__) {\n\t\tconst e = errors[error]\n\t\tconst msg = !e\n\t\t\t? \"unknown error nr: \" + error\n\t\t\t: typeof e === \"function\"\n\t\t\t? e.apply(null, args as any)\n\t\t\t: e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}${\n\t\t\targs.length ? \" \" + args.map(s => `'${s}'`).join(\",\") : \"\"\n\t\t}. Find the full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\thasSet,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\thasMap,\n\tArchtype,\n\tdie\n} from \"../internal\"\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = Object.getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(23, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/*#__PURE__*/\nexport const ownKeys: (target: AnyObject) => PropertyKey[] =\n\ttypeof Reflect !== \"undefined\" && Reflect.ownKeys\n\t\t? Reflect.ownKeys\n\t\t: typeof Object.getOwnPropertySymbols !== \"undefined\"\n\t\t? obj =>\n\t\t\t\tObject.getOwnPropertyNames(obj).concat(\n\t\t\t\t\tObject.getOwnPropertySymbols(obj) as any\n\t\t\t\t)\n\t\t: /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport const getOwnPropertyDescriptors =\n\tObject.getOwnPropertyDescriptors ||\n\tfunction getOwnPropertyDescriptors(target: any) {\n\t\t// Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n\t\tconst res: any = {}\n\t\townKeys(target).forEach(key => {\n\t\t\tres[key] = Object.getOwnPropertyDescriptor(target, key)\n\t\t})\n\t\treturn res\n\t}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any, enumerableOnly = false) {\n\tif (getArchtype(obj) === Archtype.Object) {\n\t\t;(enumerableOnly ? Object.keys : ownKeys)(obj).forEach(key => {\n\t\t\tif (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): Archtype {\n\t/* istanbul ignore next */\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_ > 3\n\t\t\t? state.type_ - 4 // cause Object and Array map back from 4 and 5\n\t\t\t: (state.type_ as any) // others are the same\n\t\t: Array.isArray(thing)\n\t\t? Archtype.Array\n\t\t: isMap(thing)\n\t\t? Archtype.Map\n\t\t: isSet(thing)\n\t\t? Archtype.Set\n\t\t: Archtype.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === Archtype.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === Archtype.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === Archtype.Map) thing.set(propOrOldValue, value)\n\telse if (t === Archtype.Set) {\n\t\tthing.delete(propOrOldValue)\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn hasMap && target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn hasSet && target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any) {\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\tconst descriptors = getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\tif (obj == null || typeof obj !== \"object\") return true\n\t// See #600, IE dies on non-objects in Object.isFrozen\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tImmerScope,\n\tDrafted,\n\tAnyObject,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tProxyType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\trootState: ImmerState,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tES5?: {\n\t\twillFinalizeES5_(scope: ImmerScope, result: any, isReplaced: boolean): void\n\t\tcreateES5Proxy_(\n\t\t\tbase: T,\n\t\t\tparent?: ImmerState\n\t\t): Drafted\n\t\thasChanges_(state: ES5ArrayState | ES5ObjectState): boolean\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(18, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n\n/** ES5 Plugin */\n\ninterface ES5BaseState extends ImmerBaseState {\n\tassigned_: {[key: string]: any}\n\tparent_?: ImmerState\n\trevoked_: boolean\n}\n\nexport interface ES5ObjectState extends ES5BaseState {\n\ttype_: ProxyType.ES5Object\n\tdraft_: Drafted\n\tbase_: AnyObject\n\tcopy_: AnyObject | null\n}\n\nexport interface ES5ArrayState extends ES5BaseState {\n\ttype_: ProxyType.ES5Array\n\tdraft_: Drafted\n\tbase_: any\n\tcopy_: any\n}\n\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ProxyType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ProxyType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tProxyType,\n\tgetPlugin\n} from \"../internal\"\nimport {die} from \"../utils/errors\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\tif (__DEV__ && !currentScope) die(0)\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (\n\t\tstate.type_ === ProxyType.ProxyObject ||\n\t\tstate.type_ === ProxyType.ProxyArray\n\t)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tProxyType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen,\n\tshallowCopy\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (!scope.immer_.useProxies_)\n\t\tgetPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced)\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE],\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result =\n\t\t\t// For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n\t\t\tstate.type_ === ProxyType.ES5Object || state.type_ === ProxyType.ES5Array\n\t\t\t\t? (state.copy_ = shallowCopy(state.draft_))\n\t\t\t\t: state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// Although the original test case doesn't seem valid anyway, so if this in the way we can turn the next line\n\t\t// back to each(result, ....)\n\t\teach(\n\t\t\tstate.type_ === ProxyType.Set ? new Set(result) : result,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath\n) {\n\tif (__DEV__ && childValue === targetObject) die(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ProxyType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\tif (scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tProxyType\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyObject\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyArray\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ProxyType.ProxyArray : (ProxyType.ProxyObject as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(\n\t\t\t\tstate.scope_.immer_,\n\t\t\t\tvalue,\n\t\t\t\tstate\n\t\t\t))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\tstate.copy_![prop] === value &&\n\t\t\t// special case: NaN\n\t\t\ttypeof value !== \"number\" &&\n\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t(value !== undefined || prop in state.copy_)\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\t// @ts-ignore\n\t\tif (state.copy_) delete state.copy_[prop]\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ProxyType.ProxyArray || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn Object.getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (__DEV__ && isNaN(parseInt(prop as any))) die(13)\n\treturn objectTraps.deleteProperty!.call(this, state[0], prop)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (__DEV__ && prop !== \"length\" && isNaN(parseInt(prop as any))) die(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = Object.getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = Object.getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {base_: any; copy_: any}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(state.base_)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\thasProxies,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tuseProxies_: boolean = hasProxies\n\n\tautoFreeze_: boolean = true\n\n\tconstructor(config?: {useProxies?: boolean; autoFreeze?: boolean}) {\n\t\tif (typeof config?.useProxies === \"boolean\")\n\t\t\tthis.setUseProxies(config!.useProxies)\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(this, base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\t\treturn result.then(\n\t\t\t\t\tresult => {\n\t\t\t\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\t\t\t\treturn processResult(result, scope)\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\trevokeScope(scope)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === NOTHING) return undefined\n\t\t\tif (result === undefined) result = base\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\treturn result\n\t\t} else die(21, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (\n\t\targ1: any,\n\t\targ2?: any,\n\t\targ3?: any\n\t): any => {\n\t\tif (typeof arg1 === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => arg1(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst nextState = this.produce(arg1, arg2, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\t\treturn [nextState, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(this, base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (__DEV__) {\n\t\t\tif (!state || !state.isManual_) die(9)\n\t\t\tif (state.finalized_) die(10)\n\t\t}\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n\t * always faster than using ES5 proxies.\n\t *\n\t * By default, feature detection is used, so calling this is rarely necessary.\n\t */\n\tsetUseProxies(value: boolean) {\n\t\tif (value && !hasProxies) {\n\t\t\tdie(20)\n\t\t}\n\t\tthis.useProxies_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\timmer: Immer,\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: immer.useProxies_\n\t\t? createProxyProxy(value, parent)\n\t\t: getPlugin(\"ES5\").createES5Proxy_(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tget,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tArchtype,\n\tgetArchtype,\n\tgetPlugin\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(22, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tconst archType = getArchtype(value)\n\tif (state) {\n\t\tif (\n\t\t\t!state.modified_ &&\n\t\t\t(state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state as any))\n\t\t)\n\t\t\treturn state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = copyHelper(value, archType)\n\t\tstate.finalized_ = false\n\t} else {\n\t\tcopy = copyHelper(value, archType)\n\t}\n\n\teach(copy, (key, childValue) => {\n\t\tif (state && get(state.base_, key) === childValue) return // no need to copy or search in something that didn't change\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\t// In the future, we might consider freezing here, based on the current settings\n\treturn archType === Archtype.Set ? new Set(copy) : copy\n}\n\nfunction copyHelper(value: any, archType: number): any {\n\t// creates a shallow copy, even if it is a map or set\n\tswitch (archType) {\n\t\tcase Archtype.Map:\n\t\t\treturn new Map(value)\n\t\tcase Archtype.Set:\n\t\t\t// Set will be cloned as array temporarily, so that we can replace individual items\n\t\t\treturn Array.from(value)\n\t}\n\treturn shallowCopy(value)\n}\n","import {\n\tImmerState,\n\tDrafted,\n\tES5ArrayState,\n\tES5ObjectState,\n\teach,\n\thas,\n\tisDraft,\n\tlatest,\n\tDRAFT_STATE,\n\tis,\n\tloadPlugin,\n\tImmerScope,\n\tProxyType,\n\tgetCurrentScope,\n\tdie,\n\tmarkChanged,\n\tobjectTraps,\n\townKeys,\n\tgetOwnPropertyDescriptors\n} from \"../internal\"\n\ntype ES5State = ES5ArrayState | ES5ObjectState\n\nexport function enableES5() {\n\tfunction willFinalizeES5_(\n\t\tscope: ImmerScope,\n\t\tresult: any,\n\t\tisReplaced: boolean\n\t) {\n\t\tif (!isReplaced) {\n\t\t\tif (scope.patches_) {\n\t\t\t\tmarkChangesRecursively(scope.drafts_![0])\n\t\t\t}\n\t\t\t// This is faster when we don't care about which attributes changed.\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t\t// When a child draft is returned, look for changes.\n\t\telse if (\n\t\t\tisDraft(result) &&\n\t\t\t(result[DRAFT_STATE] as ES5State).scope_ === scope\n\t\t) {\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t}\n\n\tfunction createES5Draft(isArray: boolean, base: any) {\n\t\tif (isArray) {\n\t\t\tconst draft = new Array(base.length)\n\t\t\tfor (let i = 0; i < base.length; i++)\n\t\t\t\tObject.defineProperty(draft, \"\" + i, proxyProperty(i, true))\n\t\t\treturn draft\n\t\t} else {\n\t\t\tconst descriptors = getOwnPropertyDescriptors(base)\n\t\t\tdelete descriptors[DRAFT_STATE as any]\n\t\t\tconst keys = ownKeys(descriptors)\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key: any = keys[i]\n\t\t\t\tdescriptors[key] = proxyProperty(\n\t\t\t\t\tkey,\n\t\t\t\t\tisArray || !!descriptors[key].enumerable\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n\t\t}\n\t}\n\n\tfunction createES5Proxy_(\n\t\tbase: T,\n\t\tparent?: ImmerState\n\t): Drafted {\n\t\tconst isArray = Array.isArray(base)\n\t\tconst draft = createES5Draft(isArray, base)\n\n\t\tconst state: ES5ObjectState | ES5ArrayState = {\n\t\t\ttype_: isArray ? ProxyType.ES5Array : (ProxyType.ES5Object as any),\n\t\t\tscope_: parent ? parent.scope_ : getCurrentScope(),\n\t\t\tmodified_: false,\n\t\t\tfinalized_: false,\n\t\t\tassigned_: {},\n\t\t\tparent_: parent,\n\t\t\t// base is the object we are drafting\n\t\t\tbase_: base,\n\t\t\t// draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n\t\t\tdraft_: draft,\n\t\t\tcopy_: null,\n\t\t\trevoked_: false,\n\t\t\tisManual_: false\n\t\t}\n\n\t\tObject.defineProperty(draft, DRAFT_STATE, {\n\t\t\tvalue: state,\n\t\t\t// enumerable: false <- the default\n\t\t\twritable: true\n\t\t})\n\t\treturn draft\n\t}\n\n\t// property descriptors are recycled to make sure we don't create a get and set closure per property,\n\t// but share them all instead\n\tconst descriptors: {[prop: string]: PropertyDescriptor} = {}\n\n\tfunction proxyProperty(\n\t\tprop: string | number,\n\t\tenumerable: boolean\n\t): PropertyDescriptor {\n\t\tlet desc = descriptors[prop]\n\t\tif (desc) {\n\t\t\tdesc.enumerable = enumerable\n\t\t} else {\n\t\t\tdescriptors[prop] = desc = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable,\n\t\t\t\tget(this: any) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn objectTraps.get(state, prop)\n\t\t\t\t},\n\t\t\t\tset(this: any, value) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tobjectTraps.set(state, prop, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn desc\n\t}\n\n\t// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\tfunction markChangesSweep(drafts: Drafted[]) {\n\t\t// The natural order of drafts in the `scope` array is based on when they\n\t\t// were accessed. By processing drafts in reverse natural order, we have a\n\t\t// better chance of processing leaf nodes first. When a leaf node is known to\n\t\t// have changed, we can avoid any traversal of its ancestor nodes.\n\t\tfor (let i = drafts.length - 1; i >= 0; i--) {\n\t\t\tconst state: ES5State = drafts[i][DRAFT_STATE]\n\t\t\tif (!state.modified_) {\n\t\t\t\tswitch (state.type_) {\n\t\t\t\t\tcase ProxyType.ES5Array:\n\t\t\t\t\t\tif (hasArrayChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase ProxyType.ES5Object:\n\t\t\t\t\t\tif (hasObjectChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markChangesRecursively(object: any) {\n\t\tif (!object || typeof object !== \"object\") return\n\t\tconst state: ES5State | undefined = object[DRAFT_STATE]\n\t\tif (!state) return\n\t\tconst {base_, draft_, assigned_, type_} = state\n\t\tif (type_ === ProxyType.ES5Object) {\n\t\t\t// Look for added keys.\n\t\t\t// probably there is a faster way to detect changes, as sweep + recurse seems to do some\n\t\t\t// unnecessary work.\n\t\t\t// also: probably we can store the information we detect here, to speed up tree finalization!\n\t\t\teach(draft_, key => {\n\t\t\t\tif ((key as any) === DRAFT_STATE) return\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif ((base_ as any)[key] === undefined && !has(base_, key)) {\n\t\t\t\t\tassigned_[key] = true\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t} else if (!assigned_[key]) {\n\t\t\t\t\t// Only untouched properties trigger recursion.\n\t\t\t\t\tmarkChangesRecursively(draft_[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Look for removed keys.\n\t\t\teach(base_, key => {\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif (draft_[key] === undefined && !has(draft_, key)) {\n\t\t\t\t\tassigned_[key] = false\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t}\n\t\t\t})\n\t\t} else if (type_ === ProxyType.ES5Array) {\n\t\t\tif (hasArrayChanges(state as ES5ArrayState)) {\n\t\t\t\tmarkChanged(state)\n\t\t\t\tassigned_.length = true\n\t\t\t}\n\n\t\t\tif (draft_.length < base_.length) {\n\t\t\t\tfor (let i = draft_.length; i < base_.length; i++) assigned_[i] = false\n\t\t\t} else {\n\t\t\t\tfor (let i = base_.length; i < draft_.length; i++) assigned_[i] = true\n\t\t\t}\n\n\t\t\t// Minimum count is enough, the other parts has been processed.\n\t\t\tconst min = Math.min(draft_.length, base_.length)\n\n\t\t\tfor (let i = 0; i < min; i++) {\n\t\t\t\t// Only untouched indices trigger recursion.\n\t\t\t\tif (assigned_[i] === undefined) markChangesRecursively(draft_[i])\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction hasObjectChanges(state: ES5ObjectState) {\n\t\tconst {base_, draft_} = state\n\n\t\t// Search for added keys and changed keys. Start at the back, because\n\t\t// non-numeric keys are ordered by time of definition on the object.\n\t\tconst keys = ownKeys(draft_)\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\t\tconst key: any = keys[i]\n\t\t\tif (key === DRAFT_STATE) continue\n\t\t\tconst baseValue = base_[key]\n\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\tif (baseValue === undefined && !has(base_, key)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Once a base key is deleted, future changes go undetected, because its\n\t\t\t// descriptor is erased. This branch detects any missed changes.\n\t\t\telse {\n\t\t\t\tconst value = draft_[key]\n\t\t\t\tconst state: ImmerState = value && value[DRAFT_STATE]\n\t\t\t\tif (state ? state.base_ !== baseValue : !is(value, baseValue)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// At this point, no keys were added or changed.\n\t\t// Compare key count to determine if keys were deleted.\n\t\tconst baseIsDraft = !!base_[DRAFT_STATE as any]\n\t\treturn keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1) // + 1 to correct for DRAFT_STATE\n\t}\n\n\tfunction hasArrayChanges(state: ES5ArrayState) {\n\t\tconst {draft_} = state\n\t\tif (draft_.length !== state.base_.length) return true\n\t\t// See #116\n\t\t// If we first shorten the length, our array interceptors will be removed.\n\t\t// If after that new items are added, result in the same original length,\n\t\t// those last items will have no intercepting property.\n\t\t// So if there is no own descriptor on the last position, we know that items were removed and added\n\t\t// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n\t\t// the last one\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(\n\t\t\tdraft_,\n\t\t\tdraft_.length - 1\n\t\t)\n\t\t// descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\t\tif (descriptor && !descriptor.get) return true\n\t\t// For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\t\treturn false\n\t}\n\n\tfunction hasChanges_(state: ES5State) {\n\t\treturn state.type_ === ProxyType.ES5Object\n\t\t\t? hasObjectChanges(state)\n\t\t\t: hasArrayChanges(state)\n\t}\n\n\tfunction assertUnrevoked(state: any /*ES5State | MapState | SetState*/) {\n\t\tif (state.revoked_) die(3, JSON.stringify(latest(state)))\n\t}\n\n\tloadPlugin(\"ES5\", {\n\t\tcreateES5Proxy_,\n\t\twillFinalizeES5_,\n\t\thasChanges_\n\t})\n}\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\nexport default produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enableES5} from \"./plugins/es5\"\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\nexport {enableAllPlugins} from \"./plugins/all\"\n","// Should be no imports here!\n\n// Some things that should be evaluated before all else...\n\n// We only want to know if non-polyfilled symbols are available\nconst hasSymbol =\n\ttypeof Symbol !== \"undefined\" && typeof Symbol(\"x\") === \"symbol\"\nexport const hasMap = typeof Map !== \"undefined\"\nexport const hasSet = typeof Set !== \"undefined\"\nexport const hasProxies =\n\ttypeof Proxy !== \"undefined\" &&\n\ttypeof Proxy.revocable !== \"undefined\" &&\n\ttypeof Reflect !== \"undefined\"\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: Nothing = hasSymbol\n\t? Symbol.for(\"immer-nothing\")\n\t: ({[\"immer-nothing\"]: true} as any)\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-draftable\")\n\t: (\"__$immer_draftable\" as any)\n\nexport const DRAFT_STATE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-state\")\n\t: (\"__$immer_state\" as any)\n\n// Even a polyfilled Symbol might provide Symbol.iterator\nexport const iteratorSymbol: typeof Symbol.iterator =\n\t(typeof Symbol != \"undefined\" && Symbol.iterator) || (\"@@iterator\" as any)\n\n/** Use a class type for `nothing` so its type is unique */\nexport class Nothing {\n\t// This lets us do `Exclude`\n\t// @ts-ignore\n\tprivate _!: unique symbol\n}\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface EnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * See detailed documentation at http://extension.remotedev.io/docs/API/Arguments.html#serialize\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n options?:\r\n | boolean\r\n | {\r\n date?: boolean\r\n regex?: boolean\r\n undefined?: boolean\r\n error?: boolean\r\n symbol?: boolean\r\n map?: boolean\r\n set?: boolean\r\n function?: boolean | Function\r\n }\r\n replacer?: (key: string, value: unknown) => unknown\r\n reviver?: (key: string, value: unknown) => unknown\r\n immutable?: unknown\r\n refs?: unknown[]\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsBlacklist`/`actionsWhitelist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: {\r\n (options: EnhancerOptions): typeof compose\r\n (...funcs: Array>): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: EnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import type { Middleware } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware\r\n> extends Array {\r\n constructor(arrayLength?: number)\r\n constructor(...items: Middlewares[])\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n :\r\n | ThunkMiddleware //The ThunkMiddleware with a `null` ExtraArgument is here to provide backwards-compatibility.\r\n | ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray | ThunkMiddlewareFor>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray | ThunkMiddlewareFor> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n } = options\r\n\r\n let middlewareArray: Middleware<{}, S>[] = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { CALL_HISTORY_METHOD } from './actions';\n/**\n * This middleware captures CALL_HISTORY_METHOD actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n\nvar routerMiddleware = function routerMiddleware(history) {\n return function (store) {\n return function (next) {\n return function (action) {\n // eslint-disable-line no-unused-vars\n if (action.type !== CALL_HISTORY_METHOD) {\n return next(action);\n }\n\n var _action$payload = action.payload,\n method = _action$payload.method,\n args = _action$payload.args;\n history[method].apply(history, _toConsumableArray(args));\n };\n };\n };\n};\n\nexport default routerMiddleware;","import { enableES5 } from 'immer'\r\nexport * from 'redux'\r\nexport {\r\n default as createNextState,\r\n current,\r\n freeze,\r\n original,\r\n isDraft,\r\n} from 'immer'\r\nexport type { Draft } from 'immer'\r\nexport { createSelector } from 'reselect'\r\nexport type {\r\n Selector,\r\n OutputParametricSelector,\r\n OutputSelector,\r\n ParametricSelector,\r\n} from 'reselect'\r\nexport { createDraftSafeSelector } from './createDraftSafeSelector'\r\nexport type { ThunkAction, ThunkDispatch } from 'redux-thunk'\r\n\r\n// We deliberately enable Immer's ES5 support, on the grounds that\r\n// we assume RTK will be used with React Native and other Proxy-less\r\n// environments. In addition, that's how Immer 4 behaved, and since\r\n// we want to ship this in an RTK minor, we should keep the same behavior.\r\nenableES5()\r\n\r\nexport {\r\n // js\r\n configureStore,\r\n} from './configureStore'\r\nexport type {\r\n // types\r\n ConfigureEnhancersCallback,\r\n ConfigureStoreOptions,\r\n EnhancedStore,\r\n} from './configureStore'\r\nexport {\r\n // js\r\n createAction,\r\n getType,\r\n} from './createAction'\r\nexport type {\r\n // types\r\n PayloadAction,\r\n PayloadActionCreator,\r\n ActionCreatorWithNonInferrablePayload,\r\n ActionCreatorWithOptionalPayload,\r\n ActionCreatorWithPayload,\r\n ActionCreatorWithoutPayload,\r\n ActionCreatorWithPreparedPayload,\r\n PrepareAction,\r\n} from './createAction'\r\nexport {\r\n // js\r\n createReducer,\r\n} from './createReducer'\r\nexport type {\r\n // types\r\n Actions,\r\n CaseReducer,\r\n CaseReducers,\r\n} from './createReducer'\r\nexport {\r\n // js\r\n createSlice,\r\n} from './createSlice'\r\n\r\nexport type {\r\n // types\r\n CreateSliceOptions,\r\n Slice,\r\n CaseReducerActions,\r\n SliceCaseReducers,\r\n ValidateSliceCaseReducers,\r\n CaseReducerWithPrepare,\r\n SliceActionCreator,\r\n} from './createSlice'\r\nexport {\r\n // js\r\n createImmutableStateInvariantMiddleware,\r\n isImmutableDefault,\r\n} from './immutableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n ImmutableStateInvariantMiddlewareOptions,\r\n} from './immutableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n createSerializableStateInvariantMiddleware,\r\n findNonSerializableValue,\r\n isPlain,\r\n} from './serializableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n SerializableStateInvariantMiddlewareOptions,\r\n} from './serializableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n getDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nexport type {\r\n // types\r\n ActionReducerMapBuilder,\r\n} from './mapBuilders'\r\nexport { MiddlewareArray } from './utils'\r\n\r\nexport { createEntityAdapter } from './entities/create_adapter'\r\nexport type {\r\n Dictionary,\r\n EntityState,\r\n EntityAdapter,\r\n EntitySelectors,\r\n EntityStateAdapter,\r\n EntityId,\r\n Update,\r\n IdSelector,\r\n Comparer,\r\n} from './entities/models'\r\n\r\nexport {\r\n createAsyncThunk,\r\n unwrapResult,\r\n miniSerializeError,\r\n} from './createAsyncThunk'\r\nexport type {\r\n AsyncThunk,\r\n AsyncThunkOptions,\r\n AsyncThunkAction,\r\n AsyncThunkPayloadCreatorReturnValue,\r\n AsyncThunkPayloadCreator,\r\n SerializedError,\r\n} from './createAsyncThunk'\r\n\r\nexport {\r\n // js\r\n isAllOf,\r\n isAnyOf,\r\n isPending,\r\n isRejected,\r\n isFulfilled,\r\n isAsyncThunkAction,\r\n isRejectedWithValue,\r\n} from './matchers'\r\nexport type {\r\n // types\r\n ActionMatchingAllOf,\r\n ActionMatchingAnyOf,\r\n} from './matchers'\r\n\r\nexport { nanoid } from './nanoid'\r\n\r\nexport { default as isPlainObject } from './isPlainObject'\r\n","export var KEY_PREFIX = 'persist:';\nexport var FLUSH = 'persist/FLUSH';\nexport var REHYDRATE = 'persist/REHYDRATE';\nexport var PAUSE = 'persist/PAUSE';\nexport var PERSIST = 'persist/PERSIST';\nexport var PURGE = 'persist/PURGE';\nexport var REGISTER = 'persist/REGISTER';\nexport var DEFAULT_VERSION = -1;","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/*\n autoMergeLevel1: \n - merges 1 level of substate\n - skips substate if already modified\n*/\nexport default function autoMergeLevel1(inboundState, originalState, reducedState, _ref) {\n var debug = _ref.debug;\n\n var newState = _objectSpread({}, reducedState); // only rehydrate if inboundState exists and is an object\n\n\n if (inboundState && _typeof(inboundState) === 'object') {\n Object.keys(inboundState).forEach(function (key) {\n // ignore _persist data\n if (key === '_persist') return; // if reducer modifies substate, skip auto rehydration\n\n if (originalState[key] !== reducedState[key]) {\n if (process.env.NODE_ENV !== 'production' && debug) console.log('redux-persist/stateReconciler: sub state for key `%s` modified, skipping.', key);\n return;\n } // otherwise hard set the new value\n\n\n newState[key] = inboundState[key];\n });\n }\n\n if (process.env.NODE_ENV !== 'production' && debug && inboundState && _typeof(inboundState) === 'object') console.log(\"redux-persist/stateReconciler: rehydrated keys '\".concat(Object.keys(inboundState).join(', '), \"'\"));\n return newState;\n}","import { KEY_PREFIX, REHYDRATE } from './constants';\n// @TODO remove once flow < 0.63 support is no longer required.\nexport default function createPersistoid(config) {\n // defaults\n var blacklist = config.blacklist || null;\n var whitelist = config.whitelist || null;\n var transforms = config.transforms || [];\n var throttle = config.throttle || 0;\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n var storage = config.storage;\n var serialize;\n\n if (config.serialize === false) {\n serialize = function serialize(x) {\n return x;\n };\n } else if (typeof config.serialize === 'function') {\n serialize = config.serialize;\n } else {\n serialize = defaultSerialize;\n }\n\n var writeFailHandler = config.writeFailHandler || null; // initialize stateful values\n\n var lastState = {};\n var stagedState = {};\n var keysToProcess = [];\n var timeIterator = null;\n var writePromise = null;\n\n var update = function update(state) {\n // add any changed keys to the queue\n Object.keys(state).forEach(function (key) {\n if (!passWhitelistBlacklist(key)) return; // is keyspace ignored? noop\n\n if (lastState[key] === state[key]) return; // value unchanged? noop\n\n if (keysToProcess.indexOf(key) !== -1) return; // is key already queued? noop\n\n keysToProcess.push(key); // add key to queue\n }); //if any key is missing in the new state which was present in the lastState,\n //add it for processing too\n\n Object.keys(lastState).forEach(function (key) {\n if (state[key] === undefined && passWhitelistBlacklist(key) && keysToProcess.indexOf(key) === -1 && lastState[key] !== undefined) {\n keysToProcess.push(key);\n }\n }); // start the time iterator if not running (read: throttle)\n\n if (timeIterator === null) {\n timeIterator = setInterval(processNextKey, throttle);\n }\n\n lastState = state;\n };\n\n function processNextKey() {\n if (keysToProcess.length === 0) {\n if (timeIterator) clearInterval(timeIterator);\n timeIterator = null;\n return;\n }\n\n var key = keysToProcess.shift();\n var endState = transforms.reduce(function (subState, transformer) {\n return transformer.in(subState, key, lastState);\n }, lastState[key]);\n\n if (endState !== undefined) {\n try {\n stagedState[key] = serialize(endState);\n } catch (err) {\n console.error('redux-persist/createPersistoid: error serializing state', err);\n }\n } else {\n //if the endState is undefined, no need to persist the existing serialized content\n delete stagedState[key];\n }\n\n if (keysToProcess.length === 0) {\n writeStagedState();\n }\n }\n\n function writeStagedState() {\n // cleanup any removed keys just before write.\n Object.keys(stagedState).forEach(function (key) {\n if (lastState[key] === undefined) {\n delete stagedState[key];\n }\n });\n writePromise = storage.setItem(storageKey, serialize(stagedState)).catch(onWriteFail);\n }\n\n function passWhitelistBlacklist(key) {\n if (whitelist && whitelist.indexOf(key) === -1 && key !== '_persist') return false;\n if (blacklist && blacklist.indexOf(key) !== -1) return false;\n return true;\n }\n\n function onWriteFail(err) {\n // @TODO add fail handlers (typically storage full)\n if (writeFailHandler) writeFailHandler(err);\n\n if (err && process.env.NODE_ENV !== 'production') {\n console.error('Error storing data', err);\n }\n }\n\n var flush = function flush() {\n while (keysToProcess.length !== 0) {\n processNextKey();\n }\n\n return writePromise || Promise.resolve();\n }; // return `persistoid`\n\n\n return {\n update: update,\n flush: flush\n };\n} // @NOTE in the future this may be exposed via config\n\nfunction defaultSerialize(data) {\n return JSON.stringify(data);\n}","import { KEY_PREFIX } from './constants';\nexport default function getStoredState(config) {\n var transforms = config.transforms || [];\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n var storage = config.storage;\n var debug = config.debug;\n var deserialize;\n\n if (config.deserialize === false) {\n deserialize = function deserialize(x) {\n return x;\n };\n } else if (typeof config.deserialize === 'function') {\n deserialize = config.deserialize;\n } else {\n deserialize = defaultDeserialize;\n }\n\n return storage.getItem(storageKey).then(function (serialized) {\n if (!serialized) return undefined;else {\n try {\n var state = {};\n var rawState = deserialize(serialized);\n Object.keys(rawState).forEach(function (key) {\n state[key] = transforms.reduceRight(function (subState, transformer) {\n return transformer.out(subState, key, rawState);\n }, deserialize(rawState[key]));\n });\n return state;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production' && debug) console.log(\"redux-persist/getStoredState: Error restoring data \".concat(serialized), err);\n throw err;\n }\n }\n });\n}\n\nfunction defaultDeserialize(serial) {\n return JSON.parse(serial);\n}","import { KEY_PREFIX } from './constants';\nexport default function purgeStoredState(config) {\n var storage = config.storage;\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n return storage.removeItem(storageKey, warnIfRemoveError);\n}\n\nfunction warnIfRemoveError(err) {\n if (err && process.env.NODE_ENV !== 'production') {\n console.error('redux-persist/purgeStoredState: Error purging data stored state', err);\n }\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { FLUSH, PAUSE, PERSIST, PURGE, REHYDRATE, DEFAULT_VERSION } from './constants';\nimport autoMergeLevel1 from './stateReconciler/autoMergeLevel1';\nimport createPersistoid from './createPersistoid';\nimport defaultGetStoredState from './getStoredState';\nimport purgeStoredState from './purgeStoredState';\nvar DEFAULT_TIMEOUT = 5000;\n/*\n @TODO add validation / handling for:\n - persisting a reducer which has nested _persist\n - handling actions that fire before reydrate is called\n*/\n\nexport default function persistReducer(config, baseReducer) {\n if (process.env.NODE_ENV !== 'production') {\n if (!config) throw new Error('config is required for persistReducer');\n if (!config.key) throw new Error('key is required in persistor config');\n if (!config.storage) throw new Error(\"redux-persist: config.storage is required. Try using one of the provided storage engines `import storage from 'redux-persist/lib/storage'`\");\n }\n\n var version = config.version !== undefined ? config.version : DEFAULT_VERSION;\n var debug = config.debug || false;\n var stateReconciler = config.stateReconciler === undefined ? autoMergeLevel1 : config.stateReconciler;\n var getStoredState = config.getStoredState || defaultGetStoredState;\n var timeout = config.timeout !== undefined ? config.timeout : DEFAULT_TIMEOUT;\n var _persistoid = null;\n var _purge = false;\n var _paused = true;\n\n var conditionalUpdate = function conditionalUpdate(state) {\n // update the persistoid only if we are rehydrated and not paused\n state._persist.rehydrated && _persistoid && !_paused && _persistoid.update(state);\n return state;\n };\n\n return function (state, action) {\n var _ref = state || {},\n _persist = _ref._persist,\n rest = _objectWithoutProperties(_ref, [\"_persist\"]); // $FlowIgnore need to update State type\n\n\n var restState = rest;\n\n if (action.type === PERSIST) {\n var _sealed = false;\n\n var _rehydrate = function _rehydrate(payload, err) {\n // dev warning if we are already sealed\n if (process.env.NODE_ENV !== 'production' && _sealed) console.error(\"redux-persist: rehydrate for \\\"\".concat(config.key, \"\\\" called after timeout.\"), payload, err); // only rehydrate if we are not already sealed\n\n if (!_sealed) {\n action.rehydrate(config.key, payload, err);\n _sealed = true;\n }\n };\n\n timeout && setTimeout(function () {\n !_sealed && _rehydrate(undefined, new Error(\"redux-persist: persist timed out for persist key \\\"\".concat(config.key, \"\\\"\")));\n }, timeout); // @NOTE PERSIST resumes if paused.\n\n _paused = false; // @NOTE only ever create persistoid once, ensure we call it at least once, even if _persist has already been set\n\n if (!_persistoid) _persistoid = createPersistoid(config); // @NOTE PERSIST can be called multiple times, noop after the first\n\n if (_persist) {\n // We still need to call the base reducer because there might be nested\n // uses of persistReducer which need to be aware of the PERSIST action\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n }\n\n if (typeof action.rehydrate !== 'function' || typeof action.register !== 'function') throw new Error('redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.');\n action.register(config.key);\n getStoredState(config).then(function (restoredState) {\n var migrate = config.migrate || function (s, v) {\n return Promise.resolve(s);\n };\n\n migrate(restoredState, version).then(function (migratedState) {\n _rehydrate(migratedState);\n }, function (migrateErr) {\n if (process.env.NODE_ENV !== 'production' && migrateErr) console.error('redux-persist: migration error', migrateErr);\n\n _rehydrate(undefined, migrateErr);\n });\n }, function (err) {\n _rehydrate(undefined, err);\n });\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: {\n version: version,\n rehydrated: false\n }\n });\n } else if (action.type === PURGE) {\n _purge = true;\n action.result(purgeStoredState(config));\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n } else if (action.type === FLUSH) {\n action.result(_persistoid && _persistoid.flush());\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n } else if (action.type === PAUSE) {\n _paused = true;\n } else if (action.type === REHYDRATE) {\n // noop on restState if purging\n if (_purge) return _objectSpread({}, restState, {\n _persist: _objectSpread({}, _persist, {\n rehydrated: true\n }) // @NOTE if key does not match, will continue to default else below\n\n });\n\n if (action.key === config.key) {\n var reducedState = baseReducer(restState, action);\n var inboundState = action.payload; // only reconcile state if stateReconciler and inboundState are both defined\n\n var reconciledRest = stateReconciler !== false && inboundState !== undefined ? stateReconciler(inboundState, state, reducedState, config) : reducedState;\n\n var _newState = _objectSpread({}, reconciledRest, {\n _persist: _objectSpread({}, _persist, {\n rehydrated: true\n })\n });\n\n return conditionalUpdate(_newState);\n }\n } // if we have not already handled PERSIST, straight passthrough\n\n\n if (!_persist) return baseReducer(state, action); // run base reducer:\n // is state modified ? return original : return updated\n\n var newState = baseReducer(restState, action);\n if (newState === restState) return state;\n return conditionalUpdate(_objectSpread({}, newState, {\n _persist: _persist\n }));\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { createStore } from 'redux';\nimport { FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE } from './constants';\nvar initialState = {\n registry: [],\n bootstrapped: false\n};\n\nvar persistorReducer = function persistorReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case REGISTER:\n return _objectSpread({}, state, {\n registry: [].concat(_toConsumableArray(state.registry), [action.key])\n });\n\n case REHYDRATE:\n var firstIndex = state.registry.indexOf(action.key);\n\n var registry = _toConsumableArray(state.registry);\n\n registry.splice(firstIndex, 1);\n return _objectSpread({}, state, {\n registry: registry,\n bootstrapped: registry.length === 0\n });\n\n default:\n return state;\n }\n};\n\nexport default function persistStore(store, options, cb) {\n // help catch incorrect usage of passing PersistConfig in as PersistorOptions\n if (process.env.NODE_ENV !== 'production') {\n var optionsToTest = options || {};\n var bannedKeys = ['blacklist', 'whitelist', 'transforms', 'storage', 'keyPrefix', 'migrate'];\n bannedKeys.forEach(function (k) {\n if (!!optionsToTest[k]) console.error(\"redux-persist: invalid option passed to persistStore: \\\"\".concat(k, \"\\\". You may be incorrectly passing persistConfig into persistStore, whereas it should be passed into persistReducer.\"));\n });\n }\n\n var boostrappedCb = cb || false;\n\n var _pStore = createStore(persistorReducer, initialState, options && options.enhancer ? options.enhancer : undefined);\n\n var register = function register(key) {\n _pStore.dispatch({\n type: REGISTER,\n key: key\n });\n };\n\n var rehydrate = function rehydrate(key, payload, err) {\n var rehydrateAction = {\n type: REHYDRATE,\n payload: payload,\n err: err,\n key: key // dispatch to `store` to rehydrate and `persistor` to track result\n\n };\n store.dispatch(rehydrateAction);\n\n _pStore.dispatch(rehydrateAction);\n\n if (boostrappedCb && persistor.getState().bootstrapped) {\n boostrappedCb();\n boostrappedCb = false;\n }\n };\n\n var persistor = _objectSpread({}, _pStore, {\n purge: function purge() {\n var results = [];\n store.dispatch({\n type: PURGE,\n result: function result(purgeResult) {\n results.push(purgeResult);\n }\n });\n return Promise.all(results);\n },\n flush: function flush() {\n var results = [];\n store.dispatch({\n type: FLUSH,\n result: function result(flushResult) {\n results.push(flushResult);\n }\n });\n return Promise.all(results);\n },\n pause: function pause() {\n store.dispatch({\n type: PAUSE\n });\n },\n persist: function persist() {\n store.dispatch({\n type: PERSIST,\n register: register,\n rehydrate: rehydrate\n });\n }\n });\n\n if (!(options && options.manualPersist)) {\n persistor.persist();\n }\n\n return persistor;\n}","import { Reducer } from 'redux';\nimport { RedeemActionTypes } from './actions';\nimport { SET_CODE_PREFETCH } from './actions/code';\nimport { SET_AUTH_TOKEN, SET_SUBSCRIPTION } from './actions/register';\nimport { RedeemGiftCardState } from './state';\n\nconst INITIAL_STATE: RedeemGiftCardState = {\n authToken: undefined,\n hasSubscription: undefined,\n giftCode: undefined,\n giftCodeError: undefined,\n};\n\nexport const redeemReducer: Reducer = (\n state = INITIAL_STATE,\n action: RedeemActionTypes,\n) => {\n switch (action.type) {\n case SET_SUBSCRIPTION: {\n return {\n ...state,\n hasSubscription: action.payload.hasSubscription,\n oldUser: action.payload.oldUser,\n };\n }\n\n case SET_AUTH_TOKEN: {\n return {\n ...state,\n authToken: action.token,\n };\n }\n\n case SET_CODE_PREFETCH: {\n return {\n ...state,\n giftCode: action.payload.code,\n giftCodeError: action.payload.error,\n };\n }\n\n default: {\n return state;\n }\n }\n};\n","import { configureStore } from '@reduxjs/toolkit';\nimport { routerMiddleware } from 'connected-react-router';\nimport { createBrowserHistory } from 'history';\nimport { persistReducer, persistStore } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\nimport thunk from 'redux-thunk';\nimport { activateOptimize } from '../analytics/GoogleAnalytics';\nimport { rootReducer } from './reducer';\n\nexport const history = createBrowserHistory();\nhistory.listen((_) => {\n activateOptimize();\n window.scrollTo(0, 0);\n});\n\nconst persistConfig = {\n key: 'root',\n storage,\n};\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer(history));\n\nexport type AppDispatch = typeof store.dispatch;\n\nexport const store = configureStore({\n reducer: persistedReducer,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware().concat(routerMiddleware(history), thunk),\n});\n\nexport const persistor = persistStore(store);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport * as serviceWorker from './serviceWorker';\nimport { Website } from './app';\nimport { getSubDomain } from './utils';\nimport { VR } from './vr';\nimport { Avatars } from './avatars';\nimport './index.scss';\n\nlet Component: React.FC;\n\nswitch (getSubDomain()) {\n case 'vr':\n case 'vr-dev': {\n Component = VR;\n break;\n }\n case 'avatars':\n case 'avatars-dev': {\n Component = Avatars;\n break;\n }\n default: {\n Component = Website;\n break;\n }\n}\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import { combineReducers } from '@reduxjs/toolkit';\nimport { connectRouter, RouterState } from 'connected-react-router';\nimport { History } from 'history';\nimport { redeemReducer } from '../b2b/redeem/redux/reducer';\nimport { RedeemGiftCardState } from '../b2b/redeem/redux/state';\n\nexport interface RootState {\n router: RouterState;\n redeem: RedeemGiftCardState;\n}\n\nexport const rootReducer = (history: History) =>\n combineReducers({\n router: connectRouter(history),\n redeem: redeemReducer,\n });\n","import type {\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n Dispatch,\r\n PreloadedState,\r\n CombinedState,\r\n} from 'redux'\r\nimport { createStore, compose, applyMiddleware, combineReducers } from 'redux'\r\nimport type { EnhancerOptions as DevToolsOptions } from './devtoolsExtension'\r\nimport { composeWithDevTools } from './devtoolsExtension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport type {\r\n ThunkMiddlewareFor,\r\n CurriedGetDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nimport { curryGetDefaultMiddleware } from './getDefaultMiddleware'\r\nimport type { DispatchForMiddlewares, NoInfer } from './tsHelpers'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: readonly StoreEnhancer[]\r\n) => StoreEnhancer[]\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /* \r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic paramter, \r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: StoreEnhancer[] | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport interface EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: Dispatch & DispatchForMiddlewares\r\n}\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param config The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer)\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n let storeEnhancers: StoreEnhancer[] = [middlewareEnhancer]\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(storeEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as any\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__bo+NA\",\"backgroundGradient\":\"styles_backgroundGradient__tn4Hk\",\"mobileBackgroundGradient\":\"styles_mobileBackgroundGradient__1KZXi\",\"textContainer\":\"styles_textContainer__hTlFp\",\"form\":\"styles_form__iOUJn\",\"title\":\"styles_title__wI0BB\",\"highlighted\":\"styles_highlighted__zBFc0\",\"description\":\"styles_description__zDizs\",\"anounce\":\"styles_anounce__4E0vW\",\"logo\":\"styles_logo__r7FwT\",\"flex\":\"styles_flex__Z+Fql\"};","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__j098l\",\"backgroundGradient\":\"styles_backgroundGradient__8FfTi\",\"mobileBackgroundGradient\":\"styles_mobileBackgroundGradient__Alw9Q\",\"textContainer\":\"styles_textContainer__sroyL\",\"form\":\"styles_form__emuWT\",\"title\":\"styles_title__znDJj\",\"highlighted\":\"styles_highlighted__WOPam\",\"description\":\"styles_description__XqVfO\",\"anounce\":\"styles_anounce__EW-cP\",\"logo\":\"styles_logo__6pXvY\",\"flex\":\"styles_flex__np-Ve\"};","import React, { useEffect } from 'react';\nimport styles from './styles.module.scss';\nimport LogoImage from '../assets/logo_loona.svg';\n\nexport const VR = () => {\n useEffect(() => {\n document.title = 'Loónaverse — VR Social Wellbeing Experience';\n }, []);\n\n return (\n
\n
\n\n
\n\n \"Loóna\"\n\n
\n
\n\n
\n \n Loónaverse\n \n
\n\n
\n \n VR Social Wellbeing Experience\n \n
\n\n
\n \n Loóna is proud to announce the first social wellbeing VR platform to\n deliver the most immersive mindful experience to date.\n \n
\n
\n
\n );\n};\n","import React, { useEffect } from 'react';\nimport styles from './styles.module.scss';\nimport LogoImage from '../assets/logo_loona.svg';\n\nexport const Avatars = () => {\n useEffect(() => {\n document.title = 'Loónaverse — Social Wellbeing Experience';\n }, []);\n\n return (\n
\n
\n\n
\n\n \"Loóna\"\n\n
\n
\n\n
\n \n Loónaverse\n \n
\n\n
\n \n Social Wellbeing Experience\n \n
\n\n
\n \n Loóna is proud to announce the first social wellbeing platform to\n deliver by far the most immersive mindful experience to date.\n \n
\n
\n
\n );\n};\n","import { ConnectedRouter } from 'connected-react-router';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/integration/react';\nimport { appAnalytics } from '../analytics';\nimport AppRouter from '../approuter/AppRouter';\nimport { persistor, store, history } from '../bootstrap';\n\nexport const Website = () => {\n if (\n navigator.userAgent.indexOf('Instagram') !== -1 &&\n process.env.REACT_APP_FTP_REDIRECT_URL\n ) {\n const targetUrl = new URL(process.env.REACT_APP_FTP_REDIRECT_URL);\n const currentParams = new URLSearchParams(window.location.search);\n currentParams.forEach((value, key) => {\n targetUrl.searchParams.append(key, value);\n });\n window.location.href = targetUrl.href;\n }\n\n if (!appAnalytics) {\n console.warn(\"Analytics haven't been initialized\");\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n );\n};\n","/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v0.7.28\n Copyright © 2012-2021 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '0.7.28',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 255;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i = 0; i < arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof(str) === STR_TYPE) {\n str = str.replace(/^\\s+|\\s+$/g, EMPTY);\n return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length == 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length == 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length == 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /yabrowser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i // LieBao Browser\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, 'Facebook'], VERSION], [\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n // Ordered by popularity\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /((ipod|iphone)\\d+,\\d+)/i // iPod/iPhone model\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /(ipad\\d+,\\d+)/i // iPad model\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ ([c-g]\\d{4}|so[-l]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua = ua || ((typeof window !== UNDEF_TYPE && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser.major = majorize(_browser.version);\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n","/*\n * JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\n/* global define */\n\n/* eslint-disable strict */\n\n;(function ($) {\n 'use strict'\n\n /**\n * Add integers, wrapping at 2^32.\n * This uses 16-bit operations internally to work around bugs in interpreters.\n *\n * @param {number} x First integer\n * @param {number} y Second integer\n * @returns {number} Sum\n */\n function safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff)\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16)\n return (msw << 16) | (lsw & 0xffff)\n }\n\n /**\n * Bitwise rotate a 32-bit number to the left.\n *\n * @param {number} num 32-bit number\n * @param {number} cnt Rotation count\n * @returns {number} Rotated number\n */\n function bitRotateLeft(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt))\n }\n\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} q q\n * @param {number} a a\n * @param {number} b b\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5ff(a, b, c, d, x, s, t) {\n return md5cmn((b & c) | (~b & d), a, b, x, s, t)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5gg(a, b, c, d, x, s, t) {\n return md5cmn((b & d) | (c & ~d), a, b, x, s, t)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t)\n }\n\n /**\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n *\n * @param {Array} x Array of little-endian words\n * @param {number} len Bit length\n * @returns {Array} MD5 Array\n */\n function binlMD5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32\n x[(((len + 64) >>> 9) << 4) + 14] = len\n\n var i\n var olda\n var oldb\n var oldc\n var oldd\n var a = 1732584193\n var b = -271733879\n var c = -1732584194\n var d = 271733878\n\n for (i = 0; i < x.length; i += 16) {\n olda = a\n oldb = b\n oldc = c\n oldd = d\n\n a = md5ff(a, b, c, d, x[i], 7, -680876936)\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897)\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426)\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341)\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983)\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416)\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417)\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063)\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162)\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682)\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101)\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290)\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329)\n\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510)\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632)\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713)\n b = md5gg(b, c, d, a, x[i], 20, -373897302)\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691)\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083)\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335)\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848)\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438)\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690)\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961)\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501)\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467)\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784)\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473)\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734)\n\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558)\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463)\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562)\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556)\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060)\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353)\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632)\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640)\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174)\n d = md5hh(d, a, b, c, x[i], 11, -358537222)\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979)\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189)\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487)\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835)\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520)\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651)\n\n a = md5ii(a, b, c, d, x[i], 6, -198630844)\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415)\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905)\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055)\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571)\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606)\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523)\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799)\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359)\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744)\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380)\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649)\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070)\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379)\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259)\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551)\n\n a = safeAdd(a, olda)\n b = safeAdd(b, oldb)\n c = safeAdd(c, oldc)\n d = safeAdd(d, oldd)\n }\n return [a, b, c, d]\n }\n\n /**\n * Convert an array of little-endian words to a string\n *\n * @param {Array} input MD5 Array\n * @returns {string} MD5 string\n */\n function binl2rstr(input) {\n var i\n var output = ''\n var length32 = input.length * 32\n for (i = 0; i < length32; i += 8) {\n output += String.fromCharCode((input[i >> 5] >>> i % 32) & 0xff)\n }\n return output\n }\n\n /**\n * Convert a raw string to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n *\n * @param {string} input Raw input string\n * @returns {Array} Array of little-endian words\n */\n function rstr2binl(input) {\n var i\n var output = []\n output[(input.length >> 2) - 1] = undefined\n for (i = 0; i < output.length; i += 1) {\n output[i] = 0\n }\n var length8 = input.length * 8\n for (i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32\n }\n return output\n }\n\n /**\n * Calculate the MD5 of a raw string\n *\n * @param {string} s Input string\n * @returns {string} Raw MD5 string\n */\n function rstrMD5(s) {\n return binl2rstr(binlMD5(rstr2binl(s), s.length * 8))\n }\n\n /**\n * Calculates the HMAC-MD5 of a key and some data (raw strings)\n *\n * @param {string} key HMAC key\n * @param {string} data Raw input string\n * @returns {string} Raw MD5 string\n */\n function rstrHMACMD5(key, data) {\n var i\n var bkey = rstr2binl(key)\n var ipad = []\n var opad = []\n var hash\n ipad[15] = opad[15] = undefined\n if (bkey.length > 16) {\n bkey = binlMD5(bkey, key.length * 8)\n }\n for (i = 0; i < 16; i += 1) {\n ipad[i] = bkey[i] ^ 0x36363636\n opad[i] = bkey[i] ^ 0x5c5c5c5c\n }\n hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8)\n return binl2rstr(binlMD5(opad.concat(hash), 512 + 128))\n }\n\n /**\n * Convert a raw string to a hex string\n *\n * @param {string} input Raw input string\n * @returns {string} Hex encoded string\n */\n function rstr2hex(input) {\n var hexTab = '0123456789abcdef'\n var output = ''\n var x\n var i\n for (i = 0; i < input.length; i += 1) {\n x = input.charCodeAt(i)\n output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f)\n }\n return output\n }\n\n /**\n * Encode a string as UTF-8\n *\n * @param {string} input Input string\n * @returns {string} UTF8 string\n */\n function str2rstrUTF8(input) {\n return unescape(encodeURIComponent(input))\n }\n\n /**\n * Encodes input string as raw MD5 string\n *\n * @param {string} s Input string\n * @returns {string} Raw MD5 string\n */\n function rawMD5(s) {\n return rstrMD5(str2rstrUTF8(s))\n }\n /**\n * Encodes input string as Hex encoded string\n *\n * @param {string} s Input string\n * @returns {string} Hex encoded string\n */\n function hexMD5(s) {\n return rstr2hex(rawMD5(s))\n }\n /**\n * Calculates the raw HMAC-MD5 for the given key and data\n *\n * @param {string} k HMAC key\n * @param {string} d Input string\n * @returns {string} Raw MD5 string\n */\n function rawHMACMD5(k, d) {\n return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d))\n }\n /**\n * Calculates the Hex encoded HMAC-MD5 for the given key and data\n *\n * @param {string} k HMAC key\n * @param {string} d Input string\n * @returns {string} Raw MD5 string\n */\n function hexHMACMD5(k, d) {\n return rstr2hex(rawHMACMD5(k, d))\n }\n\n /**\n * Calculates MD5 value for a given string.\n * If a key is provided, calculates the HMAC-MD5 value.\n * Returns a Hex encoded string unless the raw argument is given.\n *\n * @param {string} string Input string\n * @param {string} [key] HMAC key\n * @param {boolean} [raw] Raw output switch\n * @returns {string} MD5 output\n */\n function md5(string, key, raw) {\n if (!key) {\n if (!raw) {\n return hexMD5(string)\n }\n return rawMD5(string)\n }\n if (!raw) {\n return hexHMACMD5(key, string)\n }\n return rawHMACMD5(key, string)\n }\n\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return md5\n })\n } else if (typeof module === 'object' && module.exports) {\n module.exports = md5\n } else {\n $.md5 = md5\n }\n})(this)\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\nfunction isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = isEqualWith;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\nvar decodeComponent = require('decode-uri-component');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nfunction extract(str) {\n\tvar queryStart = str.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\treturn str.slice(queryStart + 1);\n}\n\nfunction parse(str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^[?#&]/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeComponent(val);\n\n\t\tformatter(decodeComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tif (opts.sort === false) {\n\t\topts.sort = function () {};\n\t}\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort(opts.sort).map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n\nexports.parseUrl = function (str, opts) {\n\treturn {\n\t\turl: str.split('?')[0] || '',\n\t\tquery: parse(extract(str), opts)\n\t};\n};\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=0},m=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),c(t,[{key:\"style\",value:function(){var e=this.constructor.defaultProps.cssClass;return this.props.cssClass===e&&l[\"default\"].createElement(\"style\",{dangerouslySetInnerHTML:{__html:b[\"default\"]}})}},{key:\"containerStyle\",value:function(e){var t=e.isProcessing,o=e.isSdkLoaded,n=e.isDisabled,r={transition:\"opacity 0.5s\"};return(t||!o||n)&&(r.opacity=.6),s(r,this.props.containerStyle)}},{key:\"renderOwnButton\",value:function(e){var t=this.props,o=t.cssClass,n=t.size,r=t.icon,i=t.textButton,a=t.typeButton,c=t.buttonStyle,u=e.onClick,f=e.isDisabled,p=\"string\"==typeof r,d={};return f&&g(this.props.tag)&&(d.disabled=!0),l[\"default\"].createElement(\"span\",{style:this.containerStyle(e)},p&&l[\"default\"].createElement(\"link\",{rel:\"stylesheet\",href:\"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css\"}),l[\"default\"].createElement(this.props.tag,s({type:a,className:o+\" \"+n,style:c,onClick:u},d),r&&p&&l[\"default\"].createElement(\"i\",{className:\"fa \"+r}),r&&!p&&r,i),this.style())}},{key:\"render\",value:function(){var e=this;return l[\"default\"].createElement(h[\"default\"],s({},this.props,{render:function(t){return e.renderOwnButton(t)}}))}}]),t}(l[\"default\"].Component);m.propTypes={textButton:p[\"default\"].string,typeButton:p[\"default\"].string,size:p[\"default\"].string,cssClass:p[\"default\"].string,icon:p[\"default\"].any,containerStyle:p[\"default\"].object,buttonStyle:p[\"default\"].object,tag:p[\"default\"].oneOfType([p[\"default\"].node,p[\"default\"].func])},m.defaultProps={textButton:\"Login with Facebook\",typeButton:\"button\",size:\"metro\",fields:\"name\",cssClass:\"kep-login-facebook\",tag:\"button\"},t[\"default\"]=m},function(e,t,o){t=e.exports=o(10)(),t.push([e.id,\".kep-login-facebook{font-family:Helvetica,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased;color:#fff;cursor:pointer;display:inline-block;font-size:calc(.27548vw + 12.71074px);text-decoration:none;text-transform:uppercase;transition:background-color .3s,border-color .3s;background-color:#4c69ba;border:calc(.06887vw + .67769px) solid #4c69ba;padding:calc(.34435vw + 13.38843px) calc(.34435vw + 18.38843px)}.kep-login-facebook.small{padding:calc(.34435vw + 3.38843px) calc(.34435vw + 8.38843px)}.kep-login-facebook.medium{padding:calc(.34435vw + 8.38843px) calc(.34435vw + 13.38843px)}.kep-login-facebook.metro{border-radius:0}.kep-login-facebook .fa{margin-right:calc(.34435vw + 3.38843px)}\",\"\"]),t.locals={\"kep-login-facebook\":\"kep-login-facebook\",small:\"small\",medium:\"medium\",metro:\"metro\",fa:\"fa\"}},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u;e=window,n=document,o=\"script\",e.fbq||(c=e.fbq=function(){c.callMethod?c.callMethod.apply(c,arguments):c.queue.push(arguments)},e._fbq||(e._fbq=c),c.push=c,c.loaded=!0,c.version=\"2.0\",c.queue=[],(f=n.createElement(o)).async=!0,f.src=\"https://connect.facebook.net/en_US/fbevents.js\",(l=n.getElementsByTagName(o)[0]).parentNode.insertBefore(f,l)),t?(!1===s.autoConfig&&fbq(\"set\",\"autoConfig\",!1,t),fbq(\"init\",t,d),r=!0,i=s.debug):a(\"Please insert pixel id for initializing\")},pageView:function(){f()&&(fbq(\"track\",\"PageView\"),i&&c(\"called fbq('track', 'PageView');\"))},track:function(t,e){f()&&(fbq(\"track\",t,e),i&&(c(\"called fbq('track', '\".concat(t,\"');\")),e&&c(\"with data\",e)))},trackSingle:function(t,e,n){f()&&(fbq(\"trackSingle\",t,e,n),i&&(c(\"called fbq('trackSingle', '\".concat(t,\"', '\").concat(e,\"');\")),n&&c(\"with data\",n)))},trackCustom:function(t,e){f()&&(fbq(\"trackCustom\",t,e),i&&(c(\"called fbq('trackCustom', '\".concat(t,\"');\")),e&&c(\"with data\",e)))},trackSingleCustom:function(t,e,n){f()&&(fbq(\"trackSingle\",t,e,n),i&&(c(\"called fbq('trackSingleCustom', '\".concat(t,\"', '\").concat(e,\"');\")),n&&c(\"with data\",n)))},grantConsent:function(){f()&&(fbq(\"consent\",\"grant\"),i&&c(\"called fbq('consent', 'grant');\"))},revokeConsent:function(){f()&&(fbq(\"consent\",\"revoke\"),i&&c(\"called fbq('consent', 'revoke');\"))},fbq:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){if(f()){for(var t=arguments.length,e=new Array(t),n=0;n, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n","module.exports = require('./lib');\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var React=require(\"react\"),LeftArrow=function(_a){var customLeftArrow=_a.customLeftArrow,getState=_a.getState,previous=_a.previous,disabled=_a.disabled;return customLeftArrow?React.cloneElement(customLeftArrow,{onClick:function(){return previous()},carouselState:getState(),disabled:disabled}):React.createElement(\"button\",{\"aria-label\":\"Go to previous slide\",className:\"react-multiple-carousel__arrow react-multiple-carousel__arrow--left\",onClick:function(){return previous()},type:\"button\",disabled:disabled})};exports.LeftArrow=LeftArrow;var RightArrow=function(_a){var customRightArrow=_a.customRightArrow,getState=_a.getState,next=_a.next,disabled=_a.disabled;return customRightArrow?React.cloneElement(customRightArrow,{onClick:function(){return next()},carouselState:getState(),disabled:disabled}):React.createElement(\"button\",{\"aria-label\":\"Go to next slide\",className:\"react-multiple-carousel__arrow react-multiple-carousel__arrow--right\",onClick:function(){return next()},type:\"button\",disabled:disabled})};exports.RightArrow=RightArrow;","\"use strict\";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var React=require(\"react\"),utils_1=require(\"./utils\"),types_1=require(\"./types\"),Dots_1=require(\"./Dots\"),Arrows_1=require(\"./Arrows\"),CarouselItems_1=require(\"./CarouselItems\"),common_1=require(\"./utils/common\"),defaultTransitionDuration=400,defaultTransition=\"transform 400ms ease-in-out\",Carousel=function(_super){function Carousel(props){var _this=_super.call(this,props)||this;return _this.containerRef=React.createRef(),_this.listRef=React.createRef(),_this.state={itemWidth:0,slidesToShow:0,currentSlide:0,totalItems:React.Children.count(props.children),deviceType:\"\",domLoaded:!1,transform:0,containerWidth:0},_this.onResize=_this.onResize.bind(_this),_this.handleDown=_this.handleDown.bind(_this),_this.handleMove=_this.handleMove.bind(_this),_this.handleOut=_this.handleOut.bind(_this),_this.onKeyUp=_this.onKeyUp.bind(_this),_this.handleEnter=_this.handleEnter.bind(_this),_this.setIsInThrottle=_this.setIsInThrottle.bind(_this),_this.next=utils_1.throttle(_this.next.bind(_this),props.transitionDuration||defaultTransitionDuration,_this.setIsInThrottle),_this.previous=utils_1.throttle(_this.previous.bind(_this),props.transitionDuration||defaultTransitionDuration,_this.setIsInThrottle),_this.goToSlide=utils_1.throttle(_this.goToSlide.bind(_this),props.transitionDuration||defaultTransitionDuration,_this.setIsInThrottle),_this.onMove=!1,_this.initialX=0,_this.lastX=0,_this.isAnimationAllowed=!1,_this.direction=\"\",_this.initialY=0,_this.isInThrottle=!1,_this.transformPlaceHolder=0,_this}return __extends(Carousel,_super),Carousel.prototype.resetTotalItems=function(){var _this=this,totalItems=React.Children.count(this.props.children),currentSlide=utils_1.notEnoughChildren(this.state)?0:Math.max(0,Math.min(this.state.currentSlide,totalItems));this.setState({totalItems:totalItems,currentSlide:currentSlide},function(){_this.setContainerAndItemWidth(_this.state.slidesToShow,!0)})},Carousel.prototype.setIsInThrottle=function(isInThrottle){void 0===isInThrottle&&(isInThrottle=!1),this.isInThrottle=isInThrottle},Carousel.prototype.setTransformDirectly=function(position,withAnimation){var additionalTransfrom=this.props.additionalTransfrom,currentTransform=common_1.getTransform(this.state,this.props,position);this.transformPlaceHolder=position,this.listRef&&this.listRef.current&&(this.setAnimationDirectly(withAnimation),this.listRef.current.style.transform=\"translate3d(\"+(currentTransform+additionalTransfrom)+\"px,0,0)\")},Carousel.prototype.setAnimationDirectly=function(animationAllowed){this.listRef&&this.listRef.current&&(this.listRef.current.style.transition=animationAllowed?this.props.customTransition||defaultTransition:\"none\")},Carousel.prototype.componentDidMount=function(){this.setState({domLoaded:!0}),this.setItemsToShow(),window.addEventListener(\"resize\",this.onResize),this.onResize(!0),this.props.keyBoardControl&&window.addEventListener(\"keyup\",this.onKeyUp),this.props.autoPlay&&this.props.autoPlaySpeed&&(this.autoPlay=setInterval(this.next,this.props.autoPlaySpeed))},Carousel.prototype.setClones=function(slidesToShow,itemWidth,forResizing,resetCurrentSlide){var _this=this;void 0===resetCurrentSlide&&(resetCurrentSlide=!1),this.isAnimationAllowed=!1;var childrenArr=React.Children.toArray(this.props.children),initialSlide=utils_1.getInitialSlideInInfiniteMode(slidesToShow||this.state.slidesToShow,childrenArr),clones=utils_1.getClones(this.state.slidesToShow,childrenArr),currentSlide=childrenArr.length=min&&window.innerWidth<=max&&(_this.setState({slidesToShow:items,deviceType:item}),_this.setContainerAndItemWidth(items,shouldCorrectItemPosition,resetCurrentSlide))})},Carousel.prototype.setContainerAndItemWidth=function(slidesToShow,shouldCorrectItemPosition,resetCurrentSlide){var _this=this;if(this.containerRef&&this.containerRef.current){var containerWidth=this.containerRef.current.offsetWidth,itemWidth_1=utils_1.getItemClientSideWidth(this.props,slidesToShow,containerWidth);this.setState({containerWidth:containerWidth,itemWidth:itemWidth_1},function(){_this.props.infinite&&_this.setClones(slidesToShow,itemWidth_1,shouldCorrectItemPosition,resetCurrentSlide)}),shouldCorrectItemPosition&&this.correctItemsPosition(itemWidth_1)}},Carousel.prototype.correctItemsPosition=function(itemWidth,isAnimationAllowed,setToDomDirectly){isAnimationAllowed&&(this.isAnimationAllowed=!0),!isAnimationAllowed&&this.isAnimationAllowed&&(this.isAnimationAllowed=!1);var nextTransform=this.state.totalItemsMath.abs(diffY)))return;var _b=utils_1.populateSlidesOnMouseTouchMove(this.state,this.props,this.initialX,this.lastX,clientX,this.transformPlaceHolder),direction=_b.direction,nextPosition=_b.nextPosition,canContinue=_b.canContinue;direction&&(this.direction=direction,canContinue&&void 0!==nextPosition&&this.setTransformDirectly(nextPosition)),this.lastX=clientX}}},Carousel.prototype.handleOut=function(e){this.props.autoPlay&&!this.autoPlay&&(this.autoPlay=setInterval(this.next,this.props.autoPlaySpeed));var shouldDisableOnMobile=\"touchend\"===e.type&&!this.props.swipeable,shouldDisableOnDesktop=(\"mouseleave\"===e.type||\"mouseup\"===e.type)&&!this.props.draggable;if(!shouldDisableOnMobile&&!shouldDisableOnDesktop&&this.onMove){if(this.setAnimationDirectly(!0),\"right\"===this.direction)if(this.initialX-this.lastX>=this.props.minimumTouchDrag){var slidesHavePassed=Math.round((this.initialX-this.lastX)/this.state.itemWidth);this.next(slidesHavePassed)}else this.correctItemsPosition(this.state.itemWidth,!0,!0);if(\"left\"===this.direction)if(this.lastX-this.initialX>this.props.minimumTouchDrag){slidesHavePassed=Math.round((this.lastX-this.initialX)/this.state.itemWidth);this.previous(slidesHavePassed)}else this.correctItemsPosition(this.state.itemWidth,!0,!0);this.resetMoveStatus()}},Carousel.prototype.isInViewport=function(el){var _a=el.getBoundingClientRect(),_b=_a.top,top=void 0===_b?0:_b,_c=_a.left,left=void 0===_c?0:_c,_d=_a.bottom,bottom=void 0===_d?0:_d,_e=_a.right,right=void 0===_e?0:_e;return 0<=top&&0<=left&&bottom<=(window.innerHeight||document.documentElement.clientHeight)&&right<=(window.innerWidth||document.documentElement.clientWidth)},Carousel.prototype.isChildOfCarousel=function(el){return!!(el instanceof Element&&this.listRef&&this.listRef.current)&&this.listRef.current.contains(el)},Carousel.prototype.onKeyUp=function(e){var target=e.target;switch(e.keyCode){case 37:if(this.isChildOfCarousel(target))return this.previous();break;case 39:if(this.isChildOfCarousel(target))return this.next();break;case 9:if(this.isChildOfCarousel(target)&&target instanceof HTMLInputElement&&!this.isInViewport(target))return this.next()}},Carousel.prototype.handleEnter=function(e){types_1.isMouseMoveEvent(e)&&this.autoPlay&&this.props.autoPlay&&this.props.pauseOnHover&&(clearInterval(this.autoPlay),this.autoPlay=void 0)},Carousel.prototype.goToSlide=function(slide,skipCallbacks){var _this=this;if(!this.isInThrottle){var itemWidth=this.state.itemWidth,_a=this.props,afterChange=_a.afterChange,beforeChange=_a.beforeChange,previousSlide=this.state.currentSlide;\"function\"!=typeof beforeChange||skipCallbacks&&(\"object\"!=typeof skipCallbacks||skipCallbacks.skipBeforeChange)||beforeChange(slide,this.getState()),this.isAnimationAllowed=!0,this.setState({currentSlide:slide,transform:-itemWidth*slide},function(){_this.props.infinite&&_this.correctClonesPosition({domLoaded:!0}),\"function\"!=typeof afterChange||skipCallbacks&&(\"object\"!=typeof skipCallbacks||skipCallbacks.skipAfterChange)||setTimeout(function(){afterChange(previousSlide,_this.getState())},_this.props.transitionDuration||defaultTransitionDuration)})}},Carousel.prototype.getState=function(){return this.state},Carousel.prototype.renderLeftArrow=function(disbaled){var _this=this,customLeftArrow=this.props.customLeftArrow;return React.createElement(Arrows_1.LeftArrow,{customLeftArrow:customLeftArrow,getState:function(){return _this.getState()},previous:this.previous,disabled:disbaled})},Carousel.prototype.renderRightArrow=function(disbaled){var _this=this,customRightArrow=this.props.customRightArrow;return React.createElement(Arrows_1.RightArrow,{customRightArrow:customRightArrow,getState:function(){return _this.getState()},next:this.next,disabled:disbaled})},Carousel.prototype.renderButtonGroups=function(){var _this=this,customButtonGroup=this.props.customButtonGroup;return customButtonGroup?React.cloneElement(customButtonGroup,{previous:function(){return _this.previous()},next:function(){return _this.next()},goToSlide:function(slideIndex,skipCallbacks){return _this.goToSlide(slideIndex,skipCallbacks)},carouselState:this.getState()}):null},Carousel.prototype.renderDotsList=function(){var _this=this;return React.createElement(Dots_1.default,{state:this.state,props:this.props,goToSlide:this.goToSlide,getState:function(){return _this.getState()}})},Carousel.prototype.renderCarouselItems=function(){var clones=[];if(this.props.infinite){var childrenArr=React.Children.toArray(this.props.children);clones=utils_1.getClones(this.state.slidesToShow,childrenArr)}return React.createElement(CarouselItems_1.default,{clones:clones,goToSlide:this.goToSlide,state:this.state,notEnoughChildren:utils_1.notEnoughChildren(this.state),props:this.props})},Carousel.prototype.render=function(){var _a=this.props,deviceType=_a.deviceType,arrows=_a.arrows,renderArrowsWhenDisabled=_a.renderArrowsWhenDisabled,removeArrowOnDeviceType=_a.removeArrowOnDeviceType,infinite=_a.infinite,containerClass=_a.containerClass,sliderClass=_a.sliderClass,customTransition=_a.customTransition,additionalTransfrom=_a.additionalTransfrom,renderDotsOutside=_a.renderDotsOutside,renderButtonGroupOutside=_a.renderButtonGroupOutside,className=_a.className;\"production\"!==process.env.NODE_ENV&&utils_1.throwError(this.state,this.props);var _b=utils_1.getInitialState(this.state,this.props),shouldRenderOnSSR=_b.shouldRenderOnSSR,shouldRenderAtAll=_b.shouldRenderAtAll,isLeftEndReach=utils_1.isInLeftEnd(this.state),isRightEndReach=utils_1.isInRightEnd(this.state),shouldShowArrows=arrows&&!(removeArrowOnDeviceType&&(deviceType&&-12*slidesToShow?index+2*slidesToShow:currentSlide>=childrenArr.length?childrenArr.length+index:index}function getOriginalIndexLookupTableByClones(slidesToShow,childrenArr){if(childrenArr.length>2*slidesToShow){for(var table={},firstBeginningOfClones=childrenArr.length-2*slidesToShow,firstEndOfClones=childrenArr.length-firstBeginningOfClones,firstCount=firstBeginningOfClones,i=0;i2*slidesToShow?childrenArr.slice(childrenArr.length-2*slidesToShow,childrenArr.length).concat(childrenArr,childrenArr.slice(0,2*slidesToShow)):childrenArr.concat(childrenArr,childrenArr)}function getInitialSlideInInfiniteMode(slidesToShow,childrenArr){return childrenArr.length>2*slidesToShow?2*slidesToShow:childrenArr.length}function checkClonesPosition(_a,childrenArr,props){var isReachingTheEnd,currentSlide=_a.currentSlide,slidesToShow=_a.slidesToShow,itemWidth=_a.itemWidth,totalItems=_a.totalItems,nextSlide=0,nextPosition=0,isReachingTheStart=0===currentSlide,originalFirstSlide=childrenArr.length-(childrenArr.length-2*slidesToShow);return childrenArr.length2*slidesToShow?((isReachingTheEnd=currentSlide>=originalFirstSlide+childrenArr.length)&&(nextPosition=-itemWidth*(nextSlide=currentSlide-childrenArr.length)),isReachingTheStart&&(nextPosition=-itemWidth*(nextSlide=originalFirstSlide+(childrenArr.length-2*slidesToShow)))):((isReachingTheEnd=currentSlide>=2*childrenArr.length)&&(nextPosition=-itemWidth*(nextSlide=currentSlide-childrenArr.length)),isReachingTheStart&&(nextPosition=props.showDots?-itemWidth*(nextSlide=childrenArr.length):-itemWidth*(nextSlide=totalItems-2*slidesToShow))),{isReachingTheEnd:isReachingTheEnd,isReachingTheStart:isReachingTheStart,nextSlide:nextSlide,nextPosition:nextPosition}}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.getOriginalCounterPart=getOriginalCounterPart,exports.getOriginalIndexLookupTableByClones=getOriginalIndexLookupTableByClones,exports.getClones=getClones,exports.getInitialSlideInInfiniteMode=getInitialSlideInInfiniteMode,exports.checkClonesPosition=checkClonesPosition;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var elementWidth_1=require(\"./elementWidth\");function notEnoughChildren(state){var slidesToShow=state.slidesToShow;return state.totalItems=min&&window.innerWidth<=max&&(slidesToScroll=slidesToSlide)}),slidesToScroll}exports.notEnoughChildren=notEnoughChildren,exports.getInitialState=getInitialState,exports.getIfSlideIsVisbile=getIfSlideIsVisbile,exports.getTransformForCenterMode=getTransformForCenterMode,exports.isInLeftEnd=isInLeftEnd,exports.isInRightEnd=isInRightEnd,exports.getTransformForPartialVsibile=getTransformForPartialVsibile,exports.getTransform=getTransform,exports.getSlidesToSlide=getSlidesToSlide;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var clones_1=require(\"./clones\"),common_1=require(\"./common\");function getLookupTableForNextSlides(numberOfDotsToShow,state,props,childrenArr){var table={},slidesToSlide=common_1.getSlidesToSlide(state,props);return Array(numberOfDotsToShow).fill(0).forEach(function(_,i){var nextSlide=clones_1.getOriginalCounterPart(i,state,childrenArr);if(0===i)table[0]=nextSlide;else{var now=table[i-1]+slidesToSlide;table[i]=now}}),table}exports.getLookupTableForNextSlides=getLookupTableForNextSlides;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var hasWarnAboutTypo=!1;function getPartialVisibilityGutter(responsive,partialVisible,serverSideDeviceType,clientSideDeviceType){var gutter=0,deviceType=clientSideDeviceType||serverSideDeviceType;return partialVisible&&deviceType&&(!hasWarnAboutTypo&&\"production\"!==process.env.NODE_ENV&&responsive[deviceType].paritialVisibilityGutter&&(hasWarnAboutTypo=!0,console.warn(\"You appear to be using paritialVisibilityGutter instead of partialVisibilityGutter which will be moved to partialVisibilityGutter in the future completely\")),gutter=responsive[deviceType].partialVisibilityGutter||responsive[deviceType].paritialVisibilityGutter),gutter}function getWidthFromDeviceType(deviceType,responsive){var itemWidth;responsive[deviceType]&&(itemWidth=(100/responsive[deviceType].items).toFixed(1));return itemWidth}function getItemClientSideWidth(props,slidesToShow,containerWidth){return Math.round(containerWidth/(slidesToShow+(props.centerMode?1:0)))}exports.getPartialVisibilityGutter=getPartialVisibilityGutter,exports.getWidthFromDeviceType=getWidthFromDeviceType,exports.getItemClientSideWidth=getItemClientSideWidth;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var clones_1=require(\"./clones\");exports.getOriginalCounterPart=clones_1.getOriginalCounterPart,exports.getClones=clones_1.getClones,exports.checkClonesPosition=clones_1.checkClonesPosition,exports.getInitialSlideInInfiniteMode=clones_1.getInitialSlideInInfiniteMode;var elementWidth_1=require(\"./elementWidth\");exports.getWidthFromDeviceType=elementWidth_1.getWidthFromDeviceType,exports.getPartialVisibilityGutter=elementWidth_1.getPartialVisibilityGutter,exports.getItemClientSideWidth=elementWidth_1.getItemClientSideWidth;var common_1=require(\"./common\");exports.getInitialState=common_1.getInitialState,exports.getIfSlideIsVisbile=common_1.getIfSlideIsVisbile,exports.getTransformForCenterMode=common_1.getTransformForCenterMode,exports.getTransformForPartialVsibile=common_1.getTransformForPartialVsibile,exports.isInLeftEnd=common_1.isInLeftEnd,exports.isInRightEnd=common_1.isInRightEnd,exports.notEnoughChildren=common_1.notEnoughChildren,exports.getSlidesToSlide=common_1.getSlidesToSlide;var throttle_1=require(\"./throttle\");exports.throttle=throttle_1.default;var throwError_1=require(\"./throwError\");exports.throwError=throwError_1.default;var next_1=require(\"./next\");exports.populateNextSlides=next_1.populateNextSlides;var previous_1=require(\"./previous\");exports.populatePreviousSlides=previous_1.populatePreviousSlides;var mouseOrTouchMove_1=require(\"./mouseOrTouchMove\");exports.populateSlidesOnMouseTouchMove=mouseOrTouchMove_1.populateSlidesOnMouseTouchMove;","\"use strict\";function populateSlidesOnMouseTouchMove(state,props,initialX,lastX,clientX,transformPlaceHolder){var direction,nextPosition,itemWidth=state.itemWidth,slidesToShow=state.slidesToShow,totalItems=state.totalItems,currentSlide=state.currentSlide,infinite=props.infinite,canContinue=!1,slidesHavePassedRight=Math.round((initialX-lastX)/itemWidth),slidesHavePassedLeft=Math.round((lastX-initialX)/itemWidth),isMovingLeft=initialX result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(2494);\n"],"names":["module","exports","Boolean","window","location","hostname","match","ReactReduxContext","React","batch","callback","getBatch","nullListeners","notify","get","createSubscription","store","parentSub","unsubscribe","listeners","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","subscribe","first","last","clear","listener","next","push","isSubscribed","prev","createListenerCollection","notifyNestedSubs","tryUnsubscribe","undefined","getListeners","useIsomorphicLayoutEffect","document","createElement","useLayoutEffect","useEffect","_ref","context","children","contextValue","useMemo","previousState","getState","Context","Provider","value","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf","_excluded","_excluded2","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","state","action","updateCount","payload","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","current","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","error","latestStoreState","e","type","initStateUpdates","connectAdvanced","selectorFactory","_ref2","_ref2$getDisplayName","getDisplayName","name","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","forwardRef","_ref2$context","connectOptions","_objectWithoutPropertiesLoose","WrappedComponent","wrappedComponentName","displayName","selectorFactoryOptions","_extends","pure","usePureOnlyMemo","ConnectFunction","props","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","Consumer","isContextConsumer","useContext","didStoreComeFromProps","dispatch","createChildSelector","_useMemo2","bind","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","useRef","renderedWrappedComponent","ref","Connect","forwarded","hoistStatics","is","x","y","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","options","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","actionCreators","boundActionCreators","_loop","actionCreator","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextState","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","arg","factories","result","Error","strictEqual","a","b","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","useReduxContext","createStoreHook","useDefaultReduxContext","useStore","createDispatchHook","useDefaultStore","useDispatch","refEquality","createSelectorHook","selector","equalityFn","_useReduxContext","selectedState","contextSub","s","forceRender","latestSubscriptionCallbackError","latestSelector","latestSelectedState","storeState","newSelectedState","err","message","stack","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","useSelector","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","isAbsolute","pathname","charAt","spliceOne","list","index","k","n","pop","to","from","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","up","part","unshift","join","substr","valueOf","obj","valueEqual","Array","isArray","every","item","aValue","bValue","prefix","invariant","condition","addLeadingSlash","path","stripLeadingSlash","stripBasename","toLowerCase","hasBasename","stripTrailingSlash","slice","createPath","search","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","resolvePathname","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","fn","isActive","filter","notifyListeners","_len","args","_key","forEach","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","ua","navigator","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","Math","random","toString","transitionManager","setState","handlePopState","event","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replace","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","locationsAreEqual$$1","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","createEventEmitter","handlers","on","handler","off","h","set","newValue","changedBits","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","_this","emitter","_proto","getChildContext","componentWillReceiveProps","nextProps","oldValue","objectIs","render","Component","childContextTypes","PropTypes","_Component2","_this2","getValue","onUpdate","observedBits","_proto2","componentDidMount","componentWillUnmount","contextTypes","createNamedContext","createContext","historyContext","Router","computeRootMatch","params","isExact","_pendingLocation","RouterContext","staticContext","HistoryContext","Lifecycle","onMount","componentDidUpdate","prevProps","onUnmount","cache","cacheCount","generatePath","generator","pathToRegexp","compilePath","pretty","Redirect","computedMatch","method","locationsAreEqual","exact","strict","sensitive","matched","cacheKey","pathCache","regexp","end","values","memo","Route","matchPath","component","isEmptyChildren","base","createURL","staticHandler","noop","Switch","child","element","LOCATION_CHANGE","CALL_HISTORY_METHOD","updateLocation","_typeof","Symbol","iterator","structure","getIn","toJS","getRouter","router","getLocation","getAction","getSearch","getHash","createMatchSelector","lastPathname","lastMatch","_defineProperties","descriptor","enumerable","configurable","writable","defineProperty","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_getPrototypeOf","getPrototypeOf","createSelectors","ConnectedRouter","_PureComponent","TypeError","_inherits","Derived","Constructor","protoProps","staticProps","_super","Super","NewTarget","instance","_classCallCheck","onLocationChanged","stateCompareFunction","inTimeTravelling","isTimeTravelDebuggingAllowed","noTimeTravelDebugging","_getLocation","pathnameInStore","searchInStore","hashInStore","stateInStore","_history$location","pathnameInHistory","searchInHistory","hashInHistory","stateInHistory","isEqualWith","handleLocationChange","isFirstRendering","noInitialPop","_this$props","omitRouter","PureComponent","propTypes","isRequired","ConnectedRouterWithContext","connect","_onLocationChanged","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","injectQuery","query","searchQuery","reduce","acc","currentQuery","_currentQuery$split2","fromJS","merge","initialRouterState","createConnectedRouter","plainStructure","connectRouter","createConnectRouter","_createSelectors","Events","PersistGate","_getPrototypeOf2","bootstrapped","persistor","onBeforeLift","Promise","resolve","finally","_unsubscribe","handlePersistorState","loading","hasNativeReflectConstruct","Analytics","supportedEvents","isBrowserEnv","_toConsumableArray","iter","Constants","UTF8","utftext","c","charCodeAt","String","fromCharCode","c1","c2","GlobalScope","Base64","_keyStr","encode","input","btoa","atob","unescape","encodeURIComponent","_encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","isNaN","decode","decodeURIComponent","escape","_decode","val","nodeType","Buffer","isBuffer","localStorage","logLevels","DISABLE","ERROR","WARN","INFO","logLevel","log","_log","warn","info","console","_truncateValue","validateInput","expectedType","validateProperties","properties","propsType","copy","property","keyType","validatePropertyValue","invalidValueTypes","valueType","arrayCopy","elemType","validateGroupName","groupName","groupNameType","utils","logLevelName","str","WorkerGlobalScope","results","RegExp","exec","truncate","groups","groupsType","group","deviceId","includes","transport","sendBeacon","base64Id","floor","ca","cookie","opts","expires","expirationDays","date","setTime","getTime","toUTCString","domain","secure","sameSite","getLastEventTime","parsedValue","strValue","parseInt","baseCookie","cookieArray","trimStart","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","cookies","sort","t1","cookieName","_areCookiesEnabled","uid","getHost","URL","topDomain","parts","levels","cname","_options","_domainSpecific","suffix","get$1","nameEq","JSON","parse","set$1","stringify","remove","Cookie","reset","token","stored","setRaw","getRaw","WorkerStorage","Map","_createClass","has","delete","setItem","getItem","removeItem","windowLocalStorageAvailable","globalStorage","div","attrKey","style","display","getElementsByTagName","appendChild","addBehavior","v","load","setAttribute","save","removeAttribute","attr","XMLDocument","documentElement","attributes","_storageOptionExists","ampLocalStorage","cookieStorage","storage","getStorage","keyPrefix","storageOptionExists","MetadataStorage","storageKey","disableCookies","cookieDomain","writableTopDomain","disableCookieStorage","userId","optOut","sessionId","lastEventTime","eventId","identifyId","sequenceNumber","sessionStorage","saveCookie","getCookieStorageKey","cookieKey","allCookies","latestCookie","AMP_OP_CLEAR_ALL","Identify","userPropertiesOperations","add","_addOperation","append","clearAll","prepend","setOnce","unset","preInsert","postInsert","operation","Request","data","headers","send","XDomainRequest","xdr","open","onload","responseText","onerror","ontimeout","onprogress","queryString","XMLHttpRequest","xhr","onreadystatechange","readyState","status","header","setRequestHeader","setHeaders","responseStatus","fetch","body","then","response","text","Revenue","_price","_productId","_quantity","_revenueType","_properties","setProductId","productId","setQuantity","quantity","setPrice","price","setRevenueType","revenueType","setEventProperties","eventProperties","_isValidRevenue","_toJSONObject","uuid","AmplitudeServerZone","getEventLogApi","serverZone","eventLogUrl","version","DEFAULT_OPTIONS","apiEndpoint","batchEvents","cookieExpiration","sameSiteCookie","cookieForceUpgrade","deferInitialization","deviceIdFromUrlParam","eventUploadPeriodMillis","eventUploadThreshold","forceHttps","includeFbclid","includeGclid","includeReferrer","includeUtm","language","languages","userLanguage","library","logAttributionCapturedEvent","onError","onExitPage","onNewSessionStart","plan","branch","platform","savedMaxCount","saveEvents","saveParamsReferrerOncePerSession","secureCookie","sessionTimeout","trackingOptions","city","country","carrier","device_manufacturer","device_model","dma","ip_address","os_name","os_version","region","version_name","unsetParamsReferrerOnNewSession","unsentKey","unsentIdentifyKey","uploadBatchSize","useDynamicConfig","serverZoneBasedApi","ConfigManager","ingestionEndpoint","protocol","dynamicConfigUrl","getDynamicConfigApi","AmplitudeClient","instanceName","_instanceName","_unsentEvents","_unsentIdentifys","_ua","UAParser","getResult","_q","_sending","_updateScheduled","_onInitCallbacks","_onNewSessionStartCallbacks","_eventId","_identifyId","_lastEventTime","_newSession","_sequenceNumber","_sessionId","_isInitialized","_userAgent","init","apiKey","opt_userId","opt_config","opt_callback","_parseConfig","Prototype","toJSON","augmentedWindow","augmentedArray","prototypeJsFix","_refreshDynamicConfig","_storageSuffix","_storageSuffixV5","_oldCookiename","_unsentKey","_unsentIdentifyKey","_cookieName","_metadataStorage","hasOldCookie","hasNewCookie","_useOldCookie","hasCookie","_deferInitialization","_generateApiPropertiesTrackingConfig","_apiPropertiesTrackingOptions","tracking_options","_upgradeCookieData","_loadCookieData","_pendingReadStorage","_loadSavedUnsentEvents","storedDeviceId","_getInitialDeviceId","now","startNewSession","_unsetUTMParams","_trackParamsAndReferrer","_validateUnsentEventQueue","_saveCookieData","_sendEventsIfReady","_runNewSessionStartCallbacks","initFromStorage","runQueuedFunctions","pageHandlersAdded","prevTransport","setTransport","handleVisibilityChange","deleteLowerLevelDomainCookies","host","cookieHost","hostParts","cookieHostParts","deleteDomain","configDeviceId","_getDeviceIdFromUrlParam","_getUrlParams","queue","userProperties","user_properties","event_properties","utmProperties","referrerProperties","gclidProperties","fbclidProperties","_initUtmData","_saveReferrer","_getReferrer","_saveGclid","_saveFbclid","attributionProperties","logEvent","config","freeFormObjectKeys","Set","parseValidateAndLoad","inputValue","_apiKeySet","savedUnsentEventsString","_getFromStorage","unsentEvents","_parseSavedUnsentEventsString","_setInStorage","events","isNewSession","onInit","getSessionId","nextEventId","nextIdentifyId","nextSequenceNumber","_unsentCount","sendEvents","setTimeout","clearStorage","scope","cookieData","_loadCookieDataProps","queryParams","cookieParams","rawCookie","fetchParam","queryName","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","utmData","addIfNotNull","getUtmData","_sendParamsReferrerUserProperties","identify","referrer","urlParams","gclid","fbclid","_getReferringDomain","referrerInfo","referring_domain","serializedUnsentEvents","serializedIdentifys","unsentIdentify","setDomain","_shouldDeferCall","setUserId","setGroup","groupType","_logEvent","setOptOut","enable","setSessionId","resetSessionId","regenerateDeviceId","setDeviceId","setUserProperties","sanitized","clearUserProperties","_convertProxyObjectToRealObject","identify_obj","opt_error_callback","outOfSession","_logErrorsWithCallbacks","reason","groupIdentify","group_type","group_name","setVersionName","versionName","eventType","apiProperties","groupProperties","timestamp","errorCallback","eventTime","osName","browser","osVersion","major","deviceModel","device","model","os","deviceVendor","vendor","device_id","user_id","event_id","session_id","event_type","_shouldTrackField","api_properties","sequence_number","group_properties","user_agent","_isObservePlanSet","_limitEventsQueued","field","fields","logEventWithTimestamp","logEventWithGroups","_isNumber","parseFloat","isFinite","details","logRevenueV2","revenue_obj","logRevenue","product","special","_logErrorsOnEvents","maxEventId","maxIdentifyId","queues","j","maxId","unsentEvent","removeEvents","_removeEvents","eventQueue","filteredEvents","Infinity","numEvents","mergedEvents","_mergeEventsAndIdentifys","eventsToSend","uploadTime","client","upload_time","checksum","md5","ceil","URLSearchParams","eventIndex","identifyIndex","noIdentifys","noEvents","setGlobalUserProperties","__VERSION__","setLibrary","_initializationDeferred","enableTracking","refresh","getDeviceId","getUserId","setMinTimeBetweenSessionsMillis","timeInMillis","setEventUploadThreshold","setUseDynamicConfig","setServerZone","setServerUrl","serverUrl","Amplitude","_instances","getInstance","old","amplitude","newInstance","instance$1","_iq","unsupportedEvents","process","mappedEvents","FacebookPixel","ReactPixel","debug","autoConfig","eventName","_objectSpread2","category","GoogleAnalytics","activateOptimize","eventInfo","dataLayer","eventProps","appAnalytics","AppAnalytics","analytics","it","trackEvent","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","ensureSpring","styles","spring","identity","RouteTransition","className","atEnter","atActive","atLeave","_ref$wrapperComponent","wrapperComponent","_ref$didLeave","didLeave","_ref$mapStyles","mapStyles","_ref$runOnMount","runOnMount","defaultStyles","TransitionMotion","willEnter","willLeave","interpolatedStyles","cloneElement","NO_MATCH","getLocationKey","counter","AnimatedSwitch","_ref5","routeTransitionProps","useLocation","nextMatch","_ref4","childrenArray","getMatchedRoute","asyncGeneratorStep","gen","reject","_next","_throw","_asyncToGenerator","_g","useAppDispatch","useAppSelector","Loader","LoadingButton","disabled","isLoading","label","onClick","preventDefault","SvgIconEyeClosed","svgRef","title","titleId","width","height","viewBox","fill","xmlns","id","opacity","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","SvgIconEyeOpened","PasswordInput","placeholder","isValid","onChange","onFocusChange","useState","isPasswordVisible","setIsPasswordVisible","onFocus","onBlur","validateEmail","email","getQueryVariable","variable","vars","pair","Event","RedeemScreenOpened","screenName","RedeemSignUp","accountType","RedeemGiftCodeActivated","giftCode","RedeemAppContinue","ErrorPopup","visible","onClose","alert","overflow","src","Exclamation","alt","getToken","fetchServer","endpoint","onLine","Authorization","json","catch","debug_text","API","ENDPOINTS","ACTIVATE_GIFT_CARD","EMAIL_REGISTER","EMAIL_LOGIN","SOCIAL_REGISTER","facebook","SOCIAL_LOGIN","USER_PURCHASES","register","password","code","auth_token","login","socialLogin","provider_user_id","socialRegister","firstName","lastName","accessToken","first_name","last_name","checkSubscription","purchase","is_active","gift_code","SET_CODE_PREFETCH","SET_AUTH_TOKEN","SET_SUBSCRIPTION","emailRegister","userInfo","checkActiveSubscription","description","emailLogin","hasSubscription","oldUser","SvgIcFacebook","Translation","translation","useTranslation","file","startsWith","translationsRu","translationsEn","FacebookLoginButton","translations","appId","disableMobileRedirect","cssClass","textButton","icon","fbLoginInfo","RedeemAccount","setEmail","setPassword","setError","isErrorVisible","setIsErrorVisible","passwordError","setPasswordError","emailError","setEmailError","setIsLoading","handleSubmit","validateForm","content","onSubmit","noValidate","Delete","InputWithButton","button","applied","onButtonClick","CheckedMark","Logo","LogoImage","RedeemTemplate","Cards","RedeemCode","redeem","initialCode","giftCodeError","setGiftCode","giftCodeApplied","setGiftCodeApplied","onRedeem","activateGiftCode","_","newGiftCode","LINK_PARAMS_MAP","mediaSource","webDp","campaign","retargeting","iosUrl","androidUrl","utm_source","utm_medium","utm_campaign","getOneLink","authToken","oneLink","searchParams","currentParams","fromEntries","getLink","link","isTouchDevice","maxTouchPoints","msMaxTouchPoints","SuccessTemplate","subtitle","GiftCard","RedeemDone","REQUEST_PASSWORD_RESET","RESET_PASSWORD","confirmation","Template","buttonDisabled","buttonLabel","buttonClassName","ERROR_TYPES","ERRORS","CreatePassword","setConfirmation","setLoading","isPasswordValid","setPasswordValid","isConfirmationValid","setConfirmationValid","useParams","handleInputChange","currentPassword","currentConfirmation","PASSWORD_WEAK","PASSWORD_MISMATCH","resetPassword","errorCode","UNKNOWN","Done","Email","setIsValid","sentEmail","setSentEmail","requestPasswordReset","ExpiredHash","observerMap","RootIds","rootId","unsupportedValue","optionsToId","root","observe","fallbackInView","bounds","isIntersecting","intersectionRatio","time","boundingClientRect","intersectionRect","rootBounds","elements","observer","IntersectionObserver","inView","thresholds","createObserver","callbacks","isPlainChildren","InView","node","_unobserveCb","handleNode","handleChange","observeNode","threshold","rootMargin","trackVisibility","delay","unobserve","as","tag","useInView","triggerOnce","skip","initialInView","setRef","defaultProps","Title","Install","SignUp","Header","playsInline","autoPlay","muted","loop","HeaderVideo","Logos","image","GoogleLogo","AppleAwardLogo","VogueLogo","GQLogo","ForbesLogo","BazaarLogo","TechCrunchLogo","GoogleAwardLogo","CNNLogo","TheGuardianLogo","QuartzLogo","AlwaysPets","FamilyMinded","FarAndWide","WorkAndMoney","Ticker","logoItems","rel","Card","background","HeroSection","AnxietyBg","BreadCrumbs","EaseIntoSleepBg","EaseIntoSleepPhone","WakeUpBg","WakeUpPhone","PerformBetterBg","PerformBetterProgress","draggable","onMove","active","MOBILE_QUERY","TABLET_QUERY","useMediaQuery","matches","setMatches","media","matchMedia","usePreloadImages","imageSources","randomStr","usePreloadImagesData","allowArrayLike","F","f","normalCompletion","didErr","step","_e2","img","Image","isLargeScreen","isScrollActive","setScrollActive","MusicContentBg","SleepscapesContentBg","StoriesContentBg","EpisodeContentBg","MobileSleepscapesContentBg","MobileMusicContentBg","MobileStoriesContentBg","MobileEpisodeContentBg","SLIDES","responsive","desktop","breakpoint","items","tablet","mobile","arrows","minimumTouchDrag","slidesToSlide","showDots","customDot","swipeable","afterChange","beforeChange","slide","idx","Content","SvgArrowRight","RelaxTechniques","DoctorBg","Sign","Doctor","ArtActivitiesBg","ArtActivitiesProgress","ArtActivitiesPhone","TreeBg","TreeBgMobile","BreathingPracticesBg","BreathingPracticesPhone","SoundHealingBg","Pillow","PillowImg","PillowImgMobile","GrassBg","GrassBgMobile","SvgArrowUp","transform","SvgArrowDown","Item","question","answer","setActive","maxHeight","setMaxHeight","contentRef","scrollHeight","HTMLAnchorElement","faq","FaqAccordion","resolveToLocation","normalizeToLocation","forwardRefShim","C","LinkAnchor","innerRef","navigate","rest","ex","isModifiedEvent","forwardedRef","Link","isDuplicateNavigation","ariaCurrent","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","GooglePlayButton","GooglePlay","AppStoreButton","AppStore","Footer","SvgStars","Banner","isBannerShown","setBannerShown","isMobileDevice","isBannerShownBefore","isIosDevice","onClickHandler","useBannerLogic","BannerIcon","LoonaWeb","textAlign","padding","backgroundColor","color","fontSize","textDecoration","AppleLogo","verticalAlign","CookieDataTypes","PageWrapper","classList","BlackLogo","Terms","Privacy","CaliforniaPrivacy","CookiePolicyPageWrapper","Table","getColumnColorStyle","columnValue","Marketing","objKey","headerValue","itemProperty","CookieTableData","duration","Performance","CookieTableHeaders","CookiePolicy","Letter","logo","theme","companyName","imageSrc","Advantages","adventages","adventage","SvgFlower","x1","y1","x2","y2","gradientUnits","stopColor","offset","SvgMoon","fillRule","clipRule","SvgSmile","SvgPerfomance","advantages","Flower","Moon","Smile","Perfomance","Button","headerImage","handleClick","Description","giftCard","WhyLoona","SvgLogo","updateFavicons","faviconName","querySelectorAll","favicon","Bidease","HeaderImg","HeaderImgMobile","clipPath","Rocket10","Conditions","WebAccessibilityStatement","marginTop","B2bRedeemAccount","B2bRedeemCode","B2bRedeemDone","die","msg","isDraft","DRAFT_STATE","isDraftable","proto","Ctor","Function","objectCtorString","DRAFTABLE","isMap","isSet","each","getArchtype","thing","type_","prop","propOrOldValue","t","hasMap","hasSet","latest","copy_","base_","shallowCopy","descriptors","desc","freeze","deep","isFrozen","dontMutateFrozenCollections","getPlugin","pluginKey","plugin","plugins","loadPlugin","implementation","getCurrentScope","currentScope","usePatchesInScope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","drafts_","revokeDraft","parent_","enterScope","immer","immer_","canAutoFreeze_","unfinalizedDrafts_","draft","revoke_","revoked_","processResult","baseDraft","isReplaced","useProxies_","willFinalizeES5_","modified_","finalize","maybeFreeze","generateReplacementPatches_","NOTHING","rootScope","childValue","finalizeProperty","scope_","finalized_","draft_","generatePatches_","parentState","targetObject","rootPath","res","assigned_","autoFreeze_","peek","getDescriptorFromProto","markChanged","prepareCopy","createProxy","parent","proxyMap_","proxySet_","isManual_","traps","objectTraps","arrayTraps","revocable","revoke","createES5Proxy_","currentImpl","archType","hasChanges_","copyHelper","enableES5","proxyProperty","markChangesSweep","drafts","hasArrayChanges","hasObjectChanges","baseValue","baseIsDraft","markChangesRecursively","hasSymbol","hasProxies","for","getOwnPropertyNames","currentState","deleteProperty","owner","Immer","recipe","defaultBase","produce","hasError","arg1","arg2","produceWithPatches","ip","patches","inversePatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","patch","op","applyPatchesImpl","applyPatches_","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","createStore","reducer","preloadedState","enhancer","currentReducer","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","outerSubscribe","observeState","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","compose","funcs","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","middleware","createThunkMiddleware","extraArgument","thunk","withExtraArgument","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","baseProto","MiddlewareArray","species","curryGetDefaultMiddleware","middlewareArray","isBoolean","getDefaultMiddleware","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_action$payload","KEY_PREFIX","FLUSH","REHYDRATE","PAUSE","PERSIST","PURGE","REGISTER","autoMergeLevel1","inboundState","originalState","reducedState","newState","createPersistoid","serialize","blacklist","whitelist","transforms","throttle","defaultSerialize","writeFailHandler","lastState","stagedState","keysToProcess","timeIterator","writePromise","processNextKey","clearInterval","shift","endState","subState","transformer","in","onWriteFail","passWhitelistBlacklist","update","setInterval","flush","getStoredState","deserialize","defaultDeserialize","serialized","rawState","reduceRight","out","serial","warnIfRemoveError","initialState","registry","persistorReducer","firstIndex","INITIAL_STATE","redeemReducer","scrollTo","persistedReducer","baseReducer","stateReconciler","defaultGetStoredState","timeout","_persistoid","_purge","_paused","conditionalUpdate","_persist","rehydrated","restState","_sealed","_rehydrate","rehydrate","restoredState","migrate","migratedState","migrateErr","purgeStoredState","_newState","persistReducer","rootReducer","curriedGetDefaultMiddleware","devTools","enhancers","finalMiddleware","middlewareEnhancer","finalCompose","trace","storeEnhancers","configureStore","routerMiddleware","cb","boostrappedCb","_pStore","rehydrateAction","purge","purgeResult","all","flushResult","pause","persist","manualPersist","persistStore","parsedData","getSubDomain","REACT_APP_FTP_REDIRECT_URL","targetUrl","ReactDOM","getElementById","serviceWorker","ready","registration","unregister","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SONY","XIAOMI","ZEBRA","enumerize","enums","toUpperCase","str1","str2","lowerize","trim","rgxMapper","arrays","q","regex","strMapper","windowsVersionMap","regexes","CHROME","cpu","engine","EDGE","extensions","_rgxmap","mergedRegexes","extend","getBrowser","_browser","getCPU","_cpu","getDevice","_device","getEngine","_engine","getOS","_os","getUA","setUA","BROWSER","CPU","DEVICE","ENGINE","OS","define","$","jQuery","Zepto","parser","safeAdd","lsw","md5cmn","num","cnt","md5ff","md5gg","md5hh","md5ii","binlMD5","olda","oldb","oldc","oldd","binl2rstr","length32","rstr2binl","length8","rstr2hex","hexTab","str2rstrUTF8","rawMD5","rstrMD5","rawHMACMD5","bkey","ipad","opad","rstrHMACMD5","string","raw","singleMatcher","multiMatcher","decodeComponents","components","left","right","tokens","encodedURI","replaceMap","customDecodeURIComponent","reactIs","require","REACT_STATICS","contextType","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","inheritedComponent","targetStatics","sourceStatics","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","array","predicate","isHostObject","mapToArray","size","setToArray","func","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","Uint8Array","nativeKeys","DataView","getNative","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","ListCache","MapCache","SetCache","__data__","Stack","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","iteratee","baseTimes","skipIndexes","isIndex","assocIndexOf","eq","baseIsEqual","other","customizer","bitmask","isObject","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","convert","isPartial","stacked","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othLength","skipCtor","objValue","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","isMasked","isFunction","baseKeys","isPrototype","arrLength","seen","arrValue","othIndex","getMapData","isKeyable","pairs","LARGE_ARRAY_SIZE","ArrayBuffer","ctorString","isLength","baseUnary","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","m","escaped","capture","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","flags","segment","attachKeys","re","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","performance","getNanoSeconds","hrtime","moduleLoadTime","hr","upTime","nodeLoadTime","loadTime","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","number","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","checkPropTypes","strictUriEncode","objectAssign","decodeComponent","keysSorter","Number","extract","queryStart","formatter","arrayFormat","accumulator","parserForArrayFormat","ret","param","encoderForArrayFormat","val2","parseUrl","vendors","raf","caf","_now","cp","cancelled","round","handle","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","aa","ba","da","ea","fa","ha","ia","ja","ka","B","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","D","oa","pa","qa","ma","na","la","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","E","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","$$typeof","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","ownerDocument","eb","Children","db","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","innerHTML","firstChild","removeChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","rb","sb","tb","setProperty","ub","menuitem","area","br","col","embed","keygen","meta","track","wbr","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","l","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","stopPropagation","cancelBubble","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","month","range","tel","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","start","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","G","$e","af","bf","cf","df","passive","Nb","w","z","u","ef","ff","parentWindow","gf","hf","J","K","Q","L","je","char","ke","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","M","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","O","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","firstContext","lanes","ug","vg","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","lane","Ag","Bg","Cg","A","Dg","Eg","Fg","refs","Gg","Kg","isMounted","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","tagName","fh","gh","hh","P","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","S","T","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useCallback","useImperativeHandle","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","qi","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","createTextNode","V","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","form","Vj","vk","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","loaded","__esModule","standalone","isSdkLoaded","isProcessing","responseApi","FB","api","checkLoginState","setStateIfMounted","authResponse","onFailure","checkLoginAfterRefresh","click","returnScopes","responseType","redirectUri","authType","client_id","redirect_uri","return_scopes","response_type","auth_type","isMobile","_isMounted","sdkLoaded","setFbAsyncInit","loadSdkAsynchronously","autoLoad","getLoginStatus","xfbml","fbAsyncInit","isRedirectedFromFb","containerStyle","typeButton","buttonStyle","renderOwnButton","locals","small","medium","metro","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_interopRequireDefault","_mapToZero2","_stripStyle2","_stepper4","_mergeDiff2","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","msPerFrame","rehydrateStyles","mergedPropsStyles","unreadPropStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","mergeAndSync","oldMergedPropsStyles","destStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newCurrentStyles","newCurrentVelocities","newLastIdealStyles","newLastIdealVelocities","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","_React$Component","unmounting","animationID","prevTime","accumulatedTime","clearUnreadPropStyle","_mergeAndSync","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","unreadPropStyle","dirty","styleValue","startAnimationIfNecessary","propStyles","shouldStopAnimationAll","currentTime","timeDelta","currentFrameCompletion","framesToCatchUp","_mergeAndSync2","newMergedPropsStyle","newCurrentStyle","newCurrentVelocity","newLastIdealStyle","newLastIdealVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","stiffness","damping","precision","_stepper2","nextIdealX","nextIdealV","defaultState","styleThatEntered","defaultStyleCell","_mergeAndSync3","hydratedStyles","renderedChildren","only","onRemove","prevKeyIndex","nextKeyIndex","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","noWobble","gentle","wobbly","stiff","currentStyle","currentVelocity","defaultConfig","_presets","_presets2","secondPerFrame","destX","newV","newX","abs","reusedTuple","LeftArrow","_a","customLeftArrow","previous","carouselState","RightArrow","customRightArrow","__extends","extendStatics","__","utils_1","types_1","Dots_1","Arrows_1","CarouselItems_1","common_1","defaultTransitionDuration","defaultTransition","Carousel","containerRef","createRef","listRef","itemWidth","slidesToShow","currentSlide","totalItems","count","deviceType","domLoaded","containerWidth","onResize","handleDown","handleMove","handleOut","onKeyUp","handleEnter","setIsInThrottle","transitionDuration","goToSlide","initialX","lastX","isAnimationAllowed","direction","initialY","isInThrottle","transformPlaceHolder","resetTotalItems","notEnoughChildren","setContainerAndItemWidth","setTransformDirectly","position","withAnimation","additionalTransfrom","currentTransform","getTransform","setAnimationDirectly","animationAllowed","customTransition","setItemsToShow","keyBoardControl","autoPlaySpeed","setClones","forResizing","resetCurrentSlide","childrenArr","toArray","initialSlide","getInitialSlideInInfiniteMode","clones","getClones","correctItemsPosition","shouldCorrectItemPosition","innerWidth","offsetWidth","itemWidth_1","getItemClientSideWidth","infinite","setToDomDirectly","nextTransform","_b","itemsToShowTimeout","correctClonesPosition","checkClonesPosition","isReachingTheEnd","isReachingTheStart","nextSlide","nextPosition","slidesHavePassed","populateNextSlides","nextSlides","previousSlide","populatePreviousSlides","resetMoveStatus","isMouseMoveEvent","diffX","diffY","populateSlidesOnMouseTouchMove","canContinue","shouldDisableOnMobile","shouldDisableOnDesktop","isInViewport","el","getBoundingClientRect","_c","bottom","innerHeight","clientHeight","clientWidth","isChildOfCarousel","HTMLInputElement","pauseOnHover","skipCallbacks","skipBeforeChange","skipAfterChange","renderLeftArrow","disbaled","renderRightArrow","renderButtonGroups","customButtonGroup","slideIndex","renderDotsList","default","renderCarouselItems","renderArrowsWhenDisabled","removeArrowOnDeviceType","containerClass","sliderClass","renderDotsOutside","renderButtonGroupOutside","getInitialState","shouldRenderOnSSR","shouldRenderAtAll","isLeftEndReach","isInLeftEnd","isRightEndReach","isInRightEnd","shouldShowArrows","disableLeftArrow","disableRightArrow","onMouseMove","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd","itemClass","dotListClass","focusOnSelect","centerMode","itemAriaLabel","partialVisbile","partialVisible","flexBisis","domFullyLoaded","partialVisibilityGutter","getIfSlideIsVisbile","ariaLabel","clones_1","dots_1","numberOfDotsToShow","getSlidesToSlide","nextSlidesTable","getLookupTableForNextSlides","lookupTable","getOriginalIndexLookupTableByClones","currentSlides","cloneIndex","maximumNextSlide","possibileNextSlides","Carousel_1","getOriginalCounterPart","table","firstBeginningOfClones","firstEndOfClones","firstCount","secondBeginningOfClones","secondEndOfClones","secondCount","originalEnd","originalCounter","totalSlides","originalFirstSlide","elementWidth_1","getTransformForCenterMode","getTransformForPartialVsibile","shouldRemoveRightGutter","baseTransform","ssr","getWidthFromDeviceType","getPartialVisibilityGutter","slidesToScroll","serverSideDeviceType","clientSideDeviceType","gutter","paritialVisibilityGutter","toFixed","throttle_1","throwError_1","throwError","next_1","previous_1","mouseOrTouchMove_1","slidesHavePassedRight","slidesHavePassedLeft","isMovingLeft","translateXLimit","nextTranslate","isLastSlide","nextMaximumSlides","common_2","additionalSlides","limit","inThrottle","__self","__source","jsx","jsxs","forceUpdate","_status","_result","IsSomeRendererActing","_currentValue2","_threadCount","createFactory","isValidElement","lazy","_getStorage","storageType","testKey","hasStorage","noopStorage","_default","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","stop","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","definition","nmd","paths"],"sourceRoot":""}