{"version":3,"file":"component---src-pages-index-js-011d05c5cac82146fb1b.js","mappings":"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","sources":["webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/regenerator/index.js","webpack://gatsby-starter-hello-world/./node_modules/cookie/index.js","webpack://gatsby-starter-hello-world/./node_modules/debounce/index.js","webpack://gatsby-starter-hello-world/./node_modules/decode-uri-component/index.js","webpack://gatsby-starter-hello-world/./node_modules/fast-deep-equal/index.js","webpack://gatsby-starter-hello-world/./node_modules/filter-obj/index.js","webpack://gatsby-starter-hello-world/./node_modules/lax.js/lib/lax.min.js","webpack://gatsby-starter-hello-world/./node_modules/query-string/index.js","webpack://gatsby-starter-hello-world/./node_modules/react-fast-compare/index.js","webpack://gatsby-starter-hello-world/./node_modules/react-helmet/es/Helmet.js","webpack://gatsby-starter-hello-world/./node_modules/react-reconciler/cjs/react-reconciler.production.min.js","webpack://gatsby-starter-hello-world/./node_modules/react-reconciler/index.js","webpack://gatsby-starter-hello-world/./node_modules/react-responsive/dist/react-responsive.js","webpack://gatsby-starter-hello-world/./node_modules/react-side-effect/lib/index.js","webpack://gatsby-starter-hello-world/./node_modules/split-on-first/index.js","webpack://gatsby-starter-hello-world/./node_modules/strict-uri-encode/index.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/a-callable.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/a-constructor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/add-to-unscopables.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/an-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/array-includes.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/array-species-constructor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/array-species-create.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/classof-raw.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/classof.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/create-property-descriptor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/descriptors.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/document-create-element.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/engine-user-agent.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/engine-v8-version.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/enum-bug-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/export.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/fails.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/flatten-into-array.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-bind-context.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-bind-native.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-call.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-name.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/function-uncurry-this.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/get-built-in.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/get-method.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/global.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/has-own-property.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/hidden-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/html.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/ie8-dom-define.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/indexed-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/inspect-source.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/internal-state.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-array.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-callable.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-constructor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-forced.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-pure.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/is-symbol.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/length-of-array-like.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/native-promise-constructor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/native-symbol.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/native-weak-map.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/new-promise-capability.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-create.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-define-properties.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-define-property.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-keys-internal.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/own-keys.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/promise-resolve.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/redefine.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/require-object-coercible.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/set-global.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/shared-key.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/shared-store.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/shared.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/species-constructor.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-absolute-index.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-indexed-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-length.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-object.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-primitive.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-property-key.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/to-string-tag-support.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/try-to-string.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/uid.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/internals/well-known-symbol.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/modules/es.array.flat.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/modules/es.math.hypot.js","webpack://gatsby-starter-hello-world/./node_modules/core-js/modules/es.promise.finally.js","webpack://gatsby-starter-hello-world/./node_modules/gatsby-plugin-react-i18next/dist/Helmet.js","webpack://gatsby-starter-hello-world/./node_modules/gatsby-plugin-react-i18next/dist/Link.js","webpack://gatsby-starter-hello-world/./node_modules/gatsby-plugin-react-i18next/dist/index.js","webpack://gatsby-starter-hello-world/./node_modules/gatsby-plugin-react-i18next/dist/useI18next.js","webpack://gatsby-starter-hello-world/./node_modules/gatsby-plugin-react-i18next/index.js","webpack://gatsby-starter-hello-world/./src/helpers/context.js","webpack://gatsby-starter-hello-world/./src/components/GlobalStyle.js","webpack://gatsby-starter-hello-world/./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack://gatsby-starter-hello-world/./node_modules/universal-cookie/es6/utils.js","webpack://gatsby-starter-hello-world/./node_modules/universal-cookie/es6/Cookies.js","webpack://gatsby-starter-hello-world/./node_modules/react-cookie/es6/Cookies.js","webpack://gatsby-starter-hello-world/./node_modules/react-cookie/es6/CookiesContext.js","webpack://gatsby-starter-hello-world/./node_modules/react-cookie/es6/useCookies.js","webpack://gatsby-starter-hello-world/./node_modules/react-cookie/es6/utils.js","webpack://gatsby-starter-hello-world/./src/components/styled/Spacer.js","webpack://gatsby-starter-hello-world/./src/components/Loader.js","webpack://gatsby-starter-hello-world/./node_modules/react-intersection-observer/react-intersection-observer.m.js","webpack://gatsby-starter-hello-world/./src/components/Anchor.js","webpack://gatsby-starter-hello-world/./src/components/CookieNotice.js","webpack://gatsby-starter-hello-world/./src/components/Header.js","webpack://gatsby-starter-hello-world/./node_modules/detect-browser/es/index.js","webpack://gatsby-starter-hello-world/./src/components/top/ObjectMob.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://gatsby-starter-hello-world/./node_modules/zustand/esm/index.js","webpack://gatsby-starter-hello-world/./node_modules/use-asset/dist/index.js","webpack://gatsby-starter-hello-world/./node_modules/react-merge-refs/dist/react-merge-refs.esm.js","webpack://gatsby-starter-hello-world/./node_modules/react-use-measure/dist/web.js","webpack://gatsby-starter-hello-world/./node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://gatsby-starter-hello-world/./node_modules/three-stdlib/loaders/DRACOLoader.js","webpack://gatsby-starter-hello-world/./node_modules/three-stdlib/libs/MeshoptDecoder.js","webpack://gatsby-starter-hello-world/./node_modules/three-stdlib/loaders/GLTFLoader.js","webpack://gatsby-starter-hello-world/./node_modules/@react-three/drei/core/useGLTF.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://gatsby-starter-hello-world/./node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","webpack://gatsby-starter-hello-world/./node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","webpack://gatsby-starter-hello-world/./node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","webpack://gatsby-starter-hello-world/./node_modules/@react-spring/core/dist/react-spring-core.esm.js","webpack://gatsby-starter-hello-world/./node_modules/@react-spring/three/dist/react-spring-three.esm.js","webpack://gatsby-starter-hello-world/./node_modules/react-use-gesture/dist/reactusegesture.esm.js","webpack://gatsby-starter-hello-world/./src/components/TopCanvas.js","webpack://gatsby-starter-hello-world/./src/components/top/Scroll.js","webpack://gatsby-starter-hello-world/./src/components/Top.js","webpack://gatsby-starter-hello-world/./src/components/shared/Prompt.js","webpack://gatsby-starter-hello-world/./src/components/avatars/AvatarWrapper.js","webpack://gatsby-starter-hello-world/./src/components/models/Navigation.js","webpack://gatsby-starter-hello-world/./src/components/Avatars.js","webpack://gatsby-starter-hello-world/./src/components/Ticker.js","webpack://gatsby-starter-hello-world/./src/components/Heading.js","webpack://gatsby-starter-hello-world/./src/components/SlidersWrapper.js","webpack://gatsby-starter-hello-world/./src/components/VideoHeading.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://gatsby-starter-hello-world/./node_modules/react-spring/web.js","webpack://gatsby-starter-hello-world/./src/components/video/HoverCard.js","webpack://gatsby-starter-hello-world/./src/components/video/Player.js","webpack://gatsby-starter-hello-world/./src/components/Video.js","webpack://gatsby-starter-hello-world/./src/components/lookbook/Item.js","webpack://gatsby-starter-hello-world/./src/components/Lookbook.js","webpack://gatsby-starter-hello-world/./src/components/Footer.js","webpack://gatsby-starter-hello-world/./src/components/Filter.js","webpack://gatsby-starter-hello-world/./src/components/MobileIndex.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO11.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO12.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO13.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO14.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO15.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO16.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO21.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO22.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO23.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO24.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO25.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO26.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO31.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO32.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO33.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO34.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO35.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO36.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO41.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO42.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO43.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO44.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO45.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO46.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO51.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO52.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO53.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO54.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO55.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO56.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO61.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO62.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO63.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO64.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO65.js","webpack://gatsby-starter-hello-world/./src/components/staticImages/ImageMO66.js","webpack://gatsby-starter-hello-world/./src/components/models/ImageItem.js","webpack://gatsby-starter-hello-world/./src/components/models/MobileNav.js","webpack://gatsby-starter-hello-world/./src/components/models/ModelOverlay.js","webpack://gatsby-starter-hello-world/./node_modules/react-use/esm/misc/util.js","webpack://gatsby-starter-hello-world/./node_modules/react-use/esm/useClickAway.js","webpack://gatsby-starter-hello-world/./node_modules/react-use/esm/useEvent.js","webpack://gatsby-starter-hello-world/./node_modules/react-use/esm/useKey.js","webpack://gatsby-starter-hello-world/./src/components/products/ImageWrapper.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P1.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P2.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P3.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P4.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P5.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P6.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P7.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P8.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P9.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P10.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P11.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P12.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P13.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P14.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P15.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P16.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P17.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P18.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P19.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P20.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P21.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P22.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P23.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P24.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P25.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P26.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P27.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P28.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P29.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P30.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P31.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P32.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P33.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P34.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P35.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P36.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P37.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P38.js","webpack://gatsby-starter-hello-world/./src/components/products/images/P39.js","webpack://gatsby-starter-hello-world/./src/components/Product.js","webpack://gatsby-starter-hello-world/./src/pages/index.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_Symbol.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_baseClamp.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_baseGetTag.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_baseTrim.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_freeGlobal.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_getRawTag.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_objectToString.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_root.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/_trimmedEndIndex.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/clamp.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/isObject.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/isObjectLike.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/isSymbol.js","webpack://gatsby-starter-hello-world/./node_modules/lodash/toNumber.js","webpack://gatsby-starter-hello-world/./node_modules/regenerator-runtime/runtime.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://gatsby-starter-hello-world/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"],"sourcesContent":["var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"regenerator-runtime\");\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {};\n var opt = options || {};\n var pairs = str.split(';');\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('='); // skip things that don't look like key=value\n\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim(); // only assign once\n\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim(); // quoted values\n\n if (val[0] === '\"') {\n val = val.slice(1, -1);\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid');\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n\n case 'lax':\n str += '; SameSite=Lax';\n break;\n\n case 'strict':\n str += '; SameSite=Strict';\n break;\n\n case 'none':\n str += '; SameSite=None';\n break;\n\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n }\n\n ;\n\n var debounced = function debounced() {\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function () {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n debounced.flush = function () {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n}\n\n; // Adds compatibility for ES modules\n\ndebounce.debounce = debounce;\nmodule.exports = debounce;","'use strict';\n\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n try {\n // Try to decode the entire string first\n return decodeURIComponent(components.join(''));\n } catch (err) {// Do nothing\n }\n\n if (components.length === 1) {\n return components;\n }\n\n split = split || 1; // Split the array in 2 parts\n\n var left = components.slice(0, split);\n var right = components.slice(split);\n return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n try {\n return decodeURIComponent(input);\n } catch (err) {\n var tokens = input.match(singleMatcher);\n\n for (var i = 1; i < tokens.length; i++) {\n input = decodeComponents(tokens, i).join('');\n tokens = input.match(singleMatcher);\n }\n\n return input;\n }\n}\n\nfunction customDecodeURIComponent(input) {\n // Keep track of all the replacements and prefill the map with the `BOM`\n var replaceMap = {\n '%FE%FF': \"\\uFFFD\\uFFFD\",\n '%FF%FE': \"\\uFFFD\\uFFFD\"\n };\n var match = multiMatcher.exec(input);\n\n while (match) {\n try {\n // Decode as big chunks as possible\n replaceMap[match[0]] = decodeURIComponent(match[0]);\n } catch (err) {\n var result = decode(match[0]);\n\n if (result !== match[0]) {\n replaceMap[match[0]] = result;\n }\n }\n\n match = multiMatcher.exec(input);\n } // Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\n\n replaceMap['%C2'] = \"\\uFFFD\";\n var entries = Object.keys(replaceMap);\n\n for (var i = 0; i < entries.length; i++) {\n // Replace all decoded components\n var key = entries[i];\n input = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n }\n\n return input;\n}\n\nmodule.exports = function (encodedURI) {\n if (typeof encodedURI !== 'string') {\n throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n }\n\n try {\n encodedURI = encodedURI.replace(/\\+/g, ' '); // Try the built in decoder first\n\n return decodeURIComponent(encodedURI);\n } catch (err) {\n // Fallback to a more advanced decoder\n return customDecodeURIComponent(encodedURI);\n }\n};","'use strict'; // do not edit .js files directly - edit src/index.jst\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n } // true if both NaN, false otherwise\n\n\n return a !== a && b !== b;\n};","'use strict';\n\nmodule.exports = function (obj, predicate) {\n var ret = {};\n var keys = Object.keys(obj);\n var isArr = Array.isArray(predicate);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var val = obj[key];\n\n if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n ret[key] = val;\n }\n }\n\n return ret;\n};","\"use strict\";\n\nfunction _classCallCheck(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nfunction _defineProperty(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n}\n\nfunction _slicedToArray(e, t) {\n return _arrayWithHoles(e) || _iterableToArrayLimit(e, t) || _unsupportedIterableToArray(e, t) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _unsupportedIterableToArray(e, t) {\n if (e) {\n if (\"string\" == typeof e) return _arrayLikeToArray(e, t);\n var n = Object.prototype.toString.call(e).slice(8, -1);\n return \"Object\" === n && e.constructor && (n = e.constructor.name), \"Map\" === n || \"Set\" === n ? Array.from(e) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(e, t) : void 0;\n }\n}\n\nfunction _arrayLikeToArray(e, t) {\n (null == t || t > e.length) && (t = e.length);\n\n for (var n = 0, r = new Array(t); n < t; n++) {\n r[n] = e[n];\n }\n\n return r;\n}\n\nfunction _iterableToArrayLimit(e, t) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(e)) {\n var n = [],\n r = !0,\n i = !1,\n o = void 0;\n\n try {\n for (var a, l = e[Symbol.iterator](); !(r = (a = l.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) {\n ;\n }\n } catch (e) {\n i = !0, o = e;\n } finally {\n try {\n r || null == l.return || l.return();\n } finally {\n if (i) throw o;\n }\n }\n\n return n;\n }\n}\n\nfunction _arrayWithHoles(e) {\n if (Array.isArray(e)) return e;\n}\n\n!function () {\n function n(e) {\n return [\"elInY+elHeight\", \"elCenterY-\".concat(e = 0 < arguments.length && void 0 !== e ? e : 30), \"elCenterY\", \"elCenterY+\".concat(e), \"elOutY-elHeight\"];\n }\n\n var l,\n u,\n s,\n _,\n P,\n I,\n t = {\n fadeInOut: function fadeInOut(e, t) {\n t = 1 < arguments.length && void 0 !== t ? t : 0;\n return {\n opacity: [n(0 < arguments.length && void 0 !== e ? e : 30), [t, 1, 1, 1, t]]\n };\n },\n fadeIn: function fadeIn(e, t) {\n return {\n opacity: [[\"elInY+elHeight\", 0 < arguments.length && void 0 !== e ? e : \"elCenterY\"], [1 < arguments.length && void 0 !== t ? t : 0, 1]]\n };\n },\n fadeOut: function fadeOut(e, t) {\n return {\n opacity: [[0 < arguments.length && void 0 !== e ? e : \"elCenterY\", \"elOutY-elHeight\"], [1, 1 < arguments.length && void 0 !== t ? t : 0]]\n };\n },\n blurInOut: function blurInOut(e, t) {\n t = 1 < arguments.length && void 0 !== t ? t : 20;\n return {\n blur: [n(0 < arguments.length && void 0 !== e ? e : 100), [t, 0, 0, 0, t]]\n };\n },\n blurIn: function blurIn(e, t) {\n return {\n blur: [[\"elInY+elHeight\", 0 < arguments.length && void 0 !== e ? e : \"elCenterY\"], [1 < arguments.length && void 0 !== t ? t : 20, 0]]\n };\n },\n blurOut: function blurOut(e, t) {\n return {\n opacity: [[0 < arguments.length && void 0 !== e ? e : \"elCenterY\", \"elOutY-elHeight\"], [0, 1 < arguments.length && void 0 !== t ? t : 20]]\n };\n },\n scaleInOut: function scaleInOut(e, t) {\n t = 1 < arguments.length && void 0 !== t ? t : .6;\n return {\n scale: [n(0 < arguments.length && void 0 !== e ? e : 100), [t, 1, 1, 1, t]]\n };\n },\n scaleIn: function scaleIn(e, t) {\n return {\n scale: [[\"elInY+elHeight\", 0 < arguments.length && void 0 !== e ? e : \"elCenterY\"], [1 < arguments.length && void 0 !== t ? t : .6, 1]]\n };\n },\n scaleOut: function scaleOut(e, t) {\n return {\n scale: [[0 < arguments.length && void 0 !== e ? e : \"elCenterY\", \"elOutY-elHeight\"], [1, 1 < arguments.length && void 0 !== t ? t : .6]]\n };\n },\n slideX: function slideX(e, t) {\n return {\n translateX: [[\"elInY\", 0 < arguments.length && void 0 !== e ? e : 0], [0, 1 < arguments.length && void 0 !== t ? t : 500]]\n };\n },\n slideY: function slideY(e, t) {\n return {\n translateY: [[\"elInY\", 0 < arguments.length && void 0 !== e ? e : 0], [0, 1 < arguments.length && void 0 !== t ? t : 500]]\n };\n },\n spin: function spin(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 1e3;\n return {\n rotate: [[0, e], [0, 1 < arguments.length && void 0 !== t ? t : 360], {\n modValue: e\n }]\n };\n },\n flipX: function flipX(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 1e3;\n return {\n rotateX: [[0, e], [0, 1 < arguments.length && void 0 !== t ? t : 360], {\n modValue: e\n }]\n };\n },\n flipY: function flipY(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 1e3;\n return {\n rotateY: [[0, e], [0, 1 < arguments.length && void 0 !== t ? t : 360], {\n modValue: e\n }]\n };\n },\n jiggle: function jiggle(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 50, t = 1 < arguments.length && void 0 !== t ? t : 40;\n return {\n skewX: [[0, +e, 2 * e, 3 * e, 4 * e], [0, t, 0, -t, 0], {\n modValue: 4 * e\n }]\n };\n },\n seesaw: function seesaw(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 50, t = 1 < arguments.length && void 0 !== t ? t : 40;\n return {\n skewY: [[0, +e, 2 * e, 3 * e, 4 * e], [0, t, 0, -t, 0], {\n modValue: 4 * e\n }]\n };\n },\n zigzag: function zigzag(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 100, t = 1 < arguments.length && void 0 !== t ? t : 100;\n return {\n translateX: [[0, +e, 2 * e, 3 * e, 4 * e], [0, t, 0, -t, 0], {\n modValue: 4 * e\n }]\n };\n },\n hueRotate: function hueRotate(e, t) {\n e = 0 < arguments.length && void 0 !== e ? e : 600;\n return {\n \"hue-rotate\": [[0, e], [0, 1 < arguments.length && void 0 !== t ? t : 360], {\n modValue: e\n }]\n };\n }\n },\n e = (l = [\"perspective\", \"scaleX\", \"scaleY\", \"scale\", \"skewX\", \"skewY\", \"skew\", \"rotateX\", \"rotateY\", \"rotate\"], u = [\"blur\", \"hue-rotate\", \"brightness\"], s = [\"translateX\", \"translateY\", \"translateZ\"], _ = [\"perspective\", \"border-radius\", \"blur\", \"translateX\", \"translateY\", \"translateZ\"], P = [\"hue-rotate\", \"rotate\", \"rotateX\", \"rotateY\", \"skew\", \"skewX\", \"skewY\"], I = {\n easeInQuad: function easeInQuad(e) {\n return e * e;\n },\n easeOutQuad: function easeOutQuad(e) {\n return e * (2 - e);\n },\n easeInOutQuad: function easeInOutQuad(e) {\n return e < .5 ? 2 * e * e : (4 - 2 * e) * e - 1;\n },\n easeInCubic: function easeInCubic(e) {\n return e * e * e;\n },\n easeOutCubic: function easeOutCubic(e) {\n return --e * e * e + 1;\n },\n easeInOutCubic: function easeInOutCubic(e) {\n return e < .5 ? 4 * e * e * e : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1;\n },\n easeInQuart: function easeInQuart(e) {\n return e * e * e * e;\n },\n easeOutQuart: function easeOutQuart(e) {\n return 1 - --e * e * e * e;\n },\n easeInOutQuart: function easeInOutQuart(e) {\n return e < .5 ? 8 * e * e * e * e : 1 - 8 * --e * e * e * e;\n },\n easeInQuint: function easeInQuint(e) {\n return e * e * e * e * e;\n },\n easeOutQuint: function easeOutQuint(e) {\n return 1 + --e * e * e * e * e;\n },\n easeInOutQuint: function easeInOutQuint(e) {\n return e < .5 ? 16 * e * e * e * e * e : 1 + 16 * --e * e * e * e * e;\n },\n easeOutBounce: function easeOutBounce(e) {\n var t = 7.5625,\n n = 2.75;\n return e < 1 / n ? t * e * e : e < 2 / n ? t * (e -= 1.5 / n) * e + .75 : e < 2.5 / n ? t * (e -= 2.25 / n) * e + .9375 : t * (e -= 2.625 / n) * e + .984375;\n },\n easeInBounce: function easeInBounce(e) {\n return 1 - I.easeOutBounce(1 - e);\n },\n easeOutBack: function easeOutBack(e) {\n return 1 + 2.70158 * Math.pow(e - 1, 3) + 1.70158 * Math.pow(e - 1, 2);\n },\n easeInBack: function easeInBack(e) {\n return 2.70158 * e * e * e - 1.70158 * e * e;\n }\n }, new function e() {\n var o = this;\n _classCallCheck(this, e), _defineProperty(this, \"drivers\", []), _defineProperty(this, \"elements\", []), _defineProperty(this, \"frame\", 0), _defineProperty(this, \"debug\", !1), _defineProperty(this, \"windowWidth\", 0), _defineProperty(this, \"windowHeight\", 0), _defineProperty(this, \"presets\", t), _defineProperty(this, \"debugData\", {\n frameLengths: []\n }), _defineProperty(this, \"init\", function () {\n o.findAndAddElements(), window.requestAnimationFrame(o.onAnimationFrame), o.windowWidth = document.body.clientWidth, o.windowHeight = document.body.clientHeight, window.onresize = o.onWindowResize;\n }), _defineProperty(this, \"onWindowResize\", function () {\n document.body.clientWidth === o.windowWidth && document.body.clientHeight === o.windowHeight || (o.windowWidth = document.body.clientWidth, o.windowHeight = document.body.clientHeight, o.elements.forEach(function (e) {\n return e.calculateTransforms();\n }));\n }), _defineProperty(this, \"onAnimationFrame\", function (e) {\n o.debug && (o.debugData.frameStart = Date.now());\n var t,\n n = {};\n o.drivers.forEach(function (e) {\n n[e.name] = e.getValue(o.frame);\n }), o.elements.forEach(function (e) {\n e.update(n, o.frame);\n }), o.debug && o.debugData.frameLengths.push(Date.now() - o.debugData.frameStart), o.frame % 60 == 0 && o.debug && (t = Math.ceil(o.debugData.frameLengths.reduce(function (e, t) {\n return e + t;\n }, 0) / 60), console.log(\"Average frame calculation time: \".concat(t, \"ms\")), o.debugData.frameLengths = []), o.frame++, window.requestAnimationFrame(o.onAnimationFrame);\n }), _defineProperty(this, \"addDriver\", function (e, t) {\n var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};\n o.drivers.push(new i(e, t, n));\n }), _defineProperty(this, \"removeDriver\", function (t) {\n o.drivers = o.drivers.filter(function (e) {\n return e.name !== t;\n });\n }), _defineProperty(this, \"findAndAddElements\", function () {\n o.elements = [], document.querySelectorAll(\".lax\").forEach(function (e) {\n var t = [];\n e.classList.forEach(function (e) {\n e.includes(\"lax_preset\") && (e = e.replace(\"lax_preset_\", \"\"), t.push(e));\n });\n\n var n = _defineProperty({}, \"scrollY\", {\n presets: t\n });\n\n o.elements.push(new f(\".lax\", o, e, n, 0, {}));\n });\n }), _defineProperty(this, \"addElements\", function (n, r, i) {\n document.querySelectorAll(n).forEach(function (e, t) {\n o.elements.push(new f(n, o, e, r, t, i));\n });\n }), _defineProperty(this, \"removeElements\", function (t) {\n o.elements = o.elements.filter(function (e) {\n return e.selector !== t;\n });\n }), _defineProperty(this, \"addElement\", function (e, t, n) {\n o.elements.push(new f(\"\", o, e, t, 0, n));\n }), _defineProperty(this, \"removeElement\", function (t) {\n o.elements = o.elements.filter(function (e) {\n return e.domElement !== t;\n });\n });\n }());\n\n function c(e, t) {\n if (Array.isArray(e)) return e;\n\n for (var n = Object.keys(e).map(function (e) {\n return parseInt(e);\n }).sort(function (e, t) {\n return t < e ? 1 : -1;\n }), r = n[n.length - 1], i = 0; i < n.length; i++) {\n var o = n[i];\n\n if (t < o) {\n r = o;\n break;\n }\n }\n\n return e[r];\n }\n\n function d(e, t, n) {\n var r = t.width,\n i = t.height,\n o = t.x,\n a = t.y;\n if (\"number\" == typeof e) return e;\n\n var l,\n u = document.body.scrollHeight,\n s = document.body.scrollWidth,\n c = window.innerWidth,\n d = window.innerHeight,\n f = _slicedToArray((l = void 0 !== window.pageXOffset, f = \"CSS1Compat\" === (document.compatMode || \"\"), t = l ? window.pageXOffset : (f ? document.documentElement : document.body).scrollLeft, [l ? window.pageYOffset : (f ? document.documentElement : document.body).scrollTop, t]), 2),\n t = f[0],\n o = o + f[1],\n f = o + r,\n a = a + t,\n t = a + i;\n\n return Function(\"return \".concat(e.replace(/screenWidth/g, c).replace(/screenHeight/g, d).replace(/pageHeight/g, u).replace(/pageWidth/g, s).replace(/elWidth/g, r).replace(/elHeight/g, i).replace(/elInY/g, a - d).replace(/elOutY/g, t).replace(/elCenterY/g, a + i / 2 - d / 2).replace(/elInX/g, o - c).replace(/elOutX/g, f).replace(/elCenterX/g, o + r / 2 - c / 2).replace(/index/g, n)))();\n }\n\n function i(e, t) {\n var n = this,\n r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};\n _classCallCheck(this, i), _defineProperty(this, \"getValueFn\", void 0), _defineProperty(this, \"name\", \"\"), _defineProperty(this, \"lastValue\", 0), _defineProperty(this, \"frameStep\", 1), _defineProperty(this, \"m1\", 0), _defineProperty(this, \"m2\", 0), _defineProperty(this, \"inertia\", 0), _defineProperty(this, \"inertiaEnabled\", !1), _defineProperty(this, \"getValue\", function (e) {\n var t = n.lastValue;\n return e % n.frameStep == 0 && (t = n.getValueFn(e)), n.inertiaEnabled && (e = t - n.lastValue, n.m1 = .8 * n.m1 + e * (1 - .8), n.m2 = .8 * n.m2 + n.m1 * (1 - .8), n.inertia = Math.round(5e3 * n.m2) / 15e3), n.lastValue = t, [n.lastValue, n.inertia];\n }), this.name = e, this.getValueFn = t, Object.keys(r).forEach(function (e) {\n n[e] = r[e];\n }), this.lastValue = this.getValueFn(0);\n }\n\n function f(e, t, n, r) {\n var b = this,\n i = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0,\n o = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : {};\n _classCallCheck(this, f), _defineProperty(this, \"domElement\", void 0), _defineProperty(this, \"transformsData\", void 0), _defineProperty(this, \"styles\", {}), _defineProperty(this, \"selector\", \"\"), _defineProperty(this, \"groupIndex\", 0), _defineProperty(this, \"laxInstance\", void 0), _defineProperty(this, \"onUpdate\", void 0), _defineProperty(this, \"update\", function (e, t) {\n var n,\n r = b.transforms,\n i = {};\n\n for (n in r) {\n var o = r[n];\n e[n] || console.error(\"No lax driver with name: \", n);\n\n var a,\n l = _slicedToArray(e[n], 2),\n u = l[0],\n s = l[1];\n\n for (a in o) {\n var c,\n d = _slicedToArray(o[a], 3),\n f = d[0],\n h = d[1],\n m = d[2],\n p = void 0 === m ? {} : m,\n g = p.modValue,\n y = p.frameStep,\n v = void 0 === y ? 1 : y,\n w = p.easing,\n d = p.inertia,\n m = p.inertiaMode,\n y = p.cssFn,\n p = p.cssUnit,\n p = void 0 === p ? \"\" : p,\n w = I[w];\n\n t % v == 0 && (w = function (e, t, n, r) {\n var i = 0;\n if (e.forEach(function (e) {\n e < n && i++;\n }), i <= 0) return t[0];\n if (i >= e.length) return t[e.length - 1];\n var o,\n a = (a = e[o = i - 1], e = e[i], (n - a) / (e - a));\n return r && (a = r(a)), o = t[o], t = t[i], o * (1 - (a = a)) + t * a;\n }(f, h, g ? u % g : u, w), d && (c = s * d, \"absolute\" === m && (c = Math.abs(c)), w += c), c = \"px\" == (p || _.includes(a) ? \"px\" : P.includes(a) ? \"deg\" : \"\") ? 0 : 3, c = w.toFixed(c), i[a] = y ? y(c, b.domElement) : c + p);\n }\n }\n\n b.applyStyles(i), b.onUpdate && b.onUpdate(e, b.domElement);\n }), _defineProperty(this, \"calculateTransforms\", function () {\n b.transforms = {};\n var e,\n l = b.laxInstance.windowWidth;\n\n for (e in b.transformsData) {\n !function (e) {\n var o = b.transformsData[e],\n a = {},\n t = o.presets;\n (void 0 === t ? [] : t).forEach(function (e) {\n var t,\n n = _slicedToArray(e.split(\":\"), 3),\n r = n[0],\n i = n[1],\n e = n[2],\n n = window.lax.presets[r];\n\n n ? (t = n(i, e), Object.keys(t).forEach(function (e) {\n o[e] = t[e];\n })) : console.error(\"Lax preset cannot be found with name: \", r);\n }), delete o.presets;\n\n for (var n in o) {\n !function (e) {\n var t = _slicedToArray(o[e], 3),\n n = t[0],\n r = void 0 === n ? [-1e9, 1e9] : n,\n n = t[1],\n n = void 0 === n ? [-1e9, 1e9] : n,\n t = t[2],\n t = void 0 === t ? {} : t,\n i = b.domElement.getBoundingClientRect(),\n r = c(r, l).map(function (e) {\n return d(e, i, b.groupIndex);\n }),\n n = c(n, l).map(function (e) {\n return d(e, i, b.groupIndex);\n });\n\n a[e] = [r, n, t];\n }(n);\n }\n\n b.transforms[e] = a;\n }(e);\n }\n }), _defineProperty(this, \"applyStyles\", function (e) {\n var r,\n i,\n o,\n t = (r = e, i = {\n transform: \"\",\n filter: \"\"\n }, o = {\n translateX: 1e-5,\n translateY: 1e-5,\n translateZ: 1e-5\n }, Object.keys(r).forEach(function (e) {\n var t = r[e],\n n = _.includes(e) ? \"px\" : P.includes(e) ? \"deg\" : \"\";\n s.includes(e) ? o[e] = t : l.includes(e) ? i.transform += \"\".concat(e, \"(\").concat(t).concat(n, \") \") : u.includes(e) ? i.filter += \"\".concat(e, \"(\").concat(t).concat(n, \") \") : i[e] = \"\".concat(t).concat(n, \" \");\n }), i.transform = \"translate3d(\".concat(o.translateX, \"px, \").concat(o.translateY, \"px, \").concat(o.translateZ, \"px) \").concat(i.transform), i);\n Object.keys(t).forEach(function (e) {\n b.domElement.style.setProperty(e, t[e]);\n });\n }), this.selector = e, this.laxInstance = t, this.domElement = n, this.transformsData = r, this.groupIndex = i;\n var a = void 0 === (i = o.style) ? {} : i,\n o = o.onUpdate;\n Object.keys(a).forEach(function (e) {\n n.style.setProperty(e, a[e]);\n }), o && (this.onUpdate = o), this.calculateTransforms();\n }\n\n \"undefined\" != typeof module && void 0 !== module.exports ? module.exports = e : window.lax = e;\n}();","'use strict';\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _toConsumableArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); 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\nvar strictUriEncode = require('strict-uri-encode');\n\nvar decodeComponent = require('decode-uri-component');\n\nvar splitOnFirst = require('split-on-first');\n\nvar filterObject = require('filter-obj');\n\nvar isNullOrUndefined = function isNullOrUndefined(value) {\n return value === null || value === undefined;\n};\n\nvar encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n switch (options.arrayFormat) {\n case 'index':\n return function (key) {\n return function (result, value) {\n var index = result.length;\n\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[', index, ']'].join('')]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')]);\n };\n };\n\n case 'bracket':\n return function (key) {\n return function (result, value) {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[]'].join('')]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[]=', encode(value, options)].join('')]);\n };\n };\n\n case 'colon-list-separator':\n return function (key) {\n return function (result, value) {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [[encode(key, options), ':list='].join('')]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), ':list=', encode(value, options)].join('')]);\n };\n };\n\n case 'comma':\n case 'separator':\n case 'bracket-separator':\n {\n var keyValueSep = options.arrayFormat === 'bracket-separator' ? '[]=' : '=';\n return function (key) {\n return function (result, value) {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n } // Translate null to an empty string so that it doesn't serialize as 'null'\n\n\n value = value === null ? '' : value;\n\n if (result.length === 0) {\n return [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n }\n\n return [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n };\n };\n }\n\n default:\n return function (key) {\n return function (result, value) {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [encode(key, options)]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), '=', encode(value, options)].join('')]);\n };\n };\n }\n}\n\nfunction parserForArrayFormat(options) {\n var result;\n\n switch (options.arrayFormat) {\n case 'index':\n return function (key, value, accumulator) {\n result = /\\[(\\d*)\\]$/.exec(key);\n key = key.replace(/\\[\\d*\\]$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n }\n\n if (accumulator[key] === undefined) {\n accumulator[key] = {};\n }\n\n accumulator[key][result[1]] = value;\n };\n\n case 'bracket':\n return function (key, value, accumulator) {\n result = /(\\[\\])$/.exec(key);\n key = key.replace(/\\[\\]$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n }\n\n if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n\n case 'colon-list-separator':\n return function (key, value, accumulator) {\n result = /(:list)$/.exec(key);\n key = key.replace(/:list$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n }\n\n if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n\n case 'comma':\n case 'separator':\n return function (key, value, accumulator) {\n var isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n var isEncodedArray = typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator);\n value = isEncodedArray ? decode(value, options) : value;\n var newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(function (item) {\n return decode(item, options);\n }) : value === null ? value : decode(value, options);\n accumulator[key] = newValue;\n };\n\n case 'bracket-separator':\n return function (key, value, accumulator) {\n var isArray = /(\\[\\])$/.test(key);\n key = key.replace(/\\[\\]$/, '');\n\n if (!isArray) {\n accumulator[key] = value ? decode(value, options) : value;\n return;\n }\n\n var arrayValue = value === null ? [] : value.split(options.arrayFormatSeparator).map(function (item) {\n return decode(item, options);\n });\n\n if (accumulator[key] === undefined) {\n accumulator[key] = arrayValue;\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], arrayValue);\n };\n\n default:\n return function (key, value, accumulator) {\n if (accumulator[key] === undefined) {\n accumulator[key] = value;\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n }\n}\n\nfunction validateArrayFormatSeparator(value) {\n if (typeof value !== 'string' || value.length !== 1) {\n throw new TypeError('arrayFormatSeparator must be single character string');\n }\n}\n\nfunction encode(value, options) {\n if (options.encode) {\n return options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n }\n\n return value;\n}\n\nfunction decode(value, options) {\n if (options.decode) {\n return decodeComponent(value);\n }\n\n return value;\n}\n\nfunction keysSorter(input) {\n if (Array.isArray(input)) {\n return input.sort();\n }\n\n if (typeof input === 'object') {\n return keysSorter(Object.keys(input)).sort(function (a, b) {\n return Number(a) - Number(b);\n }).map(function (key) {\n return input[key];\n });\n }\n\n return input;\n}\n\nfunction removeHash(input) {\n var hashStart = input.indexOf('#');\n\n if (hashStart !== -1) {\n input = input.slice(0, hashStart);\n }\n\n return input;\n}\n\nfunction getHash(url) {\n var hash = '';\n var hashStart = url.indexOf('#');\n\n if (hashStart !== -1) {\n hash = url.slice(hashStart);\n }\n\n return hash;\n}\n\nfunction extract(input) {\n input = removeHash(input);\n var queryStart = input.indexOf('?');\n\n if (queryStart === -1) {\n return '';\n }\n\n return input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n if (options.parseNumbers && !Number.isNaN(Number(value)) && typeof value === 'string' && value.trim() !== '') {\n value = Number(value);\n } else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n value = value.toLowerCase() === 'true';\n }\n\n return value;\n}\n\nfunction parse(query, options) {\n options = Object.assign({\n decode: true,\n sort: true,\n arrayFormat: 'none',\n arrayFormatSeparator: ',',\n parseNumbers: false,\n parseBooleans: false\n }, options);\n validateArrayFormatSeparator(options.arrayFormatSeparator);\n var formatter = parserForArrayFormat(options); // Create an object with no prototype\n\n var ret = Object.create(null);\n\n if (typeof query !== 'string') {\n return ret;\n }\n\n query = query.trim().replace(/^[?#&]/, '');\n\n if (!query) {\n return ret;\n }\n\n var _iterator = _createForOfIteratorHelper(query.split('&')),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var param = _step.value;\n\n if (param === '') {\n continue;\n }\n\n var _splitOnFirst = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '='),\n _splitOnFirst2 = _slicedToArray(_splitOnFirst, 2),\n _key = _splitOnFirst2[0],\n _value = _splitOnFirst2[1]; // Missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n\n _value = _value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? _value : decode(_value, options);\n formatter(decode(_key, options), _value, ret);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n for (var _i = 0, _Object$keys = Object.keys(ret); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n var value = ret[key];\n\n if (typeof value === 'object' && value !== null) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(value); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n value[k] = parseValue(value[k], options);\n }\n } else {\n ret[key] = parseValue(value, options);\n }\n }\n\n if (options.sort === false) {\n return ret;\n }\n\n return (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce(function (result, key) {\n var value = ret[key];\n\n if (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n // Sort object keys, not values\n result[key] = keysSorter(value);\n } else {\n result[key] = value;\n }\n\n return result;\n }, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (object, options) {\n if (!object) {\n return '';\n }\n\n options = Object.assign({\n encode: true,\n strict: true,\n arrayFormat: 'none',\n arrayFormatSeparator: ','\n }, options);\n validateArrayFormatSeparator(options.arrayFormatSeparator);\n\n var shouldFilter = function shouldFilter(key) {\n return options.skipNull && isNullOrUndefined(object[key]) || options.skipEmptyString && object[key] === '';\n };\n\n var formatter = encoderForArrayFormat(options);\n var objectCopy = {};\n\n for (var _i3 = 0, _Object$keys3 = Object.keys(object); _i3 < _Object$keys3.length; _i3++) {\n var key = _Object$keys3[_i3];\n\n if (!shouldFilter(key)) {\n objectCopy[key] = object[key];\n }\n }\n\n var keys = Object.keys(objectCopy);\n\n if (options.sort !== false) {\n keys.sort(options.sort);\n }\n\n return keys.map(function (key) {\n var value = object[key];\n\n if (value === undefined) {\n return '';\n }\n\n if (value === null) {\n return encode(key, options);\n }\n\n if (Array.isArray(value)) {\n if (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n return encode(key, options) + '[]';\n }\n\n return value.reduce(formatter(key), []).join('&');\n }\n\n return encode(key, options) + '=' + encode(value, options);\n }).filter(function (x) {\n return x.length > 0;\n }).join('&');\n};\n\nexports.parseUrl = function (url, options) {\n options = Object.assign({\n decode: true\n }, options);\n\n var _splitOnFirst3 = splitOnFirst(url, '#'),\n _splitOnFirst4 = _slicedToArray(_splitOnFirst3, 2),\n url_ = _splitOnFirst4[0],\n hash = _splitOnFirst4[1];\n\n return Object.assign({\n url: url_.split('?')[0] || '',\n query: parse(extract(url), options)\n }, options && options.parseFragmentIdentifier && hash ? {\n fragmentIdentifier: decode(hash, options)\n } : {});\n};\n\nexports.stringifyUrl = function (object, options) {\n options = Object.assign(_defineProperty({\n encode: true,\n strict: true\n }, encodeFragmentIdentifier, true), options);\n var url = removeHash(object.url).split('?')[0] || '';\n var queryFromUrl = exports.extract(object.url);\n var parsedQueryFromUrl = exports.parse(queryFromUrl, {\n sort: false\n });\n var query = Object.assign(parsedQueryFromUrl, object.query);\n var queryString = exports.stringify(query, options);\n\n if (queryString) {\n queryString = \"?\".concat(queryString);\n }\n\n var hash = getHash(object.url);\n\n if (object.fragmentIdentifier) {\n hash = \"#\".concat(options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier);\n }\n\n return \"\".concat(url).concat(queryString).concat(hash);\n};\n\nexports.pick = function (input, filter, options) {\n options = Object.assign(_defineProperty({\n parseFragmentIdentifier: true\n }, encodeFragmentIdentifier, false), options);\n\n var _exports$parseUrl = exports.parseUrl(input, options),\n url = _exports$parseUrl.url,\n query = _exports$parseUrl.query,\n fragmentIdentifier = _exports$parseUrl.fragmentIdentifier;\n\n return exports.stringifyUrl({\n url: url,\n query: filterObject(query, filter),\n fragmentIdentifier: fragmentIdentifier\n }, options);\n};\n\nexports.exclude = function (input, filter, options) {\n var exclusionFilter = Array.isArray(filter) ? function (key) {\n return !filter.includes(key);\n } : function (key, value) {\n return !filter(key, value);\n };\n return exports.pick(input, exclusionFilter, options);\n};","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _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\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","/** @license React v0.26.2\n * react-reconciler.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 */\nmodule.exports = function $$$reconciler($$$hostConfig) {\n var exports = {};\n 'use strict';\n\n var aa = require(\"object-assign\"),\n ba = require(\"react\"),\n m = require(\"scheduler\");\n\n function q(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n\n var ca = ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\n da = 60103,\n ea = 60106,\n fa = 60107,\n ha = 60108,\n ia = 60114,\n ja = 60109,\n ka = 60110,\n la = 60112,\n ma = 60113,\n na = 60120,\n oa = 60115,\n pa = 60116,\n qa = 60121,\n ra = 60129,\n sa = 60130,\n ta = 60131;\n\n if (\"function\" === typeof Symbol && Symbol.for) {\n var r = Symbol.for;\n da = r(\"react.element\");\n ea = r(\"react.portal\");\n fa = r(\"react.fragment\");\n ha = r(\"react.strict_mode\");\n ia = r(\"react.profiler\");\n ja = r(\"react.provider\");\n ka = r(\"react.context\");\n la = r(\"react.forward_ref\");\n ma = r(\"react.suspense\");\n na = r(\"react.suspense_list\");\n oa = r(\"react.memo\");\n pa = r(\"react.lazy\");\n qa = r(\"react.block\");\n r(\"react.scope\");\n ra = r(\"react.debug_trace_mode\");\n sa = r(\"react.offscreen\");\n ta = r(\"react.legacy_hidden\");\n }\n\n var ua = \"function\" === typeof Symbol && Symbol.iterator;\n\n function va(a) {\n if (null === a || \"object\" !== typeof a) return null;\n a = ua && a[ua] || a[\"@@iterator\"];\n return \"function\" === typeof a ? a : null;\n }\n\n function wa(a) {\n if (null == a) return null;\n if (\"function\" === typeof a) return a.displayName || a.name || null;\n if (\"string\" === typeof a) return a;\n\n switch (a) {\n case fa:\n return \"Fragment\";\n\n case ea:\n return \"Portal\";\n\n case ia:\n return \"Profiler\";\n\n case ha:\n return \"StrictMode\";\n\n case ma:\n return \"Suspense\";\n\n case na:\n return \"SuspenseList\";\n }\n\n if (\"object\" === typeof a) switch (a.$$typeof) {\n case ka:\n return (a.displayName || \"Context\") + \".Consumer\";\n\n case ja:\n return (a._context.displayName || \"Context\") + \".Provider\";\n\n case la:\n var b = a.render;\n b = b.displayName || b.name || \"\";\n return a.displayName || (\"\" !== b ? \"ForwardRef(\" + b + \")\" : \"ForwardRef\");\n\n case oa:\n return wa(a.type);\n\n case qa:\n return wa(a._render);\n\n case pa:\n b = a._payload;\n a = a._init;\n\n try {\n return wa(a(b));\n } catch (c) {}\n\n }\n return null;\n }\n\n function xa(a) {\n var b = a,\n c = a;\n if (a.alternate) for (; b.return;) {\n b = b.return;\n } else {\n a = b;\n\n do {\n b = a, 0 !== (b.flags & 1026) && (c = b.return), a = b.return;\n } while (a);\n }\n return 3 === b.tag ? c : null;\n }\n\n function ya(a) {\n if (xa(a) !== a) throw Error(q(188));\n }\n\n function za(a) {\n var b = a.alternate;\n\n if (!b) {\n b = xa(a);\n if (null === b) throw Error(q(188));\n return b !== a ? null : a;\n }\n\n for (var c = a, d = b;;) {\n var e = c.return;\n if (null === e) break;\n var f = e.alternate;\n\n if (null === f) {\n d = e.return;\n\n if (null !== d) {\n c = d;\n continue;\n }\n\n break;\n }\n\n if (e.child === f.child) {\n for (f = e.child; f;) {\n if (f === c) return ya(e), a;\n if (f === d) return ya(e), b;\n f = f.sibling;\n }\n\n throw Error(q(188));\n }\n\n if (c.return !== d.return) c = e, d = f;else {\n for (var g = !1, h = e.child; h;) {\n if (h === c) {\n g = !0;\n c = e;\n d = f;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = e;\n c = f;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) {\n for (h = f.child; h;) {\n if (h === c) {\n g = !0;\n c = f;\n d = e;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = f;\n c = e;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) throw Error(q(189));\n }\n }\n if (c.alternate !== d) throw Error(q(190));\n }\n\n if (3 !== c.tag) throw Error(q(188));\n return c.stateNode.current === c ? a : b;\n }\n\n function Aa(a) {\n a = za(a);\n if (!a) return null;\n\n for (var b = a;;) {\n if (5 === b.tag || 6 === b.tag) return b;\n if (b.child) b.child.return = b, b = b.child;else {\n if (b === a) break;\n\n for (; !b.sibling;) {\n if (!b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n }\n\n return null;\n }\n\n function Ba(a) {\n a = za(a);\n if (!a) return null;\n\n for (var b = a;;) {\n if (5 === b.tag || 6 === b.tag) return b;\n if (b.child && 4 !== b.tag) b.child.return = b, b = b.child;else {\n if (b === a) break;\n\n for (; !b.sibling;) {\n if (!b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n }\n\n return null;\n }\n\n function Ca(a, b) {\n for (var c = a.alternate; null !== b;) {\n if (b === a || b === c) return !0;\n b = b.return;\n }\n\n return !1;\n }\n\n var Da = $$$hostConfig.getPublicInstance,\n Ea = $$$hostConfig.getRootHostContext,\n Fa = $$$hostConfig.getChildHostContext,\n Ga = $$$hostConfig.prepareForCommit,\n Ha = $$$hostConfig.resetAfterCommit,\n Ia = $$$hostConfig.createInstance,\n Ja = $$$hostConfig.appendInitialChild,\n Ka = $$$hostConfig.finalizeInitialChildren,\n La = $$$hostConfig.prepareUpdate,\n Ma = $$$hostConfig.shouldSetTextContent,\n Na = $$$hostConfig.createTextInstance,\n Pa = $$$hostConfig.scheduleTimeout,\n Qa = $$$hostConfig.cancelTimeout,\n Ra = $$$hostConfig.noTimeout,\n Sa = $$$hostConfig.isPrimaryRenderer,\n Ta = $$$hostConfig.supportsMutation,\n Ua = $$$hostConfig.supportsPersistence,\n Va = $$$hostConfig.supportsHydration,\n Wa = $$$hostConfig.getInstanceFromNode,\n Xa = $$$hostConfig.makeOpaqueHydratingObject,\n Ya = $$$hostConfig.makeClientId,\n Za = $$$hostConfig.beforeActiveInstanceBlur,\n $a = $$$hostConfig.afterActiveInstanceBlur,\n ab = $$$hostConfig.preparePortalMount,\n bb = $$$hostConfig.supportsTestSelectors,\n cb = $$$hostConfig.findFiberRoot,\n db = $$$hostConfig.getBoundingRect,\n eb = $$$hostConfig.getTextContent,\n fb = $$$hostConfig.isHiddenSubtree,\n gb = $$$hostConfig.matchAccessibilityRole,\n hb = $$$hostConfig.setFocusIfFocusable,\n ib = $$$hostConfig.setupIntersectionObserver,\n jb = $$$hostConfig.appendChild,\n kb = $$$hostConfig.appendChildToContainer,\n lb = $$$hostConfig.commitTextUpdate,\n mb = $$$hostConfig.commitMount,\n nb = $$$hostConfig.commitUpdate,\n ob = $$$hostConfig.insertBefore,\n pb = $$$hostConfig.insertInContainerBefore,\n qb = $$$hostConfig.removeChild,\n rb = $$$hostConfig.removeChildFromContainer,\n sb = $$$hostConfig.resetTextContent,\n tb = $$$hostConfig.hideInstance,\n ub = $$$hostConfig.hideTextInstance,\n vb = $$$hostConfig.unhideInstance,\n wb = $$$hostConfig.unhideTextInstance,\n xb = $$$hostConfig.clearContainer,\n yb = $$$hostConfig.cloneInstance,\n zb = $$$hostConfig.createContainerChildSet,\n Ab = $$$hostConfig.appendChildToContainerChildSet,\n Bb = $$$hostConfig.finalizeContainerChildren,\n Cb = $$$hostConfig.replaceContainerChildren,\n Db = $$$hostConfig.cloneHiddenInstance,\n Eb = $$$hostConfig.cloneHiddenTextInstance,\n Fb = $$$hostConfig.canHydrateInstance,\n Gb = $$$hostConfig.canHydrateTextInstance,\n Hb = $$$hostConfig.isSuspenseInstancePending,\n Ib = $$$hostConfig.isSuspenseInstanceFallback,\n Jb = $$$hostConfig.getNextHydratableSibling,\n Kb = $$$hostConfig.getFirstHydratableChild,\n Lb = $$$hostConfig.hydrateInstance,\n Mb = $$$hostConfig.hydrateTextInstance,\n Nb = $$$hostConfig.getNextHydratableInstanceAfterSuspenseInstance,\n Ob = $$$hostConfig.commitHydratedContainer,\n Pb = $$$hostConfig.commitHydratedSuspenseInstance,\n Qb;\n\n function Rb(a) {\n if (void 0 === Qb) try {\n throw Error();\n } catch (c) {\n var b = c.stack.trim().match(/\\n( *(at )?)/);\n Qb = b && b[1] || \"\";\n }\n return \"\\n\" + Qb + a;\n }\n\n var Sb = !1;\n\n function Tb(a, b) {\n if (!a || Sb) return \"\";\n Sb = !0;\n var c = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n\n try {\n if (b) {\n if (b = function b() {\n throw Error();\n }, Object.defineProperty(b.prototype, \"props\", {\n set: function set() {\n throw Error();\n }\n }), \"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(b, []);\n } catch (k) {\n var d = k;\n }\n\n Reflect.construct(a, [], b);\n } else {\n try {\n b.call();\n } catch (k) {\n d = k;\n }\n\n a.call(b.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (k) {\n d = k;\n }\n\n a();\n }\n } catch (k) {\n if (k && d && \"string\" === typeof k.stack) {\n for (var e = k.stack.split(\"\\n\"), f = d.stack.split(\"\\n\"), g = e.length - 1, h = f.length - 1; 1 <= g && 0 <= h && e[g] !== f[h];) {\n h--;\n }\n\n for (; 1 <= g && 0 <= h; g--, h--) {\n if (e[g] !== f[h]) {\n if (1 !== g || 1 !== h) {\n do {\n if (g--, h--, 0 > h || e[g] !== f[h]) return \"\\n\" + e[g].replace(\" at new \", \" at \");\n } while (1 <= g && 0 <= h);\n }\n\n break;\n }\n }\n }\n } finally {\n Sb = !1, Error.prepareStackTrace = c;\n }\n\n return (a = a ? a.displayName || a.name : \"\") ? Rb(a) : \"\";\n }\n\n var Ub = [],\n Vb = -1;\n\n function Wb(a) {\n return {\n current: a\n };\n }\n\n function z(a) {\n 0 > Vb || (a.current = Ub[Vb], Ub[Vb] = null, Vb--);\n }\n\n function A(a, b) {\n Vb++;\n Ub[Vb] = a.current;\n a.current = b;\n }\n\n var Xb = {},\n B = Wb(Xb),\n D = Wb(!1),\n Yb = Xb;\n\n function Zb(a, b) {\n var c = a.type.contextTypes;\n if (!c) return Xb;\n var d = a.stateNode;\n if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;\n var e = {},\n f;\n\n for (f in c) {\n e[f] = b[f];\n }\n\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e);\n return e;\n }\n\n function E(a) {\n a = a.childContextTypes;\n return null !== a && void 0 !== a;\n }\n\n function $b() {\n z(D);\n z(B);\n }\n\n function ac(a, b, c) {\n if (B.current !== Xb) throw Error(q(168));\n A(B, b);\n A(D, c);\n }\n\n function bc(a, b, c) {\n var d = a.stateNode;\n a = b.childContextTypes;\n if (\"function\" !== typeof d.getChildContext) return c;\n d = d.getChildContext();\n\n for (var e in d) {\n if (!(e in a)) throw Error(q(108, wa(b) || \"Unknown\", e));\n }\n\n return aa({}, c, d);\n }\n\n function cc(a) {\n a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Xb;\n Yb = B.current;\n A(B, a);\n A(D, D.current);\n return !0;\n }\n\n function dc(a, b, c) {\n var d = a.stateNode;\n if (!d) throw Error(q(169));\n c ? (a = bc(a, b, Yb), d.__reactInternalMemoizedMergedChildContext = a, z(D), z(B), A(B, a)) : z(D);\n A(D, c);\n }\n\n var ec = null,\n fc = null,\n gc = m.unstable_now;\n gc();\n var hc = 0,\n F = 8;\n\n function ic(a) {\n if (0 !== (1 & a)) return F = 15, 1;\n if (0 !== (2 & a)) return F = 14, 2;\n if (0 !== (4 & a)) return F = 13, 4;\n var b = 24 & a;\n if (0 !== b) return F = 12, b;\n if (0 !== (a & 32)) return F = 11, 32;\n b = 192 & a;\n if (0 !== b) return F = 10, b;\n if (0 !== (a & 256)) return F = 9, 256;\n b = 3584 & a;\n if (0 !== b) return F = 8, b;\n if (0 !== (a & 4096)) return F = 7, 4096;\n b = 4186112 & a;\n if (0 !== b) return F = 6, b;\n b = 62914560 & a;\n if (0 !== b) return F = 5, b;\n if (a & 67108864) return F = 4, 67108864;\n if (0 !== (a & 134217728)) return F = 3, 134217728;\n b = 805306368 & a;\n if (0 !== b) return F = 2, b;\n if (0 !== (1073741824 & a)) return F = 1, 1073741824;\n F = 8;\n return a;\n }\n\n function jc(a) {\n switch (a) {\n case 99:\n return 15;\n\n case 98:\n return 10;\n\n case 97:\n case 96:\n return 8;\n\n case 95:\n return 2;\n\n default:\n return 0;\n }\n }\n\n function kc(a) {\n switch (a) {\n case 15:\n case 14:\n return 99;\n\n case 13:\n case 12:\n case 11:\n case 10:\n return 98;\n\n case 9:\n case 8:\n case 7:\n case 6:\n case 4:\n case 5:\n return 97;\n\n case 3:\n case 2:\n case 1:\n return 95;\n\n case 0:\n return 90;\n\n default:\n throw Error(q(358, a));\n }\n }\n\n function lc(a, b) {\n var c = a.pendingLanes;\n if (0 === c) return F = 0;\n var d = 0,\n e = 0,\n f = a.expiredLanes,\n g = a.suspendedLanes,\n h = a.pingedLanes;\n if (0 !== f) d = f, e = F = 15;else if (f = c & 134217727, 0 !== f) {\n var k = f & ~g;\n 0 !== k ? (d = ic(k), e = F) : (h &= f, 0 !== h && (d = ic(h), e = F));\n } else f = c & ~g, 0 !== f ? (d = ic(f), e = F) : 0 !== h && (d = ic(h), e = F);\n if (0 === d) return 0;\n d = 31 - mc(d);\n d = c & ((0 > d ? 0 : 1 << d) << 1) - 1;\n\n if (0 !== b && b !== d && 0 === (b & g)) {\n ic(b);\n if (e <= F) return b;\n F = e;\n }\n\n b = a.entangledLanes;\n if (0 !== b) for (a = a.entanglements, b &= d; 0 < b;) {\n c = 31 - mc(b), e = 1 << c, d |= a[c], b &= ~e;\n }\n return d;\n }\n\n function nc(a) {\n a = a.pendingLanes & -1073741825;\n return 0 !== a ? a : a & 1073741824 ? 1073741824 : 0;\n }\n\n function oc(a, b) {\n switch (a) {\n case 15:\n return 1;\n\n case 14:\n return 2;\n\n case 12:\n return a = pc(24 & ~b), 0 === a ? oc(10, b) : a;\n\n case 10:\n return a = pc(192 & ~b), 0 === a ? oc(8, b) : a;\n\n case 8:\n return a = pc(3584 & ~b), 0 === a && (a = pc(4186112 & ~b), 0 === a && (a = 512)), a;\n\n case 2:\n return b = pc(805306368 & ~b), 0 === b && (b = 268435456), b;\n }\n\n throw Error(q(358, a));\n }\n\n function pc(a) {\n return a & -a;\n }\n\n function qc(a) {\n for (var b = [], c = 0; 31 > c; c++) {\n b.push(a);\n }\n\n return b;\n }\n\n function rc(a, b, c) {\n a.pendingLanes |= b;\n var d = b - 1;\n a.suspendedLanes &= d;\n a.pingedLanes &= d;\n a = a.eventTimes;\n b = 31 - mc(b);\n a[b] = c;\n }\n\n var mc = Math.clz32 ? Math.clz32 : sc,\n tc = Math.log,\n uc = Math.LN2;\n\n function sc(a) {\n return 0 === a ? 32 : 31 - (tc(a) / uc | 0) | 0;\n }\n\n var vc = m.unstable_runWithPriority,\n wc = m.unstable_scheduleCallback,\n xc = m.unstable_cancelCallback,\n yc = m.unstable_shouldYield,\n zc = m.unstable_requestPaint,\n Ac = m.unstable_now,\n Bc = m.unstable_getCurrentPriorityLevel,\n Cc = m.unstable_ImmediatePriority,\n Dc = m.unstable_UserBlockingPriority,\n Ec = m.unstable_NormalPriority,\n Fc = m.unstable_LowPriority,\n Gc = m.unstable_IdlePriority,\n Hc = {},\n Ic = void 0 !== zc ? zc : function () {},\n Jc = null,\n Kc = null,\n Lc = !1,\n Mc = Ac(),\n G = 1E4 > Mc ? Ac : function () {\n return Ac() - Mc;\n };\n\n function Nc() {\n switch (Bc()) {\n case Cc:\n return 99;\n\n case Dc:\n return 98;\n\n case Ec:\n return 97;\n\n case Fc:\n return 96;\n\n case Gc:\n return 95;\n\n default:\n throw Error(q(332));\n }\n }\n\n function Oc(a) {\n switch (a) {\n case 99:\n return Cc;\n\n case 98:\n return Dc;\n\n case 97:\n return Ec;\n\n case 96:\n return Fc;\n\n case 95:\n return Gc;\n\n default:\n throw Error(q(332));\n }\n }\n\n function Pc(a, b) {\n a = Oc(a);\n return vc(a, b);\n }\n\n function Qc(a, b, c) {\n a = Oc(a);\n return wc(a, b, c);\n }\n\n function H() {\n if (null !== Kc) {\n var a = Kc;\n Kc = null;\n xc(a);\n }\n\n Rc();\n }\n\n function Rc() {\n if (!Lc && null !== Jc) {\n Lc = !0;\n var a = 0;\n\n try {\n var b = Jc;\n Pc(99, function () {\n for (; a < b.length; a++) {\n var c = b[a];\n\n do {\n c = c(!0);\n } while (null !== c);\n }\n });\n Jc = null;\n } catch (c) {\n throw null !== Jc && (Jc = Jc.slice(a + 1)), wc(Cc, H), c;\n } finally {\n Lc = !1;\n }\n }\n }\n\n var Sc = ca.ReactCurrentBatchConfig;\n\n function Tc(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n }\n\n var I = \"function\" === typeof Object.is ? Object.is : Tc,\n Uc = Object.prototype.hasOwnProperty;\n\n function Vc(a, b) {\n if (I(a, b)) return !0;\n if (\"object\" !== typeof a || null === a || \"object\" !== typeof b || null === b) return !1;\n var c = Object.keys(a),\n d = Object.keys(b);\n if (c.length !== d.length) return !1;\n\n for (d = 0; d < c.length; d++) {\n if (!Uc.call(b, c[d]) || !I(a[c[d]], b[c[d]])) return !1;\n }\n\n return !0;\n }\n\n function Wc(a) {\n switch (a.tag) {\n case 5:\n return Rb(a.type);\n\n case 16:\n return Rb(\"Lazy\");\n\n case 13:\n return Rb(\"Suspense\");\n\n case 19:\n return Rb(\"SuspenseList\");\n\n case 0:\n case 2:\n case 15:\n return a = Tb(a.type, !1), a;\n\n case 11:\n return a = Tb(a.type.render, !1), a;\n\n case 22:\n return a = Tb(a.type._render, !1), a;\n\n case 1:\n return a = Tb(a.type, !0), a;\n\n default:\n return \"\";\n }\n }\n\n function Xc(a, b) {\n if (a && a.defaultProps) {\n b = aa({}, b);\n a = a.defaultProps;\n\n for (var c in a) {\n void 0 === b[c] && (b[c] = a[c]);\n }\n\n return b;\n }\n\n return b;\n }\n\n var Yc = Wb(null),\n Zc = null,\n $c = null,\n ad = null;\n\n function bd() {\n ad = $c = Zc = null;\n }\n\n function cd(a, b) {\n a = a.type._context;\n Sa ? (A(Yc, a._currentValue), a._currentValue = b) : (A(Yc, a._currentValue2), a._currentValue2 = b);\n }\n\n function dd(a) {\n var b = Yc.current;\n z(Yc);\n a = a.type._context;\n Sa ? a._currentValue = b : a._currentValue2 = b;\n }\n\n function ed(a, b) {\n for (; null !== a;) {\n var c = a.alternate;\n if ((a.childLanes & b) === b) {\n if (null === c || (c.childLanes & b) === b) break;else c.childLanes |= b;\n } else a.childLanes |= b, null !== c && (c.childLanes |= b);\n a = a.return;\n }\n }\n\n function fd(a, b) {\n Zc = a;\n ad = $c = null;\n a = a.dependencies;\n null !== a && null !== a.firstContext && (0 !== (a.lanes & b) && (gd = !0), a.firstContext = null);\n }\n\n function J(a, b) {\n if (ad !== a && !1 !== b && 0 !== b) {\n if (\"number\" !== typeof b || 1073741823 === b) ad = a, b = 1073741823;\n b = {\n context: a,\n observedBits: b,\n next: null\n };\n\n if (null === $c) {\n if (null === Zc) throw Error(q(308));\n $c = b;\n Zc.dependencies = {\n lanes: 0,\n firstContext: b,\n responders: null\n };\n } else $c = $c.next = b;\n }\n\n return Sa ? a._currentValue : a._currentValue2;\n }\n\n var hd = !1;\n\n function id(a) {\n a.updateQueue = {\n baseState: a.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null\n },\n effects: null\n };\n }\n\n function jd(a, b) {\n a = a.updateQueue;\n b.updateQueue === a && (b.updateQueue = {\n baseState: a.baseState,\n firstBaseUpdate: a.firstBaseUpdate,\n lastBaseUpdate: a.lastBaseUpdate,\n shared: a.shared,\n effects: a.effects\n });\n }\n\n function kd(a, b) {\n return {\n eventTime: a,\n lane: b,\n tag: 0,\n payload: null,\n callback: null,\n next: null\n };\n }\n\n function md(a, b) {\n a = a.updateQueue;\n\n if (null !== a) {\n a = a.shared;\n var c = a.pending;\n null === c ? b.next = b : (b.next = c.next, c.next = b);\n a.pending = b;\n }\n }\n\n function nd(a, b) {\n var c = a.updateQueue,\n d = a.alternate;\n\n if (null !== d && (d = d.updateQueue, c === d)) {\n var e = null,\n f = null;\n c = c.firstBaseUpdate;\n\n if (null !== c) {\n do {\n var g = {\n eventTime: c.eventTime,\n lane: c.lane,\n tag: c.tag,\n payload: c.payload,\n callback: c.callback,\n next: null\n };\n null === f ? e = f = g : f = f.next = g;\n c = c.next;\n } while (null !== c);\n\n null === f ? e = f = b : f = f.next = b;\n } else e = f = b;\n\n c = {\n baseState: d.baseState,\n firstBaseUpdate: e,\n lastBaseUpdate: f,\n shared: d.shared,\n effects: d.effects\n };\n a.updateQueue = c;\n return;\n }\n\n a = c.lastBaseUpdate;\n null === a ? c.firstBaseUpdate = b : a.next = b;\n c.lastBaseUpdate = b;\n }\n\n function od(a, b, c, d) {\n var e = a.updateQueue;\n hd = !1;\n var f = e.firstBaseUpdate,\n g = e.lastBaseUpdate,\n h = e.shared.pending;\n\n if (null !== h) {\n e.shared.pending = null;\n var k = h,\n l = k.next;\n k.next = null;\n null === g ? f = l : g.next = l;\n g = k;\n var n = a.alternate;\n\n if (null !== n) {\n n = n.updateQueue;\n var t = n.lastBaseUpdate;\n t !== g && (null === t ? n.firstBaseUpdate = l : t.next = l, n.lastBaseUpdate = k);\n }\n }\n\n if (null !== f) {\n t = e.baseState;\n g = 0;\n n = l = k = null;\n\n do {\n h = f.lane;\n var p = f.eventTime;\n\n if ((d & h) === h) {\n null !== n && (n = n.next = {\n eventTime: p,\n lane: 0,\n tag: f.tag,\n payload: f.payload,\n callback: f.callback,\n next: null\n });\n\n a: {\n var y = a,\n x = f;\n h = b;\n p = c;\n\n switch (x.tag) {\n case 1:\n y = x.payload;\n\n if (\"function\" === typeof y) {\n t = y.call(p, t, h);\n break a;\n }\n\n t = y;\n break a;\n\n case 3:\n y.flags = y.flags & -4097 | 64;\n\n case 0:\n y = x.payload;\n h = \"function\" === typeof y ? y.call(p, t, h) : y;\n if (null === h || void 0 === h) break a;\n t = aa({}, t, h);\n break a;\n\n case 2:\n hd = !0;\n }\n }\n\n null !== f.callback && (a.flags |= 32, h = e.effects, null === h ? e.effects = [f] : h.push(f));\n } else p = {\n eventTime: p,\n lane: h,\n tag: f.tag,\n payload: f.payload,\n callback: f.callback,\n next: null\n }, null === n ? (l = n = p, k = t) : n = n.next = p, g |= h;\n\n f = f.next;\n if (null === f) if (h = e.shared.pending, null === h) break;else f = h.next, h.next = null, e.lastBaseUpdate = h, e.shared.pending = null;\n } while (1);\n\n null === n && (k = t);\n e.baseState = k;\n e.firstBaseUpdate = l;\n e.lastBaseUpdate = n;\n pd |= g;\n a.lanes = g;\n a.memoizedState = t;\n }\n }\n\n function qd(a, b, c) {\n a = b.effects;\n b.effects = null;\n if (null !== a) for (b = 0; b < a.length; b++) {\n var d = a[b],\n e = d.callback;\n\n if (null !== e) {\n d.callback = null;\n d = c;\n if (\"function\" !== typeof e) throw Error(q(191, e));\n e.call(d);\n }\n }\n }\n\n var rd = new ba.Component().refs;\n\n function sd(a, b, c, d) {\n b = a.memoizedState;\n c = c(d, b);\n c = null === c || void 0 === c ? b : aa({}, b, c);\n a.memoizedState = c;\n 0 === a.lanes && (a.updateQueue.baseState = c);\n }\n\n var vd = {\n isMounted: function isMounted(a) {\n return (a = a._reactInternals) ? xa(a) === a : !1;\n },\n enqueueSetState: function enqueueSetState(a, b, c) {\n a = a._reactInternals;\n var d = K(),\n e = td(a),\n f = kd(d, e);\n f.payload = b;\n void 0 !== c && null !== c && (f.callback = c);\n md(a, f);\n ud(a, e, d);\n },\n enqueueReplaceState: function enqueueReplaceState(a, b, c) {\n a = a._reactInternals;\n var d = K(),\n e = td(a),\n f = kd(d, e);\n f.tag = 1;\n f.payload = b;\n void 0 !== c && null !== c && (f.callback = c);\n md(a, f);\n ud(a, e, d);\n },\n enqueueForceUpdate: function enqueueForceUpdate(a, b) {\n a = a._reactInternals;\n var c = K(),\n d = td(a),\n e = kd(c, d);\n e.tag = 2;\n void 0 !== b && null !== b && (e.callback = b);\n md(a, e);\n ud(a, d, c);\n }\n };\n\n function wd(a, b, c, d, e, f, g) {\n a = a.stateNode;\n return \"function\" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !Vc(c, d) || !Vc(e, f) : !0;\n }\n\n function xd(a, b, c) {\n var d = !1,\n e = Xb;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? f = J(f) : (e = E(b) ? Yb : B.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Zb(a, e) : Xb);\n b = new b(c, f);\n a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null;\n b.updater = vd;\n a.stateNode = b;\n b._reactInternals = a;\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f);\n return b;\n }\n\n function yd(a, b, c, d) {\n a = b.state;\n \"function\" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d);\n \"function\" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d);\n b.state !== a && vd.enqueueReplaceState(b, b.state, null);\n }\n\n function zd(a, b, c, d) {\n var e = a.stateNode;\n e.props = c;\n e.state = a.memoizedState;\n e.refs = rd;\n id(a);\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? e.context = J(f) : (f = E(b) ? Yb : B.current, e.context = Zb(a, f));\n od(a, c, e, d);\n e.state = a.memoizedState;\n f = b.getDerivedStateFromProps;\n \"function\" === typeof f && (sd(a, b, f, c), e.state = a.memoizedState);\n \"function\" === typeof b.getDerivedStateFromProps || \"function\" === typeof e.getSnapshotBeforeUpdate || \"function\" !== typeof e.UNSAFE_componentWillMount && \"function\" !== typeof e.componentWillMount || (b = e.state, \"function\" === typeof e.componentWillMount && e.componentWillMount(), \"function\" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && vd.enqueueReplaceState(e, e.state, null), od(a, c, e, d), e.state = a.memoizedState);\n \"function\" === typeof e.componentDidMount && (a.flags |= 4);\n }\n\n var Ad = Array.isArray;\n\n function Bd(a, b, c) {\n a = c.ref;\n\n if (null !== a && \"function\" !== typeof a && \"object\" !== typeof a) {\n if (c._owner) {\n c = c._owner;\n\n if (c) {\n if (1 !== c.tag) throw Error(q(309));\n var d = c.stateNode;\n }\n\n if (!d) throw Error(q(147, a));\n var e = \"\" + a;\n if (null !== b && null !== b.ref && \"function\" === typeof b.ref && b.ref._stringRef === e) return b.ref;\n\n b = function b(a) {\n var b = d.refs;\n b === rd && (b = d.refs = {});\n null === a ? delete b[e] : b[e] = a;\n };\n\n b._stringRef = e;\n return b;\n }\n\n if (\"string\" !== typeof a) throw Error(q(284));\n if (!c._owner) throw Error(q(290, a));\n }\n\n return a;\n }\n\n function Cd(a, b) {\n if (\"textarea\" !== a.type) throw Error(q(31, \"[object Object]\" === Object.prototype.toString.call(b) ? \"object with keys {\" + Object.keys(b).join(\", \") + \"}\" : b));\n }\n\n function Dd(a) {\n function b(b, c) {\n if (a) {\n var d = b.lastEffect;\n null !== d ? (d.nextEffect = c, b.lastEffect = c) : b.firstEffect = b.lastEffect = c;\n c.nextEffect = null;\n c.flags = 8;\n }\n }\n\n function c(c, d) {\n if (!a) return null;\n\n for (; null !== d;) {\n b(c, d), d = d.sibling;\n }\n\n return null;\n }\n\n function d(a, b) {\n for (a = new Map(); null !== b;) {\n null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling;\n }\n\n return a;\n }\n\n function e(a, b) {\n a = Ed(a, b);\n a.index = 0;\n a.sibling = null;\n return a;\n }\n\n function f(b, c, d) {\n b.index = d;\n if (!a) return c;\n d = b.alternate;\n if (null !== d) return d = d.index, d < c ? (b.flags = 2, c) : d;\n b.flags = 2;\n return c;\n }\n\n function g(b) {\n a && null === b.alternate && (b.flags = 2);\n return b;\n }\n\n function h(a, b, c, d) {\n if (null === b || 6 !== b.tag) return b = Fd(c, a.mode, d), b.return = a, b;\n b = e(b, c);\n b.return = a;\n return b;\n }\n\n function k(a, b, c, d) {\n if (null !== b && b.elementType === c.type) return d = e(b, c.props), d.ref = Bd(a, b, c), d.return = a, d;\n d = Gd(c.type, c.key, c.props, null, a.mode, d);\n d.ref = Bd(a, b, c);\n d.return = a;\n return d;\n }\n\n function l(a, b, c, d) {\n if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = Hd(c, a.mode, d), b.return = a, b;\n b = e(b, c.children || []);\n b.return = a;\n return b;\n }\n\n function n(a, b, c, d, f) {\n if (null === b || 7 !== b.tag) return b = Id(c, a.mode, d, f), b.return = a, b;\n b = e(b, c);\n b.return = a;\n return b;\n }\n\n function t(a, b, c) {\n if (\"string\" === typeof b || \"number\" === typeof b) return b = Fd(\"\" + b, a.mode, c), b.return = a, b;\n\n if (\"object\" === typeof b && null !== b) {\n switch (b.$$typeof) {\n case da:\n return c = Gd(b.type, b.key, b.props, null, a.mode, c), c.ref = Bd(a, null, b), c.return = a, c;\n\n case ea:\n return b = Hd(b, a.mode, c), b.return = a, b;\n }\n\n if (Ad(b) || va(b)) return b = Id(b, a.mode, c, null), b.return = a, b;\n Cd(a, b);\n }\n\n return null;\n }\n\n function p(a, b, c, d) {\n var e = null !== b ? b.key : null;\n if (\"string\" === typeof c || \"number\" === typeof c) return null !== e ? null : h(a, b, \"\" + c, d);\n\n if (\"object\" === typeof c && null !== c) {\n switch (c.$$typeof) {\n case da:\n return c.key === e ? c.type === fa ? n(a, b, c.props.children, d, e) : k(a, b, c, d) : null;\n\n case ea:\n return c.key === e ? l(a, b, c, d) : null;\n }\n\n if (Ad(c) || va(c)) return null !== e ? null : n(a, b, c, d, null);\n Cd(a, c);\n }\n\n return null;\n }\n\n function y(a, b, c, d, e) {\n if (\"string\" === typeof d || \"number\" === typeof d) return a = a.get(c) || null, h(b, a, \"\" + d, e);\n\n if (\"object\" === typeof d && null !== d) {\n switch (d.$$typeof) {\n case da:\n return a = a.get(null === d.key ? c : d.key) || null, d.type === fa ? n(b, a, d.props.children, e, d.key) : k(b, a, d, e);\n\n case ea:\n return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e);\n }\n\n if (Ad(d) || va(d)) return a = a.get(c) || null, n(b, a, d, e, null);\n Cd(b, d);\n }\n\n return null;\n }\n\n function x(e, g, h, k) {\n for (var l = null, v = null, u = g, C = g = 0, n = null; null !== u && C < h.length; C++) {\n u.index > C ? (n = u, u = null) : n = u.sibling;\n var w = p(e, u, h[C], k);\n\n if (null === w) {\n null === u && (u = n);\n break;\n }\n\n a && u && null === w.alternate && b(e, u);\n g = f(w, g, C);\n null === v ? l = w : v.sibling = w;\n v = w;\n u = n;\n }\n\n if (C === h.length) return c(e, u), l;\n\n if (null === u) {\n for (; C < h.length; C++) {\n u = t(e, h[C], k), null !== u && (g = f(u, g, C), null === v ? l = u : v.sibling = u, v = u);\n }\n\n return l;\n }\n\n for (u = d(e, u); C < h.length; C++) {\n n = y(u, e, C, h[C], k), null !== n && (a && null !== n.alternate && u.delete(null === n.key ? C : n.key), g = f(n, g, C), null === v ? l = n : v.sibling = n, v = n);\n }\n\n a && u.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n function Y(e, g, h, k) {\n var l = va(h);\n if (\"function\" !== typeof l) throw Error(q(150));\n h = l.call(h);\n if (null == h) throw Error(q(151));\n\n for (var u = l = null, v = g, n = g = 0, C = null, w = h.next(); null !== v && !w.done; n++, w = h.next()) {\n v.index > n ? (C = v, v = null) : C = v.sibling;\n var x = p(e, v, w.value, k);\n\n if (null === x) {\n null === v && (v = C);\n break;\n }\n\n a && v && null === x.alternate && b(e, v);\n g = f(x, g, n);\n null === u ? l = x : u.sibling = x;\n u = x;\n v = C;\n }\n\n if (w.done) return c(e, v), l;\n\n if (null === v) {\n for (; !w.done; n++, w = h.next()) {\n w = t(e, w.value, k), null !== w && (g = f(w, g, n), null === u ? l = w : u.sibling = w, u = w);\n }\n\n return l;\n }\n\n for (v = d(e, v); !w.done; n++, w = h.next()) {\n w = y(v, e, n, w.value, k), null !== w && (a && null !== w.alternate && v.delete(null === w.key ? n : w.key), g = f(w, g, n), null === u ? l = w : u.sibling = w, u = w);\n }\n\n a && v.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n return function (a, d, f, h) {\n var k = \"object\" === typeof f && null !== f && f.type === fa && null === f.key;\n k && (f = f.props.children);\n var l = \"object\" === typeof f && null !== f;\n if (l) switch (f.$$typeof) {\n case da:\n a: {\n l = f.key;\n\n for (k = d; null !== k;) {\n if (k.key === l) {\n switch (k.tag) {\n case 7:\n if (f.type === fa) {\n c(a, k.sibling);\n d = e(k, f.props.children);\n d.return = a;\n a = d;\n break a;\n }\n\n break;\n\n default:\n if (k.elementType === f.type) {\n c(a, k.sibling);\n d = e(k, f.props);\n d.ref = Bd(a, k, f);\n d.return = a;\n a = d;\n break a;\n }\n\n }\n\n c(a, k);\n break;\n } else b(a, k);\n\n k = k.sibling;\n }\n\n f.type === fa ? (d = Id(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = Gd(f.type, f.key, f.props, null, a.mode, h), h.ref = Bd(a, d, f), h.return = a, a = h);\n }\n\n return g(a);\n\n case ea:\n a: {\n for (k = f.key; null !== d;) {\n if (d.key === k) {\n if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {\n c(a, d.sibling);\n d = e(d, f.children || []);\n d.return = a;\n a = d;\n break a;\n } else {\n c(a, d);\n break;\n }\n } else b(a, d);\n d = d.sibling;\n }\n\n d = Hd(f, a.mode, h);\n d.return = a;\n a = d;\n }\n\n return g(a);\n }\n 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 = Fd(f, a.mode, h), d.return = a, a = d), g(a);\n if (Ad(f)) return x(a, d, f, h);\n if (va(f)) return Y(a, d, f, h);\n l && Cd(a, f);\n if (\"undefined\" === typeof f && !k) switch (a.tag) {\n case 1:\n case 22:\n case 0:\n case 11:\n case 15:\n throw Error(q(152, wa(a.type) || \"Component\"));\n }\n return c(a, d);\n };\n }\n\n var Jd = Dd(!0),\n Kd = Dd(!1),\n Ld = {},\n L = Wb(Ld),\n Md = Wb(Ld),\n Nd = Wb(Ld);\n\n function Od(a) {\n if (a === Ld) throw Error(q(174));\n return a;\n }\n\n function Pd(a, b) {\n A(Nd, b);\n A(Md, a);\n A(L, Ld);\n a = Ea(b);\n z(L);\n A(L, a);\n }\n\n function Qd() {\n z(L);\n z(Md);\n z(Nd);\n }\n\n function Rd(a) {\n var b = Od(Nd.current),\n c = Od(L.current);\n b = Fa(c, a.type, b);\n c !== b && (A(Md, a), A(L, b));\n }\n\n function Sd(a) {\n Md.current === a && (z(L), z(Md));\n }\n\n var M = Wb(0);\n\n function Td(a) {\n for (var b = a; null !== b;) {\n if (13 === b.tag) {\n var c = b.memoizedState;\n if (null !== c && (c = c.dehydrated, null === c || Hb(c) || Ib(c))) return b;\n } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) {\n if (0 !== (b.flags & 64)) return b;\n } else if (null !== b.child) {\n b.child.return = b;\n b = b.child;\n continue;\n }\n\n if (b === a) break;\n\n for (; null === b.sibling;) {\n if (null === b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n\n return null;\n }\n\n var Ud = null,\n Vd = null,\n Wd = !1;\n\n function Xd(a, b) {\n var c = Yd(5, null, null, 0);\n c.elementType = \"DELETED\";\n c.type = \"DELETED\";\n c.stateNode = b;\n c.return = a;\n c.flags = 8;\n null !== a.lastEffect ? (a.lastEffect.nextEffect = c, a.lastEffect = c) : a.firstEffect = a.lastEffect = c;\n }\n\n function Zd(a, b) {\n switch (a.tag) {\n case 5:\n return b = Fb(b, a.type, a.pendingProps), null !== b ? (a.stateNode = b, !0) : !1;\n\n case 6:\n return b = Gb(b, a.pendingProps), null !== b ? (a.stateNode = b, !0) : !1;\n\n case 13:\n return !1;\n\n default:\n return !1;\n }\n }\n\n function $d(a) {\n if (Wd) {\n var b = Vd;\n\n if (b) {\n var c = b;\n\n if (!Zd(a, b)) {\n b = Jb(c);\n\n if (!b || !Zd(a, b)) {\n a.flags = a.flags & -1025 | 2;\n Wd = !1;\n Ud = a;\n return;\n }\n\n Xd(Ud, c);\n }\n\n Ud = a;\n Vd = Kb(b);\n } else a.flags = a.flags & -1025 | 2, Wd = !1, Ud = a;\n }\n }\n\n function ae(a) {\n for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) {\n a = a.return;\n }\n\n Ud = a;\n }\n\n function be(a) {\n if (!Va || a !== Ud) return !1;\n if (!Wd) return ae(a), Wd = !0, !1;\n var b = a.type;\n if (5 !== a.tag || \"head\" !== b && \"body\" !== b && !Ma(b, a.memoizedProps)) for (b = Vd; b;) {\n Xd(a, b), b = Jb(b);\n }\n ae(a);\n\n if (13 === a.tag) {\n if (!Va) throw Error(q(316));\n a = a.memoizedState;\n a = null !== a ? a.dehydrated : null;\n if (!a) throw Error(q(317));\n Vd = Nb(a);\n } else Vd = Ud ? Jb(a.stateNode) : null;\n\n return !0;\n }\n\n function ce() {\n Va && (Vd = Ud = null, Wd = !1);\n }\n\n var de = [];\n\n function ee() {\n for (var a = 0; a < de.length; a++) {\n var b = de[a];\n Sa ? b._workInProgressVersionPrimary = null : b._workInProgressVersionSecondary = null;\n }\n\n de.length = 0;\n }\n\n var fe = ca.ReactCurrentDispatcher,\n ge = ca.ReactCurrentBatchConfig,\n he = 0,\n N = null,\n O = null,\n P = null,\n ie = !1,\n je = !1;\n\n function Q() {\n throw Error(q(321));\n }\n\n function ke(a, b) {\n if (null === b) return !1;\n\n for (var c = 0; c < b.length && c < a.length; c++) {\n if (!I(a[c], b[c])) return !1;\n }\n\n return !0;\n }\n\n function le(a, b, c, d, e, f) {\n he = f;\n N = b;\n b.memoizedState = null;\n b.updateQueue = null;\n b.lanes = 0;\n fe.current = null === a || null === a.memoizedState ? me : ne;\n a = c(d, e);\n\n if (je) {\n f = 0;\n\n do {\n je = !1;\n if (!(25 > f)) throw Error(q(301));\n f += 1;\n P = O = null;\n b.updateQueue = null;\n fe.current = oe;\n a = c(d, e);\n } while (je);\n }\n\n fe.current = pe;\n b = null !== O && null !== O.next;\n he = 0;\n P = O = N = null;\n ie = !1;\n if (b) throw Error(q(300));\n return a;\n }\n\n function qe() {\n var a = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === P ? N.memoizedState = P = a : P = P.next = a;\n return P;\n }\n\n function re() {\n if (null === O) {\n var a = N.alternate;\n a = null !== a ? a.memoizedState : null;\n } else a = O.next;\n\n var b = null === P ? N.memoizedState : P.next;\n if (null !== b) P = b, O = a;else {\n if (null === a) throw Error(q(310));\n O = a;\n a = {\n memoizedState: O.memoizedState,\n baseState: O.baseState,\n baseQueue: O.baseQueue,\n queue: O.queue,\n next: null\n };\n null === P ? N.memoizedState = P = a : P = P.next = a;\n }\n return P;\n }\n\n function se(a, b) {\n return \"function\" === typeof b ? b(a) : b;\n }\n\n function te(a) {\n var b = re(),\n c = b.queue;\n if (null === c) throw Error(q(311));\n c.lastRenderedReducer = a;\n var d = O,\n e = d.baseQueue,\n f = c.pending;\n\n if (null !== f) {\n if (null !== e) {\n var g = e.next;\n e.next = f.next;\n f.next = g;\n }\n\n d.baseQueue = e = f;\n c.pending = null;\n }\n\n if (null !== e) {\n e = e.next;\n d = d.baseState;\n var h = g = f = null,\n k = e;\n\n do {\n var l = k.lane;\n if ((he & l) === l) null !== h && (h = h.next = {\n lane: 0,\n action: k.action,\n eagerReducer: k.eagerReducer,\n eagerState: k.eagerState,\n next: null\n }), d = k.eagerReducer === a ? k.eagerState : a(d, k.action);else {\n var n = {\n lane: l,\n action: k.action,\n eagerReducer: k.eagerReducer,\n eagerState: k.eagerState,\n next: null\n };\n null === h ? (g = h = n, f = d) : h = h.next = n;\n N.lanes |= l;\n pd |= l;\n }\n k = k.next;\n } while (null !== k && k !== e);\n\n null === h ? f = d : h.next = g;\n I(d, b.memoizedState) || (gd = !0);\n b.memoizedState = d;\n b.baseState = f;\n b.baseQueue = h;\n c.lastRenderedState = d;\n }\n\n return [b.memoizedState, c.dispatch];\n }\n\n function ue(a) {\n var b = re(),\n c = b.queue;\n if (null === c) throw Error(q(311));\n c.lastRenderedReducer = a;\n var d = c.dispatch,\n e = c.pending,\n f = b.memoizedState;\n\n if (null !== e) {\n c.pending = null;\n var g = e = e.next;\n\n do {\n f = a(f, g.action), g = g.next;\n } while (g !== e);\n\n I(f, b.memoizedState) || (gd = !0);\n b.memoizedState = f;\n null === b.baseQueue && (b.baseState = f);\n c.lastRenderedState = f;\n }\n\n return [f, d];\n }\n\n function ve(a, b, c) {\n var d = b._getVersion;\n d = d(b._source);\n var e = Sa ? b._workInProgressVersionPrimary : b._workInProgressVersionSecondary;\n if (null !== e) a = e === d;else if (a = a.mutableReadLanes, a = (he & a) === a) Sa ? b._workInProgressVersionPrimary = d : b._workInProgressVersionSecondary = d, de.push(b);\n if (a) return c(b._source);\n de.push(b);\n throw Error(q(350));\n }\n\n function we(a, b, c, d) {\n var e = R;\n if (null === e) throw Error(q(349));\n var f = b._getVersion,\n g = f(b._source),\n h = fe.current,\n k = h.useState(function () {\n return ve(e, b, c);\n }),\n l = k[1],\n n = k[0];\n k = P;\n var t = a.memoizedState,\n p = t.refs,\n y = p.getSnapshot,\n x = t.source;\n t = t.subscribe;\n var Y = N;\n a.memoizedState = {\n refs: p,\n source: b,\n subscribe: d\n };\n h.useEffect(function () {\n p.getSnapshot = c;\n p.setSnapshot = l;\n var a = f(b._source);\n\n if (!I(g, a)) {\n a = c(b._source);\n I(n, a) || (l(a), a = td(Y), e.mutableReadLanes |= a & e.pendingLanes);\n a = e.mutableReadLanes;\n e.entangledLanes |= a;\n\n for (var d = e.entanglements, h = a; 0 < h;) {\n var k = 31 - mc(h),\n t = 1 << k;\n d[k] |= a;\n h &= ~t;\n }\n }\n }, [c, b, d]);\n h.useEffect(function () {\n return d(b._source, function () {\n var a = p.getSnapshot,\n c = p.setSnapshot;\n\n try {\n c(a(b._source));\n var d = td(Y);\n e.mutableReadLanes |= d & e.pendingLanes;\n } catch (Oa) {\n c(function () {\n throw Oa;\n });\n }\n });\n }, [b, d]);\n I(y, c) && I(x, b) && I(t, d) || (a = {\n pending: null,\n dispatch: null,\n lastRenderedReducer: se,\n lastRenderedState: n\n }, a.dispatch = l = xe.bind(null, N, a), k.queue = a, k.baseQueue = null, n = ve(e, b, c), k.memoizedState = k.baseState = n);\n return n;\n }\n\n function ye(a, b, c) {\n var d = re();\n return we(d, a, b, c);\n }\n\n function ze(a) {\n var b = qe();\n \"function\" === typeof a && (a = a());\n b.memoizedState = b.baseState = a;\n a = b.queue = {\n pending: null,\n dispatch: null,\n lastRenderedReducer: se,\n lastRenderedState: a\n };\n a = a.dispatch = xe.bind(null, N, a);\n return [b.memoizedState, a];\n }\n\n function Ae(a, b, c, d) {\n a = {\n tag: a,\n create: b,\n destroy: c,\n deps: d,\n next: null\n };\n b = N.updateQueue;\n null === b ? (b = {\n lastEffect: null\n }, N.updateQueue = b, b.lastEffect = a.next = a) : (c = b.lastEffect, null === c ? b.lastEffect = a.next = a : (d = c.next, c.next = a, a.next = d, b.lastEffect = a));\n return a;\n }\n\n function Be(a) {\n var b = qe();\n a = {\n current: a\n };\n return b.memoizedState = a;\n }\n\n function Ce() {\n return re().memoizedState;\n }\n\n function De(a, b, c, d) {\n var e = qe();\n N.flags |= a;\n e.memoizedState = Ae(1 | b, c, void 0, void 0 === d ? null : d);\n }\n\n function Ee(a, b, c, d) {\n var e = re();\n d = void 0 === d ? null : d;\n var f = void 0;\n\n if (null !== O) {\n var g = O.memoizedState;\n f = g.destroy;\n\n if (null !== d && ke(d, g.deps)) {\n Ae(b, c, f, d);\n return;\n }\n }\n\n N.flags |= a;\n e.memoizedState = Ae(1 | b, c, f, d);\n }\n\n function Fe(a, b) {\n return De(516, 4, a, b);\n }\n\n function Ge(a, b) {\n return Ee(516, 4, a, b);\n }\n\n function He(a, b) {\n return Ee(4, 2, a, b);\n }\n\n function Ie(a, b) {\n if (\"function\" === typeof b) return a = a(), b(a), function () {\n b(null);\n };\n if (null !== b && void 0 !== b) return a = a(), b.current = a, function () {\n b.current = null;\n };\n }\n\n function Je(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Ee(4, 2, Ie.bind(null, b, a), c);\n }\n\n function Ke() {}\n\n function Le(a, b) {\n var c = re();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && ke(b, d[1])) return d[0];\n c.memoizedState = [a, b];\n return a;\n }\n\n function Me(a, b) {\n var c = re();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && ke(b, d[1])) return d[0];\n a = a();\n c.memoizedState = [a, b];\n return a;\n }\n\n function Ne(a, b) {\n var c = Nc();\n Pc(98 > c ? 98 : c, function () {\n a(!0);\n });\n Pc(97 < c ? 97 : c, function () {\n var c = ge.transition;\n ge.transition = 1;\n\n try {\n a(!1), b();\n } finally {\n ge.transition = c;\n }\n });\n }\n\n function xe(a, b, c) {\n var d = K(),\n e = td(a),\n f = {\n lane: e,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n },\n g = b.pending;\n null === g ? f.next = f : (f.next = g.next, g.next = f);\n b.pending = f;\n g = a.alternate;\n if (a === N || null !== g && g === N) je = ie = !0;else {\n if (0 === a.lanes && (null === g || 0 === g.lanes) && (g = b.lastRenderedReducer, null !== g)) try {\n var h = b.lastRenderedState,\n k = g(h, c);\n f.eagerReducer = g;\n f.eagerState = k;\n if (I(k, h)) return;\n } catch (l) {} finally {}\n ud(a, e, d);\n }\n }\n\n var pe = {\n readContext: J,\n useCallback: Q,\n useContext: Q,\n useEffect: Q,\n useImperativeHandle: Q,\n useLayoutEffect: Q,\n useMemo: Q,\n useReducer: Q,\n useRef: Q,\n useState: Q,\n useDebugValue: Q,\n useDeferredValue: Q,\n useTransition: Q,\n useMutableSource: Q,\n useOpaqueIdentifier: Q,\n unstable_isNewReconciler: !1\n },\n me = {\n readContext: J,\n useCallback: function useCallback(a, b) {\n qe().memoizedState = [a, void 0 === b ? null : b];\n return a;\n },\n useContext: J,\n useEffect: Fe,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return De(4, 2, Ie.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return De(4, 2, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = qe();\n b = void 0 === b ? null : b;\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: function useReducer(a, b, c) {\n var d = qe();\n b = void 0 !== c ? c(b) : b;\n d.memoizedState = d.baseState = b;\n a = d.queue = {\n pending: null,\n dispatch: null,\n lastRenderedReducer: a,\n lastRenderedState: b\n };\n a = a.dispatch = xe.bind(null, N, a);\n return [d.memoizedState, a];\n },\n useRef: Be,\n useState: ze,\n useDebugValue: Ke,\n useDeferredValue: function useDeferredValue(a) {\n var b = ze(a),\n c = b[0],\n d = b[1];\n Fe(function () {\n var b = ge.transition;\n ge.transition = 1;\n\n try {\n d(a);\n } finally {\n ge.transition = b;\n }\n }, [a]);\n return c;\n },\n useTransition: function useTransition() {\n var a = ze(!1),\n b = a[0];\n a = Ne.bind(null, a[1]);\n Be(a);\n return [a, b];\n },\n useMutableSource: function useMutableSource(a, b, c) {\n var d = qe();\n d.memoizedState = {\n refs: {\n getSnapshot: b,\n setSnapshot: null\n },\n source: a,\n subscribe: c\n };\n return we(d, a, b, c);\n },\n useOpaqueIdentifier: function useOpaqueIdentifier() {\n if (Wd) {\n var a = !1,\n b = Xa(function () {\n a || (a = !0, c(Ya()));\n throw Error(q(355));\n }),\n c = ze(b)[1];\n 0 === (N.mode & 2) && (N.flags |= 516, Ae(5, function () {\n c(Ya());\n }, void 0, null));\n return b;\n }\n\n b = Ya();\n ze(b);\n return b;\n },\n unstable_isNewReconciler: !1\n },\n ne = {\n readContext: J,\n useCallback: Le,\n useContext: J,\n useEffect: Ge,\n useImperativeHandle: Je,\n useLayoutEffect: He,\n useMemo: Me,\n useReducer: te,\n useRef: Ce,\n useState: function useState() {\n return te(se);\n },\n useDebugValue: Ke,\n useDeferredValue: function useDeferredValue(a) {\n var b = te(se),\n c = b[0],\n d = b[1];\n Ge(function () {\n var b = ge.transition;\n ge.transition = 1;\n\n try {\n d(a);\n } finally {\n ge.transition = b;\n }\n }, [a]);\n return c;\n },\n useTransition: function useTransition() {\n var a = te(se)[0];\n return [Ce().current, a];\n },\n useMutableSource: ye,\n useOpaqueIdentifier: function useOpaqueIdentifier() {\n return te(se)[0];\n },\n unstable_isNewReconciler: !1\n },\n oe = {\n readContext: J,\n useCallback: Le,\n useContext: J,\n useEffect: Ge,\n useImperativeHandle: Je,\n useLayoutEffect: He,\n useMemo: Me,\n useReducer: ue,\n useRef: Ce,\n useState: function useState() {\n return ue(se);\n },\n useDebugValue: Ke,\n useDeferredValue: function useDeferredValue(a) {\n var b = ue(se),\n c = b[0],\n d = b[1];\n Ge(function () {\n var b = ge.transition;\n ge.transition = 1;\n\n try {\n d(a);\n } finally {\n ge.transition = b;\n }\n }, [a]);\n return c;\n },\n useTransition: function useTransition() {\n var a = ue(se)[0];\n return [Ce().current, a];\n },\n useMutableSource: ye,\n useOpaqueIdentifier: function useOpaqueIdentifier() {\n return ue(se)[0];\n },\n unstable_isNewReconciler: !1\n },\n Oe = ca.ReactCurrentOwner,\n gd = !1;\n\n function S(a, b, c, d) {\n b.child = null === a ? Kd(b, null, c, d) : Jd(b, a.child, c, d);\n }\n\n function Pe(a, b, c, d, e) {\n c = c.render;\n var f = b.ref;\n fd(b, e);\n d = le(a, b, c, d, f, e);\n if (null !== a && !gd) return b.updateQueue = a.updateQueue, b.flags &= -517, a.lanes &= ~e, Re(a, b, e);\n b.flags |= 1;\n S(a, b, d, e);\n return b.child;\n }\n\n function Se(a, b, c, d, e, f) {\n if (null === a) {\n var g = c.type;\n if (\"function\" === typeof g && !Te(g) && void 0 === g.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = g, Ue(a, b, g, d, e, f);\n a = Gd(c.type, null, d, b, b.mode, f);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n }\n\n g = a.child;\n if (0 === (e & f) && (e = g.memoizedProps, c = c.compare, c = null !== c ? c : Vc, c(e, d) && a.ref === b.ref)) return Re(a, b, f);\n b.flags |= 1;\n a = Ed(g, d);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n }\n\n function Ue(a, b, c, d, e, f) {\n if (null !== a && Vc(a.memoizedProps, d) && a.ref === b.ref) if (gd = !1, 0 !== (f & e)) 0 !== (a.flags & 16384) && (gd = !0);else return b.lanes = a.lanes, Re(a, b, f);\n return Ve(a, b, c, d, f);\n }\n\n function We(a, b, c) {\n var d = b.pendingProps,\n e = d.children,\n f = null !== a ? a.memoizedState : null;\n if (\"hidden\" === d.mode || \"unstable-defer-without-hiding\" === d.mode) {\n if (0 === (b.mode & 4)) b.memoizedState = {\n baseLanes: 0\n }, Xe(b, c);else if (0 !== (c & 1073741824)) b.memoizedState = {\n baseLanes: 0\n }, Xe(b, null !== f ? f.baseLanes : c);else return a = null !== f ? f.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = {\n baseLanes: a\n }, Xe(b, a), null;\n } else null !== f ? (d = f.baseLanes | c, b.memoizedState = null) : d = c, Xe(b, d);\n S(a, b, e, c);\n return b.child;\n }\n\n function Ye(a, b) {\n var c = b.ref;\n if (null === a && null !== c || null !== a && a.ref !== c) b.flags |= 128;\n }\n\n function Ve(a, b, c, d, e) {\n var f = E(c) ? Yb : B.current;\n f = Zb(b, f);\n fd(b, e);\n c = le(a, b, c, d, f, e);\n if (null !== a && !gd) return b.updateQueue = a.updateQueue, b.flags &= -517, a.lanes &= ~e, Re(a, b, e);\n b.flags |= 1;\n S(a, b, c, e);\n return b.child;\n }\n\n function Ze(a, b, c, d, e) {\n if (E(c)) {\n var f = !0;\n cc(b);\n } else f = !1;\n\n fd(b, e);\n if (null === b.stateNode) null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2), xd(b, c, d), zd(b, c, d, e), d = !0;else if (null === a) {\n var g = b.stateNode,\n h = b.memoizedProps;\n g.props = h;\n var k = g.context,\n l = c.contextType;\n \"object\" === typeof l && null !== l ? l = J(l) : (l = E(c) ? Yb : B.current, l = Zb(b, l));\n var n = c.getDerivedStateFromProps,\n t = \"function\" === typeof n || \"function\" === typeof g.getSnapshotBeforeUpdate;\n t || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && yd(b, g, d, l);\n hd = !1;\n var p = b.memoizedState;\n g.state = p;\n od(b, d, g, e);\n k = b.memoizedState;\n h !== d || p !== k || D.current || hd ? (\"function\" === typeof n && (sd(b, c, n, d), k = b.memoizedState), (h = hd || wd(b, c, h, d, p, k, l)) ? (t || \"function\" !== typeof g.UNSAFE_componentWillMount && \"function\" !== typeof g.componentWillMount || (\"function\" === typeof g.componentWillMount && g.componentWillMount(), \"function\" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), \"function\" === typeof g.componentDidMount && (b.flags |= 4)) : (\"function\" === typeof g.componentDidMount && (b.flags |= 4), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : (\"function\" === typeof g.componentDidMount && (b.flags |= 4), d = !1);\n } else {\n g = b.stateNode;\n jd(a, b);\n h = b.memoizedProps;\n l = b.type === b.elementType ? h : Xc(b.type, h);\n g.props = l;\n t = b.pendingProps;\n p = g.context;\n k = c.contextType;\n \"object\" === typeof k && null !== k ? k = J(k) : (k = E(c) ? Yb : B.current, k = Zb(b, k));\n var y = c.getDerivedStateFromProps;\n (n = \"function\" === typeof y || \"function\" === typeof g.getSnapshotBeforeUpdate) || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== t || p !== k) && yd(b, g, d, k);\n hd = !1;\n p = b.memoizedState;\n g.state = p;\n od(b, d, g, e);\n var x = b.memoizedState;\n h !== t || p !== x || D.current || hd ? (\"function\" === typeof y && (sd(b, c, y, d), x = b.memoizedState), (l = hd || wd(b, c, l, d, p, x, k)) ? (n || \"function\" !== typeof g.UNSAFE_componentWillUpdate && \"function\" !== typeof g.componentWillUpdate || (\"function\" === typeof g.componentWillUpdate && g.componentWillUpdate(d, x, k), \"function\" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, x, k)), \"function\" === typeof g.componentDidUpdate && (b.flags |= 4), \"function\" === typeof g.getSnapshotBeforeUpdate && (b.flags |= 256)) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && p === a.memoizedState || (b.flags |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && p === a.memoizedState || (b.flags |= 256), b.memoizedProps = d, b.memoizedState = x), g.props = d, g.state = x, g.context = k, d = l) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && p === a.memoizedState || (b.flags |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && p === a.memoizedState || (b.flags |= 256), d = !1);\n }\n return $e(a, b, c, d, f, e);\n }\n\n function $e(a, b, c, d, e, f) {\n Ye(a, b);\n var g = 0 !== (b.flags & 64);\n if (!d && !g) return e && dc(b, c, !1), Re(a, b, f);\n d = b.stateNode;\n Oe.current = b;\n var h = g && \"function\" !== typeof c.getDerivedStateFromError ? null : d.render();\n b.flags |= 1;\n null !== a && g ? (b.child = Jd(b, a.child, null, f), b.child = Jd(b, null, h, f)) : S(a, b, h, f);\n b.memoizedState = d.state;\n e && dc(b, c, !0);\n return b.child;\n }\n\n function af(a) {\n var b = a.stateNode;\n b.pendingContext ? ac(a, b.pendingContext, b.pendingContext !== b.context) : b.context && ac(a, b.context, !1);\n Pd(a, b.containerInfo);\n }\n\n var bf = {\n dehydrated: null,\n retryLane: 0\n };\n\n function cf(a, b, c) {\n var d = b.pendingProps,\n e = M.current,\n f = !1,\n g;\n (g = 0 !== (b.flags & 64)) || (g = null !== a && null === a.memoizedState ? !1 : 0 !== (e & 2));\n g ? (f = !0, b.flags &= -65) : null !== a && null === a.memoizedState || void 0 === d.fallback || !0 === d.unstable_avoidThisFallback || (e |= 1);\n A(M, e & 1);\n\n if (null === a) {\n void 0 !== d.fallback && $d(b);\n a = d.children;\n e = d.fallback;\n if (f) return a = df(b, a, e, c), b.child.memoizedState = {\n baseLanes: c\n }, b.memoizedState = bf, a;\n if (\"number\" === typeof d.unstable_expectedLoadTime) return a = df(b, a, e, c), b.child.memoizedState = {\n baseLanes: c\n }, b.memoizedState = bf, b.lanes = 33554432, a;\n c = ef({\n mode: \"visible\",\n children: a\n }, b.mode, c, null);\n c.return = b;\n return b.child = c;\n }\n\n if (null !== a.memoizedState) {\n if (f) return d = ff(a, b, d.children, d.fallback, c), f = b.child, e = a.child.memoizedState, f.memoizedState = null === e ? {\n baseLanes: c\n } : {\n baseLanes: e.baseLanes | c\n }, f.childLanes = a.childLanes & ~c, b.memoizedState = bf, d;\n c = gf(a, b, d.children, c);\n b.memoizedState = null;\n return c;\n }\n\n if (f) return d = ff(a, b, d.children, d.fallback, c), f = b.child, e = a.child.memoizedState, f.memoizedState = null === e ? {\n baseLanes: c\n } : {\n baseLanes: e.baseLanes | c\n }, f.childLanes = a.childLanes & ~c, b.memoizedState = bf, d;\n c = gf(a, b, d.children, c);\n b.memoizedState = null;\n return c;\n }\n\n function df(a, b, c, d) {\n var e = a.mode,\n f = a.child;\n b = {\n mode: \"hidden\",\n children: b\n };\n 0 === (e & 2) && null !== f ? (f.childLanes = 0, f.pendingProps = b) : f = ef(b, e, 0, null);\n c = Id(c, e, d, null);\n f.return = a;\n c.return = a;\n f.sibling = c;\n a.child = f;\n return c;\n }\n\n function gf(a, b, c, d) {\n var e = a.child;\n a = e.sibling;\n c = Ed(e, {\n mode: \"visible\",\n children: c\n });\n 0 === (b.mode & 2) && (c.lanes = d);\n c.return = b;\n c.sibling = null;\n null !== a && (a.nextEffect = null, a.flags = 8, b.firstEffect = b.lastEffect = a);\n return b.child = c;\n }\n\n function ff(a, b, c, d, e) {\n var f = b.mode,\n g = a.child;\n a = g.sibling;\n var h = {\n mode: \"hidden\",\n children: c\n };\n 0 === (f & 2) && b.child !== g ? (c = b.child, c.childLanes = 0, c.pendingProps = h, g = c.lastEffect, null !== g ? (b.firstEffect = c.firstEffect, b.lastEffect = g, g.nextEffect = null) : b.firstEffect = b.lastEffect = null) : c = Ed(g, h);\n null !== a ? d = Ed(a, d) : (d = Id(d, f, e, null), d.flags |= 2);\n d.return = b;\n c.return = b;\n c.sibling = d;\n b.child = c;\n return d;\n }\n\n function hf(a, b) {\n a.lanes |= b;\n var c = a.alternate;\n null !== c && (c.lanes |= b);\n ed(a.return, b);\n }\n\n function jf(a, b, c, d, e, f) {\n var g = a.memoizedState;\n null === g ? a.memoizedState = {\n isBackwards: b,\n rendering: null,\n renderingStartTime: 0,\n last: d,\n tail: c,\n tailMode: e,\n lastEffect: f\n } : (g.isBackwards = b, g.rendering = null, g.renderingStartTime = 0, g.last = d, g.tail = c, g.tailMode = e, g.lastEffect = f);\n }\n\n function kf(a, b, c) {\n var d = b.pendingProps,\n e = d.revealOrder,\n f = d.tail;\n S(a, b, d.children, c);\n d = M.current;\n if (0 !== (d & 2)) d = d & 1 | 2, b.flags |= 64;else {\n if (null !== a && 0 !== (a.flags & 64)) a: for (a = b.child; null !== a;) {\n if (13 === a.tag) null !== a.memoizedState && hf(a, c);else if (19 === a.tag) hf(a, c);else if (null !== a.child) {\n a.child.return = a;\n a = a.child;\n continue;\n }\n if (a === b) break a;\n\n for (; null === a.sibling;) {\n if (null === a.return || a.return === b) break a;\n a = a.return;\n }\n\n a.sibling.return = a.return;\n a = a.sibling;\n }\n d &= 1;\n }\n A(M, d);\n if (0 === (b.mode & 2)) b.memoizedState = null;else switch (e) {\n case \"forwards\":\n c = b.child;\n\n for (e = null; null !== c;) {\n a = c.alternate, null !== a && null === Td(a) && (e = c), c = c.sibling;\n }\n\n c = e;\n null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null);\n jf(b, !1, e, c, f, b.lastEffect);\n break;\n\n case \"backwards\":\n c = null;\n e = b.child;\n\n for (b.child = null; null !== e;) {\n a = e.alternate;\n\n if (null !== a && null === Td(a)) {\n b.child = e;\n break;\n }\n\n a = e.sibling;\n e.sibling = c;\n c = e;\n e = a;\n }\n\n jf(b, !0, c, null, f, b.lastEffect);\n break;\n\n case \"together\":\n jf(b, !1, null, null, void 0, b.lastEffect);\n break;\n\n default:\n b.memoizedState = null;\n }\n return b.child;\n }\n\n function Re(a, b, c) {\n null !== a && (b.dependencies = a.dependencies);\n pd |= b.lanes;\n\n if (0 !== (c & b.childLanes)) {\n if (null !== a && b.child !== a.child) throw Error(q(153));\n\n if (null !== b.child) {\n a = b.child;\n c = Ed(a, a.pendingProps);\n b.child = c;\n\n for (c.return = b; null !== a.sibling;) {\n a = a.sibling, c = c.sibling = Ed(a, a.pendingProps), c.return = b;\n }\n\n c.sibling = null;\n }\n\n return b.child;\n }\n\n return null;\n }\n\n function lf(a) {\n a.flags |= 4;\n }\n\n var _mf, nf, of, pf;\n\n if (Ta) _mf = function mf(a, b) {\n for (var c = b.child; null !== c;) {\n if (5 === c.tag || 6 === c.tag) Ja(a, c.stateNode);else if (4 !== c.tag && null !== c.child) {\n c.child.return = c;\n c = c.child;\n continue;\n }\n if (c === b) break;\n\n for (; null === c.sibling;) {\n if (null === c.return || c.return === b) return;\n c = c.return;\n }\n\n c.sibling.return = c.return;\n c = c.sibling;\n }\n }, nf = function nf() {}, of = function of(a, b, c, d, e) {\n a = a.memoizedProps;\n\n if (a !== d) {\n var f = b.stateNode,\n g = Od(L.current);\n c = La(f, c, a, d, e, g);\n (b.updateQueue = c) && lf(b);\n }\n }, pf = function pf(a, b, c, d) {\n c !== d && lf(b);\n };else if (Ua) {\n _mf = function mf(a, b, c, d) {\n for (var e = b.child; null !== e;) {\n if (5 === e.tag) {\n var f = e.stateNode;\n c && d && (f = Db(f, e.type, e.memoizedProps, e));\n Ja(a, f);\n } else if (6 === e.tag) f = e.stateNode, c && d && (f = Eb(f, e.memoizedProps, e)), Ja(a, f);else if (4 !== e.tag) {\n if (13 === e.tag && 0 !== (e.flags & 4) && (f = null !== e.memoizedState)) {\n var g = e.child;\n\n if (null !== g && (null !== g.child && (g.child.return = g, _mf(a, g, !0, f)), f = g.sibling, null !== f)) {\n f.return = e;\n e = f;\n continue;\n }\n }\n\n if (null !== e.child) {\n e.child.return = e;\n e = e.child;\n continue;\n }\n }\n\n if (e === b) break;\n\n for (; null === e.sibling;) {\n if (null === e.return || e.return === b) return;\n e = e.return;\n }\n\n e.sibling.return = e.return;\n e = e.sibling;\n }\n };\n\n var qf = function qf(a, b, c, d) {\n for (var e = b.child; null !== e;) {\n if (5 === e.tag) {\n var f = e.stateNode;\n c && d && (f = Db(f, e.type, e.memoizedProps, e));\n Ab(a, f);\n } else if (6 === e.tag) f = e.stateNode, c && d && (f = Eb(f, e.memoizedProps, e)), Ab(a, f);else if (4 !== e.tag) {\n if (13 === e.tag && 0 !== (e.flags & 4) && (f = null !== e.memoizedState)) {\n var g = e.child;\n\n if (null !== g && (null !== g.child && (g.child.return = g, qf(a, g, !0, f)), f = g.sibling, null !== f)) {\n f.return = e;\n e = f;\n continue;\n }\n }\n\n if (null !== e.child) {\n e.child.return = e;\n e = e.child;\n continue;\n }\n }\n\n if (e === b) break;\n\n for (; null === e.sibling;) {\n if (null === e.return || e.return === b) return;\n e = e.return;\n }\n\n e.sibling.return = e.return;\n e = e.sibling;\n }\n };\n\n nf = function nf(a) {\n var b = a.stateNode;\n\n if (null !== a.firstEffect) {\n var c = b.containerInfo,\n d = zb(c);\n qf(d, a, !1, !1);\n b.pendingChildren = d;\n lf(a);\n Bb(c, d);\n }\n };\n\n of = function of(a, b, c, d, e) {\n var f = a.stateNode,\n g = a.memoizedProps;\n if ((a = null === b.firstEffect) && g === d) b.stateNode = f;else {\n var h = b.stateNode,\n k = Od(L.current),\n l = null;\n g !== d && (l = La(h, c, g, d, e, k));\n a && null === l ? b.stateNode = f : (f = yb(f, l, c, g, d, b, a, h), Ka(f, c, d, e, k) && lf(b), b.stateNode = f, a ? lf(b) : _mf(f, b, !1, !1));\n }\n };\n\n pf = function pf(a, b, c, d) {\n c !== d ? (a = Od(Nd.current), c = Od(L.current), b.stateNode = Na(d, a, c, b), lf(b)) : b.stateNode = a.stateNode;\n };\n } else nf = function nf() {}, of = function of() {}, pf = function pf() {};\n\n function rf(a, b) {\n if (!Wd) switch (a.tailMode) {\n case \"hidden\":\n b = a.tail;\n\n for (var c = null; null !== b;) {\n null !== b.alternate && (c = b), b = b.sibling;\n }\n\n null === c ? a.tail = null : c.sibling = null;\n break;\n\n case \"collapsed\":\n c = a.tail;\n\n for (var d = null; null !== c;) {\n null !== c.alternate && (d = c), c = c.sibling;\n }\n\n null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null;\n }\n }\n\n function sf(a, b, c) {\n var d = b.pendingProps;\n\n switch (b.tag) {\n case 2:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return null;\n\n case 1:\n return E(b.type) && $b(), null;\n\n case 3:\n Qd();\n z(D);\n z(B);\n ee();\n d = b.stateNode;\n d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null);\n if (null === a || null === a.child) be(b) ? lf(b) : d.hydrate || (b.flags |= 256);\n nf(b);\n return null;\n\n case 5:\n Sd(b);\n var e = Od(Nd.current);\n c = b.type;\n if (null !== a && null != b.stateNode) of(a, b, c, d, e), a.ref !== b.ref && (b.flags |= 128);else {\n if (!d) {\n if (null === b.stateNode) throw Error(q(166));\n return null;\n }\n\n a = Od(L.current);\n\n if (be(b)) {\n if (!Va) throw Error(q(175));\n a = Lb(b.stateNode, b.type, b.memoizedProps, e, a, b);\n b.updateQueue = a;\n null !== a && lf(b);\n } else {\n var f = Ia(c, d, e, a, b);\n\n _mf(f, b, !1, !1);\n\n b.stateNode = f;\n Ka(f, c, d, e, a) && lf(b);\n }\n\n null !== b.ref && (b.flags |= 128);\n }\n return null;\n\n case 6:\n if (a && null != b.stateNode) pf(a, b, a.memoizedProps, d);else {\n if (\"string\" !== typeof d && null === b.stateNode) throw Error(q(166));\n a = Od(Nd.current);\n e = Od(L.current);\n\n if (be(b)) {\n if (!Va) throw Error(q(176));\n Mb(b.stateNode, b.memoizedProps, b) && lf(b);\n } else b.stateNode = Na(d, a, e, b);\n }\n return null;\n\n case 13:\n z(M);\n d = b.memoizedState;\n if (0 !== (b.flags & 64)) return b.lanes = c, b;\n d = null !== d;\n e = !1;\n null === a ? void 0 !== b.memoizedProps.fallback && be(b) : e = null !== a.memoizedState;\n if (d && !e && 0 !== (b.mode & 2)) if (null === a && !0 !== b.memoizedProps.unstable_avoidThisFallback || 0 !== (M.current & 1)) 0 === T && (T = 3);else {\n if (0 === T || 3 === T) T = 4;\n null === R || 0 === (pd & 134217727) && 0 === (tf & 134217727) || uf(R, U);\n }\n Ua && d && (b.flags |= 4);\n Ta && (d || e) && (b.flags |= 4);\n return null;\n\n case 4:\n return Qd(), nf(b), null === a && ab(b.stateNode.containerInfo), null;\n\n case 10:\n return dd(b), null;\n\n case 17:\n return E(b.type) && $b(), null;\n\n case 19:\n z(M);\n d = b.memoizedState;\n if (null === d) return null;\n e = 0 !== (b.flags & 64);\n f = d.rendering;\n if (null === f) {\n if (e) rf(d, !1);else {\n if (0 !== T || null !== a && 0 !== (a.flags & 64)) for (a = b.child; null !== a;) {\n f = Td(a);\n\n if (null !== f) {\n b.flags |= 64;\n rf(d, !1);\n a = f.updateQueue;\n null !== a && (b.updateQueue = a, b.flags |= 4);\n null === d.lastEffect && (b.firstEffect = null);\n b.lastEffect = d.lastEffect;\n a = c;\n\n for (d = b.child; null !== d;) {\n e = d, c = a, e.flags &= 2, e.nextEffect = null, e.firstEffect = null, e.lastEffect = null, f = e.alternate, null === f ? (e.childLanes = 0, e.lanes = c, e.child = null, e.memoizedProps = null, e.memoizedState = null, e.updateQueue = null, e.dependencies = null, e.stateNode = null) : (e.childLanes = f.childLanes, e.lanes = f.lanes, e.child = f.child, e.memoizedProps = f.memoizedProps, e.memoizedState = f.memoizedState, e.updateQueue = f.updateQueue, e.type = f.type, c = f.dependencies, e.dependencies = null === c ? null : {\n lanes: c.lanes,\n firstContext: c.firstContext\n }), d = d.sibling;\n }\n\n A(M, M.current & 1 | 2);\n return b.child;\n }\n\n a = a.sibling;\n }\n null !== d.tail && G() > vf && (b.flags |= 64, e = !0, rf(d, !1), b.lanes = 33554432);\n }\n } else {\n if (!e) if (a = Td(f), null !== a) {\n if (b.flags |= 64, e = !0, a = a.updateQueue, null !== a && (b.updateQueue = a, b.flags |= 4), rf(d, !0), null === d.tail && \"hidden\" === d.tailMode && !f.alternate && !Wd) return b = b.lastEffect = d.lastEffect, null !== b && (b.nextEffect = null), null;\n } else 2 * G() - d.renderingStartTime > vf && 1073741824 !== c && (b.flags |= 64, e = !0, rf(d, !1), b.lanes = 33554432);\n d.isBackwards ? (f.sibling = b.child, b.child = f) : (a = d.last, null !== a ? a.sibling = f : b.child = f, d.last = f);\n }\n return null !== d.tail ? (a = d.tail, d.rendering = a, d.tail = a.sibling, d.lastEffect = b.lastEffect, d.renderingStartTime = G(), a.sibling = null, b = M.current, A(M, e ? b & 1 | 2 : b & 1), a) : null;\n\n case 23:\n case 24:\n return wf(), null !== a && null !== a.memoizedState !== (null !== b.memoizedState) && \"unstable-defer-without-hiding\" !== d.mode && (b.flags |= 4), null;\n }\n\n throw Error(q(156, b.tag));\n }\n\n function xf(a) {\n switch (a.tag) {\n case 1:\n E(a.type) && $b();\n var b = a.flags;\n return b & 4096 ? (a.flags = b & -4097 | 64, a) : null;\n\n case 3:\n Qd();\n z(D);\n z(B);\n ee();\n b = a.flags;\n if (0 !== (b & 64)) throw Error(q(285));\n a.flags = b & -4097 | 64;\n return a;\n\n case 5:\n return Sd(a), null;\n\n case 13:\n return z(M), b = a.flags, b & 4096 ? (a.flags = b & -4097 | 64, a) : null;\n\n case 19:\n return z(M), null;\n\n case 4:\n return Qd(), null;\n\n case 10:\n return dd(a), null;\n\n case 23:\n case 24:\n return wf(), null;\n\n default:\n return null;\n }\n }\n\n function yf(a, b) {\n try {\n var c = \"\",\n d = b;\n\n do {\n c += Wc(d), d = d.return;\n } while (d);\n\n var e = c;\n } catch (f) {\n e = \"\\nError generating stack: \" + f.message + \"\\n\" + f.stack;\n }\n\n return {\n value: a,\n source: b,\n stack: e\n };\n }\n\n function zf(a, b) {\n try {\n console.error(b.value);\n } catch (c) {\n setTimeout(function () {\n throw c;\n });\n }\n }\n\n var Af = \"function\" === typeof WeakMap ? WeakMap : Map;\n\n function Bf(a, b, c) {\n c = kd(-1, c);\n c.tag = 3;\n c.payload = {\n element: null\n };\n var d = b.value;\n\n c.callback = function () {\n Cf || (Cf = !0, Df = d);\n zf(a, b);\n };\n\n return c;\n }\n\n function Ef(a, b, c) {\n c = kd(-1, c);\n c.tag = 3;\n var d = a.type.getDerivedStateFromError;\n\n if (\"function\" === typeof d) {\n var e = b.value;\n\n c.payload = function () {\n zf(a, b);\n return d(e);\n };\n }\n\n var f = a.stateNode;\n null !== f && \"function\" === typeof f.componentDidCatch && (c.callback = function () {\n \"function\" !== typeof d && (null === Ff ? Ff = new Set([this]) : Ff.add(this), zf(a, b));\n var c = b.stack;\n this.componentDidCatch(b.value, {\n componentStack: null !== c ? c : \"\"\n });\n });\n return c;\n }\n\n var Gf = \"function\" === typeof WeakSet ? WeakSet : Set;\n\n function Hf(a) {\n var b = a.ref;\n if (null !== b) if (\"function\" === typeof b) try {\n b(null);\n } catch (c) {\n If(a, c);\n } else b.current = null;\n }\n\n function Jf(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 15:\n case 22:\n return;\n\n case 1:\n if (b.flags & 256 && null !== a) {\n var c = a.memoizedProps,\n d = a.memoizedState;\n a = b.stateNode;\n b = a.getSnapshotBeforeUpdate(b.elementType === b.type ? c : Xc(b.type, c), d);\n a.__reactInternalSnapshotBeforeUpdate = b;\n }\n\n return;\n\n case 3:\n Ta && b.flags & 256 && xb(b.stateNode.containerInfo);\n return;\n\n case 5:\n case 6:\n case 4:\n case 17:\n return;\n }\n\n throw Error(q(163));\n }\n\n function Kf(a, b) {\n b = b.updateQueue;\n b = null !== b ? b.lastEffect : null;\n\n if (null !== b) {\n var c = b = b.next;\n\n do {\n if ((c.tag & a) === a) {\n var d = c.destroy;\n c.destroy = void 0;\n void 0 !== d && d();\n }\n\n c = c.next;\n } while (c !== b);\n }\n }\n\n function Lf(a, b, c) {\n switch (c.tag) {\n case 0:\n case 11:\n case 15:\n case 22:\n b = c.updateQueue;\n b = null !== b ? b.lastEffect : null;\n\n if (null !== b) {\n a = b = b.next;\n\n do {\n if (3 === (a.tag & 3)) {\n var d = a.create;\n a.destroy = d();\n }\n\n a = a.next;\n } while (a !== b);\n }\n\n b = c.updateQueue;\n b = null !== b ? b.lastEffect : null;\n\n if (null !== b) {\n a = b = b.next;\n\n do {\n var e = a;\n d = e.next;\n e = e.tag;\n 0 !== (e & 4) && 0 !== (e & 1) && (Mf(c, a), Nf(c, a));\n a = d;\n } while (a !== b);\n }\n\n return;\n\n case 1:\n a = c.stateNode;\n c.flags & 4 && (null === b ? a.componentDidMount() : (d = c.elementType === c.type ? b.memoizedProps : Xc(c.type, b.memoizedProps), a.componentDidUpdate(d, b.memoizedState, a.__reactInternalSnapshotBeforeUpdate)));\n b = c.updateQueue;\n null !== b && qd(c, b, a);\n return;\n\n case 3:\n b = c.updateQueue;\n\n if (null !== b) {\n a = null;\n if (null !== c.child) switch (c.child.tag) {\n case 5:\n a = Da(c.child.stateNode);\n break;\n\n case 1:\n a = c.child.stateNode;\n }\n qd(c, b, a);\n }\n\n return;\n\n case 5:\n a = c.stateNode;\n null === b && c.flags & 4 && mb(a, c.type, c.memoizedProps, c);\n return;\n\n case 6:\n return;\n\n case 4:\n return;\n\n case 12:\n return;\n\n case 13:\n Va && null === c.memoizedState && (c = c.alternate, null !== c && (c = c.memoizedState, null !== c && (c = c.dehydrated, null !== c && Pb(c))));\n return;\n\n case 19:\n case 17:\n case 20:\n case 21:\n case 23:\n case 24:\n return;\n }\n\n throw Error(q(163));\n }\n\n function Of(a, b) {\n if (Ta) for (var c = a;;) {\n if (5 === c.tag) {\n var d = c.stateNode;\n b ? tb(d) : vb(c.stateNode, c.memoizedProps);\n } else if (6 === c.tag) d = c.stateNode, b ? ub(d) : wb(d, c.memoizedProps);else if ((23 !== c.tag && 24 !== c.tag || null === c.memoizedState || c === a) && null !== c.child) {\n c.child.return = c;\n c = c.child;\n continue;\n }\n\n if (c === a) break;\n\n for (; null === c.sibling;) {\n if (null === c.return || c.return === a) return;\n c = c.return;\n }\n\n c.sibling.return = c.return;\n c = c.sibling;\n }\n }\n\n function Pf(a, b) {\n if (fc && \"function\" === typeof fc.onCommitFiberUnmount) try {\n fc.onCommitFiberUnmount(ec, b);\n } catch (f) {}\n\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n case 22:\n a = b.updateQueue;\n\n if (null !== a && (a = a.lastEffect, null !== a)) {\n var c = a = a.next;\n\n do {\n var d = c,\n e = d.destroy;\n d = d.tag;\n if (void 0 !== e) if (0 !== (d & 4)) Mf(b, c);else {\n d = b;\n\n try {\n e();\n } catch (f) {\n If(d, f);\n }\n }\n c = c.next;\n } while (c !== a);\n }\n\n break;\n\n case 1:\n Hf(b);\n a = b.stateNode;\n if (\"function\" === typeof a.componentWillUnmount) try {\n a.props = b.memoizedProps, a.state = b.memoizedState, a.componentWillUnmount();\n } catch (f) {\n If(b, f);\n }\n break;\n\n case 5:\n Hf(b);\n break;\n\n case 4:\n Ta ? Qf(a, b) : Ua && Ua && (b = b.stateNode.containerInfo, a = zb(b), Cb(b, a));\n }\n }\n\n function Rf(a, b) {\n for (var c = b;;) {\n if (Pf(a, c), null === c.child || Ta && 4 === c.tag) {\n if (c === b) break;\n\n for (; null === c.sibling;) {\n if (null === c.return || c.return === b) return;\n c = c.return;\n }\n\n c.sibling.return = c.return;\n c = c.sibling;\n } else c.child.return = c, c = c.child;\n }\n }\n\n function Sf(a) {\n a.alternate = null;\n a.child = null;\n a.dependencies = null;\n a.firstEffect = null;\n a.lastEffect = null;\n a.memoizedProps = null;\n a.memoizedState = null;\n a.pendingProps = null;\n a.return = null;\n a.updateQueue = null;\n }\n\n function Tf(a) {\n return 5 === a.tag || 3 === a.tag || 4 === a.tag;\n }\n\n function Uf(a) {\n if (Ta) {\n a: {\n for (var b = a.return; null !== b;) {\n if (Tf(b)) break a;\n b = b.return;\n }\n\n throw Error(q(160));\n }\n\n var c = b;\n b = c.stateNode;\n\n switch (c.tag) {\n case 5:\n var d = !1;\n break;\n\n case 3:\n b = b.containerInfo;\n d = !0;\n break;\n\n case 4:\n b = b.containerInfo;\n d = !0;\n break;\n\n default:\n throw Error(q(161));\n }\n\n c.flags & 16 && (sb(b), c.flags &= -17);\n\n a: b: for (c = a;;) {\n for (; null === c.sibling;) {\n if (null === c.return || Tf(c.return)) {\n c = null;\n break a;\n }\n\n c = c.return;\n }\n\n c.sibling.return = c.return;\n\n for (c = c.sibling; 5 !== c.tag && 6 !== c.tag && 18 !== c.tag;) {\n if (c.flags & 2) continue b;\n if (null === c.child || 4 === c.tag) continue b;else c.child.return = c, c = c.child;\n }\n\n if (!(c.flags & 2)) {\n c = c.stateNode;\n break a;\n }\n }\n\n d ? Vf(a, c, b) : Wf(a, c, b);\n }\n }\n\n function Vf(a, b, c) {\n var d = a.tag,\n e = 5 === d || 6 === d;\n if (e) a = e ? a.stateNode : a.stateNode.instance, b ? pb(c, a, b) : kb(c, a);else if (4 !== d && (a = a.child, null !== a)) for (Vf(a, b, c), a = a.sibling; null !== a;) {\n Vf(a, b, c), a = a.sibling;\n }\n }\n\n function Wf(a, b, c) {\n var d = a.tag,\n e = 5 === d || 6 === d;\n if (e) a = e ? a.stateNode : a.stateNode.instance, b ? ob(c, a, b) : jb(c, a);else if (4 !== d && (a = a.child, null !== a)) for (Wf(a, b, c), a = a.sibling; null !== a;) {\n Wf(a, b, c), a = a.sibling;\n }\n }\n\n function Qf(a, b) {\n for (var c = b, d = !1, e, f;;) {\n if (!d) {\n d = c.return;\n\n a: for (;;) {\n if (null === d) throw Error(q(160));\n e = d.stateNode;\n\n switch (d.tag) {\n case 5:\n f = !1;\n break a;\n\n case 3:\n e = e.containerInfo;\n f = !0;\n break a;\n\n case 4:\n e = e.containerInfo;\n f = !0;\n break a;\n }\n\n d = d.return;\n }\n\n d = !0;\n }\n\n if (5 === c.tag || 6 === c.tag) Rf(a, c), f ? rb(e, c.stateNode) : qb(e, c.stateNode);else if (4 === c.tag) {\n if (null !== c.child) {\n e = c.stateNode.containerInfo;\n f = !0;\n c.child.return = c;\n c = c.child;\n continue;\n }\n } else if (Pf(a, c), null !== c.child) {\n c.child.return = c;\n c = c.child;\n continue;\n }\n if (c === b) break;\n\n for (; null === c.sibling;) {\n if (null === c.return || c.return === b) return;\n c = c.return;\n 4 === c.tag && (d = !1);\n }\n\n c.sibling.return = c.return;\n c = c.sibling;\n }\n }\n\n function Xf(a, b) {\n if (Ta) {\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n case 22:\n Kf(3, b);\n return;\n\n case 1:\n return;\n\n case 5:\n var c = b.stateNode;\n\n if (null != c) {\n var d = b.memoizedProps;\n a = null !== a ? a.memoizedProps : d;\n var e = b.type,\n f = b.updateQueue;\n b.updateQueue = null;\n null !== f && nb(c, f, e, a, d, b);\n }\n\n return;\n\n case 6:\n if (null === b.stateNode) throw Error(q(162));\n c = b.memoizedProps;\n lb(b.stateNode, null !== a ? a.memoizedProps : c, c);\n return;\n\n case 3:\n Va && (b = b.stateNode, b.hydrate && (b.hydrate = !1, Ob(b.containerInfo)));\n return;\n\n case 12:\n return;\n\n case 13:\n Yf(b);\n Zf(b);\n return;\n\n case 19:\n Zf(b);\n return;\n\n case 17:\n return;\n\n case 23:\n case 24:\n Of(b, null !== b.memoizedState);\n return;\n }\n\n throw Error(q(163));\n }\n\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n case 22:\n Kf(3, b);\n return;\n\n case 12:\n return;\n\n case 13:\n Yf(b);\n Zf(b);\n return;\n\n case 19:\n Zf(b);\n return;\n\n case 3:\n Va && (c = b.stateNode, c.hydrate && (c.hydrate = !1, Ob(c.containerInfo)));\n break;\n\n case 23:\n case 24:\n return;\n }\n\n a: if (Ua) {\n switch (b.tag) {\n case 1:\n case 5:\n case 6:\n case 20:\n break a;\n\n case 3:\n case 4:\n b = b.stateNode;\n Cb(b.containerInfo, b.pendingChildren);\n break a;\n }\n\n throw Error(q(163));\n }\n }\n\n function Yf(a) {\n null !== a.memoizedState && ($f = G(), Ta && Of(a.child, !0));\n }\n\n function Zf(a) {\n var b = a.updateQueue;\n\n if (null !== b) {\n a.updateQueue = null;\n var c = a.stateNode;\n null === c && (c = a.stateNode = new Gf());\n b.forEach(function (b) {\n var d = ag.bind(null, a, b);\n c.has(b) || (c.add(b), b.then(d, d));\n });\n }\n }\n\n function bg(a, b) {\n return null !== a && (a = a.memoizedState, null === a || null !== a.dehydrated) ? (b = b.memoizedState, null !== b && null === b.dehydrated) : !1;\n }\n\n var cg = 0,\n dg = 1,\n eg = 2,\n fg = 3,\n gg = 4;\n\n if (\"function\" === typeof Symbol && Symbol.for) {\n var hg = Symbol.for;\n cg = hg(\"selector.component\");\n dg = hg(\"selector.has_pseudo_class\");\n eg = hg(\"selector.role\");\n fg = hg(\"selector.test_id\");\n gg = hg(\"selector.text\");\n }\n\n function ig(a) {\n var b = Wa(a);\n\n if (null != b) {\n if (\"string\" !== typeof b.memoizedProps[\"data-testname\"]) throw Error(q(364));\n return b;\n }\n\n a = cb(a);\n if (null === a) throw Error(q(362));\n return a.stateNode.current;\n }\n\n function jg(a, b) {\n switch (b.$$typeof) {\n case cg:\n if (a.type === b.value) return !0;\n break;\n\n case dg:\n a: {\n b = b.value;\n a = [a, 0];\n\n for (var c = 0; c < a.length;) {\n var d = a[c++],\n e = a[c++],\n f = b[e];\n\n if (5 !== d.tag || !fb(d)) {\n for (; null != f && jg(d, f);) {\n e++, f = b[e];\n }\n\n if (e === b.length) {\n b = !0;\n break a;\n } else for (d = d.child; null !== d;) {\n a.push(d, e), d = d.sibling;\n }\n }\n }\n\n b = !1;\n }\n\n return b;\n\n case eg:\n if (5 === a.tag && gb(a.stateNode, b.value)) return !0;\n break;\n\n case gg:\n if (5 === a.tag || 6 === a.tag) if (a = eb(a), null !== a && 0 <= a.indexOf(b.value)) return !0;\n break;\n\n case fg:\n if (5 === a.tag && (a = a.memoizedProps[\"data-testname\"], \"string\" === typeof a && a.toLowerCase() === b.value.toLowerCase())) return !0;\n break;\n\n default:\n throw Error(q(365, b));\n }\n\n return !1;\n }\n\n function kg(a) {\n switch (a.$$typeof) {\n case cg:\n return \"<\" + (wa(a.value) || \"Unknown\") + \">\";\n\n case dg:\n return \":has(\" + (kg(a) || \"\") + \")\";\n\n case eg:\n return '[role=\"' + a.value + '\"]';\n\n case gg:\n return '\"' + a.value + '\"';\n\n case fg:\n return '[data-testname=\"' + a.value + '\"]';\n\n default:\n throw Error(q(365, a));\n }\n }\n\n function lg(a, b) {\n var c = [];\n a = [a, 0];\n\n for (var d = 0; d < a.length;) {\n var e = a[d++],\n f = a[d++],\n g = b[f];\n\n if (5 !== e.tag || !fb(e)) {\n for (; null != g && jg(e, g);) {\n f++, g = b[f];\n }\n\n if (f === b.length) c.push(e);else for (e = e.child; null !== e;) {\n a.push(e, f), e = e.sibling;\n }\n }\n }\n\n return c;\n }\n\n function mg(a, b) {\n if (!bb) throw Error(q(363));\n a = ig(a);\n a = lg(a, b);\n b = [];\n a = Array.from(a);\n\n for (var c = 0; c < a.length;) {\n var d = a[c++];\n if (5 === d.tag) fb(d) || b.push(d.stateNode);else for (d = d.child; null !== d;) {\n a.push(d), d = d.sibling;\n }\n }\n\n return b;\n }\n\n var ng = null;\n\n function og(a) {\n if (null === ng) try {\n var b = (\"require\" + Math.random()).slice(0, 7);\n ng = (module && module[b]).call(module, \"timers\").setImmediate;\n } catch (c) {\n ng = function ng(a) {\n var b = new MessageChannel();\n b.port1.onmessage = a;\n b.port2.postMessage(void 0);\n };\n }\n return ng(a);\n }\n\n var pg = Math.ceil,\n qg = ca.ReactCurrentDispatcher,\n rg = ca.ReactCurrentOwner,\n sg = ca.IsSomeRendererActing,\n V = 0,\n R = null,\n W = null,\n U = 0,\n tg = 0,\n ug = Wb(0),\n T = 0,\n vg = null,\n wg = 0,\n pd = 0,\n tf = 0,\n xg = 0,\n yg = null,\n $f = 0,\n vf = Infinity;\n\n function zg() {\n vf = G() + 500;\n }\n\n var X = null,\n Cf = !1,\n Df = null,\n Ff = null,\n Ag = !1,\n Bg = null,\n Cg = 90,\n Dg = [],\n Eg = [],\n Fg = null,\n Gg = 0,\n Hg = null,\n Ig = -1,\n Jg = 0,\n Kg = 0,\n Lg = null,\n Mg = !1;\n\n function K() {\n return 0 !== (V & 48) ? G() : -1 !== Ig ? Ig : Ig = G();\n }\n\n function td(a) {\n a = a.mode;\n if (0 === (a & 2)) return 1;\n if (0 === (a & 4)) return 99 === Nc() ? 1 : 2;\n 0 === Jg && (Jg = wg);\n\n if (0 !== Sc.transition) {\n 0 !== Kg && (Kg = null !== yg ? yg.pendingLanes : 0);\n a = Jg;\n var b = 4186112 & ~Kg;\n b &= -b;\n 0 === b && (a = 4186112 & ~a, b = a & -a, 0 === b && (b = 8192));\n return b;\n }\n\n a = Nc();\n 0 !== (V & 4) && 98 === a ? a = oc(12, Jg) : (a = jc(a), a = oc(a, Jg));\n return a;\n }\n\n function ud(a, b, c) {\n if (50 < Gg) throw Gg = 0, Hg = null, Error(q(185));\n a = Ng(a, b);\n if (null === a) return null;\n rc(a, b, c);\n a === R && (tf |= b, 4 === T && uf(a, U));\n var d = Nc();\n 1 === b ? 0 !== (V & 8) && 0 === (V & 48) ? Og(a) : (Z(a, c), 0 === V && (zg(), H())) : (0 === (V & 4) || 98 !== d && 99 !== d || (null === Fg ? Fg = new Set([a]) : Fg.add(a)), Z(a, c));\n yg = a;\n }\n\n function Ng(a, b) {\n a.lanes |= b;\n var c = a.alternate;\n null !== c && (c.lanes |= b);\n c = a;\n\n for (a = a.return; null !== a;) {\n a.childLanes |= b, c = a.alternate, null !== c && (c.childLanes |= b), c = a, a = a.return;\n }\n\n return 3 === c.tag ? c.stateNode : null;\n }\n\n function Z(a, b) {\n for (var c = a.callbackNode, d = a.suspendedLanes, e = a.pingedLanes, f = a.expirationTimes, g = a.pendingLanes; 0 < g;) {\n var h = 31 - mc(g),\n k = 1 << h,\n l = f[h];\n\n if (-1 === l) {\n if (0 === (k & d) || 0 !== (k & e)) {\n l = b;\n ic(k);\n var n = F;\n f[h] = 10 <= n ? l + 250 : 6 <= n ? l + 5E3 : -1;\n }\n } else l <= b && (a.expiredLanes |= k);\n\n g &= ~k;\n }\n\n d = lc(a, a === R ? U : 0);\n b = F;\n if (0 === d) null !== c && (c !== Hc && xc(c), a.callbackNode = null, a.callbackPriority = 0);else {\n if (null !== c) {\n if (a.callbackPriority === b) return;\n c !== Hc && xc(c);\n }\n\n 15 === b ? (c = Og.bind(null, a), null === Jc ? (Jc = [c], Kc = wc(Cc, Rc)) : Jc.push(c), c = Hc) : 14 === b ? c = Qc(99, Og.bind(null, a)) : (c = kc(b), c = Qc(c, Pg.bind(null, a)));\n a.callbackPriority = b;\n a.callbackNode = c;\n }\n }\n\n function Pg(a) {\n Ig = -1;\n Kg = Jg = 0;\n if (0 !== (V & 48)) throw Error(q(327));\n var b = a.callbackNode;\n if (Qg() && a.callbackNode !== b) return null;\n var c = lc(a, a === R ? U : 0);\n if (0 === c) return null;\n var d = c;\n var e = V;\n V |= 16;\n var f = Rg();\n if (R !== a || U !== d) zg(), Sg(a, d);\n\n do {\n try {\n Tg();\n break;\n } catch (h) {\n Ug(a, h);\n }\n } while (1);\n\n bd();\n qg.current = f;\n V = e;\n null !== W ? d = 0 : (R = null, U = 0, d = T);\n if (0 !== (wg & tf)) Sg(a, 0);else if (0 !== d) {\n 2 === d && (V |= 64, a.hydrate && (a.hydrate = !1, xb(a.containerInfo)), c = nc(a), 0 !== c && (d = Vg(a, c)));\n if (1 === d) throw b = vg, Sg(a, 0), uf(a, c), Z(a, G()), b;\n a.finishedWork = a.current.alternate;\n a.finishedLanes = c;\n\n switch (d) {\n case 0:\n case 1:\n throw Error(q(345));\n\n case 2:\n Zg(a);\n break;\n\n case 3:\n uf(a, c);\n\n if ((c & 62914560) === c && (d = $f + 500 - G(), 10 < d)) {\n if (0 !== lc(a, 0)) break;\n e = a.suspendedLanes;\n\n if ((e & c) !== c) {\n K();\n a.pingedLanes |= a.suspendedLanes & e;\n break;\n }\n\n a.timeoutHandle = Pa(Zg.bind(null, a), d);\n break;\n }\n\n Zg(a);\n break;\n\n case 4:\n uf(a, c);\n if ((c & 4186112) === c) break;\n d = a.eventTimes;\n\n for (e = -1; 0 < c;) {\n var g = 31 - mc(c);\n f = 1 << g;\n g = d[g];\n g > e && (e = g);\n c &= ~f;\n }\n\n c = e;\n c = G() - c;\n c = (120 > c ? 120 : 480 > c ? 480 : 1080 > c ? 1080 : 1920 > c ? 1920 : 3E3 > c ? 3E3 : 4320 > c ? 4320 : 1960 * pg(c / 1960)) - c;\n\n if (10 < c) {\n a.timeoutHandle = Pa(Zg.bind(null, a), c);\n break;\n }\n\n Zg(a);\n break;\n\n case 5:\n Zg(a);\n break;\n\n default:\n throw Error(q(329));\n }\n }\n Z(a, G());\n return a.callbackNode === b ? Pg.bind(null, a) : null;\n }\n\n function uf(a, b) {\n b &= ~xg;\n b &= ~tf;\n a.suspendedLanes |= b;\n a.pingedLanes &= ~b;\n\n for (a = a.expirationTimes; 0 < b;) {\n var c = 31 - mc(b),\n d = 1 << c;\n a[c] = -1;\n b &= ~d;\n }\n }\n\n function Og(a) {\n if (0 !== (V & 48)) throw Error(q(327));\n Qg();\n\n if (a === R && 0 !== (a.expiredLanes & U)) {\n var b = U;\n var c = Vg(a, b);\n 0 !== (wg & tf) && (b = lc(a, b), c = Vg(a, b));\n } else b = lc(a, 0), c = Vg(a, b);\n\n 0 !== a.tag && 2 === c && (V |= 64, a.hydrate && (a.hydrate = !1, xb(a.containerInfo)), b = nc(a), 0 !== b && (c = Vg(a, b)));\n if (1 === c) throw c = vg, Sg(a, 0), uf(a, b), Z(a, G()), c;\n a.finishedWork = a.current.alternate;\n a.finishedLanes = b;\n Zg(a);\n Z(a, G());\n return null;\n }\n\n function $g() {\n if (null !== Fg) {\n var a = Fg;\n Fg = null;\n a.forEach(function (a) {\n a.expiredLanes |= 24 & a.pendingLanes;\n Z(a, G());\n });\n }\n\n H();\n }\n\n function ah(a, b) {\n var c = V;\n V |= 1;\n\n try {\n return a(b);\n } finally {\n V = c, 0 === V && (zg(), H());\n }\n }\n\n function bh(a, b) {\n var c = V;\n if (0 !== (c & 48)) return a(b);\n V |= 1;\n\n try {\n if (a) return Pc(99, a.bind(null, b));\n } finally {\n V = c, H();\n }\n }\n\n function Xe(a, b) {\n A(ug, tg);\n tg |= b;\n wg |= b;\n }\n\n function wf() {\n tg = ug.current;\n z(ug);\n }\n\n function Sg(a, b) {\n a.finishedWork = null;\n a.finishedLanes = 0;\n var c = a.timeoutHandle;\n c !== Ra && (a.timeoutHandle = Ra, Qa(c));\n if (null !== W) for (c = W.return; null !== c;) {\n var d = c;\n\n switch (d.tag) {\n case 1:\n d = d.type.childContextTypes;\n null !== d && void 0 !== d && $b();\n break;\n\n case 3:\n Qd();\n z(D);\n z(B);\n ee();\n break;\n\n case 5:\n Sd(d);\n break;\n\n case 4:\n Qd();\n break;\n\n case 13:\n z(M);\n break;\n\n case 19:\n z(M);\n break;\n\n case 10:\n dd(d);\n break;\n\n case 23:\n case 24:\n wf();\n }\n\n c = c.return;\n }\n R = a;\n W = Ed(a.current, null);\n U = tg = wg = b;\n T = 0;\n vg = null;\n xg = tf = pd = 0;\n }\n\n function Ug(a, b) {\n do {\n var c = W;\n\n try {\n bd();\n fe.current = pe;\n\n if (ie) {\n for (var d = N.memoizedState; null !== d;) {\n var e = d.queue;\n null !== e && (e.pending = null);\n d = d.next;\n }\n\n ie = !1;\n }\n\n he = 0;\n P = O = N = null;\n je = !1;\n rg.current = null;\n\n if (null === c || null === c.return) {\n T = 1;\n vg = b;\n W = null;\n break;\n }\n\n a: {\n var f = a,\n g = c.return,\n h = c,\n k = b;\n b = U;\n h.flags |= 2048;\n h.firstEffect = h.lastEffect = null;\n\n if (null !== k && \"object\" === typeof k && \"function\" === typeof k.then) {\n var l = k;\n\n if (0 === (h.mode & 2)) {\n var n = h.alternate;\n n ? (h.updateQueue = n.updateQueue, h.memoizedState = n.memoizedState, h.lanes = n.lanes) : (h.updateQueue = null, h.memoizedState = null);\n }\n\n var t = 0 !== (M.current & 1),\n p = g;\n\n do {\n var y;\n\n if (y = 13 === p.tag) {\n var x = p.memoizedState;\n if (null !== x) y = null !== x.dehydrated ? !0 : !1;else {\n var Y = p.memoizedProps;\n y = void 0 === Y.fallback ? !1 : !0 !== Y.unstable_avoidThisFallback ? !0 : t ? !1 : !0;\n }\n }\n\n if (y) {\n var u = p.updateQueue;\n\n if (null === u) {\n var v = new Set();\n v.add(l);\n p.updateQueue = v;\n } else u.add(l);\n\n if (0 === (p.mode & 2)) {\n p.flags |= 64;\n h.flags |= 16384;\n h.flags &= -2981;\n if (1 === h.tag) if (null === h.alternate) h.tag = 17;else {\n var C = kd(-1, 1);\n C.tag = 2;\n md(h, C);\n }\n h.lanes |= 1;\n break a;\n }\n\n k = void 0;\n h = b;\n var Oa = f.pingCache;\n null === Oa ? (Oa = f.pingCache = new Af(), k = new Set(), Oa.set(l, k)) : (k = Oa.get(l), void 0 === k && (k = new Set(), Oa.set(l, k)));\n\n if (!k.has(h)) {\n k.add(h);\n var Qe = ch.bind(null, f, l, h);\n l.then(Qe, Qe);\n }\n\n p.flags |= 4096;\n p.lanes = b;\n break a;\n }\n\n p = p.return;\n } while (null !== p);\n\n k = Error((wa(h.type) || \"A React component\") + \" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a component higher in the tree to provide a loading indicator or placeholder to display.\");\n }\n\n 5 !== T && (T = 2);\n k = yf(k, h);\n p = g;\n\n do {\n switch (p.tag) {\n case 3:\n f = k;\n p.flags |= 4096;\n b &= -b;\n p.lanes |= b;\n var Wg = Bf(p, f, b);\n nd(p, Wg);\n break a;\n\n case 1:\n f = k;\n var Xg = p.type,\n ld = p.stateNode;\n\n if (0 === (p.flags & 64) && (\"function\" === typeof Xg.getDerivedStateFromError || null !== ld && \"function\" === typeof ld.componentDidCatch && (null === Ff || !Ff.has(ld)))) {\n p.flags |= 4096;\n b &= -b;\n p.lanes |= b;\n var Yg = Ef(p, f, b);\n nd(p, Yg);\n break a;\n }\n\n }\n\n p = p.return;\n } while (null !== p);\n }\n\n dh(c);\n } catch (w) {\n b = w;\n W === c && null !== c && (W = c = c.return);\n continue;\n }\n\n break;\n } while (1);\n }\n\n function Rg() {\n var a = qg.current;\n qg.current = pe;\n return null === a ? pe : a;\n }\n\n function Vg(a, b) {\n var c = V;\n V |= 16;\n var d = Rg();\n R === a && U === b || Sg(a, b);\n\n do {\n try {\n eh();\n break;\n } catch (e) {\n Ug(a, e);\n }\n } while (1);\n\n bd();\n V = c;\n qg.current = d;\n if (null !== W) throw Error(q(261));\n R = null;\n U = 0;\n return T;\n }\n\n function eh() {\n for (; null !== W;) {\n fh(W);\n }\n }\n\n function Tg() {\n for (; null !== W && !yc();) {\n fh(W);\n }\n }\n\n function fh(a) {\n var b = gh(a.alternate, a, tg);\n a.memoizedProps = a.pendingProps;\n null === b ? dh(a) : W = b;\n rg.current = null;\n }\n\n function dh(a) {\n var b = a;\n\n do {\n var c = b.alternate;\n a = b.return;\n\n if (0 === (b.flags & 2048)) {\n c = sf(c, b, tg);\n\n if (null !== c) {\n W = c;\n return;\n }\n\n c = b;\n\n if (24 !== c.tag && 23 !== c.tag || null === c.memoizedState || 0 !== (tg & 1073741824) || 0 === (c.mode & 4)) {\n for (var d = 0, e = c.child; null !== e;) {\n d |= e.lanes | e.childLanes, e = e.sibling;\n }\n\n c.childLanes = d;\n }\n\n 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), 1 < b.flags && (null !== a.lastEffect ? a.lastEffect.nextEffect = b : a.firstEffect = b, a.lastEffect = b));\n } else {\n c = xf(b);\n\n if (null !== c) {\n c.flags &= 2047;\n W = c;\n return;\n }\n\n null !== a && (a.firstEffect = a.lastEffect = null, a.flags |= 2048);\n }\n\n b = b.sibling;\n\n if (null !== b) {\n W = b;\n return;\n }\n\n W = b = a;\n } while (null !== b);\n\n 0 === T && (T = 5);\n }\n\n function Zg(a) {\n var b = Nc();\n Pc(99, hh.bind(null, a, b));\n return null;\n }\n\n function hh(a, b) {\n do {\n Qg();\n } while (null !== Bg);\n\n if (0 !== (V & 48)) throw Error(q(327));\n var c = a.finishedWork;\n if (null === c) return null;\n a.finishedWork = null;\n a.finishedLanes = 0;\n if (c === a.current) throw Error(q(177));\n a.callbackNode = null;\n var d = c.lanes | c.childLanes,\n e = d,\n f = a.pendingLanes & ~e;\n a.pendingLanes = e;\n a.suspendedLanes = 0;\n a.pingedLanes = 0;\n a.expiredLanes &= e;\n a.mutableReadLanes &= e;\n a.entangledLanes &= e;\n e = a.entanglements;\n\n for (var g = a.eventTimes, h = a.expirationTimes; 0 < f;) {\n var k = 31 - mc(f),\n l = 1 << k;\n e[k] = 0;\n g[k] = -1;\n h[k] = -1;\n f &= ~l;\n }\n\n null !== Fg && 0 === (d & 24) && Fg.has(a) && Fg.delete(a);\n a === R && (W = R = null, U = 0);\n 1 < c.flags ? null !== c.lastEffect ? (c.lastEffect.nextEffect = c, d = c.firstEffect) : d = c : d = c.firstEffect;\n\n if (null !== d) {\n e = V;\n V |= 32;\n rg.current = null;\n Lg = Ga(a.containerInfo);\n Mg = !1;\n X = d;\n\n do {\n try {\n ih();\n } catch (v) {\n if (null === X) throw Error(q(330));\n If(X, v);\n X = X.nextEffect;\n }\n } while (null !== X);\n\n Lg = null;\n X = d;\n\n do {\n try {\n for (g = a; null !== X;) {\n var n = X.flags;\n n & 16 && Ta && sb(X.stateNode);\n\n if (n & 128) {\n var t = X.alternate;\n\n if (null !== t) {\n var p = t.ref;\n null !== p && (\"function\" === typeof p ? p(null) : p.current = null);\n }\n }\n\n switch (n & 1038) {\n case 2:\n Uf(X);\n X.flags &= -3;\n break;\n\n case 6:\n Uf(X);\n X.flags &= -3;\n Xf(X.alternate, X);\n break;\n\n case 1024:\n X.flags &= -1025;\n break;\n\n case 1028:\n X.flags &= -1025;\n Xf(X.alternate, X);\n break;\n\n case 4:\n Xf(X.alternate, X);\n break;\n\n case 8:\n h = g;\n f = X;\n Ta ? Qf(h, f) : Rf(h, f);\n var y = f.alternate;\n Sf(f);\n null !== y && Sf(y);\n }\n\n X = X.nextEffect;\n }\n } catch (v) {\n if (null === X) throw Error(q(330));\n If(X, v);\n X = X.nextEffect;\n }\n } while (null !== X);\n\n Mg && $a();\n Ha(a.containerInfo);\n a.current = c;\n X = d;\n\n do {\n try {\n for (n = a; null !== X;) {\n var x = X.flags;\n x & 36 && Lf(n, X.alternate, X);\n\n if (x & 128) {\n t = void 0;\n var Y = X.ref;\n\n if (null !== Y) {\n var u = X.stateNode;\n\n switch (X.tag) {\n case 5:\n t = Da(u);\n break;\n\n default:\n t = u;\n }\n\n \"function\" === typeof Y ? Y(t) : Y.current = t;\n }\n }\n\n X = X.nextEffect;\n }\n } catch (v) {\n if (null === X) throw Error(q(330));\n If(X, v);\n X = X.nextEffect;\n }\n } while (null !== X);\n\n X = null;\n Ic();\n V = e;\n } else a.current = c;\n\n if (Ag) Ag = !1, Bg = a, Cg = b;else for (X = d; null !== X;) {\n b = X.nextEffect, X.nextEffect = null, X.flags & 8 && (x = X, x.sibling = null, x.stateNode = null), X = b;\n }\n d = a.pendingLanes;\n 0 === d && (Ff = null);\n 1 === d ? a === Hg ? Gg++ : (Gg = 0, Hg = a) : Gg = 0;\n c = c.stateNode;\n if (fc && \"function\" === typeof fc.onCommitFiberRoot) try {\n fc.onCommitFiberRoot(ec, c, void 0, 64 === (c.current.flags & 64));\n } catch (v) {}\n Z(a, G());\n if (Cf) throw Cf = !1, a = Df, Df = null, a;\n if (0 !== (V & 8)) return null;\n H();\n return null;\n }\n\n function ih() {\n for (; null !== X;) {\n var a = X.alternate;\n Mg || null === Lg || (0 !== (X.flags & 8) ? Ca(X, Lg) && (Mg = !0, Za()) : 13 === X.tag && bg(a, X) && Ca(X, Lg) && (Mg = !0, Za()));\n var b = X.flags;\n 0 !== (b & 256) && Jf(a, X);\n 0 === (b & 512) || Ag || (Ag = !0, Qc(97, function () {\n Qg();\n return null;\n }));\n X = X.nextEffect;\n }\n }\n\n function Qg() {\n if (90 !== Cg) {\n var a = 97 < Cg ? 97 : Cg;\n Cg = 90;\n return Pc(a, jh);\n }\n\n return !1;\n }\n\n function Nf(a, b) {\n Dg.push(b, a);\n Ag || (Ag = !0, Qc(97, function () {\n Qg();\n return null;\n }));\n }\n\n function Mf(a, b) {\n Eg.push(b, a);\n Ag || (Ag = !0, Qc(97, function () {\n Qg();\n return null;\n }));\n }\n\n function jh() {\n if (null === Bg) return !1;\n var a = Bg;\n Bg = null;\n if (0 !== (V & 48)) throw Error(q(331));\n var b = V;\n V |= 32;\n var c = Eg;\n Eg = [];\n\n for (var d = 0; d < c.length; d += 2) {\n var e = c[d],\n f = c[d + 1],\n g = e.destroy;\n e.destroy = void 0;\n if (\"function\" === typeof g) try {\n g();\n } catch (k) {\n if (null === f) throw Error(q(330));\n If(f, k);\n }\n }\n\n c = Dg;\n Dg = [];\n\n for (d = 0; d < c.length; d += 2) {\n e = c[d];\n f = c[d + 1];\n\n try {\n var h = e.create;\n e.destroy = h();\n } catch (k) {\n if (null === f) throw Error(q(330));\n If(f, k);\n }\n }\n\n for (h = a.current.firstEffect; null !== h;) {\n a = h.nextEffect, h.nextEffect = null, h.flags & 8 && (h.sibling = null, h.stateNode = null), h = a;\n }\n\n V = b;\n H();\n return !0;\n }\n\n function kh(a, b, c) {\n b = yf(c, b);\n b = Bf(a, b, 1);\n md(a, b);\n b = K();\n a = Ng(a, 1);\n null !== a && (rc(a, 1, b), Z(a, b));\n }\n\n function If(a, b) {\n if (3 === a.tag) kh(a, a, b);else for (var c = a.return; null !== c;) {\n if (3 === c.tag) {\n kh(c, a, b);\n break;\n } else if (1 === c.tag) {\n var d = c.stateNode;\n\n if (\"function\" === typeof c.type.getDerivedStateFromError || \"function\" === typeof d.componentDidCatch && (null === Ff || !Ff.has(d))) {\n a = yf(b, a);\n var e = Ef(c, a, 1);\n md(c, e);\n e = K();\n c = Ng(c, 1);\n if (null !== c) rc(c, 1, e), Z(c, e);else if (\"function\" === typeof d.componentDidCatch && (null === Ff || !Ff.has(d))) try {\n d.componentDidCatch(b, a);\n } catch (f) {}\n break;\n }\n }\n\n c = c.return;\n }\n }\n\n function ch(a, b, c) {\n var d = a.pingCache;\n null !== d && d.delete(b);\n b = K();\n a.pingedLanes |= a.suspendedLanes & c;\n R === a && (U & c) === c && (4 === T || 3 === T && (U & 62914560) === U && 500 > G() - $f ? Sg(a, 0) : xg |= c);\n Z(a, b);\n }\n\n function ag(a, b) {\n var c = a.stateNode;\n null !== c && c.delete(b);\n b = 0;\n 0 === b && (b = a.mode, 0 === (b & 2) ? b = 1 : 0 === (b & 4) ? b = 99 === Nc() ? 1 : 2 : (0 === Jg && (Jg = wg), b = pc(62914560 & ~Jg), 0 === b && (b = 4194304)));\n c = K();\n a = Ng(a, b);\n null !== a && (rc(a, b, c), Z(a, c));\n }\n\n var gh;\n\n gh = function gh(a, b, c) {\n var d = b.lanes;\n if (null !== a) {\n if (a.memoizedProps !== b.pendingProps || D.current) gd = !0;else if (0 !== (c & d)) gd = 0 !== (a.flags & 16384) ? !0 : !1;else {\n gd = !1;\n\n switch (b.tag) {\n case 3:\n af(b);\n ce();\n break;\n\n case 5:\n Rd(b);\n break;\n\n case 1:\n E(b.type) && cc(b);\n break;\n\n case 4:\n Pd(b, b.stateNode.containerInfo);\n break;\n\n case 10:\n cd(b, b.memoizedProps.value);\n break;\n\n case 13:\n if (null !== b.memoizedState) {\n if (0 !== (c & b.child.childLanes)) return cf(a, b, c);\n A(M, M.current & 1);\n b = Re(a, b, c);\n return null !== b ? b.sibling : null;\n }\n\n A(M, M.current & 1);\n break;\n\n case 19:\n d = 0 !== (c & b.childLanes);\n\n if (0 !== (a.flags & 64)) {\n if (d) return kf(a, b, c);\n b.flags |= 64;\n }\n\n var e = b.memoizedState;\n null !== e && (e.rendering = null, e.tail = null, e.lastEffect = null);\n A(M, M.current);\n if (d) break;else return null;\n\n case 23:\n case 24:\n return b.lanes = 0, We(a, b, c);\n }\n\n return Re(a, b, c);\n }\n } else gd = !1;\n b.lanes = 0;\n\n switch (b.tag) {\n case 2:\n d = b.type;\n null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2);\n a = b.pendingProps;\n e = Zb(b, B.current);\n fd(b, c);\n e = le(null, b, d, a, e, c);\n b.flags |= 1;\n\n if (\"object\" === typeof e && null !== e && \"function\" === typeof e.render && void 0 === e.$$typeof) {\n b.tag = 1;\n b.memoizedState = null;\n b.updateQueue = null;\n\n if (E(d)) {\n var f = !0;\n cc(b);\n } else f = !1;\n\n b.memoizedState = null !== e.state && void 0 !== e.state ? e.state : null;\n id(b);\n var g = d.getDerivedStateFromProps;\n \"function\" === typeof g && sd(b, d, g, a);\n e.updater = vd;\n b.stateNode = e;\n e._reactInternals = b;\n zd(b, d, a, c);\n b = $e(null, b, d, !0, f, c);\n } else b.tag = 0, S(null, b, e, c), b = b.child;\n\n return b;\n\n case 16:\n e = b.elementType;\n\n a: {\n null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2);\n a = b.pendingProps;\n f = e._init;\n e = f(e._payload);\n b.type = e;\n f = b.tag = lh(e);\n a = Xc(e, a);\n\n switch (f) {\n case 0:\n b = Ve(null, b, e, a, c);\n break a;\n\n case 1:\n b = Ze(null, b, e, a, c);\n break a;\n\n case 11:\n b = Pe(null, b, e, a, c);\n break a;\n\n case 14:\n b = Se(null, b, e, Xc(e.type, a), d, c);\n break a;\n }\n\n throw Error(q(306, e, \"\"));\n }\n\n return b;\n\n case 0:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : Xc(d, e), Ve(a, b, d, e, c);\n\n case 1:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : Xc(d, e), Ze(a, b, d, e, c);\n\n case 3:\n af(b);\n d = b.updateQueue;\n if (null === a || null === d) throw Error(q(282));\n d = b.pendingProps;\n e = b.memoizedState;\n e = null !== e ? e.element : null;\n jd(a, b);\n od(b, d, null, c);\n d = b.memoizedState.element;\n if (d === e) ce(), b = Re(a, b, c);else {\n e = b.stateNode;\n if (f = e.hydrate) Va ? (Vd = Kb(b.stateNode.containerInfo), Ud = b, f = Wd = !0) : f = !1;\n\n if (f) {\n if (Va && (a = e.mutableSourceEagerHydrationData, null != a)) for (e = 0; e < a.length; e += 2) {\n f = a[e], g = a[e + 1], Sa ? f._workInProgressVersionPrimary = g : f._workInProgressVersionSecondary = g, de.push(f);\n }\n c = Kd(b, null, d, c);\n\n for (b.child = c; c;) {\n c.flags = c.flags & -3 | 1024, c = c.sibling;\n }\n } else S(a, b, d, c), ce();\n\n b = b.child;\n }\n return b;\n\n case 5:\n return Rd(b), null === a && $d(b), d = b.type, e = b.pendingProps, f = null !== a ? a.memoizedProps : null, g = e.children, Ma(d, e) ? g = null : null !== f && Ma(d, f) && (b.flags |= 16), Ye(a, b), S(a, b, g, c), b.child;\n\n case 6:\n return null === a && $d(b), null;\n\n case 13:\n return cf(a, b, c);\n\n case 4:\n return Pd(b, b.stateNode.containerInfo), d = b.pendingProps, null === a ? b.child = Jd(b, null, d, c) : S(a, b, d, c), b.child;\n\n case 11:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : Xc(d, e), Pe(a, b, d, e, c);\n\n case 7:\n return S(a, b, b.pendingProps, c), b.child;\n\n case 8:\n return S(a, b, b.pendingProps.children, c), b.child;\n\n case 12:\n return S(a, b, b.pendingProps.children, c), b.child;\n\n case 10:\n a: {\n d = b.type._context;\n e = b.pendingProps;\n g = b.memoizedProps;\n f = e.value;\n cd(b, f);\n\n if (null !== g) {\n var h = g.value;\n f = I(h, f) ? 0 : (\"function\" === typeof d._calculateChangedBits ? d._calculateChangedBits(h, f) : 1073741823) | 0;\n\n if (0 === f) {\n if (g.children === e.children && !D.current) {\n b = Re(a, b, c);\n break a;\n }\n } else for (h = b.child, null !== h && (h.return = b); null !== h;) {\n var k = h.dependencies;\n\n if (null !== k) {\n g = h.child;\n\n for (var l = k.firstContext; null !== l;) {\n if (l.context === d && 0 !== (l.observedBits & f)) {\n 1 === h.tag && (l = kd(-1, c & -c), l.tag = 2, md(h, l));\n h.lanes |= c;\n l = h.alternate;\n null !== l && (l.lanes |= c);\n ed(h.return, c);\n k.lanes |= c;\n break;\n }\n\n l = l.next;\n }\n } else g = 10 === h.tag ? h.type === b.type ? null : h.child : h.child;\n\n if (null !== g) g.return = h;else for (g = h; null !== g;) {\n if (g === b) {\n g = null;\n break;\n }\n\n h = g.sibling;\n\n if (null !== h) {\n h.return = g.return;\n g = h;\n break;\n }\n\n g = g.return;\n }\n h = g;\n }\n }\n\n S(a, b, e.children, c);\n b = b.child;\n }\n\n return b;\n\n case 9:\n return e = b.type, f = b.pendingProps, d = f.children, fd(b, c), e = J(e, f.unstable_observedBits), d = d(e), b.flags |= 1, S(a, b, d, c), b.child;\n\n case 14:\n return e = b.type, f = Xc(e, b.pendingProps), f = Xc(e.type, f), Se(a, b, e, f, d, c);\n\n case 15:\n return Ue(a, b, b.type, b.pendingProps, d, c);\n\n case 17:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : Xc(d, e), null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2), b.tag = 1, E(d) ? (a = !0, cc(b)) : a = !1, fd(b, c), xd(b, d, e), zd(b, d, e, c), $e(null, b, d, !0, a, c);\n\n case 19:\n return kf(a, b, c);\n\n case 23:\n return We(a, b, c);\n\n case 24:\n return We(a, b, c);\n }\n\n throw Error(q(156, b.tag));\n };\n\n var mh = {\n current: !1\n },\n nh = m.unstable_flushAllWithoutAsserting,\n oh = \"function\" === typeof nh;\n\n function ph() {\n if (void 0 !== nh) return nh();\n\n for (var a = !1; Qg();) {\n a = !0;\n }\n\n return a;\n }\n\n function qh(a) {\n try {\n ph(), og(function () {\n ph() ? qh(a) : a();\n });\n } catch (b) {\n a(b);\n }\n }\n\n var rh = 0,\n sh = !1;\n\n function th(a, b, c, d) {\n this.tag = a;\n this.key = c;\n this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = b;\n this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;\n this.mode = d;\n this.flags = 0;\n this.lastEffect = this.firstEffect = this.nextEffect = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n }\n\n function Yd(a, b, c, d) {\n return new th(a, b, c, d);\n }\n\n function Te(a) {\n a = a.prototype;\n return !(!a || !a.isReactComponent);\n }\n\n function lh(a) {\n if (\"function\" === typeof a) return Te(a) ? 1 : 0;\n\n if (void 0 !== a && null !== a) {\n a = a.$$typeof;\n if (a === la) return 11;\n if (a === oa) return 14;\n }\n\n return 2;\n }\n\n function Ed(a, b) {\n var c = a.alternate;\n null === c ? (c = Yd(a.tag, b, a.key, a.mode), c.elementType = a.elementType, c.type = a.type, c.stateNode = a.stateNode, c.alternate = a, a.alternate = c) : (c.pendingProps = b, c.type = a.type, c.flags = 0, c.nextEffect = null, c.firstEffect = null, c.lastEffect = null);\n c.childLanes = a.childLanes;\n c.lanes = a.lanes;\n c.child = a.child;\n c.memoizedProps = a.memoizedProps;\n c.memoizedState = a.memoizedState;\n c.updateQueue = a.updateQueue;\n b = a.dependencies;\n c.dependencies = null === b ? null : {\n lanes: b.lanes,\n firstContext: b.firstContext\n };\n c.sibling = a.sibling;\n c.index = a.index;\n c.ref = a.ref;\n return c;\n }\n\n function Gd(a, b, c, d, e, f) {\n var g = 2;\n d = a;\n if (\"function\" === typeof a) Te(a) && (g = 1);else if (\"string\" === typeof a) g = 5;else a: switch (a) {\n case fa:\n return Id(c.children, e, f, b);\n\n case ra:\n g = 8;\n e |= 16;\n break;\n\n case ha:\n g = 8;\n e |= 1;\n break;\n\n case ia:\n return a = Yd(12, c, b, e | 8), a.elementType = ia, a.type = ia, a.lanes = f, a;\n\n case ma:\n return a = Yd(13, c, b, e), a.type = ma, a.elementType = ma, a.lanes = f, a;\n\n case na:\n return a = Yd(19, c, b, e), a.elementType = na, a.lanes = f, a;\n\n case sa:\n return ef(c, e, f, b);\n\n case ta:\n return a = Yd(24, c, b, e), a.elementType = ta, a.lanes = f, a;\n\n default:\n if (\"object\" === typeof a && null !== a) switch (a.$$typeof) {\n case ja:\n g = 10;\n break a;\n\n case ka:\n g = 9;\n break a;\n\n case la:\n g = 11;\n break a;\n\n case oa:\n g = 14;\n break a;\n\n case pa:\n g = 16;\n d = null;\n break a;\n\n case qa:\n g = 22;\n break a;\n }\n throw Error(q(130, null == a ? a : typeof a, \"\"));\n }\n b = Yd(g, c, b, e);\n b.elementType = a;\n b.type = d;\n b.lanes = f;\n return b;\n }\n\n function Id(a, b, c, d) {\n a = Yd(7, a, d, b);\n a.lanes = c;\n return a;\n }\n\n function ef(a, b, c, d) {\n a = Yd(23, a, d, b);\n a.elementType = sa;\n a.lanes = c;\n return a;\n }\n\n function Fd(a, b, c) {\n a = Yd(6, a, null, b);\n a.lanes = c;\n return a;\n }\n\n function Hd(a, b, c) {\n b = Yd(4, null !== a.children ? a.children : [], a.key, b);\n b.lanes = c;\n b.stateNode = {\n containerInfo: a.containerInfo,\n pendingChildren: null,\n implementation: a.implementation\n };\n return b;\n }\n\n function uh(a, b, c) {\n this.tag = b;\n this.containerInfo = a;\n this.finishedWork = this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = Ra;\n this.pendingContext = this.context = null;\n this.hydrate = c;\n this.callbackNode = null;\n this.callbackPriority = 0;\n this.eventTimes = qc(0);\n this.expirationTimes = qc(-1);\n this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;\n this.entanglements = qc(0);\n Va && (this.mutableSourceEagerHydrationData = null);\n }\n\n function vh(a) {\n var b = a._reactInternals;\n\n if (void 0 === b) {\n if (\"function\" === typeof a.render) throw Error(q(188));\n throw Error(q(268, Object.keys(a)));\n }\n\n a = Aa(b);\n return null === a ? null : a.stateNode;\n }\n\n function wh(a, b) {\n a = a.memoizedState;\n\n if (null !== a && null !== a.dehydrated) {\n var c = a.retryLane;\n a.retryLane = 0 !== c && c < b ? c : b;\n }\n }\n\n function xh(a, b) {\n wh(a, b);\n (a = a.alternate) && wh(a, b);\n }\n\n function yh(a) {\n a = Aa(a);\n return null === a ? null : a.stateNode;\n }\n\n function zh() {\n return null;\n }\n\n exports.IsThisRendererActing = mh;\n\n exports.act = function (a) {\n function b() {\n rh--;\n sg.current = c;\n mh.current = d;\n }\n\n !1 === sh && (sh = !0, console.error(\"act(...) is not supported in production builds of React, and might not behave as expected.\"));\n rh++;\n var c = sg.current,\n d = mh.current;\n sg.current = !0;\n mh.current = !0;\n\n try {\n var e = ah(a);\n } catch (f) {\n throw b(), f;\n }\n\n if (null !== e && \"object\" === typeof e && \"function\" === typeof e.then) return {\n then: function then(a, d) {\n e.then(function () {\n 1 < rh || !0 === oh && !0 === c ? (b(), a()) : qh(function (c) {\n b();\n c ? d(c) : a();\n });\n }, function (a) {\n b();\n d(a);\n });\n }\n };\n\n try {\n 1 !== rh || !1 !== oh && !1 !== c || ph(), b();\n } catch (f) {\n throw b(), f;\n }\n\n return {\n then: function then(a) {\n a();\n }\n };\n };\n\n exports.attemptContinuousHydration = function (a) {\n if (13 === a.tag) {\n var b = K();\n ud(a, 67108864, b);\n xh(a, 67108864);\n }\n };\n\n exports.attemptHydrationAtCurrentPriority = function (a) {\n if (13 === a.tag) {\n var b = K(),\n c = td(a);\n ud(a, c, b);\n xh(a, c);\n }\n };\n\n exports.attemptSynchronousHydration = function (a) {\n switch (a.tag) {\n case 3:\n var b = a.stateNode;\n\n if (b.hydrate) {\n var c = ic(b.pendingLanes);\n b.expiredLanes |= c & b.pendingLanes;\n Z(b, G());\n 0 === (V & 48) && (zg(), H());\n }\n\n break;\n\n case 13:\n var d = K();\n bh(function () {\n return ud(a, 1, d);\n });\n xh(a, 4);\n }\n };\n\n exports.attemptUserBlockingHydration = function (a) {\n if (13 === a.tag) {\n var b = K();\n ud(a, 4, b);\n xh(a, 4);\n }\n };\n\n exports.batchedEventUpdates = function (a, b) {\n var c = V;\n V |= 2;\n\n try {\n return a(b);\n } finally {\n V = c, 0 === V && (zg(), H());\n }\n };\n\n exports.batchedUpdates = ah;\n\n exports.createComponentSelector = function (a) {\n return {\n $$typeof: cg,\n value: a\n };\n };\n\n exports.createContainer = function (a, b, c) {\n a = new uh(a, b, c);\n b = Yd(3, null, null, 2 === b ? 7 : 1 === b ? 3 : 0);\n a.current = b;\n b.stateNode = a;\n id(b);\n return a;\n };\n\n exports.createHasPsuedoClassSelector = function (a) {\n return {\n $$typeof: dg,\n value: a\n };\n };\n\n exports.createPortal = function (a, b, c) {\n var d = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: ea,\n key: null == d ? null : \"\" + d,\n children: a,\n containerInfo: b,\n implementation: c\n };\n };\n\n exports.createRoleSelector = function (a) {\n return {\n $$typeof: eg,\n value: a\n };\n };\n\n exports.createTestNameSelector = function (a) {\n return {\n $$typeof: fg,\n value: a\n };\n };\n\n exports.createTextSelector = function (a) {\n return {\n $$typeof: gg,\n value: a\n };\n };\n\n exports.deferredUpdates = function (a) {\n return Pc(97, a);\n };\n\n exports.discreteUpdates = function (a, b, c, d, e) {\n var f = V;\n V |= 4;\n\n try {\n return Pc(98, a.bind(null, b, c, d, e));\n } finally {\n V = f, 0 === V && (zg(), H());\n }\n };\n\n exports.findAllNodes = mg;\n\n exports.findBoundingRects = function (a, b) {\n if (!bb) throw Error(q(363));\n b = mg(a, b);\n a = [];\n\n for (var c = 0; c < b.length; c++) {\n a.push(db(b[c]));\n }\n\n for (b = a.length - 1; 0 < b; b--) {\n c = a[b];\n\n for (var d = c.x, e = d + c.width, f = c.y, g = f + c.height, h = b - 1; 0 <= h; h--) {\n if (b !== h) {\n var k = a[h],\n l = k.x,\n n = l + k.width,\n t = k.y,\n p = t + k.height;\n\n if (d >= l && f >= t && e <= n && g <= p) {\n a.splice(b, 1);\n break;\n } else if (!(d !== l || c.width !== k.width || p < f || t > g)) {\n t > f && (k.height += t - f, k.y = f);\n p < g && (k.height = g - t);\n a.splice(b, 1);\n break;\n } else if (!(f !== t || c.height !== k.height || n < d || l > e)) {\n l > d && (k.width += l - d, k.x = d);\n n < e && (k.width = e - l);\n a.splice(b, 1);\n break;\n }\n }\n }\n }\n\n return a;\n };\n\n exports.findHostInstance = vh;\n\n exports.findHostInstanceWithNoPortals = function (a) {\n a = Ba(a);\n return null === a ? null : 20 === a.tag ? a.stateNode.instance : a.stateNode;\n };\n\n exports.findHostInstanceWithWarning = function (a) {\n return vh(a);\n };\n\n exports.flushControlled = function (a) {\n var b = V;\n V |= 1;\n\n try {\n Pc(99, a);\n } finally {\n V = b, 0 === V && (zg(), H());\n }\n };\n\n exports.flushDiscreteUpdates = function () {\n 0 === (V & 49) && ($g(), Qg());\n };\n\n exports.flushPassiveEffects = Qg;\n exports.flushSync = bh;\n\n exports.focusWithin = function (a, b) {\n if (!bb) throw Error(q(363));\n a = ig(a);\n b = lg(a, b);\n b = Array.from(b);\n\n for (a = 0; a < b.length;) {\n var c = b[a++];\n\n if (!fb(c)) {\n if (5 === c.tag && hb(c.stateNode)) return !0;\n\n for (c = c.child; null !== c;) {\n b.push(c), c = c.sibling;\n }\n }\n }\n\n return !1;\n };\n\n exports.getCurrentUpdateLanePriority = function () {\n return hc;\n };\n\n exports.getFindAllNodesFailureDescription = function (a, b) {\n if (!bb) throw Error(q(363));\n var c = 0,\n d = [];\n a = [ig(a), 0];\n\n for (var e = 0; e < a.length;) {\n var f = a[e++],\n g = a[e++],\n h = b[g];\n if (5 !== f.tag || !fb(f)) if (jg(f, h) && (d.push(kg(h)), g++, g > c && (c = g)), g < b.length) for (f = f.child; null !== f;) {\n a.push(f, g), f = f.sibling;\n }\n }\n\n if (c < b.length) {\n for (a = []; c < b.length; c++) {\n a.push(kg(b[c]));\n }\n\n return \"findAllNodes was able to match part of the selector:\\n \" + (d.join(\" > \") + \"\\n\\nNo matching component was found for:\\n \") + a.join(\" > \");\n }\n\n return null;\n };\n\n exports.getPublicRootInstance = function (a) {\n a = a.current;\n if (!a.child) return null;\n\n switch (a.child.tag) {\n case 5:\n return Da(a.child.stateNode);\n\n default:\n return a.child.stateNode;\n }\n };\n\n exports.injectIntoDevTools = function (a) {\n a = {\n bundleType: a.bundleType,\n version: a.version,\n rendererPackageName: a.rendererPackageName,\n rendererConfig: a.rendererConfig,\n overrideHookState: null,\n overrideHookStateDeletePath: null,\n overrideHookStateRenamePath: null,\n overrideProps: null,\n overridePropsDeletePath: null,\n overridePropsRenamePath: null,\n setSuspenseHandler: null,\n scheduleUpdate: null,\n currentDispatcherRef: ca.ReactCurrentDispatcher,\n findHostInstanceByFiber: yh,\n findFiberByHostInstance: a.findFiberByHostInstance || zh,\n findHostInstancesForRefresh: null,\n scheduleRefresh: null,\n scheduleRoot: null,\n setRefreshHandler: null,\n getCurrentFiber: null\n };\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) a = !1;else {\n var b = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (!b.isDisabled && b.supportsFiber) try {\n ec = b.inject(a), fc = b;\n } catch (c) {}\n a = !0;\n }\n return a;\n };\n\n exports.observeVisibleRects = function (a, b, c, d) {\n if (!bb) throw Error(q(363));\n a = mg(a, b);\n var e = ib(a, c, d).disconnect;\n return {\n disconnect: function disconnect() {\n e();\n }\n };\n };\n\n exports.registerMutableSourceForHydration = function (a, b) {\n var c = b._getVersion;\n c = c(b._source);\n null == a.mutableSourceEagerHydrationData ? a.mutableSourceEagerHydrationData = [b, c] : a.mutableSourceEagerHydrationData.push(b, c);\n };\n\n exports.runWithPriority = function (a, b) {\n var c = hc;\n\n try {\n return hc = a, b();\n } finally {\n hc = c;\n }\n };\n\n exports.shouldSuspend = function () {\n return !1;\n };\n\n exports.unbatchedUpdates = function (a, b) {\n var c = V;\n V &= -2;\n V |= 8;\n\n try {\n return a(b);\n } finally {\n V = c, 0 === V && (zg(), H());\n }\n };\n\n exports.updateContainer = function (a, b, c, d) {\n var e = b.current,\n f = K(),\n g = td(e);\n\n a: if (c) {\n c = c._reactInternals;\n\n b: {\n if (xa(c) !== c || 1 !== c.tag) throw Error(q(170));\n var h = c;\n\n do {\n switch (h.tag) {\n case 3:\n h = h.stateNode.context;\n break b;\n\n case 1:\n if (E(h.type)) {\n h = h.stateNode.__reactInternalMemoizedMergedChildContext;\n break b;\n }\n\n }\n\n h = h.return;\n } while (null !== h);\n\n throw Error(q(171));\n }\n\n if (1 === c.tag) {\n var k = c.type;\n\n if (E(k)) {\n c = bc(c, k, h);\n break a;\n }\n }\n\n c = h;\n } else c = Xb;\n\n null === b.context ? b.context = c : b.pendingContext = c;\n b = kd(f, g);\n b.payload = {\n element: a\n };\n d = void 0 === d ? null : d;\n null !== d && (b.callback = d);\n md(e, b);\n ud(e, g, f);\n return g;\n };\n\n return exports;\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler.production.min.js');\n} else {\n module.exports = require('./cjs/react-reconciler.development.js');\n}","!function (root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory(require(\"react\")) : \"function\" == typeof define && define.amd ? define([\"react\"], factory) : \"object\" == typeof exports ? exports.MediaQuery = factory(require(\"react\")) : root.MediaQuery = factory(root.React);\n}(\"undefined\" != typeof self ? self : this, function (__WEBPACK_EXTERNAL_MODULE_1__) {\n return function (modules) {\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), module.l = !0, module.exports;\n }\n\n var installedModules = {};\n return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.d = function (exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n configurable: !1,\n enumerable: !0,\n get: getter\n });\n }, __webpack_require__.n = function (module) {\n var getter = module && module.__esModule ? function () {\n return module.default;\n } : function () {\n return module;\n };\n return __webpack_require__.d(getter, \"a\", getter), getter;\n }, __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }, __webpack_require__.p = \"\", __webpack_require__(__webpack_require__.s = 8);\n }([function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n };\n\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n\n var react_1 = __importDefault(__webpack_require__(1)),\n matchmediaquery_1 = __importDefault(__webpack_require__(9)),\n hyphenate_style_name_1 = __importDefault(__webpack_require__(2)),\n shallow_equal_1 = __webpack_require__(11),\n toQuery_1 = __importDefault(__webpack_require__(3)),\n Context_1 = __importDefault(__webpack_require__(7)),\n makeQuery = function makeQuery(settings) {\n return settings.query || (0, toQuery_1.default)(settings);\n },\n hyphenateKeys = function hyphenateKeys(obj) {\n if (obj) {\n return Object.keys(obj).reduce(function (result, key) {\n return result[(0, hyphenate_style_name_1.default)(key)] = obj[key], result;\n }, {});\n }\n },\n useIsUpdate = function useIsUpdate() {\n var ref = react_1.default.useRef(!1);\n return react_1.default.useEffect(function () {\n ref.current = !0;\n }, []), ref.current;\n },\n useDevice = function useDevice(deviceFromProps) {\n var deviceFromContext = react_1.default.useContext(Context_1.default),\n getDevice = function getDevice() {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n },\n _a = react_1.default.useState(getDevice),\n device = _a[0],\n setDevice = _a[1];\n\n return react_1.default.useEffect(function () {\n var newDevice = getDevice();\n (0, shallow_equal_1.shallowEqualObjects)(device, newDevice) || setDevice(newDevice);\n }, [deviceFromProps, deviceFromContext]), device;\n },\n useQuery = function useQuery(settings) {\n var getQuery = function getQuery() {\n return makeQuery(settings);\n },\n _a = react_1.default.useState(getQuery),\n query = _a[0],\n setQuery = _a[1];\n\n return react_1.default.useEffect(function () {\n var newQuery = getQuery();\n query !== newQuery && setQuery(newQuery);\n }, [settings]), query;\n },\n useMatchMedia = function useMatchMedia(query, device) {\n var getMatchMedia = function getMatchMedia() {\n return (0, matchmediaquery_1.default)(query, device || {}, !!device);\n },\n _a = react_1.default.useState(getMatchMedia),\n mq = _a[0],\n setMq = _a[1],\n isUpdate = useIsUpdate();\n\n return react_1.default.useEffect(function () {\n if (isUpdate) {\n var newMq_1 = getMatchMedia();\n return setMq(newMq_1), function () {\n newMq_1 && newMq_1.dispose();\n };\n }\n }, [query, device]), mq;\n },\n useMatches = function useMatches(mediaQuery) {\n var _a = react_1.default.useState(mediaQuery.matches),\n matches = _a[0],\n setMatches = _a[1];\n\n return react_1.default.useEffect(function () {\n var updateMatches = function updateMatches() {\n setMatches(mediaQuery.matches);\n };\n\n return mediaQuery.addListener(updateMatches), updateMatches(), function () {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]), matches;\n },\n useMediaQuery = function useMediaQuery(settings, device, onChange) {\n var deviceSettings = useDevice(device),\n query = useQuery(settings);\n if (!query) throw new Error(\"Invalid or missing MediaQuery!\");\n var mq = useMatchMedia(query, deviceSettings),\n matches = useMatches(mq),\n isUpdate = useIsUpdate();\n return react_1.default.useEffect(function () {\n isUpdate && onChange && onChange(matches);\n }, [matches]), react_1.default.useEffect(function () {\n return function () {\n mq && mq.dispose();\n };\n }, []), matches;\n };\n\n exports.default = useMediaQuery;\n }, function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function toHyphenLower(match) {\n return \"-\" + match.toLowerCase();\n }\n\n function hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) return cache[name];\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? \"-\" + hName : hName;\n }\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", {\n value: !0\n });\n var uppercasePattern = /[A-Z]/g,\n msPattern = /^ms-/,\n cache = {};\n __webpack_exports__.default = hyphenateStyleName;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n };\n\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n\n var hyphenate_style_name_1 = __importDefault(__webpack_require__(2)),\n mediaQuery_1 = __importDefault(__webpack_require__(12)),\n negate = function negate(cond) {\n return \"not \".concat(cond);\n },\n keyVal = function keyVal(k, v) {\n var realKey = (0, hyphenate_style_name_1.default)(k);\n return \"number\" == typeof v && (v = \"\".concat(v, \"px\")), !0 === v ? realKey : !1 === v ? negate(realKey) : \"(\".concat(realKey, \": \").concat(v, \")\");\n },\n join = function join(conds) {\n return conds.join(\" and \");\n },\n toQuery = function toQuery(obj) {\n var rules = [];\n return Object.keys(mediaQuery_1.default.all).forEach(function (k) {\n var v = obj[k];\n null != v && rules.push(keyVal(k, v));\n }), join(rules);\n };\n\n exports.default = toQuery;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = __webpack_require__(14);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n }, function (module, exports) {\n module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n };\n\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n\n var react_1 = __importDefault(__webpack_require__(1)),\n Context = react_1.default.createContext(void 0);\n\n exports.default = Context;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n };\n\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n }), exports.Context = exports.toQuery = exports.useMediaQuery = exports.default = void 0;\n\n var useMediaQuery_1 = __importDefault(__webpack_require__(0));\n\n exports.useMediaQuery = useMediaQuery_1.default;\n\n var Component_1 = __importDefault(__webpack_require__(18));\n\n exports.default = Component_1.default;\n\n var toQuery_1 = __importDefault(__webpack_require__(3));\n\n exports.toQuery = toQuery_1.default;\n\n var Context_1 = __importDefault(__webpack_require__(7));\n\n exports.Context = Context_1.default;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function Mql(query, values, forceStatic) {\n function addListener(listener) {\n mql && mql.addListener(listener);\n }\n\n function removeListener(listener) {\n mql && mql.removeListener(listener);\n }\n\n function update(evt) {\n self.matches = evt.matches, self.media = evt.media;\n }\n\n function dispose() {\n mql && mql.removeListener(update);\n }\n\n var self = this;\n\n if (dynamicMatch && !forceStatic) {\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches, this.media = mql.media, mql.addListener(update);\n } else this.matches = staticMatch(query, values), this.media = query;\n\n this.addListener = addListener, this.removeListener = removeListener, this.dispose = dispose;\n }\n\n function matchMedia(query, values, forceStatic) {\n return new Mql(query, values, forceStatic);\n }\n\n var staticMatch = __webpack_require__(10).match,\n dynamicMatch = \"undefined\" != typeof window ? window.matchMedia : null;\n\n module.exports = matchMedia;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse,\n typeMatch = \"all\" === query.type || values.type === query.type;\n if (typeMatch && inverse || !typeMatch && !inverse) return !1;\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n if (!value) return !1;\n\n switch (feature) {\n case \"orientation\":\n case \"scan\":\n return value.toLowerCase() === expValue.toLowerCase();\n\n case \"width\":\n case \"height\":\n case \"device-width\":\n case \"device-height\":\n expValue = toPx(expValue), value = toPx(value);\n break;\n\n case \"resolution\":\n expValue = toDpi(expValue), value = toDpi(value);\n break;\n\n case \"aspect-ratio\":\n case \"device-aspect-ratio\":\n case \"device-pixel-ratio\":\n expValue = toDecimal(expValue), value = toDecimal(value);\n break;\n\n case \"grid\":\n case \"color\":\n case \"color-index\":\n case \"monochrome\":\n expValue = parseInt(expValue, 10) || 1, value = parseInt(value, 10) || 0;\n }\n\n switch (modifier) {\n case \"min\":\n return value >= expValue;\n\n case \"max\":\n return value <= expValue;\n\n default:\n return value === expValue;\n }\n });\n return expressionsMatch && !inverse || !expressionsMatch && inverse;\n });\n }\n\n function parseQuery(mediaQuery) {\n return mediaQuery.split(\",\").map(function (query) {\n query = query.trim();\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || \"\",\n parsed = {};\n return parsed.inverse = !!modifier && \"not\" === modifier.toLowerCase(), parsed.type = type ? type.toLowerCase() : \"all\", expressions = expressions.match(/\\([^\\)]+\\)/g) || [], parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n return {\n modifier: feature[1],\n feature: feature[2],\n value: captures[2]\n };\n }), parsed;\n });\n }\n\n function toDecimal(ratio) {\n var numbers,\n decimal = Number(ratio);\n return decimal || (numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/), decimal = numbers[1] / numbers[2]), decimal;\n }\n\n function toDpi(resolution) {\n var value = parseFloat(resolution);\n\n switch (String(resolution).match(RE_RESOLUTION_UNIT)[1]) {\n case \"dpcm\":\n return value / 2.54;\n\n case \"dppx\":\n return 96 * value;\n\n default:\n return value;\n }\n }\n\n function toPx(length) {\n var value = parseFloat(length);\n\n switch (String(length).match(RE_LENGTH_UNIT)[1]) {\n case \"em\":\n case \"rem\":\n return 16 * value;\n\n case \"cm\":\n return 96 * value / 2.54;\n\n case \"mm\":\n return 96 * value / 2.54 / 10;\n\n case \"in\":\n return 96 * value;\n\n case \"pt\":\n return 72 * value;\n\n case \"pc\":\n return 72 * value / 12;\n\n default:\n return value;\n }\n }\n\n exports.match = matchQuery, exports.parse = parseQuery;\n var RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function shallowEqualObjects(objA, objB) {\n if (objA === objB) return !0;\n if (!objA || !objB) return !1;\n var aKeys = Object.keys(objA),\n bKeys = Object.keys(objB),\n len = aKeys.length;\n if (bKeys.length !== len) return !1;\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) return !1;\n }\n\n return !0;\n }\n\n function shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) return !0;\n if (!arrA || !arrB) return !1;\n var len = arrA.length;\n if (arrB.length !== len) return !1;\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) return !1;\n }\n\n return !0;\n }\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", {\n value: !0\n }), __webpack_require__.d(__webpack_exports__, \"shallowEqualArrays\", function () {\n return shallowEqualArrays;\n }), __webpack_require__.d(__webpack_exports__, \"shallowEqualObjects\", function () {\n return shallowEqualObjects;\n });\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __assign = this && this.__assign || function () {\n return __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);\n }\n }\n\n return t;\n }, __assign.apply(this, arguments);\n },\n __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);\n }\n\n if (null != s && \"function\" == typeof Object.getOwnPropertySymbols) for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);\n }\n return t;\n },\n __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n };\n\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n\n var prop_types_1 = __importDefault(__webpack_require__(13)),\n stringOrNumber = prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.number]),\n types = {\n all: prop_types_1.default.bool,\n grid: prop_types_1.default.bool,\n aural: prop_types_1.default.bool,\n braille: prop_types_1.default.bool,\n handheld: prop_types_1.default.bool,\n print: prop_types_1.default.bool,\n projection: prop_types_1.default.bool,\n screen: prop_types_1.default.bool,\n tty: prop_types_1.default.bool,\n tv: prop_types_1.default.bool,\n embossed: prop_types_1.default.bool\n },\n matchers = {\n orientation: prop_types_1.default.oneOf([\"portrait\", \"landscape\"]),\n scan: prop_types_1.default.oneOf([\"progressive\", \"interlace\"]),\n aspectRatio: prop_types_1.default.string,\n deviceAspectRatio: prop_types_1.default.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: prop_types_1.default.bool,\n colorIndex: prop_types_1.default.bool,\n monochrome: prop_types_1.default.bool,\n resolution: stringOrNumber,\n type: Object.keys(types)\n },\n featureMatchers = __rest(matchers, [\"type\"]),\n features = __assign({\n minAspectRatio: prop_types_1.default.string,\n maxAspectRatio: prop_types_1.default.string,\n minDeviceAspectRatio: prop_types_1.default.string,\n maxDeviceAspectRatio: prop_types_1.default.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: prop_types_1.default.number,\n maxColor: prop_types_1.default.number,\n minColorIndex: prop_types_1.default.number,\n maxColorIndex: prop_types_1.default.number,\n minMonochrome: prop_types_1.default.number,\n maxMonochrome: prop_types_1.default.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber\n }, featureMatchers),\n all = __assign(__assign({}, types), features);\n\n exports.default = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n };\n }, function (module, exports, __webpack_require__) {\n var ReactIs = __webpack_require__(4);\n\n module.exports = __webpack_require__(15)(ReactIs.isElement, !0);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n !function () {\n function isValidElementType(type) {\n return \"string\" == typeof type || \"function\" == typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || \"object\" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n }\n\n function typeOf(object) {\n if (\"object\" == typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n\n function isAsyncMode(object) {\n return hasWarnedAboutDeprecatedIsAsyncMode || (hasWarnedAboutDeprecatedIsAsyncMode = !0, console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")), isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n\n function isElement(object) {\n return \"object\" == typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n\n var hasSymbol = \"function\" == typeof Symbol && Symbol.for,\n REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for(\"react.element\") : 60103,\n REACT_PORTAL_TYPE = hasSymbol ? Symbol.for(\"react.portal\") : 60106,\n REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for(\"react.fragment\") : 60107,\n REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.strict_mode\") : 60108,\n REACT_PROFILER_TYPE = hasSymbol ? Symbol.for(\"react.profiler\") : 60114,\n REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for(\"react.provider\") : 60109,\n REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for(\"react.context\") : 60110,\n REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for(\"react.async_mode\") : 60111,\n REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.concurrent_mode\") : 60111,\n REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for(\"react.forward_ref\") : 60112,\n REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for(\"react.suspense\") : 60113,\n REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for(\"react.suspense_list\") : 60120,\n REACT_MEMO_TYPE = hasSymbol ? Symbol.for(\"react.memo\") : 60115,\n REACT_LAZY_TYPE = hasSymbol ? Symbol.for(\"react.lazy\") : 60116,\n REACT_BLOCK_TYPE = hasSymbol ? Symbol.for(\"react.block\") : 60121,\n REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for(\"react.fundamental\") : 60117,\n REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for(\"react.responder\") : 60118,\n REACT_SCOPE_TYPE = hasSymbol ? Symbol.for(\"react.scope\") : 60119,\n AsyncMode = REACT_ASYNC_MODE_TYPE,\n ConcurrentMode = REACT_CONCURRENT_MODE_TYPE,\n ContextConsumer = REACT_CONTEXT_TYPE,\n ContextProvider = REACT_PROVIDER_TYPE,\n Element = REACT_ELEMENT_TYPE,\n ForwardRef = REACT_FORWARD_REF_TYPE,\n Fragment = REACT_FRAGMENT_TYPE,\n Lazy = REACT_LAZY_TYPE,\n Memo = REACT_MEMO_TYPE,\n Portal = REACT_PORTAL_TYPE,\n Profiler = REACT_PROFILER_TYPE,\n StrictMode = REACT_STRICT_MODE_TYPE,\n Suspense = REACT_SUSPENSE_TYPE,\n hasWarnedAboutDeprecatedIsAsyncMode = !1;\n exports.AsyncMode = AsyncMode, exports.ConcurrentMode = ConcurrentMode, exports.ContextConsumer = ContextConsumer, exports.ContextProvider = ContextProvider, exports.Element = Element, exports.ForwardRef = ForwardRef, exports.Fragment = Fragment, exports.Lazy = Lazy, exports.Memo = Memo, exports.Portal = Portal, exports.Profiler = Profiler, exports.StrictMode = StrictMode, exports.Suspense = Suspense, exports.isAsyncMode = isAsyncMode, exports.isConcurrentMode = isConcurrentMode, exports.isContextConsumer = isContextConsumer, exports.isContextProvider = isContextProvider, exports.isElement = isElement, exports.isForwardRef = isForwardRef, exports.isFragment = isFragment, exports.isLazy = isLazy, exports.isMemo = isMemo, exports.isPortal = isPortal, exports.isProfiler = isProfiler, exports.isStrictMode = isStrictMode, exports.isSuspense = isSuspense, exports.isValidElementType = isValidElementType, exports.typeOf = typeOf;\n }();\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function emptyFunctionThatReturnsNull() {\n return null;\n }\n\n var ReactIs = __webpack_require__(4),\n assign = __webpack_require__(16),\n ReactPropTypesSecret = __webpack_require__(5),\n has = __webpack_require__(6),\n checkPropTypes = __webpack_require__(17),\n printWarning = function printWarning() {};\n\n printWarning = function printWarning(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n\n try {\n throw new Error(message);\n } catch (x) {}\n }, module.exports = function (isValidElement, throwOnDirectAccess) {\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (\"function\" == typeof iteratorFn) return iteratorFn;\n }\n\n function is(x, y) {\n return x === y ? 0 !== x || 1 / x == 1 / y : x !== x && y !== y;\n }\n\n function PropTypeError(message, data) {\n this.message = message, this.data = data && \"object\" == typeof data ? data : {}, this.stack = \"\";\n }\n\n function createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n if (componentName = componentName || ANONYMOUS, propFullName = propFullName || propName, secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n var err = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");\n throw err.name = \"Invariant Violation\", err;\n }\n\n if (\"undefined\" != typeof console) {\n var cacheKey = componentName + \":\" + propName;\n !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 && (printWarning(\"You are manually calling a React.PropTypes validation function for the `\" + propFullName + \"` prop on `\" + componentName + \"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\"), manualPropTypeCallCache[cacheKey] = !0, manualPropTypeWarningCount++);\n }\n }\n\n return null == props[propName] ? isRequired ? new PropTypeError(null === props[propName] ? \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `null`.\" : \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `undefined`.\") : null : validate(props, propName, componentName, location, propFullName);\n }\n\n var manualPropTypeCallCache = {},\n manualPropTypeWarningCount = 0,\n chainedCheckType = checkType.bind(null, !1);\n return chainedCheckType.isRequired = checkType.bind(null, !0), chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n if (getPropType(propValue) !== expectedType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPreciseType(propValue) + \"` supplied to `\" + componentName + \"`, expected `\" + expectedType + \"`.\", {\n expectedType: expectedType\n });\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside arrayOf.\");\n var propValue = props[propName];\n\n if (!Array.isArray(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected an array.\");\n }\n\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + \"[\" + i + \"]\", ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getClassName(props[propName]) + \"` supplied to `\" + componentName + \"`, expected instance of `\" + expectedClassName + \"`.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var propValue = props[propName], i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) return null;\n }\n\n var valuesString = JSON.stringify(expectedValues, function (key, value) {\n return \"symbol\" === getPreciseType(value) ? String(value) : value;\n });\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of value `\" + String(propValue) + \"` supplied to `\" + componentName + \"`, expected one of \" + valuesString + \".\");\n }\n\n return Array.isArray(expectedValues) ? createChainableTypeChecker(validate) : (printWarning(arguments.length > 1 ? \"Invalid arguments supplied to oneOf, expected an array, got \" + arguments.length + \" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\" : \"Invalid argument supplied to oneOf, expected an array.\"), emptyFunctionThatReturnsNull);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside objectOf.\");\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected an object.\");\n\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var expectedTypes = [], i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i],\n checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (null == checkerResult) return null;\n checkerResult.data && has(checkerResult.data, \"expectedType\") && expectedTypes.push(checkerResult.data.expectedType);\n }\n\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`\" + (expectedTypes.length > 0 ? \", expected one of type [\" + expectedTypes.join(\", \") + \"]\" : \"\") + \".\");\n }\n\n if (!Array.isArray(arrayOfTypeCheckers)) return printWarning(\"Invalid argument supplied to oneOfType, expected an instance of array.\"), emptyFunctionThatReturnsNull;\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (\"function\" != typeof checker) return printWarning(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \" + getPostfixForTypeWarning(checker) + \" at index \" + i + \".\"), emptyFunctionThatReturnsNull;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError((componentName || \"React class\") + \": \" + location + \" type `\" + propFullName + \".\" + key + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + type + \"`.\");\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (\"function\" != typeof checker) return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n var allKeys = assign({}, props[propName], shapeTypes);\n\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && \"function\" != typeof checker) return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n if (!checker) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` key `\" + key + \"` supplied to `\" + componentName + \"`.\\nBad object: \" + JSON.stringify(props[propName], null, \" \") + \"\\nValid keys: \" + JSON.stringify(Object.keys(shapeTypes), null, \" \"));\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case \"number\":\n case \"string\":\n case \"undefined\":\n return !0;\n\n case \"boolean\":\n return !propValue;\n\n case \"object\":\n if (Array.isArray(propValue)) return propValue.every(isNode);\n if (null === propValue || isValidElement(propValue)) return !0;\n var iteratorFn = getIteratorFn(propValue);\n if (!iteratorFn) return !1;\n var step,\n iterator = iteratorFn.call(propValue);\n\n if (iteratorFn !== propValue.entries) {\n for (; !(step = iterator.next()).done;) {\n if (!isNode(step.value)) return !1;\n }\n } else for (; !(step = iterator.next()).done;) {\n var entry = step.value;\n if (entry && !isNode(entry[1])) return !1;\n }\n\n return !0;\n\n default:\n return !1;\n }\n }\n\n function isSymbol(propType, propValue) {\n return \"symbol\" === propType || !!propValue && (\"Symbol\" === propValue[\"@@toStringTag\"] || \"function\" == typeof Symbol && propValue instanceof Symbol);\n }\n\n function getPropType(propValue) {\n var propType = typeof propValue;\n return Array.isArray(propValue) ? \"array\" : propValue instanceof RegExp ? \"object\" : isSymbol(propType, propValue) ? \"symbol\" : propType;\n }\n\n function getPreciseType(propValue) {\n if (void 0 === propValue || null === propValue) return \"\" + propValue;\n var propType = getPropType(propValue);\n\n if (\"object\" === propType) {\n if (propValue instanceof Date) return \"date\";\n if (propValue instanceof RegExp) return \"regexp\";\n }\n\n return propType;\n }\n\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n\n switch (type) {\n case \"array\":\n case \"object\":\n return \"an \" + type;\n\n case \"boolean\":\n case \"date\":\n case \"regexp\":\n return \"a \" + type;\n\n default:\n return type;\n }\n }\n\n function getClassName(propValue) {\n return propValue.constructor && propValue.constructor.name ? propValue.constructor.name : ANONYMOUS;\n }\n\n var ITERATOR_SYMBOL = \"function\" == typeof Symbol && Symbol.iterator,\n FAUX_ITERATOR_SYMBOL = \"@@iterator\",\n ANONYMOUS = \"<>\",\n ReactPropTypes = {\n array: createPrimitiveTypeChecker(\"array\"),\n bigint: createPrimitiveTypeChecker(\"bigint\"),\n bool: createPrimitiveTypeChecker(\"boolean\"),\n func: createPrimitiveTypeChecker(\"function\"),\n number: createPrimitiveTypeChecker(\"number\"),\n object: createPrimitiveTypeChecker(\"object\"),\n string: createPrimitiveTypeChecker(\"string\"),\n symbol: createPrimitiveTypeChecker(\"symbol\"),\n any: function () {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }(),\n arrayOf: createArrayOfTypeChecker,\n element: function () {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!isValidElement(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }(),\n elementType: function () {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!ReactIs.isValidElementType(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement type.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }(),\n instanceOf: createInstanceTypeChecker,\n node: function () {\n function validate(props, propName, componentName, location, propFullName) {\n return isNode(props[propName]) ? null : new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected a ReactNode.\");\n }\n\n return createChainableTypeChecker(validate);\n }(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n return PropTypeError.prototype = Error.prototype, ReactPropTypes.checkPropTypes = checkPropTypes, ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache, ReactPropTypes.PropTypes = ReactPropTypes, ReactPropTypes;\n };\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function toObject(val) {\n if (null === val || void 0 === val) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\n return Object(val);\n }\n /*\n object-assign\n (c) Sindre Sorhus\n @license MIT\n */\n\n\n var getOwnPropertySymbols = Object.getOwnPropertySymbols,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n propIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function () {\n try {\n if (!Object.assign) return !1;\n var test1 = new String(\"abc\");\n if (test1[5] = \"de\", \"5\" === Object.getOwnPropertyNames(test1)[0]) return !1;\n\n for (var test2 = {}, i = 0; i < 10; i++) {\n test2[\"_\" + String.fromCharCode(i)] = i;\n }\n\n if (\"0123456789\" !== Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n }).join(\"\")) return !1;\n var test3 = {};\n return \"abcdefghijklmnopqrst\".split(\"\").forEach(function (letter) {\n test3[letter] = letter;\n }), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, test3)).join(\"\");\n } catch (err) {\n return !1;\n }\n }() ? Object.assign : function (target, source) {\n for (var from, symbols, to = toObject(target), s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n hasOwnProperty.call(from, key) && (to[key] = from[key]);\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n propIsEnumerable.call(from, symbols[i]) && (to[symbols[i]] = from[symbols[i]]);\n }\n }\n }\n\n return to;\n };\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n\n try {\n if (\"function\" != typeof typeSpecs[typeSpecName]) {\n var err = Error((componentName || \"React class\") + \": \" + location + \" type `\" + typeSpecName + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof typeSpecs[typeSpecName] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw err.name = \"Invariant Violation\", err;\n }\n\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n\n if (!error || error instanceof Error || printWarning((componentName || \"React class\") + \": type specification of \" + location + \" `\" + typeSpecName + \"` is invalid; the type checker function must return `null` or an `Error` but returned a \" + typeof error + \". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"), error instanceof Error && !(error.message in loggedTypeFailures)) {\n loggedTypeFailures[error.message] = !0;\n var stack = getStack ? getStack() : \"\";\n printWarning(\"Failed \" + location + \" type: \" + error.message + (null != stack ? stack : \"\"));\n }\n }\n }\n }\n\n var printWarning = function printWarning() {},\n ReactPropTypesSecret = __webpack_require__(5),\n loggedTypeFailures = {},\n has = __webpack_require__(6);\n\n printWarning = function printWarning(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n\n try {\n throw new Error(message);\n } catch (x) {}\n }, checkPropTypes.resetWarningCache = function () {\n loggedTypeFailures = {};\n }, module.exports = checkPropTypes;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);\n }\n\n if (null != s && \"function\" == typeof Object.getOwnPropertySymbols) for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);\n }\n return t;\n },\n __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n };\n\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n\n var useMediaQuery_1 = __importDefault(__webpack_require__(0)),\n MediaQuery = function MediaQuery(_a) {\n var children = _a.children,\n device = _a.device,\n onChange = _a.onChange,\n settings = __rest(_a, [\"children\", \"device\", \"onChange\"]),\n matches = (0, useMediaQuery_1.default)(settings, device, onChange);\n\n return \"function\" == typeof children ? children(matches) : matches ? children : null;\n };\n\n exports.default = MediaQuery;\n }]);\n});","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _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}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","'use strict';\n\nmodule.exports = function (string, separator) {\n if (!(typeof string === 'string' && typeof separator === 'string')) {\n throw new TypeError('Expected the arguments to be of type `string`');\n }\n\n if (separator === '') {\n return [string];\n }\n\n var separatorIndex = string.indexOf(separator);\n\n if (separatorIndex === -1) {\n return [string];\n }\n\n return [string.slice(0, separatorIndex), string.slice(separatorIndex + separator.length)];\n};","'use strict';\n\nmodule.exports = function (str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (x) {\n return \"%\".concat(x.charCodeAt(0).toString(16).toUpperCase());\n });\n};","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar bind = require('../internals/function-bind-context');\n\nvar TypeError = global.TypeError;\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.21.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-hypot -- required for testing\nvar $hypot = Math.hypot;\nvar abs = Math.abs;\nvar sqrt = Math.sqrt;\n\n// Chrome 77 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=9546\nvar BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;\n\n// `Math.hypot` method\n// https://tc39.es/ecma262/#sec-math.hypot\n$({ target: 'Math', stat: true, forced: BUGGY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n hypot: function hypot(value1, value2) {\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * sqrt(sum);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromise)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.Helmet = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmet = require(\"react-helmet\");\n\nvar _useI18next2 = require(\"./useI18next\");\n\nvar _excluded = [\"children\"];\n\nvar Helmet = function Helmet(_ref) {\n var children = _ref.children,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n\n var _useI18next = (0, _useI18next2.useI18next)(),\n languages = _useI18next.languages,\n language = _useI18next.language,\n originalPath = _useI18next.originalPath,\n defaultLanguage = _useI18next.defaultLanguage,\n _useI18next$siteUrl = _useI18next.siteUrl,\n siteUrl = _useI18next$siteUrl === void 0 ? '' : _useI18next$siteUrl;\n\n var createUrlWithLang = function createUrlWithLang(lng) {\n var url = \"\" + siteUrl + (lng === defaultLanguage ? '' : \"/\" + lng) + originalPath;\n return url.endsWith('/') ? url : url + \"/\";\n };\n\n return /*#__PURE__*/_react.default.createElement(_reactHelmet.Helmet, props, /*#__PURE__*/_react.default.createElement(\"html\", {\n lang: language\n }), /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: createUrlWithLang(language)\n }), languages.map(function (lng) {\n return /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"alternate\",\n key: lng,\n href: createUrlWithLang(lng),\n hrefLang: lng\n });\n }), /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"alternate\",\n href: createUrlWithLang(defaultLanguage),\n hrefLang: \"x-default\"\n }), children);\n};\n\nexports.Helmet = Helmet;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\nexports.Link = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _i18nextContext = require(\"./i18nextContext\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _types = require(\"./types\");\n\nvar _excluded = [\"language\", \"to\", \"onClick\"];\n\nvar Link = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {\n var language = _ref.language,\n to = _ref.to,\n _onClick = _ref.onClick,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var urlLanguage = language || context.language;\n\n var getLanguagePath = function getLanguagePath(language) {\n return context.generateDefaultLanguagePage || language !== context.defaultLanguage ? \"/\" + language : '';\n };\n\n var link = \"\" + getLanguagePath(urlLanguage) + to;\n return (\n /*#__PURE__*/\n // @ts-ignore\n _react.default.createElement(_gatsby.Link, (0, _extends2.default)({}, rest, {\n to: link,\n innerRef: ref,\n hrefLang: urlLanguage,\n onClick: function onClick(e) {\n if (language) {\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n }\n\n if (_onClick) {\n _onClick(e);\n }\n }\n }))\n );\n});\n\nexports.Link = Link;","\"use strict\";\n\nexports.__esModule = true;\n\nvar _reactI18next = require(\"react-i18next\");\n\nObject.keys(_reactI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _reactI18next[key]) return;\n exports[key] = _reactI18next[key];\n});\n\nvar _i18nextContext = require(\"./i18nextContext\");\n\nObject.keys(_i18nextContext).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _i18nextContext[key]) return;\n exports[key] = _i18nextContext[key];\n});\n\nvar _useI18next = require(\"./useI18next\");\n\nObject.keys(_useI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _useI18next[key]) return;\n exports[key] = _useI18next[key];\n});\n\nvar _Link = require(\"./Link\");\n\nObject.keys(_Link).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Link[key]) return;\n exports[key] = _Link[key];\n});\n\nvar _Helmet = require(\"./Helmet\");\n\nObject.keys(_Helmet).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Helmet[key]) return;\n exports[key] = _Helmet[key];\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.useI18next = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _reactI18next = require(\"react-i18next\");\n\nvar _react = require(\"react\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _i18nextContext = require(\"./i18nextContext\");\n\nvar _types = require(\"./types\");\n\nvar useI18next = function useI18next(ns, options) {\n var _useTranslation = (0, _reactI18next.useTranslation)(ns, options),\n i18n = _useTranslation.i18n,\n t = _useTranslation.t,\n ready = _useTranslation.ready;\n\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var routed = context.routed,\n defaultLanguage = context.defaultLanguage,\n generateDefaultLanguagePage = context.generateDefaultLanguagePage;\n\n var getLanguagePath = function getLanguagePath(language) {\n return generateDefaultLanguagePage || language !== defaultLanguage ? \"/\" + language : '';\n };\n\n var removePrefix = function removePrefix(pathname) {\n var base = typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : __PATH_PREFIX__;\n\n if (base && pathname.indexOf(base) === 0) {\n pathname = pathname.slice(base.length);\n }\n\n return pathname;\n };\n\n var removeLocalePart = function removeLocalePart(pathname) {\n if (!routed) return pathname;\n var i = pathname.indexOf(\"/\", 1);\n return pathname.substring(i);\n };\n\n var navigate = function navigate(to, options) {\n var languagePath = getLanguagePath(context.language);\n var link = routed ? \"\" + languagePath + to : \"\" + to;\n return (0, _gatsby.navigate)(link, options);\n };\n\n var changeLanguage = function changeLanguage(language, to, options) {\n var languagePath = getLanguagePath(language);\n var pathname = to || removeLocalePart(removePrefix(window.location.pathname));\n var link = \"\" + languagePath + pathname + window.location.search;\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n return (0, _gatsby.navigate)(link, options);\n };\n\n return (0, _extends2.default)({}, context, {\n i18n: i18n,\n t: t,\n ready: ready,\n navigate: navigate,\n changeLanguage: changeLanguage\n });\n};\n\nexports.useI18next = useI18next;","module.exports = require('./dist');\n","// Context.js\nimport React from 'react';\n\nconst defaultContextValue = {\n data: {\n menuOpen: false,\n },\n set: () => {},\n};\n\nconst { Provider, Consumer } = React.createContext(defaultContextValue);\n\nclass ContextProviderComponent extends React.Component {\n constructor() {\n super();\n\n this.setData = this.setData.bind(this);\n this.state = {\n ...defaultContextValue,\n set: this.setData,\n };\n }\n\n setData(newData) {\n this.setState(state => ({\n data: {\n ...state.data,\n ...newData,\n },\n }));\n }\n\n render() {\n return {this.props.children};\n }\n}\n\nexport { Consumer as default, ContextProviderComponent };\n","import { createGlobalStyle } from \"styled-components\"\n\nexport const GlobalStyle = createGlobalStyle`\n :root {\n \n }\n * {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n margin: 0;\n padding: 0;\n }\n\n ::-webkit-input-placeholder {\n color: inherit;\n opacity: .54;\n }\n ::-moz-placeholder {\n color: inherit;\n opacity: .54;\n }\n :-ms-input-placeholder {\n color: inherit;\n opacity: .54;\n }\n :-moz-placeholder {\n color: inherit;\n opacity: .54;\n }\n\n\n body, html {\n margin: 0;\n padding: 0;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n -webkit-text-size-adjust: none;\n -moz-text-size-adjust: none;\n -ms-text-size-adjust: none;\n text-size-adjust: none;\n width: 100%;\n min-height: 100%;\n // overflow-x: hidden;\n overscroll-behavior: none;\n min-height: 100vh;\n min-height: calc((var(--vh, 1vh) * 100));\n\n\n }\n\n html {\n font-family: styrene, sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n touch-action: manipulation;\n box-sizing: border-box;\n background-color: #F2F2F2;\n }\n\n body {\n background-color: #F2F2F2;\n color: #000;\n transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;\n\n &.dc-dark {\n background-color: #000000;\n color: #ffffff;\n }\n }\n \n a {\n color: inherit;\n text-decoration: none;\n color: inherit;\n }\n article,\n aside,\n details,\n figcaption,\n figure,\n footer,\n header,\n menu,\n nav,\n section,\n summary {\n display: block;\n }\n audio,\n canvas,\n progress,\n video {\n display: inline-block;\n }\n audio:not([controls]) {\n display: none;\n height: 0;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden],\n template {\n display: none;\n }\n a {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n a:active,\n a:hover {\n outline-width: 0;\n }\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n }\n dfn {\n font-style: italic;\n }\n mark {\n background-color: #ff0;\n color: #000;\n }\n\n sub,\n sup {\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n img {\n display: block;\n max-width: 100%;\n border-style: none;\n }\n\n svg:not(:root) {\n overflow: hidden;\n }\n code,\n kbd, \n pre,\n samp { \n font-family: monospace, monospace;\n font-size: 1em;\n }\n figure {\n margin: 1em 40px;\n }\n hr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font: inherit;\n margin: 0;\n cursor: pointer;\n }\n optgroup {\n font-weight: 700;\n }\n button,\n input {\n overflow: visible;\n }\n input,\n textarea,\n button,\n select,\n a {\n -webkit-tap-highlight-color: transparent;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n }\n button,\n select {\n text-transform: none;\n }\n [type=\"reset\"],\n [type=\"submit\"],\n button,\n html [type=\"button\"] {\n -webkit-appearance: none;\n }\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner,\n button::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n [type=\"button\"]:-moz-focusring,\n [type=\"reset\"]:-moz-focusring,\n [type=\"submit\"]:-moz-focusring,\n button:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n fieldset {\n border: 1px solid silver;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n }\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n textarea {\n overflow: auto;\n }\n [type=\"checkbox\"],\n [type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n }\n [type=\"number\"]::-webkit-inner-spin-button,\n [type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n }\n [type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=\"search\"]::-webkit-search-cancel-button,\n [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n * {\n box-sizing: inherit;\n }\n *:before {\n box-sizing: inherit;\n }\n *:after {\n box-sizing: inherit;\n }\n\n \n\n h1,h2,h3,h4,h5,h6 {\n font-weight: normal;\n color: inherit;\n font-family: styrene, sans-serif;\n text-rendering: optimizeLegibility;\n line-height: 1.1;\n }\n strong, b {\n font-weight: normal;\n } \n\nbutton {\n border: none;\n margin: 0;\n padding: 0;\n width: auto;\n overflow: visible;\n background: transparent;\n color: inherit;\n line-height: normal;\n}\n\nbutton:focus {\n outline: 0;\n}\n hgroup {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n ul {\n margin-left: 1.45rem;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n list-style-position: outside;\n list-style-image: none;\n }\n ol {\n margin-left: 1.45rem;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n list-style-position: outside;\n list-style-image: none;\n }\n dl {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n dd {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n p {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n }\n figure {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n pre {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n line-height: 1.42;\n background: hsla(0, 0%, 0%, 0.04);\n border-radius: 3px;\n overflow: auto;\n word-wrap: normal;\n padding: 1.45rem;\n }\n table {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n line-height: 1.45rem;\n border-collapse: collapse;\n width: 100%;\n }\n fieldset {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n blockquote {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n form {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n noscript {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n iframe {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n hr {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: calc(1.45rem - 1px);\n background: hsla(0, 0%, 0%, 0.2);\n border: none;\n height: 1px;\n }\n address {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n margin-bottom: 0;\n }\n dt {\n font-weight: bold;\n }\n th {\n font-weight: bold;\n }\n li {\n margin-bottom: 0;\n }\n ol li {\n padding-left: 0;\n }\n ul li {\n padding-left: 0;\n }\n li > ol {\n margin-left: 1.45rem;\n margin-bottom: calc(1.45rem / 2);\n margin-top: calc(1.45rem / 2);\n }\n li > ul {\n margin-left: 1.45rem;\n margin-bottom: calc(1.45rem / 2);\n margin-top: calc(1.45rem / 2);\n }\n li > p {\n margin-bottom: calc(1.45rem / 2);\n }\n code {\n font-size: 0.85rem;\n line-height: 1.45rem;\n }\n kbd {\n font-size: 0.85rem;\n line-height: 1.45rem;\n }\n samp {\n line-height: 1.45rem;\n }\n abbr {\n border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);\n cursor: help;\n }\n acronym {\n border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);\n cursor: help;\n }\n abbr[title] {\n border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);\n cursor: help;\n text-decoration: none;\n }\n thead {\n text-align: left;\n }\n td,\n th {\n text-align: left;\n border-bottom: 1px solid hsla(0, 0%, 0%, 0.12);\n font-feature-settings: \"tnum\";\n -moz-font-feature-settings: \"tnum\";\n -ms-font-feature-settings: \"tnum\";\n -webkit-font-feature-settings: \"tnum\";\n padding-left: 0.96667rem;\n padding-right: 0.96667rem;\n padding-top: 0.725rem;\n padding-bottom: calc(0.725rem - 1px);\n }\n th:first-child,\n td:first-child {\n padding-left: 0;\n }\n th:last-child,\n td:last-child {\n padding-right: 0;\n }\n tt,\n code {\n background-color: hsla(0, 0%, 0%, 0.04);\n border-radius: 3px;\n font-family: \"SFMono-Regular\", Consolas, \"Roboto Mono\", \"Droid Sans Mono\",\n \"Liberation Mono\", Menlo, Courier, monospace;\n padding: 0;\n padding-top: 0.2em;\n padding-bottom: 0.2em;\n }\n pre code {\n background: none;\n line-height: 1.42;\n }\n code:before,\n code:after,\n tt:before,\n tt:after {\n letter-spacing: -0.2em;\n content: \" \";\n }\n pre code:before,\n pre code:after,\n pre tt:before,\n pre tt:after {\n content: \"\";\n }\n\n @media only screen and (max-width: 480px) {\n html {\n font-size: 100%;\n }\n }\n\n #gatsby-focus-wrapper {\n & > div {\n height: auto !important;\n background: transparent !important;\n display: block !important;\n flex-direction: initial !important;\n justify-content: intiial !important;\n align-items: initial !important;\n }\n }\n\n`\n","function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n} // Older browsers don't support event options, feature detect it.\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\n\nvar hasPassiveEvents = false;\n\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPosition = void 0;\nvar previousBodyPaddingRight = void 0; // returns true if `el` should be allowed to receive touchmove events.\n\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event; // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n\n if (allowTouchMove(e.target)) {\n return true;\n } // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n\n\n if (e.touches.length > 1) return true;\n if (e.preventDefault) e.preventDefault();\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n var computedBodyPaddingRight = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'), 10);\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = computedBodyPaddingRight + scrollBarGap + 'px';\n }\n } // If previousBodyOverflowSetting is already set, don't set it again.\n\n\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight; // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting; // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n\n previousBodyOverflowSetting = undefined;\n }\n};\n\nvar setPositionFixed = function setPositionFixed() {\n return window.requestAnimationFrame(function () {\n // If previousBodyPosition is already set, don't set it again.\n if (previousBodyPosition === undefined) {\n previousBodyPosition = {\n position: document.body.style.position,\n top: document.body.style.top,\n left: document.body.style.left\n }; // Update the dom inside an animation frame \n\n var _window = window,\n scrollY = _window.scrollY,\n scrollX = _window.scrollX,\n innerHeight = _window.innerHeight;\n document.body.style.position = 'fixed';\n document.body.style.top = -scrollY;\n document.body.style.left = -scrollX;\n setTimeout(function () {\n return window.requestAnimationFrame(function () {\n // Attempt to check if the bottom bar appeared due to the position change\n var bottomBarHeight = innerHeight - window.innerHeight;\n\n if (bottomBarHeight && scrollY >= innerHeight) {\n // Move the content further up so that the bottom bar doesn't hide it\n document.body.style.top = -(scrollY + bottomBarHeight);\n }\n });\n }, 300);\n }\n });\n};\n\nvar restorePositionSetting = function restorePositionSetting() {\n if (previousBodyPosition !== undefined) {\n // Convert the position from \"px\" to Int\n var y = -parseInt(document.body.style.top, 10);\n var x = -parseInt(document.body.style.left, 10); // Restore styles\n\n document.body.style.position = previousBodyPosition.position;\n document.body.style.top = previousBodyPosition.top;\n document.body.style.left = previousBodyPosition.left; // Restore scroll\n\n window.scrollTo(x, y);\n previousBodyPosition = undefined;\n }\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\n\n\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n } // disableBodyScroll must not have been called on this targetElement before\n\n\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n setPositionFixed();\n } else {\n setOverflowHidden(options);\n }\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = true;\n }\n }\n};\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n } // Reset initial clientY.\n\n\n initialClientY = -1;\n }\n\n if (isIosDevice) {\n restorePositionSetting();\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n }\n }\n\n if (isIosDevice) {\n restorePositionSetting();\n } else {\n restoreOverflowSetting();\n }\n};","import * as cookie from 'cookie';\nexport function hasDocumentCookie() {\n // Can we get/set cookies on document.cookie?\n return typeof document === 'object' && typeof document.cookie === 'string';\n}\nexport function cleanCookies() {\n document.cookie.split(';').forEach(function (c) {\n document.cookie = c.replace(/^ +/, '').replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n });\n}\nexport function parseCookies(cookies, options) {\n if (typeof cookies === 'string') {\n return cookie.parse(cookies, options);\n } else if (typeof cookies === 'object' && cookies !== null) {\n return cookies;\n } else {\n return {};\n }\n}\nexport function isParsingCookie(value, doNotParse) {\n if (typeof doNotParse === 'undefined') {\n // We guess if the cookie start with { or [, it has been serialized\n doNotParse = !value || value[0] !== '{' && value[0] !== '[' && value[0] !== '\"';\n }\n\n return !doNotParse;\n}\nexport function readCookie(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var cleanValue = cleanupCookieValue(value);\n\n if (isParsingCookie(cleanValue, options.doNotParse)) {\n try {\n return JSON.parse(cleanValue);\n } catch (e) {// At least we tried\n }\n } // Ignore clean value if we failed the deserialization\n // It is not relevant anymore to trim those values\n\n\n return value;\n}\n\nfunction cleanupCookieValue(value) {\n // express prepend j: before serializing a cookie\n if (value && value[0] === 'j' && value[1] === ':') {\n return value.substr(2);\n }\n\n return value;\n}","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport * as cookie from 'cookie';\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\n\nvar Cookies =\n/** @class */\nfunction () {\n function Cookies(cookies, options) {\n var _this = this;\n\n this.changeListeners = [];\n this.HAS_DOCUMENT_COOKIE = false;\n this.cookies = parseCookies(cookies, options);\n new Promise(function () {\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\n }).catch(function () {});\n }\n\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\n if (!this.HAS_DOCUMENT_COOKIE) {\n return;\n }\n\n this.cookies = cookie.parse(document.cookie, parseOptions);\n };\n\n Cookies.prototype._emitChange = function (params) {\n for (var i = 0; i < this.changeListeners.length; ++i) {\n this.changeListeners[i](params);\n }\n };\n\n Cookies.prototype.get = function (name, options, parseOptions) {\n if (options === void 0) {\n options = {};\n }\n\n this._updateBrowserValues(parseOptions);\n\n return readCookie(this.cookies[name], options);\n };\n\n Cookies.prototype.getAll = function (options, parseOptions) {\n if (options === void 0) {\n options = {};\n }\n\n this._updateBrowserValues(parseOptions);\n\n var result = {};\n\n for (var name_1 in this.cookies) {\n result[name_1] = readCookie(this.cookies[name_1], options);\n }\n\n return result;\n };\n\n Cookies.prototype.set = function (name, value, options) {\n var _a;\n\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\n\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, value, options);\n }\n\n this._emitChange({\n name: name,\n value: value,\n options: options\n });\n };\n\n Cookies.prototype.remove = function (name, options) {\n var finalOptions = options = __assign(__assign({}, options), {\n expires: new Date(1970, 1, 1, 0, 0, 1),\n maxAge: 0\n });\n\n this.cookies = __assign({}, this.cookies);\n delete this.cookies[name];\n\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, '', finalOptions);\n }\n\n this._emitChange({\n name: name,\n value: undefined,\n options: options\n });\n };\n\n Cookies.prototype.addChangeListener = function (callback) {\n this.changeListeners.push(callback);\n };\n\n Cookies.prototype.removeChangeListener = function (callback) {\n var idx = this.changeListeners.indexOf(callback);\n\n if (idx >= 0) {\n this.changeListeners.splice(idx, 1);\n }\n };\n\n return Cookies;\n}();\n\nexport default Cookies;","import Cookies from 'universal-cookie';\nexport default Cookies;","import * as React from 'react';\nimport Cookies from './Cookies';\nvar CookiesContext = React.createContext(new Cookies());\nexport var Provider = CookiesContext.Provider,\n Consumer = CookiesContext.Consumer;\nexport default CookiesContext;","import { useContext, useLayoutEffect, useState, useRef, useMemo } from 'react';\nimport CookiesContext from './CookiesContext';\nimport { isInBrowser } from './utils';\nexport default function useCookies(dependencies) {\n var cookies = useContext(CookiesContext);\n\n if (!cookies) {\n throw new Error('Missing ');\n }\n\n var initialCookies = cookies.getAll();\n\n var _a = useState(initialCookies),\n allCookies = _a[0],\n setCookies = _a[1];\n\n var previousCookiesRef = useRef(allCookies);\n\n if (isInBrowser()) {\n useLayoutEffect(function () {\n function onChange() {\n var newCookies = cookies.getAll();\n\n if (shouldUpdate(dependencies || null, newCookies, previousCookiesRef.current)) {\n setCookies(newCookies);\n }\n\n previousCookiesRef.current = newCookies;\n }\n\n cookies.addChangeListener(onChange);\n return function () {\n cookies.removeChangeListener(onChange);\n };\n }, [cookies]);\n }\n\n var setCookie = useMemo(function () {\n return cookies.set.bind(cookies);\n }, [cookies]);\n var removeCookie = useMemo(function () {\n return cookies.remove.bind(cookies);\n }, [cookies]);\n return [allCookies, setCookie, removeCookie];\n}\n\nfunction shouldUpdate(dependencies, newCookies, oldCookies) {\n if (!dependencies) {\n return true;\n }\n\n for (var _i = 0, dependencies_1 = dependencies; _i < dependencies_1.length; _i++) {\n var dependency = dependencies_1[_i];\n\n if (newCookies[dependency] !== oldCookies[dependency]) {\n return true;\n }\n }\n\n return false;\n}","export function isInBrowser() {\n return typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n}","import styled from \"styled-components\"\n\nconst Spacer = styled.div`\n height: ${({ spacerH }) => spacerH || '100vh'};\n height: ${({ spacerH }) => spacerH || 'calc(var(--vh, 1vh) * 100)'};\n width: 100%;\n \n @media (orientation: portrait) {\n height: ${({ spacerH }) => spacerH || '100vh'};\n }\n`;\n\nexport default Spacer","import React, { useEffect, useState } from \"react\"\nimport styled, { keyframes } from \"styled-components\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\n\nconst Wrapper = styled.div`\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: #f2f2f2;\n z-index: 99999999999;\n\n transition: opacity 0.35s ease-in;\n opacity: ${({ show }) => (show ? 1 : 0)};\n pointer-events: ${({ show }) => (show ? \"auto\" : \"none\")};\n\n display: ${({ hide }) => (hide ? \"none\" : \"flex\")};\n align-items: center;\n justify-content: center;\n`\nconst Logo = styled.div`\n width: 800px;\n height: 87.81px;\n\n max-width: 90vw;\n\n svg {\n width: 800px;\n height: auto;\n max-width: 90vw;\n }\n`\nconst changeOpa = keyframes`\n 0% {\n opacity: 1;\n }\n \n 50% {\n opacity: 0.1;\n }\n\n 100% {\n opacity: 1;\n }\n`\n\nconst Text = styled.h2`\n font-size: 16px;\n position: absolute;\n bottom: 80px;\n left: 50%;\n transform: translateX(-50%);\n\n animation: ${changeOpa} 0.5s ease-in-out infinite;\n\n @media (orientation: portrait) {\n bottom: 160px;\n }\n`\n\nconst Loader = ({ showLoader, wait, setWait }) => {\n const [hide, setHide] = useState(false)\n useEffect(() => {\n setTimeout(() => {\n setWait(false)\n if (typeof window !== \"undefined\") window.scrollTo(0, 0)\n }, 2000)\n }, [])\n\n useEffect(() => {\n if (!showLoader && !wait) {\n setTimeout(() => {\n setHide(true)\n }, 400)\n }\n }, [showLoader, wait])\n\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 \n \n \n \n\n \n Loading experience\n \n \n )\n}\n\nexport default Loader\n","import * as React from 'react';\nimport { useEffect } from 'react';\n\nfunction _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}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _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}\n\nfunction _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}\n\nvar observerMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\n\nfunction getRootId(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/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(function (key) {\n return options[key] !== undefined;\n }).map(function (key) {\n return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n }).toString();\n}\n\nfunction createObserver(options) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n var id = optionsToId(options);\n var 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 var elements = new Map();\n var thresholds;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var _elements$get; // 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\n\n var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n return entry.intersectionRatio >= threshold;\n }); // @ts-ignore support IntersectionObserver v2\n\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 = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n callback(inView, entry);\n });\n });\n }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id: id,\n observer: observer,\n elements: elements\n };\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options, fallbackInView) {\n if (options === void 0) {\n options = {};\n }\n\n if (fallbackInView === void 0) {\n fallbackInView = unsupportedValue;\n }\n\n if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n var bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return function () {// Nothing to cleanup\n };\n } // An observer with the same options can be reused, so lets use this fact\n\n\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements; // Register the callback listener for this element\n\n\n var callbacks = elements.get(element) || [];\n\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\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\nvar _excluded = [\"children\", \"as\", \"tag\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n \r\n {({ inView, ref, entry }) => (\r\n
\r\n

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

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

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

\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n\n _this.handleNode = function (node) {\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({\n inView: !!_this.props.initialInView,\n entry: undefined\n });\n }\n }\n\n _this.node = node ? node : null;\n\n _this.observeNode();\n };\n\n _this.handleChange = function (inView, entry) {\n if (inView && _this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n _this.unobserve();\n }\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({\n inView: inView,\n entry: entry\n });\n }\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 _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node || this.props.skip) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin,\n trackVisibility = _this$props.trackVisibility,\n delay = _this$props.delay,\n fallbackInView = _this$props.fallbackInView;\n this._unobserveCb = observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n };\n\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n\n this._unobserveCb = null;\n }\n };\n\n _proto.render = function render() {\n if (!isPlainChildren(this.props)) {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n tag = _this$props2.tag,\n props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n return /*#__PURE__*/React.createElement(as || tag || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(React.Component);\n\nInView.displayName = 'InView';\nInView.defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false\n};\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n * const { ref, inView, entry } = useInView({\r\n * threshold: 0,\r\n * });\r\n *\r\n * return (\r\n *
\r\n *

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

\r\n *
\r\n * );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n threshold = _ref.threshold,\n delay = _ref.delay,\n trackVisibility = _ref.trackVisibility,\n rootMargin = _ref.rootMargin,\n root = _ref.root,\n triggerOnce = _ref.triggerOnce,\n skip = _ref.skip,\n initialInView = _ref.initialInView,\n fallbackInView = _ref.fallbackInView;\n\n var unobserve = React.useRef();\n\n var _React$useState = React.useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var setRef = React.useCallback(function (node) {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n } // Skip creating the observer\n\n\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\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 root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\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 [// 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, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n /* eslint-disable-next-line */\n\n useEffect(function () {\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 var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport { InView, InView as default, defaultFallbackInView, observe, useInView };","import React, { useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport { useInView } from \"react-intersection-observer\"\n\nconst Wrapper = styled.div``\n\nconst Anchor = ({ name, setShow }) => {\n const { ref, inView, entry } = useInView()\n\n useEffect(() => {\n if (entry) {\n if (entry.boundingClientRect.top < 0) {\n setShow(true)\n } else {\n setShow(false)\n }\n }\n }, [inView, setShow, entry])\n\n return \n}\n\nexport default Anchor\n","import React, { useState, useEffect, useContext } from \"react\"\nimport styled from \"styled-components\"\nimport { useCookies } from \"react-cookie\"\nimport { Trans, I18nextContext } from \"gatsby-plugin-react-i18next\"\n\nconst Wrapper = styled.div`\n font-size: 10px;\n line-height: 14px;\n position: fixed;\n bottom: 27px;\n left: 22px;\n max-width: 320px;\n opacity: ${({ show }) => (show ? 1 : 0)};\n pointer-events: ${({ show }) => (show ? \"auto\" : \"none\")};\n transition: opacity 0.15s ease-in-out;\n display: ${({ hide }) => hide ? 'none' : 'block'};\n\n @media (orientation: portrait) {\n bottom: auto;\n top: 40px;\n left: 20px;\n }\n`\nconst CloseButton = styled.button`\n text-decoration: underline;\n\n @media (orientation: portrait) {\n margin-bottom: 15px;\n }\n`\n\nconst Text = styled.div`\n a {\n text-decoration: underline;\n }\n`\n\nconst CookieNotice = () => {\n const [cookies, setCookie] = useCookies([\"dc-cn\"])\n const [show, setShow] = useState(null)\n const [hide, setHide] = useState(false)\n const context = useContext(I18nextContext)\n\n const handleCloseClick = () => {\n setShow(false)\n setCookie(\"dc-cn\", 1, {\n path: \"/\",\n expires: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),\n })\n }\n\n useEffect(() => {\n if (show === false) {\n setHide(true)\n }\n }, [show])\n \n useEffect(() => {\n if (cookies[\"dc-cn\"]) {\n setShow(false)\n } else {\n setShow(true)\n }\n }, [])\n\n return (\n \n \n Close\n \n {context.language === \"en\" && (\n \n This site uses{\" \"}\n \n cookies\n {\" \"}\n in order to provide services properly as well for statistical and\n commercial purposes. More information about our{\" \"}\n \n Privacy Policy\n \n .\n \n )}\n {context.language === \"pl\" && (\n \n Serwis korzysta z plików{\" \"}\n \n cookies\n {\" \"}\n w celu prawidłowego świadczenia usług, jak również w celach\n statystycznych oraz reklamowych. Więcej informacji w naszej{\" \"}\n \n Polityce prywatności\n \n .\n \n )}\n \n )\n}\n\nexport default CookieNotice\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport { I18nextContext, Trans } from \"gatsby-plugin-react-i18next\"\nimport CookieNotice from \"./CookieNotice\"\n\nconst Wrapper = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 200;\n padding: 8px 22px;\n font-size: 12px;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n\n @media (orientation: portrait) {\n padding: 8px 20px;\n }\n\n svg {\n height: 28px;\n width: 220px;\n\n @media (orientation: portrait) {\n height: 14px;\n width: 110px;\n }\n\n path,\n circle {\n transition: fill 0.25s ease-in-out;\n\n .dc-dark & {\n fill: #fff;\n }\n }\n }\n`\n\nconst TextWrapper = styled.div`\n position: relative;\n\n span {\n opacity: 1;\n transition: opacity 0.25s ease-in-out;\n\n .dc-top & {\n opacity: 0;\n pointer-events: none;\n }\n\n @media (orientation: portrait) {\n display: none;\n }\n }\n`\n\nconst VersionSwitch = styled.button`\n font-size: 12px;\n text-transform: capitalize;\n margin-left: 10px;\n position: relative;\n\n @media (orientation: portrait) {\n margin-bottom: 0;\n margin-left: 0;\n padding: 10px 8px;\n margin-top: -10px;\n }\n`\nconst LangSwitch = styled.button`\n font-size: 12px;\n text-transform: capitalize;\n margin-left: 10px;\n position: relative;\n @media (orientation: portrait) {\n margin-bottom: 0;\n margin-left: 0;\n padding: 10px 8px;\n margin-top: -10px;\n margin-right: -8px;\n }\n`\n\nconst Dropdown = styled.ul`\n position: absolute;\n right: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n text-align: right;\n padding-top: 8px;\n\n opacity: ${({ show }) => (show ? 1 : 0)};\n pointer-events: ${({ show }) => (show ? \"auto\" : \"none\")};\n transition: 0.25s ease-in-out;\n\n z-index: 2;\n\n @media (orientation: portrait) {\n right: 0;\n top: 28px;\n padding-top: 0;\n }\n`\n\nconst DDItem = styled.li`\n margin: 0;\n padding: 0;\n list-style: none;\n\n a {\n display: inline-block;\n\n @media (orientation: portrait) {\n padding: 8px;\n padding-top: 0;\n margin-top: 8px;\n }\n }\n`\n\nconst Icons = styled.div`\n display: flex;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: 30px;\n z-index: 1;\n pointer-events: none;\n\n @media (orientation: portrait) {\n display: none;\n }\n`\n\nconst Icon = styled.button`\n margin-bottom: 10px;\n opacity: ${({ show }) => (show ? 1 : 0)};\n pointer-events: ${({ show }) => (show ? \"auto\" : \"none\")};\n transition: opacity 0.15s ease-in-out;\n\n svg {\n height: 18px;\n width: 18px;\n }\n`\n\nconst Header = ({\n showLb,\n showAv,\n showVid,\n market,\n showLang,\n setShowLang,\n showVersion,\n setShowVersion,\n}) => {\n const context = React.useContext(I18nextContext)\n\n const handleIconClick = id => {\n document.querySelector(`#${id}`).scrollIntoView()\n setTimeout(() => {\n window.scrollBy(0, -1)\n }, 10)\n }\n\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 \n \n \n \n \n Welcome 2 Dreamcore 2022\n\n setShowVersion(!showVersion)}\n onMouseEnter={() => setShowVersion(true)}\n onMouseLeave={() => setShowVersion(false)}\n >\n Men\n setShowVersion(false)}\n show={showVersion}\n >\n \n \n Women\n \n \n \n \n setShowLang(!showLang)}\n onMouseEnter={() => setShowLang(true)}\n onMouseLeave={() => setShowLang(false)}\n >\n {context.language}\n setShowLang(false)} show={showLang}>\n {context.language !== \"en\" && (\n \n \n En\n \n \n )}\n {context.language !== \"pl\" && (\n \n \n Pl\n \n \n )}\n \n \n\n \n handleIconClick(\"lb\")}\n >\n \n \n \n \n \n \n \n \n \n handleIconClick(\"vid\")}\n >\n \n \n \n \n \n \n \n handleIconClick(\"av\")}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Header\n","var __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n\nvar BrowserInfo =\n/** @class */\nfunction () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n\n return BrowserInfo;\n}();\n\nexport { BrowserInfo };\n\nvar NodeInfo =\n/** @class */\nfunction () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n\n return NodeInfo;\n}();\n\nexport { NodeInfo };\n\nvar SearchBotDeviceInfo =\n/** @class */\nfunction () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n\n return SearchBotDeviceInfo;\n}();\n\nexport { SearchBotDeviceInfo };\n\nvar BotInfo =\n/** @class */\nfunction () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n\n return BotInfo;\n}();\n\nexport { BotInfo };\n\nvar ReactNativeInfo =\n/** @class */\nfunction () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n\n return ReactNativeInfo;\n}();\n\nexport { ReactNativeInfo }; // tslint:disable-next-line:max-line-length\n\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [['aol', /AOLShield\\/([0-9\\._]+)/], ['edge', /Edge\\/([0-9\\._]+)/], ['edge-ios', /EdgiOS\\/([0-9\\._]+)/], ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/], ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/], ['samsung', /SamsungBrowser\\/([0-9\\.]+)/], ['silk', /\\bSilk\\/([0-9._-]+)\\b/], ['miui', /MiuiBrowser\\/([0-9\\.]+)$/], ['beaker', /BeakerBrowser\\/([0-9\\.]+)/], ['edge-chromium', /EdgA?\\/([0-9\\.]+)/], ['chromium-webview', /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/], ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/], ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/], ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/], ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/], ['fxios', /FxiOS\\/([0-9\\.]+)/], ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/], ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/], ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/], ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/], ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/], ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/], ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/], ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/], ['ie', /MSIE\\s(7\\.0)/], ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/], ['android', /Android\\s([0-9\\.]+)/], ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/], ['safari', /Version\\/([0-9\\._]+).*Safari/], ['facebook', /FB[AS]V\\/([0-9\\.]+)/], ['instagram', /Instagram\\s([0-9\\.]+)/], ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/], ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/], ['curl', /^curl\\/([0-9\\.]+)$/], ['searchbot', SEARCHBOX_UA_REGEX]];\nvar operatingSystemRules = [['iOS', /iP(hone|od|ad)/], ['Android OS', /Android/], ['BlackBerry OS', /BlackBerry|BB10/], ['Windows Mobile', /IEMobile/], ['Amazon OS', /Kindle/], ['Windows 3.11', /Win16/], ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/], ['Windows 98', /(Windows 98)|(Win98)/], ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/], ['Windows XP', /(Windows NT 5.1)|(Windows XP)/], ['Windows Server 2003', /(Windows NT 5.2)/], ['Windows Vista', /(Windows NT 6.0)/], ['Windows 7', /(Windows NT 6.1)/], ['Windows 8', /(Windows NT 6.2)/], ['Windows 8.1', /(Windows NT 6.3)/], ['Windows 10', /(Windows NT 10.0)/], ['Windows ME', /Windows ME/], ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/], ['Open BSD', /OpenBSD/], ['Sun OS', /SunOS/], ['Chrome OS', /CrOS/], ['Linux', /(Linux)|(X11)/], ['Mac OS', /(Mac_PowerPC)|(Macintosh)/], ['QNX', /QNX/], ['BeOS', /BeOS/], ['OS/2', /OS\\/2/]];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n\n if (typeof document === 'undefined' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n\n return getNodeVersion();\n}\n\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return ua !== '' && userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0],\n regex = _a[1];\n\n if (matched) {\n return matched;\n }\n\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false);\n}\n\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n\n if (!matchedRule) {\n return null;\n }\n\n var name = matchedRule[0],\n match = matchedRule[1];\n\n if (name === 'searchbot') {\n return new BotInfo();\n } // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n\n\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n } else {\n versionParts = [];\n }\n\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii],\n os = _a[0],\n regex = _a[1];\n var match = regex.exec(ua);\n\n if (match) {\n return os;\n }\n }\n\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\n\nfunction createVersionParts(count) {\n var output = [];\n\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n\n return output;\n}","import React, { useEffect, useRef } from \"react\"\nimport styled from \"styled-components\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { useMediaQuery } from \"react-responsive\"\n\nconst Wrapper = styled.div`\n height: 200vh;\n height: calc(var(--vh, 1vh) * 200);\n display: flex;\n justify-content: center;\n padding: 60px 22px;\n padding-top: 15vh;\n\n @media (orientation: portrait) {\n height: 100vh;\n align-items: center;\n padding-top: 0;\n }\n`\nconst ImageWrapper = styled.div`\n max-width: 100vh;\n\n @media (orientation: portrait) {\n max-width: 100%;\n }\n`\n\nconst ObjectMob = ({ setShowLoader, inView }) => {\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n const wrapperEl = useRef(null)\n useEffect(() => {\n if (isPortrait) {\n setShowLoader(false)\n }\n }, [isPortrait])\n\n useEffect(() => {\n const handleScroll = () => {\n if (inView) {\n const scrolled = (1 + window.scrollY / 1000).toFixed(4)\n const transformValue = \"scale(\" + scrolled + \")\"\n\n wrapperEl.current.style.WebkitTransform = transformValue\n wrapperEl.current.style.MozTransform = transformValue\n wrapperEl.current.style.OTransform = transformValue\n wrapperEl.current.style.transform = transformValue\n }\n }\n\n window.addEventListener(\"scroll\", handleScroll)\n\n return () => {\n window.removeEventListener(\"scroll\", handleScroll)\n }\n }, [wrapperEl.current, inView])\n\n return (\n \n \n \n \n \n )\n}\n\nexport default ObjectMob\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n var state;\n var listeners = /* @__PURE__ */new Set();\n\n var setState = function setState(partial, replace) {\n var nextState = typeof partial === \"function\" ? partial(state) : partial;\n\n if (nextState !== state) {\n var previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach(function (listener) {\n return listener(state, previousState);\n });\n }\n };\n\n var getState = function getState() {\n return state;\n };\n\n var subscribeWithSelector = function subscribeWithSelector(listener) {\n var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getState;\n var equalityFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Object.is;\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n var currentSlice = selector(state);\n\n function listenerToAdd() {\n var nextSlice = selector(state);\n\n if (!equalityFn(currentSlice, nextSlice)) {\n var previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n\n listeners.add(listenerToAdd);\n return function () {\n return listeners.delete(listenerToAdd);\n };\n };\n\n var subscribe = function subscribe(listener, selector, equalityFn) {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n\n listeners.add(listener);\n return function () {\n return listeners.delete(listener);\n };\n };\n\n var destroy = function destroy() {\n return listeners.clear();\n };\n\n var api = {\n setState: setState,\n getState: getState,\n subscribe: subscribe,\n destroy: destroy\n };\n state = createState(setState, getState, api);\n return api;\n}\n\nvar isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nvar useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\n\nfunction create(createState) {\n var api = typeof createState === \"function\" ? createStore(createState) : createState;\n\n var useStore = function useStore() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : api.getState;\n var equalityFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Object.is;\n\n var _useReducer = useReducer(function (c) {\n return c + 1;\n }, 0),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n forceUpdate = _useReducer2[1];\n\n var state = api.getState();\n var stateRef = useRef(state);\n var selectorRef = useRef(selector);\n var equalityFnRef = useRef(equalityFn);\n var erroredRef = useRef(false);\n var currentSliceRef = useRef();\n\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n\n var newStateSlice;\n var hasNewStateSlice = false;\n\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n var stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(function () {\n var listener = function listener() {\n try {\n var nextState = api.getState();\n var nextStateSlice = selectorRef.current(nextState);\n\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n\n var unsubscribe = api.subscribe(listener);\n\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n\n return unsubscribe;\n }, []);\n var sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n\n Object.assign(useStore, api);\n\n useStore[Symbol.iterator] = function () {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n var items = [useStore, api];\n return {\n next: function next() {\n var done = items.length <= 0;\n return {\n value: items.shift(),\n done: done\n };\n }\n };\n };\n\n return useStore;\n}\n\nexport { create as default };","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); 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\nimport deepEqual from 'fast-deep-equal';\nvar globalCache = [];\n\nfunction handleAsset(fn, cache, args) {\n var lifespan = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var preload = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n var _iterator = _createForOfIteratorHelper(cache),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _entry = _step.value;\n\n // Find a match\n if (deepEqual(args, _entry.args)) {\n // If we're pre-loading and the element is present, just return\n if (preload) return; // If an error occurred, throw\n\n if (_entry.error) throw _entry.error; // If a response was successful, return\n\n if (_entry.response) return _entry.response; // If the promise is still unresolved, throw\n\n throw _entry.promise;\n }\n } // The request is new or has changed.\n\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var entry = {\n args: args,\n promise: // Make the promise request.\n fn.apply(void 0, _toConsumableArray(args)) // Response can't be undefined or else the loop above wouldn't be able to return it\n // This is for promises that do not return results (delays for instance)\n .then(function (response) {\n return entry.response = response != null ? response : true;\n }).catch(function (e) {\n return entry.error = e != null ? e : 'unknown error';\n }).then(function () {\n if (lifespan > 0) {\n setTimeout(function () {\n var index = cache.indexOf(entry);\n if (index !== -1) cache.splice(index, 1);\n }, lifespan);\n }\n })\n };\n cache.push(entry);\n if (!preload) throw entry.promise;\n}\n\nfunction _clear(cache) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (args === undefined || args.length === 0) cache.splice(0, cache.length);else {\n var entry = cache.find(function (entry) {\n return deepEqual(args, entry.args);\n });\n\n if (entry) {\n var index = cache.indexOf(entry);\n if (index !== -1) cache.splice(index, 1);\n }\n }\n}\n\nfunction createAsset(fn) {\n var lifespan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var cache = [];\n return {\n /**\n * @throws Suspense Promise if asset is not yet ready\n * @throws Error if the promise rejected for some reason\n */\n read: function read() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return handleAsset(fn, cache, args, lifespan);\n },\n preload: function preload() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return void handleAsset(fn, cache, args, lifespan, true);\n },\n clear: function clear() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _clear.apply(void 0, [cache].concat(args));\n },\n peek: function peek() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var _cache$find;\n\n return (_cache$find = cache.find(function (entry) {\n return deepEqual(args, entry.args);\n })) == null ? void 0 : _cache$find.response;\n }\n };\n}\n\nfunction useAsset(fn) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n return handleAsset(fn, globalCache, args, useAsset.lifespan);\n}\n\nuseAsset.lifespan = 0;\n\nuseAsset.clear = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _clear.apply(void 0, [globalCache].concat(args));\n};\n\nuseAsset.preload = function (fn) {\n for (var _len8 = arguments.length, args = new Array(_len8 > 1 ? _len8 - 1 : 0), _key8 = 1; _key8 < _len8; _key8++) {\n args[_key8 - 1] = arguments[_key8];\n }\n\n return void handleAsset(fn, globalCache, args, useAsset.lifespan, true);\n};\n\nuseAsset.peek = function () {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var _globalCache$find;\n\n return (_globalCache$find = globalCache.find(function (entry) {\n return deepEqual(args, entry.args);\n })) == null ? void 0 : _globalCache$find.response;\n};\n\nexport { createAsset, useAsset };","function mergeRefs(refs) {\n return function (value) {\n refs.forEach(function (ref) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n}\n\nexport default mergeRefs;","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport { useState, useRef, useEffect, useMemo } from 'react';\nimport createDebounce from 'debounce';\n\nfunction useMeasure(_temp) {\n var _ref = _temp === void 0 ? {\n debounce: 0,\n scroll: false,\n offsetSize: false\n } : _temp,\n debounce = _ref.debounce,\n scroll = _ref.scroll,\n polyfill = _ref.polyfill,\n offsetSize = _ref.offsetSize;\n\n var ResizeObserver = polyfill || (typeof window === 'undefined' ? /*#__PURE__*/_createClass(function ResizeObserver() {\n _classCallCheck(this, ResizeObserver);\n }) : window.ResizeObserver);\n\n if (!ResizeObserver) {\n throw new Error('This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills');\n }\n\n var _useState = useState({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n bottom: 0,\n right: 0,\n x: 0,\n y: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n bounds = _useState2[0],\n set = _useState2[1]; // keep all state in a ref\n\n\n var state = useRef({\n element: null,\n scrollContainers: null,\n resizeObserver: null,\n lastBounds: bounds\n }); // set actual debounce values early, so effects know if they should react accordingly\n\n var scrollDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.scroll : null;\n var resizeDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.resize : null; // make sure to update state only as long as the component is truly mounted\n\n var mounted = useRef(false);\n useEffect(function () {\n mounted.current = true;\n return function () {\n return void (mounted.current = false);\n };\n }); // memoize handlers, so event-listeners know when they should update\n\n var _useMemo = useMemo(function () {\n var callback = function callback() {\n if (!state.current.element) return;\n\n var _state$current$elemen = state.current.element.getBoundingClientRect(),\n left = _state$current$elemen.left,\n top = _state$current$elemen.top,\n width = _state$current$elemen.width,\n height = _state$current$elemen.height,\n bottom = _state$current$elemen.bottom,\n right = _state$current$elemen.right,\n x = _state$current$elemen.x,\n y = _state$current$elemen.y;\n\n var size = {\n left: left,\n top: top,\n width: width,\n height: height,\n bottom: bottom,\n right: right,\n x: x,\n y: y\n };\n\n if (state.current.element instanceof HTMLElement && offsetSize) {\n size.height = state.current.element.offsetHeight;\n size.width = state.current.element.offsetWidth;\n }\n\n Object.freeze(size);\n if (mounted.current && !areBoundsEqual(state.current.lastBounds, size)) set(state.current.lastBounds = size);\n };\n\n return [callback, resizeDebounce ? createDebounce(callback, resizeDebounce) : callback, scrollDebounce ? createDebounce(callback, scrollDebounce) : callback];\n }, [set, offsetSize, scrollDebounce, resizeDebounce]),\n _useMemo2 = _slicedToArray(_useMemo, 3),\n forceRefresh = _useMemo2[0],\n resizeChange = _useMemo2[1],\n scrollChange = _useMemo2[2]; // cleanup current scroll-listeners / observers\n\n\n function removeListeners() {\n if (state.current.scrollContainers) {\n state.current.scrollContainers.forEach(function (element) {\n return element.removeEventListener('scroll', scrollChange, true);\n });\n state.current.scrollContainers = null;\n }\n\n if (state.current.resizeObserver) {\n state.current.resizeObserver.disconnect();\n state.current.resizeObserver = null;\n }\n } // add scroll-listeners / observers\n\n\n function addListeners() {\n if (!state.current.element) return;\n state.current.resizeObserver = new ResizeObserver(scrollChange);\n state.current.resizeObserver.observe(state.current.element);\n\n if (scroll && state.current.scrollContainers) {\n state.current.scrollContainers.forEach(function (scrollContainer) {\n return scrollContainer.addEventListener('scroll', scrollChange, {\n capture: true,\n passive: true\n });\n });\n }\n } // the ref we expose to the user\n\n\n var ref = function ref(node) {\n if (!node || node === state.current.element) return;\n removeListeners();\n state.current.element = node;\n state.current.scrollContainers = findScrollContainers(node);\n addListeners();\n }; // add general event listeners\n\n\n useOnWindowScroll(scrollChange, Boolean(scroll));\n useOnWindowResize(resizeChange); // respond to changes that are relevant for the listeners\n\n useEffect(function () {\n removeListeners();\n addListeners();\n }, [scroll, scrollChange, resizeChange]); // remove all listeners when the components unmounts\n\n useEffect(function () {\n return removeListeners;\n }, []);\n return [ref, bounds, forceRefresh];\n} // Adds native resize listener to window\n\n\nfunction useOnWindowResize(onWindowResize) {\n useEffect(function () {\n var cb = onWindowResize;\n window.addEventListener('resize', cb);\n return function () {\n return void window.removeEventListener('resize', cb);\n };\n }, [onWindowResize]);\n}\n\nfunction useOnWindowScroll(onScroll, enabled) {\n useEffect(function () {\n if (enabled) {\n var cb = onScroll;\n window.addEventListener('scroll', cb, {\n capture: true,\n passive: true\n });\n return function () {\n return void window.removeEventListener('scroll', cb, true);\n };\n }\n }, [onScroll, enabled]);\n} // Returns a list of scroll offsets\n\n\nfunction findScrollContainers(element) {\n var result = [];\n if (!element || element === document.body) return result;\n\n var _window$getComputedSt = window.getComputedStyle(element),\n overflow = _window$getComputedSt.overflow,\n overflowX = _window$getComputedSt.overflowX,\n overflowY = _window$getComputedSt.overflowY;\n\n if ([overflow, overflowX, overflowY].some(function (prop) {\n return prop === 'auto' || prop === 'scroll';\n })) result.push(element);\n return [].concat(result, _toConsumableArray(findScrollContainers(element.parentElement)));\n} // Checks if element boundaries are equal\n\n\nvar keys = ['x', 'y', 'top', 'bottom', 'left', 'right', 'width', 'height'];\n\nvar areBoundsEqual = function areBoundsEqual(a, b) {\n return keys.every(function (key) {\n return a[key] === b[key];\n });\n};\n\nexport { useMeasure as default };","import _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _inherits from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _construct from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/construct.js\";\nimport _toArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toArray.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nvar _excluded = [\"children\", \"key\", \"ref\"],\n _excluded2 = [\"children\", \"key\", \"ref\"],\n _excluded3 = [\"args\"],\n _excluded4 = [\"args\", \"children\"],\n _excluded5 = [\"args\", \"children\"],\n _excluded6 = [\"params\"],\n _excluded7 = [\"children\", \"fallback\", \"tabIndex\", \"resize\", \"id\", \"style\", \"className\", \"events\"],\n _excluded8 = [\"gl\", \"size\", \"mode\", \"events\", \"onCreated\"];\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport \"core-js/modules/es.array.flat.js\";\nimport \"core-js/modules/es.array.unscopables.flat.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); 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\nimport * as THREE from 'three';\nimport * as React from 'react';\nimport create from 'zustand';\nimport Reconciler from 'react-reconciler';\nimport { unstable_now, unstable_runWithPriority, unstable_IdlePriority } from 'scheduler';\nimport { useAsset } from 'use-asset';\nimport mergeRefs from 'react-merge-refs';\nimport useMeasure from 'react-use-measure';\nvar threeTypes = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\nvar is = {\n obj: function obj(a) {\n return a === Object(a) && !is.arr(a) && typeof a !== 'function';\n },\n fun: function fun(a) {\n return typeof a === 'function';\n },\n str: function str(a) {\n return typeof a === 'string';\n },\n num: function num(a) {\n return typeof a === 'number';\n },\n und: function und(a) {\n return a === void 0;\n },\n arr: function arr(a) {\n return Array.isArray(a);\n },\n equ: function equ(a, b) {\n // Wrong type or one of the two undefined, doesn't match\n if (typeof a !== typeof b || !!a !== !!b) return false; // Atomic, just compare a against b\n\n if (is.str(a) || is.num(a) || is.obj(a)) return a === b; // Array, shallow compare first to see if it's a match\n\n if (is.arr(a) && a == b) return true; // Last resort, go through keys\n\n var i;\n\n for (i in a) {\n if (!(i in b)) return false;\n }\n\n for (i in b) {\n if (a[i] !== b[i]) return false;\n }\n\n return is.und(i) ? a === b : true;\n }\n};\n\nfunction makeId(event) {\n return (event.eventObject || event.object).uuid + '/' + event.index + event.instanceId;\n}\n/**\n * Release pointer captures.\n * This is called by releasePointerCapture in the API, and when an object is removed.\n */\n\n\nfunction releaseInternalPointerCapture(capturedMap, obj, captures, pointerId) {\n var captureData = captures.get(obj);\n\n if (captureData) {\n captures.delete(obj); // If this was the last capturing object for this pointer\n\n if (captures.size === 0) {\n capturedMap.delete(pointerId);\n captureData.target.releasePointerCapture(pointerId);\n }\n }\n}\n\nfunction removeInteractivity(store, object) {\n var _store$getState = store.getState(),\n internal = _store$getState.internal; // Removes every trace of an object from the data store\n\n\n internal.interaction = internal.interaction.filter(function (o) {\n return o !== object;\n });\n internal.initialHits = internal.initialHits.filter(function (o) {\n return o !== object;\n });\n internal.hovered.forEach(function (value, key) {\n if (value.eventObject === object || value.object === object) {\n internal.hovered.delete(key);\n }\n });\n internal.capturedMap.forEach(function (captures, pointerId) {\n releaseInternalPointerCapture(internal.capturedMap, object, captures, pointerId);\n });\n}\n\nfunction createEvents(store) {\n var temp = new THREE.Vector3();\n /** Sets up defaultRaycaster */\n\n function prepareRay(event) {\n var _customOffsets$offset, _customOffsets$offset2, _customOffsets$width, _customOffsets$height;\n\n var state = store.getState();\n var raycaster = state.raycaster,\n mouse = state.mouse,\n camera = state.camera,\n size = state.size; // https://github.com/pmndrs/react-three-fiber/pull/782\n // Events trigger outside of canvas when moved\n\n var customOffsets = raycaster.computeOffsets == null ? void 0 : raycaster.computeOffsets(event, state);\n var offsetX = (_customOffsets$offset = customOffsets == null ? void 0 : customOffsets.offsetX) != null ? _customOffsets$offset : event.offsetX;\n var offsetY = (_customOffsets$offset2 = customOffsets == null ? void 0 : customOffsets.offsetY) != null ? _customOffsets$offset2 : event.offsetY;\n var width = (_customOffsets$width = customOffsets == null ? void 0 : customOffsets.width) != null ? _customOffsets$width : size.width;\n var height = (_customOffsets$height = customOffsets == null ? void 0 : customOffsets.height) != null ? _customOffsets$height : size.height;\n mouse.set(offsetX / width * 2 - 1, -(offsetY / height) * 2 + 1);\n raycaster.setFromCamera(mouse, camera);\n }\n /** Calculates delta */\n\n\n function calculateDistance(event) {\n var _store$getState2 = store.getState(),\n internal = _store$getState2.internal;\n\n var dx = event.offsetX - internal.initialClick[0];\n var dy = event.offsetY - internal.initialClick[1];\n return Math.round(Math.sqrt(dx * dx + dy * dy));\n }\n /** Returns true if an instance has a valid pointer-event registered, this excludes scroll, clicks etc */\n\n\n function filterPointerEvents(objects) {\n return objects.filter(function (obj) {\n return ['Move', 'Over', 'Enter', 'Out', 'Leave'].some(function (name) {\n var _r3f;\n\n return (_r3f = obj.__r3f) == null ? void 0 : _r3f.handlers['onPointer' + name];\n });\n });\n }\n\n function intersect(filter) {\n var state = store.getState();\n var raycaster = state.raycaster,\n internal = state.internal; // Skip event handling when noEvents is set\n\n if (!raycaster.enabled) return [];\n var seen = new Set();\n var intersections = []; // Allow callers to eliminate event objects\n\n var eventsObjects = filter ? filter(internal.interaction) : internal.interaction; // Intersect known handler objects and filter against duplicates\n\n var intersects = raycaster.intersectObjects(eventsObjects, true).filter(function (item) {\n var id = makeId(item);\n if (seen.has(id)) return false;\n seen.add(id);\n return true;\n }); // https://github.com/mrdoob/three.js/issues/16031\n // Allow custom userland intersect sort order\n\n if (raycaster.filter) intersects = raycaster.filter(intersects, state);\n\n var _iterator = _createForOfIteratorHelper(intersects),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _intersect = _step.value;\n var eventObject = _intersect.object; // Bubble event up\n\n while (eventObject) {\n var _r3f2;\n\n if ((_r3f2 = eventObject.__r3f) != null && _r3f2.eventCount) intersections.push(_objectSpread(_objectSpread({}, _intersect), {}, {\n eventObject: eventObject\n }));\n eventObject = eventObject.parent;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return intersections;\n }\n /** Creates filtered intersects and returns an array of positive hits */\n\n\n function patchIntersects(intersections, event) {\n var _store$getState3 = store.getState(),\n internal = _store$getState3.internal; // If the interaction is captured, make all capturing targets part of the\n // intersect.\n\n\n if ('pointerId' in event && internal.capturedMap.has(event.pointerId)) {\n var _iterator2 = _createForOfIteratorHelper(internal.capturedMap.get(event.pointerId).values()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var captureData = _step2.value;\n intersections.push(captureData.intersection);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return intersections;\n }\n /** Handles intersections by forwarding them to handlers */\n\n\n function handleIntersects(intersections, event, delta, callback) {\n var _store$getState4 = store.getState(),\n raycaster = _store$getState4.raycaster,\n mouse = _store$getState4.mouse,\n camera = _store$getState4.camera,\n internal = _store$getState4.internal; // If anything has been found, forward it to the event listeners\n\n\n if (intersections.length) {\n (function () {\n var unprojectedPoint = temp.set(mouse.x, mouse.y, 0).unproject(camera);\n var localState = {\n stopped: false\n };\n\n var _iterator3 = _createForOfIteratorHelper(intersections),\n _step3;\n\n try {\n var _loop = function _loop() {\n var hit = _step3.value;\n\n var hasPointerCapture = function hasPointerCapture(id) {\n var _internal$capturedMap, _internal$capturedMap2;\n\n return (_internal$capturedMap = (_internal$capturedMap2 = internal.capturedMap.get(id)) == null ? void 0 : _internal$capturedMap2.has(hit.eventObject)) != null ? _internal$capturedMap : false;\n };\n\n var setPointerCapture = function setPointerCapture(id) {\n var captureData = {\n intersection: hit,\n target: event.target\n };\n\n if (internal.capturedMap.has(id)) {\n // if the pointerId was previously captured, we add the hit to the\n // event capturedMap.\n internal.capturedMap.get(id).set(hit.eventObject, captureData);\n } else {\n // if the pointerId was not previously captured, we create a map\n // containing the hitObject, and the hit. hitObject is used for\n // faster access.\n internal.capturedMap.set(id, new Map([[hit.eventObject, captureData]]));\n } // Call the original event now\n\n\n event.target.setPointerCapture(id);\n };\n\n var releasePointerCapture = function releasePointerCapture(id) {\n var captures = internal.capturedMap.get(id);\n\n if (captures) {\n releaseInternalPointerCapture(internal.capturedMap, hit.eventObject, captures, id);\n }\n }; // Add native event props\n\n\n var extractEventProps = {}; // This iterates over the event's properties including the inherited ones. Native PointerEvents have most of their props as getters which are inherited, but polyfilled PointerEvents have them all as their own properties (i.e. not inherited). We can't use Object.keys() or Object.entries() as they only return \"own\" properties; nor Object.getPrototypeOf(event) as that *doesn't* return \"own\" properties, only inherited ones.\n\n for (var prop in event) {\n var property = event[prop]; // Only copy over atomics, leave functions alone as these should be\n // called as event.nativeEvent.fn()\n\n if (typeof property !== 'function') extractEventProps[prop] = property;\n }\n\n var raycastEvent = _objectSpread(_objectSpread(_objectSpread({}, hit), extractEventProps), {}, {\n spaceX: mouse.x,\n spaceY: mouse.y,\n intersections: intersections,\n stopped: localState.stopped,\n delta: delta,\n unprojectedPoint: unprojectedPoint,\n ray: raycaster.ray,\n camera: camera,\n // Hijack stopPropagation, which just sets a flag\n stopPropagation: function stopPropagation() {\n // https://github.com/pmndrs/react-three-fiber/issues/596\n // Events are not allowed to stop propagation if the pointer has been captured\n var capturesForPointer = 'pointerId' in event && internal.capturedMap.get(event.pointerId); // We only authorize stopPropagation...\n\n if ( // ...if this pointer hasn't been captured\n !capturesForPointer || // ... or if the hit object is capturing the pointer\n capturesForPointer.has(hit.eventObject)) {\n raycastEvent.stopped = localState.stopped = true; // Propagation is stopped, remove all other hover records\n // An event handler is only allowed to flush other handlers if it is hovered itself\n\n if (internal.hovered.size && Array.from(internal.hovered.values()).find(function (i) {\n return i.eventObject === hit.eventObject;\n })) {\n // Objects cannot flush out higher up objects that have already caught the event\n var higher = intersections.slice(0, intersections.indexOf(hit));\n cancelPointer([].concat(_toConsumableArray(higher), [hit]));\n }\n }\n },\n // there should be a distinction between target and currentTarget\n target: {\n hasPointerCapture: hasPointerCapture,\n setPointerCapture: setPointerCapture,\n releasePointerCapture: releasePointerCapture\n },\n currentTarget: {\n hasPointerCapture: hasPointerCapture,\n setPointerCapture: setPointerCapture,\n releasePointerCapture: releasePointerCapture\n },\n sourceEvent: event,\n // deprecated\n nativeEvent: event\n }); // Call subscribers\n\n\n callback(raycastEvent); // Event bubbling may be interrupted by stopPropagation\n\n if (localState.stopped === true) return \"break\";\n };\n\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n })();\n }\n\n return intersections;\n }\n\n function cancelPointer(hits) {\n var _store$getState5 = store.getState(),\n internal = _store$getState5.internal;\n\n Array.from(internal.hovered.values()).forEach(function (hoveredObj) {\n // When no objects were hit or the the hovered object wasn't found underneath the cursor\n // we call onPointerOut and delete the object from the hovered-elements map\n if (!hits.length || !hits.find(function (hit) {\n return hit.object === hoveredObj.object && hit.index === hoveredObj.index && hit.instanceId === hoveredObj.instanceId;\n })) {\n var eventObject = hoveredObj.eventObject;\n var instance = eventObject.__r3f;\n var handlers = instance == null ? void 0 : instance.handlers;\n internal.hovered.delete(makeId(hoveredObj));\n\n if (instance != null && instance.eventCount) {\n // Clear out intersects, they are outdated by now\n var data = _objectSpread(_objectSpread({}, hoveredObj), {}, {\n intersections: hits || []\n });\n\n handlers.onPointerOut == null ? void 0 : handlers.onPointerOut(data);\n handlers.onPointerLeave == null ? void 0 : handlers.onPointerLeave(data);\n }\n }\n });\n }\n\n var handlePointer = function handlePointer(name) {\n // Deal with cancelation\n switch (name) {\n case 'onPointerLeave':\n case 'onPointerCancel':\n return function () {\n return cancelPointer([]);\n };\n\n case 'onLostPointerCapture':\n return function (event) {\n var _store$getState6 = store.getState(),\n internal = _store$getState6.internal;\n\n if ('pointerId' in event && !internal.capturedMap.has(event.pointerId)) {\n // If the object event interface had onLostPointerCapture, we'd call it here on every\n // object that's getting removed.\n internal.capturedMap.delete(event.pointerId);\n cancelPointer([]);\n }\n };\n } // Any other pointer goes here ...\n\n\n return function (event) {\n var _store$getState7 = store.getState(),\n onPointerMissed = _store$getState7.onPointerMissed,\n internal = _store$getState7.internal;\n\n prepareRay(event);\n internal.lastEvent.current = event; // Get fresh intersects\n\n var isPointerMove = name === 'onPointerMove';\n var isClickEvent = name === 'onClick' || name === 'onContextMenu' || name === 'onDoubleClick';\n var filter = isPointerMove ? filterPointerEvents : undefined;\n var hits = patchIntersects(intersect(filter), event);\n var delta = isClickEvent ? calculateDistance(event) : 0; // Save initial coordinates on pointer-down\n\n if (name === 'onPointerDown') {\n internal.initialClick = [event.offsetX, event.offsetY];\n internal.initialHits = hits.map(function (hit) {\n return hit.eventObject;\n });\n } // If a click yields no results, pass it back to the user as a miss\n // Missed events have to come first in order to establish user-land side-effect clean up\n\n\n if (isClickEvent && !hits.length) {\n if (delta <= 2) {\n pointerMissed(event, internal.interaction);\n if (onPointerMissed) onPointerMissed(event);\n }\n } // Take care of unhover\n\n\n if (isPointerMove) cancelPointer(hits);\n handleIntersects(hits, event, delta, function (data) {\n var eventObject = data.eventObject;\n var instance = eventObject.__r3f;\n var handlers = instance == null ? void 0 : instance.handlers; // Check presence of handlers\n\n if (!(instance != null && instance.eventCount)) return;\n\n if (isPointerMove) {\n // Move event ...\n if (handlers.onPointerOver || handlers.onPointerEnter || handlers.onPointerOut || handlers.onPointerLeave) {\n // When enter or out is present take care of hover-state\n var id = makeId(data);\n var hoveredItem = internal.hovered.get(id);\n\n if (!hoveredItem) {\n // If the object wasn't previously hovered, book it and call its handler\n internal.hovered.set(id, data);\n handlers.onPointerOver == null ? void 0 : handlers.onPointerOver(data);\n handlers.onPointerEnter == null ? void 0 : handlers.onPointerEnter(data);\n } else if (hoveredItem.stopped) {\n // If the object was previously hovered and stopped, we shouldn't allow other items to proceed\n data.stopPropagation();\n }\n } // Call mouse move\n\n\n handlers.onPointerMove == null ? void 0 : handlers.onPointerMove(data);\n } else {\n // All other events ...\n var handler = handlers[name];\n\n if (handler) {\n // Forward all events back to their respective handlers with the exception of click events,\n // which must use the initial target\n if (!isClickEvent || internal.initialHits.includes(eventObject)) {\n // Missed events have to come first\n pointerMissed(event, internal.interaction.filter(function (object) {\n return !internal.initialHits.includes(object);\n })); // Now call the handler\n\n handler(data);\n }\n } else {\n // Trigger onPointerMissed on all elements that have pointer over/out handlers, but not click and weren't hit\n if (isClickEvent && internal.initialHits.includes(eventObject)) {\n pointerMissed(event, internal.interaction.filter(function (object) {\n return !internal.initialHits.includes(object);\n }));\n }\n }\n }\n });\n };\n };\n\n function pointerMissed(event, objects) {\n objects.forEach(function (object) {\n var _r3f3;\n\n return (_r3f3 = object.__r3f) == null ? void 0 : _r3f3.handlers.onPointerMissed == null ? void 0 : _r3f3.handlers.onPointerMissed(event);\n });\n }\n\n return {\n handlePointer: handlePointer\n };\n}\n\nvar isDiffSet = function isDiffSet(def) {\n return def && !!def.memoized && !!def.changes;\n}; // Type guard to tell a store from a portal\n\n\nvar isStore = function isStore(def) {\n return def && !!def.getState;\n};\n\nvar getContainer = function getContainer(container, child) {\n var _container$__r3f$root, _container$__r3f;\n\n return {\n // If the container is not a root-store then it must be a THREE.Object3D into which part of the\n // scene is portalled into. Now there can be two variants of this, either that object is part of\n // the regular jsx tree, in which case it already has __r3f with a valid root attached, or it lies\n // outside react, in which case we must take the root of the child that is about to be attached to it.\n root: isStore(container) ? container : (_container$__r3f$root = (_container$__r3f = container.__r3f) == null ? void 0 : _container$__r3f.root) != null ? _container$__r3f$root : child.__r3f.root,\n // The container is the eventual target into which objects are mounted, it has to be a THREE.Object3D\n container: isStore(container) ? container.getState().scene : container\n };\n};\n\nvar DEFAULT = '__default';\nvar EMPTY = {};\nvar catalogue = {};\n\nvar extend = function extend(objects) {\n return void (catalogue = _objectSpread(_objectSpread({}, catalogue), objects));\n}; // Shallow check arrays, but check objects atomically\n\n\nfunction checkShallow(a, b) {\n if (is.arr(a) && is.equ(a, b)) return true;\n if (a === b) return true;\n return false;\n} // Each object in the scene carries a small LocalState descriptor\n\n\nfunction prepare(object, state) {\n var instance = object;\n\n if (state != null && state.primitive || !instance.__r3f) {\n instance.__r3f = _objectSpread({\n root: null,\n memoizedProps: {},\n eventCount: 0,\n handlers: {},\n objects: [],\n parent: null\n }, state);\n }\n\n return object;\n}\n\nfunction createRenderer(roots) {\n // This function prepares a set of changes to be applied to the instance\n function diffProps(instance, _ref2) {\n var cN = _ref2.children,\n kN = _ref2.key,\n rN = _ref2.ref,\n props = _objectWithoutProperties(_ref2, _excluded);\n\n var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n cP = _ref3.children,\n kP = _ref3.key,\n rP = _ref3.ref,\n previous = _objectWithoutProperties(_ref3, _excluded2);\n\n var accumulative = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n var _instance$__r3f;\n\n var localState = (_instance$__r3f = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f : {};\n var entries = Object.entries(props);\n var changes = []; // Catch removed props, prepend them so they can be reset or removed\n\n if (accumulative) {\n var previousKeys = Object.keys(previous);\n\n for (var _i = 0; _i < previousKeys.length; _i++) {\n if (!props.hasOwnProperty(previousKeys[_i])) entries.unshift([previousKeys[_i], DEFAULT + 'remove']);\n }\n }\n\n entries.forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n var _instance$__r3f2; // Bail out on primitive object\n\n\n if ((_instance$__r3f2 = instance.__r3f) != null && _instance$__r3f2.primitive && key === 'object') return; // When props match bail out\n\n if (checkShallow(value, previous[key])) return; // Collect handlers and bail out\n\n if (/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(key)) return changes.push([key, value, true, []]); // Split dashed props\n\n var entries = [];\n if (key.includes('-')) entries = key.split('-');\n changes.push([key, value, false, entries]);\n });\n\n var memoized = _objectSpread({}, props);\n\n if (localState.memoizedProps && localState.memoizedProps.args) memoized.args = localState.memoizedProps.args;\n if (localState.memoizedProps && localState.memoizedProps.attach) memoized.attach = localState.memoizedProps.attach;\n return {\n accumulative: accumulative,\n memoized: memoized,\n changes: changes\n };\n }\n\n function applyProps(instance, data) {\n var _instance$__r3f3, _root$getState, _instance$__r3f4; // Filter equals, events and reserved props\n\n\n var localState = (_instance$__r3f3 = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f3 : {};\n var root = localState.root;\n var rootState = (_root$getState = root == null ? void 0 : root.getState == null ? void 0 : root.getState()) != null ? _root$getState : {};\n\n var _ref6 = isDiffSet(data) ? data : diffProps(instance, data),\n memoized = _ref6.memoized,\n changes = _ref6.changes;\n\n var prevHandlers = localState.eventCount; // Prepare memoized props\n\n if (instance.__r3f) instance.__r3f.memoizedProps = memoized;\n changes.forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 4),\n key = _ref8[0],\n value = _ref8[1],\n isEvent = _ref8[2],\n keys = _ref8[3];\n\n var _rootState$gl;\n\n var currentInstance = instance;\n var targetProp = currentInstance[key]; // Revolve dashed props\n\n if (keys.length) {\n targetProp = keys.reduce(function (acc, key) {\n return acc[key];\n }, instance); // If the target is atomic, it forces us to switch the root\n\n if (!(targetProp && targetProp.set)) {\n var _keys$reverse = keys.reverse(),\n _keys$reverse2 = _toArray(_keys$reverse),\n name = _keys$reverse2[0],\n reverseEntries = _keys$reverse2.slice(1);\n\n currentInstance = reverseEntries.reverse().reduce(function (acc, key) {\n return acc[key];\n }, instance);\n key = name;\n }\n } // https://github.com/mrdoob/three.js/issues/21209\n // HMR/fast-refresh relies on the ability to cancel out props, but threejs\n // has no means to do this. Hence we curate a small collection of value-classes\n // with their respective constructor/set arguments\n // For removed props, try to set default values, if possible\n\n\n if (value === DEFAULT + 'remove') {\n if (targetProp && targetProp.constructor) {\n // use the prop constructor to find the default it should be\n value = new targetProp.constructor(memoized.args);\n } else if (currentInstance.constructor) {\n // create a blank slate of the instance and copy the particular parameter.\n // @ts-ignore\n var defaultClassCall = new currentInstance.constructor(currentInstance.__r3f.memoizedProps.args);\n value = defaultClassCall[targetProp]; // destory the instance\n\n if (defaultClassCall.dispose) defaultClassCall.dispose(); // instance does not have constructor, just set it to 0\n } else value = 0;\n }\n\n var isLinear = (rootState == null ? void 0 : (_rootState$gl = rootState.gl) == null ? void 0 : _rootState$gl.outputEncoding) === THREE.LinearEncoding; // Deal with pointer events ...\n\n if (isEvent) {\n if (value) localState.handlers[key] = value;else delete localState.handlers[key];\n localState.eventCount = Object.keys(localState.handlers).length;\n } // Special treatment for objects with support for set/copy, and layers\n else if (targetProp && targetProp.set && (targetProp.copy || targetProp instanceof THREE.Layers)) {\n // If value is an array\n if (Array.isArray(value)) {\n var _targetProp;\n\n if (targetProp.fromArray) targetProp.fromArray(value);else (_targetProp = targetProp).set.apply(_targetProp, _toConsumableArray(value));\n } // Test again target.copy(class) next ...\n else if (targetProp.copy && value && value.constructor && targetProp.constructor.name === value.constructor.name) targetProp.copy(value); // If nothing else fits, just set the single value, ignore undefined\n // https://github.com/pmndrs/react-three-fiber/issues/274\n else if (value !== undefined) {\n var isColor = targetProp instanceof THREE.Color; // Allow setting array scalars\n\n if (!isColor && targetProp.setScalar) targetProp.setScalar(value); // Layers have no copy function, we must therefore copy the mask property\n else if (targetProp instanceof THREE.Layers && value instanceof THREE.Layers) targetProp.mask = value.mask; // Otherwise just set ...\n else targetProp.set(value); // Auto-convert sRGB colors, for now ...\n // https://github.com/pmndrs/react-three-fiber/issues/344\n\n if (!isLinear && isColor) targetProp.convertSRGBToLinear();\n } // Else, just overwrite the value\n\n } else {\n currentInstance[key] = value; // Auto-convert sRGB textures, for now ...\n // https://github.com/pmndrs/react-three-fiber/issues/344\n\n if (!isLinear && currentInstance[key] instanceof THREE.Texture) currentInstance[key].encoding = THREE.sRGBEncoding;\n }\n\n invalidateInstance(instance);\n });\n\n if (localState.parent && rootState.internal && instance.raycast && prevHandlers !== localState.eventCount) {\n // Pre-emptively remove the instance from the interaction manager\n var index = rootState.internal.interaction.indexOf(instance);\n if (index > -1) rootState.internal.interaction.splice(index, 1); // Add the instance to the interaction manager only when it has handlers\n\n if (localState.eventCount) rootState.internal.interaction.push(instance);\n } // Call the update lifecycle when it is being updated\n\n\n if (changes.length && (_instance$__r3f4 = instance.__r3f) != null && _instance$__r3f4.parent) updateInstance(instance);\n return instance;\n }\n\n function invalidateInstance(instance) {\n var _instance$__r3f5, _instance$__r3f5$root;\n\n var state = (_instance$__r3f5 = instance.__r3f) == null ? void 0 : (_instance$__r3f5$root = _instance$__r3f5.root) == null ? void 0 : _instance$__r3f5$root.getState == null ? void 0 : _instance$__r3f5$root.getState();\n if (state && state.internal.frames === 0) state.invalidate();\n }\n\n function updateInstance(instance) {\n instance.onUpdate == null ? void 0 : instance.onUpdate(instance);\n }\n\n function createInstance(type, _ref9, root, hostContext, internalInstanceHandle) {\n var _ref9$args = _ref9.args,\n args = _ref9$args === void 0 ? [] : _ref9$args,\n props = _objectWithoutProperties(_ref9, _excluded3);\n\n var name = \"\".concat(type[0].toUpperCase()).concat(type.slice(1));\n var instance; // https://github.com/facebook/react/issues/17147\n // Portals do not give us a root, they are themselves treated as a root by the reconciler\n // In order to figure out the actual root we have to climb through fiber internals :(\n\n if (!isStore(root) && internalInstanceHandle) {\n var fn = function fn(node) {\n if (!node.return) return node.stateNode && node.stateNode.containerInfo;else return fn(node.return);\n };\n\n root = fn(internalInstanceHandle);\n } // Assert that by now we have a valid root\n\n\n if (!root || !isStore(root)) throw \"No valid root for \".concat(name, \"!\");\n\n if (type === 'primitive') {\n if (props.object === undefined) throw \"Primitives without 'object' are invalid!\";\n var object = props.object;\n instance = prepare(object, {\n root: root,\n primitive: true\n });\n } else {\n var target = catalogue[name] || THREE[name];\n if (!target) throw \"\".concat(name, \" is not part of the THREE namespace! Did you forget to extend? See: https://github.com/pmndrs/react-three-fiber/blob/master/markdown/api.md#using-3rd-party-objects-declaratively\"); // Throw if an object or literal was passed for args\n\n if (!Array.isArray(args)) throw 'The args prop must be an array!'; // Instanciate new object, link it to the root\n // Append memoized props with args so it's not forgotten\n\n instance = prepare(_construct(target, _toConsumableArray(args)), {\n root: root,\n memoizedProps: {\n args: args.length === 0 ? null : args\n }\n });\n } // Auto-attach geometries and materials\n\n\n if (!('attachFns' in props)) {\n if (name.endsWith('Geometry')) {\n props = _objectSpread({\n attach: 'geometry'\n }, props);\n } else if (name.endsWith('Material')) {\n props = _objectSpread({\n attach: 'material'\n }, props);\n }\n } // It should NOT call onUpdate on object instanciation, because it hasn't been added to the\n // view yet. If the callback relies on references for instance, they won't be ready yet, this is\n // why it passes \"true\" here\n\n\n applyProps(instance, props);\n return instance;\n }\n\n function appendChild(parentInstance, child) {\n var addedAsChild = false;\n\n if (child) {\n // The attach attribute implies that the object attaches itself on the parent\n if (child.attachArray) {\n if (!is.arr(parentInstance[child.attachArray])) parentInstance[child.attachArray] = [];\n parentInstance[child.attachArray].push(child);\n } else if (child.attachObject) {\n if (!is.obj(parentInstance[child.attachObject[0]])) parentInstance[child.attachObject[0]] = {};\n parentInstance[child.attachObject[0]][child.attachObject[1]] = child;\n } else if (child.attach && !is.fun(child.attach)) {\n parentInstance[child.attach] = child;\n } else if (is.arr(child.attachFns)) {\n var _child$attachFns = _slicedToArray(child.attachFns, 1),\n attachFn = _child$attachFns[0];\n\n if (is.str(attachFn) && is.fun(parentInstance[attachFn])) {\n parentInstance[attachFn](child);\n } else if (is.fun(attachFn)) {\n attachFn(child, parentInstance);\n }\n } else if (child.isObject3D && parentInstance.isObject3D) {\n // add in the usual parent-child way\n parentInstance.add(child);\n addedAsChild = true;\n }\n\n if (!addedAsChild) {\n // This is for anything that used attach, and for non-Object3Ds that don't get attached to props;\n // that is, anything that's a child in React but not a child in the scenegraph.\n parentInstance.__r3f.objects.push(child);\n }\n\n if (!child.__r3f) {\n prepare(child, {});\n }\n\n child.__r3f.parent = parentInstance;\n updateInstance(child);\n invalidateInstance(child);\n }\n }\n\n function insertBefore(parentInstance, child, beforeChild) {\n var added = false;\n\n if (child) {\n if (child.attachArray) {\n var array = parentInstance[child.attachArray];\n if (!is.arr(array)) parentInstance[child.attachArray] = [];\n array.splice(array.indexOf(beforeChild), 0, child);\n } else if (child.attachObject || child.attach && !is.fun(child.attach)) {\n // attach and attachObject don't have an order anyway, so just append\n return appendChild(parentInstance, child);\n } else if (child.isObject3D && parentInstance.isObject3D) {\n child.parent = parentInstance;\n child.dispatchEvent({\n type: 'added'\n });\n var restSiblings = parentInstance.children.filter(function (sibling) {\n return sibling !== child;\n });\n var index = restSiblings.indexOf(beforeChild);\n parentInstance.children = [].concat(_toConsumableArray(restSiblings.slice(0, index)), [child], _toConsumableArray(restSiblings.slice(index)));\n added = true;\n }\n\n if (!added) {\n parentInstance.__r3f.objects.push(child);\n }\n\n if (!child.__r3f) {\n prepare(child, {});\n }\n\n child.__r3f.parent = parentInstance;\n updateInstance(child);\n invalidateInstance(child);\n }\n }\n\n function removeRecursive(array, parent) {\n var dispose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (array) _toConsumableArray(array).forEach(function (child) {\n return removeChild(parent, child, dispose);\n });\n }\n\n function removeChild(parentInstance, child, dispose) {\n if (child) {\n var _parentInstance$__r3f, _child$__r3f2;\n\n if (child.__r3f) {\n child.__r3f.parent = null;\n }\n\n if ((_parentInstance$__r3f = parentInstance.__r3f) != null && _parentInstance$__r3f.objects) {\n parentInstance.__r3f.objects = parentInstance.__r3f.objects.filter(function (x) {\n return x !== child;\n });\n } // Remove attachment\n\n\n if (child.attachArray) {\n parentInstance[child.attachArray] = parentInstance[child.attachArray].filter(function (x) {\n return x !== child;\n });\n } else if (child.attachObject) {\n delete parentInstance[child.attachObject[0]][child.attachObject[1]];\n } else if (child.attach && !is.fun(child.attach) && parentInstance[child.attach] === child) {\n parentInstance[child.attach] = null;\n } else if (is.arr(child.attachFns)) {\n var _child$attachFns2 = _slicedToArray(child.attachFns, 2),\n detachFn = _child$attachFns2[1];\n\n if (is.str(detachFn) && is.fun(parentInstance[detachFn])) {\n parentInstance[detachFn](child);\n } else if (is.fun(detachFn)) {\n detachFn(child, parentInstance);\n }\n } else if (child.isObject3D && parentInstance.isObject3D) {\n var _child$__r3f;\n\n parentInstance.remove(child); // Remove interactivity\n\n if ((_child$__r3f = child.__r3f) != null && _child$__r3f.root) {\n removeInteractivity(child.__r3f.root, child);\n }\n } // Allow objects to bail out of recursive dispose alltogether by passing dispose={null}\n // Never dispose of primitives because their state may be kept outside of React!\n // In order for an object to be able to dispose it has to have\n // - a dispose method,\n // - it cannot be a \n // - it cannot be a THREE.Scene, because three has broken it's own api\n //\n // Since disposal is recursive, we can check the optional dispose arg, which will be undefined\n // when the reconciler calls it, but then carry our own check recursively\n\n\n var isPrimitive = (_child$__r3f2 = child.__r3f) == null ? void 0 : _child$__r3f2.primitive;\n var shouldDispose = dispose === undefined ? child.dispose !== null && !isPrimitive : dispose; // Remove nested child objects. Primitives should not have objects and children that are\n // attached to them declaratively ...\n\n if (!isPrimitive) {\n var _child$__r3f3;\n\n removeRecursive((_child$__r3f3 = child.__r3f) == null ? void 0 : _child$__r3f3.objects, child, shouldDispose);\n removeRecursive(child.children, child, shouldDispose);\n } // Remove references\n\n\n if (child.__r3f) {\n delete child.__r3f.root;\n delete child.__r3f.objects;\n delete child.__r3f.handlers;\n delete child.__r3f.memoizedProps;\n if (!isPrimitive) delete child.__r3f;\n } // Dispose item whenever the reconciler feels like it\n\n\n if (shouldDispose && child.dispose && child.type !== 'Scene') {\n unstable_runWithPriority(unstable_IdlePriority, function () {\n try {\n child.dispose();\n } catch (e) {\n /* ... */\n }\n });\n }\n\n invalidateInstance(parentInstance);\n }\n }\n\n function switchInstance(instance, type, newProps, fiber) {\n var _instance$__r3f6;\n\n var parent = (_instance$__r3f6 = instance.__r3f) == null ? void 0 : _instance$__r3f6.parent;\n if (!parent) return;\n var newInstance = createInstance(type, newProps, instance.__r3f.root); // https://github.com/pmndrs/react-three-fiber/issues/1348\n // When args change the instance has to be re-constructed, which then\n // forces r3f to re-parent the children and non-scene objects\n // This can not include primitives, which should not have declarative children\n\n if (type !== 'primitive' && instance.children) {\n instance.children.forEach(function (child) {\n return appendChild(newInstance, child);\n });\n instance.children = [];\n }\n\n instance.__r3f.objects.forEach(function (child) {\n return appendChild(newInstance, child);\n });\n\n instance.__r3f.objects = [];\n removeChild(parent, instance);\n appendChild(parent, newInstance); // Re-bind event handlers\n\n if (newInstance.raycast && newInstance.__r3f.eventCount) {\n var rootState = newInstance.__r3f.root.getState();\n\n rootState.internal.interaction.push(newInstance);\n } // This evil hack switches the react-internal fiber node\n\n\n [fiber, fiber.alternate].forEach(function (fiber) {\n if (fiber !== null) {\n fiber.stateNode = newInstance;\n\n if (fiber.ref) {\n if (typeof fiber.ref === 'function') fiber.ref(newInstance);else fiber.ref.current = newInstance;\n }\n }\n });\n }\n\n var reconciler = Reconciler({\n now: unstable_now,\n createInstance: createInstance,\n removeChild: removeChild,\n appendChild: appendChild,\n appendInitialChild: appendChild,\n insertBefore: insertBefore,\n warnsIfNotActing: true,\n supportsMutation: true,\n isPrimaryRenderer: false,\n // @ts-ignore\n scheduleTimeout: is.fun(setTimeout) ? setTimeout : undefined,\n // @ts-ignore\n cancelTimeout: is.fun(clearTimeout) ? clearTimeout : undefined,\n // @ts-ignore\n setTimeout: is.fun(setTimeout) ? setTimeout : undefined,\n // @ts-ignore\n clearTimeout: is.fun(clearTimeout) ? clearTimeout : undefined,\n noTimeout: -1,\n appendChildToContainer: function appendChildToContainer(parentInstance, child) {\n var _getContainer = getContainer(parentInstance, child),\n container = _getContainer.container,\n root = _getContainer.root; // Link current root to the default scene\n\n\n container.__r3f.root = root;\n appendChild(container, child);\n },\n removeChildFromContainer: function removeChildFromContainer(parentInstance, child) {\n return removeChild(getContainer(parentInstance, child).container, child);\n },\n insertInContainerBefore: function insertInContainerBefore(parentInstance, child, beforeChild) {\n return insertBefore(getContainer(parentInstance, child).container, child, beforeChild);\n },\n prepareUpdate: function prepareUpdate(instance, type, oldProps, newProps) {\n if (instance.__r3f.primitive && newProps.object && newProps.object !== instance) return [true];else {\n // This is a data object, let's extract critical information about it\n var _newProps$args = newProps.args,\n argsNew = _newProps$args === void 0 ? [] : _newProps$args,\n cN = newProps.children,\n restNew = _objectWithoutProperties(newProps, _excluded4);\n\n var _oldProps$args = oldProps.args,\n argsOld = _oldProps$args === void 0 ? [] : _oldProps$args,\n cO = oldProps.children,\n restOld = _objectWithoutProperties(oldProps, _excluded5); // Throw if an object or literal was passed for args\n\n\n if (!Array.isArray(argsNew)) throw 'The args prop must be an array!'; // If it has new props or arguments, then it needs to be re-instanciated\n\n if (argsNew.some(function (value, index) {\n return value !== argsOld[index];\n })) return [true]; // Create a diff-set, flag if there are any changes\n\n var diff = diffProps(instance, restNew, restOld, true);\n if (diff.changes.length) return [false, diff]; // If instance was never attached, attach it\n\n if (instance.attach && typeof instance.attach !== 'function') {\n var localState = instance.__r3f;\n var parent = localState.parent;\n\n if (parent && parent[instance.attach] !== instance) {\n appendChild(parent, instance);\n }\n } // Otherwise do not touch the instance\n\n\n return null;\n }\n },\n commitUpdate: function commitUpdate(instance, _ref10, type, oldProps, newProps, fiber) {\n var _ref11 = _slicedToArray(_ref10, 2),\n reconstruct = _ref11[0],\n diff = _ref11[1];\n\n // Reconstruct when args or 0 && arguments[0] !== undefined ? arguments[0] : get().camera;\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultTarget;\n var size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : get().size;\n var width = size.width,\n height = size.height;\n var aspect = width / height;\n if (target instanceof THREE.Vector3) tempTarget.copy(target);else tempTarget.set.apply(tempTarget, _toConsumableArray(target));\n var distance = camera.getWorldPosition(position).distanceTo(tempTarget);\n\n if (isOrthographicCamera(camera)) {\n return {\n width: width / camera.zoom,\n height: height / camera.zoom,\n factor: 1,\n distance: distance,\n aspect: aspect\n };\n } else {\n var fov = camera.fov * Math.PI / 180; // convert vertical fov to radians\n\n var h = 2 * Math.tan(fov / 2) * distance; // visible height\n\n var w = h * (width / height);\n return {\n width: w,\n height: h,\n factor: width / w,\n distance: distance,\n aspect: aspect\n };\n }\n }\n\n var performanceTimeout = undefined;\n\n var setPerformanceCurrent = function setPerformanceCurrent(current) {\n return set(function (state) {\n return {\n performance: _objectSpread(_objectSpread({}, state.performance), {}, {\n current: current\n })\n };\n });\n };\n\n return {\n gl: gl,\n set: set,\n get: get,\n invalidate: function invalidate() {\n return _invalidate(get());\n },\n advance: function advance(timestamp, runGlobalEffects) {\n return _advance(timestamp, runGlobalEffects, get());\n },\n linear: linear,\n flat: flat,\n scene: prepare(new THREE.Scene()),\n camera: camera,\n controls: null,\n raycaster: raycaster,\n clock: clock,\n mouse: new THREE.Vector2(),\n vr: vr,\n frameloop: frameloop,\n onPointerMissed: onPointerMissed,\n performance: _objectSpread(_objectSpread({\n current: 1,\n min: 0.5,\n max: 1,\n debounce: 200\n }, performance), {}, {\n regress: function regress() {\n var state = get(); // Clear timeout\n\n if (performanceTimeout) clearTimeout(performanceTimeout); // Set lower bound performance\n\n if (state.performance.current !== state.performance.min) setPerformanceCurrent(state.performance.min); // Go back to upper bound performance after a while unless something regresses meanwhile\n\n performanceTimeout = setTimeout(function () {\n return setPerformanceCurrent(get().performance.max);\n }, state.performance.debounce);\n }\n }),\n size: {\n width: 0,\n height: 0\n },\n viewport: {\n initialDpr: initialDpr,\n dpr: initialDpr,\n width: 0,\n height: 0,\n aspect: 0,\n distance: 0,\n factor: 0,\n getCurrentViewport: getCurrentViewport\n },\n setSize: function setSize(width, height) {\n var size = {\n width: width,\n height: height\n };\n set(function (state) {\n return {\n size: size,\n viewport: _objectSpread(_objectSpread({}, state.viewport), getCurrentViewport(camera, defaultTarget, size))\n };\n });\n },\n setDpr: function setDpr(dpr) {\n return set(function (state) {\n return {\n viewport: _objectSpread(_objectSpread({}, state.viewport), {}, {\n dpr: calculateDpr(dpr)\n })\n };\n });\n },\n setFrameloop: function setFrameloop() {\n var frameloop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'always';\n return set(function () {\n return {\n frameloop: frameloop\n };\n });\n },\n events: {\n connected: false\n },\n internal: {\n active: false,\n priority: 0,\n frames: 0,\n lastProps: props,\n lastEvent: /*#__PURE__*/React.createRef(),\n interaction: [],\n hovered: new Map(),\n subscribers: [],\n initialClick: [0, 0],\n initialHits: [],\n capturedMap: new Map(),\n subscribe: function subscribe(ref) {\n var priority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n set(function (_ref13) {\n var internal = _ref13.internal;\n return {\n internal: _objectSpread(_objectSpread({}, internal), {}, {\n // If this subscription was given a priority, it takes rendering into its own hands\n // For that reason we switch off automatic rendering and increase the manual flag\n // As long as this flag is positive there can be no internal rendering at all\n // because there could be multiple render subscriptions\n priority: internal.priority + (priority > 0 ? 1 : 0),\n // Register subscriber and sort layers from lowest to highest, meaning,\n // highest priority renders last (on top of the other frames)\n subscribers: [].concat(_toConsumableArray(internal.subscribers), [{\n ref: ref,\n priority: priority\n }]).sort(function (a, b) {\n return a.priority - b.priority;\n })\n })\n };\n });\n return function () {\n set(function (_ref14) {\n var internal = _ref14.internal;\n return {\n internal: _objectSpread(_objectSpread({}, internal), {}, {\n // Decrease manual flag if this subscription had a priority\n priority: internal.priority - (priority > 0 ? 1 : 0),\n // Remove subscriber from list\n subscribers: internal.subscribers.filter(function (s) {\n return s.ref !== ref;\n })\n })\n };\n });\n };\n }\n }\n };\n });\n var state = rootState.getState(); // Resize camera and renderer on changes to size and pixelratio\n\n var oldSize = state.size;\n var oldDpr = state.viewport.dpr;\n rootState.subscribe(function () {\n var _rootState$getState = rootState.getState(),\n camera = _rootState$getState.camera,\n size = _rootState$getState.size,\n viewport = _rootState$getState.viewport,\n internal = _rootState$getState.internal;\n\n if (size !== oldSize || viewport.dpr !== oldDpr) {\n // https://github.com/pmndrs/react-three-fiber/issues/92\n // Do not mess with the camera if it belongs to the user\n if (!camera.manual && !(internal.lastProps.camera instanceof THREE.Camera)) {\n if (isOrthographicCamera(camera)) {\n camera.left = size.width / -2;\n camera.right = size.width / 2;\n camera.top = size.height / 2;\n camera.bottom = size.height / -2;\n } else {\n camera.aspect = size.width / size.height;\n }\n\n camera.updateProjectionMatrix(); // https://github.com/pmndrs/react-three-fiber/issues/178\n // Update matrix world since the renderer is a frame late\n\n camera.updateMatrixWorld();\n } // Update renderer\n\n\n gl.setPixelRatio(viewport.dpr);\n gl.setSize(size.width, size.height);\n oldSize = size;\n oldDpr = viewport.dpr;\n }\n }); // Update size\n\n if (size) state.setSize(size.width, size.height); // Invalidate on any change\n\n rootState.subscribe(function (state) {\n return _invalidate(state);\n }); // Return root state\n\n return rootState;\n};\n\nfunction createSubs(callback, subs) {\n var index = subs.length;\n subs.push(callback);\n return function () {\n return void subs.splice(index, 1);\n };\n}\n\nvar i;\nvar globalEffects = [];\nvar globalAfterEffects = [];\nvar globalTailEffects = [];\n\nvar addEffect = function addEffect(callback) {\n return createSubs(callback, globalEffects);\n};\n\nvar addAfterEffect = function addAfterEffect(callback) {\n return createSubs(callback, globalAfterEffects);\n};\n\nvar addTail = function addTail(callback) {\n return createSubs(callback, globalTailEffects);\n};\n\nfunction run(effects, timestamp) {\n for (i = 0; i < effects.length; i++) {\n effects[i](timestamp);\n }\n}\n\nfunction render$1(timestamp, state) {\n // Run local effects\n var delta = state.clock.getDelta(); // In frameloop='never' mode, clock times are updated using the provided timestamp\n\n if (state.frameloop === 'never' && typeof timestamp === 'number') {\n delta = timestamp - state.clock.elapsedTime;\n state.clock.oldTime = state.clock.elapsedTime;\n state.clock.elapsedTime = timestamp;\n } // Call subscribers (useFrame)\n\n\n for (i = 0; i < state.internal.subscribers.length; i++) {\n state.internal.subscribers[i].ref.current(state, delta);\n } // Render content\n\n\n if (!state.internal.priority && state.gl.render) state.gl.render(state.scene, state.camera); // Decrease frame count\n\n state.internal.frames = Math.max(0, state.internal.frames - 1);\n return state.frameloop === 'always' ? 1 : state.internal.frames;\n}\n\nfunction createLoop(roots) {\n var running = false;\n var repeat;\n\n function loop(timestamp) {\n running = true;\n repeat = 0; // Run effects\n\n run(globalEffects, timestamp); // Render all roots\n\n roots.forEach(function (root) {\n var state = root.store.getState(); // If the frameloop is invalidated, do not run another frame\n\n if (state.internal.active && (state.frameloop === 'always' || state.internal.frames > 0)) repeat += render$1(timestamp, state);\n }); // Run after-effects\n\n run(globalAfterEffects, timestamp); // Keep on looping if anything invalidates the frameloop\n\n if (repeat > 0) return requestAnimationFrame(loop); // Tail call effects, they are called when rendering stops\n else run(globalTailEffects, timestamp); // Flag end of operation\n\n running = false;\n }\n\n function invalidate(state) {\n if (!state) return roots.forEach(function (root) {\n return invalidate(root.store.getState());\n });\n if (state.vr || !state.internal.active || state.frameloop === 'never') return; // Increase frames, do not go higher than 60\n\n state.internal.frames = Math.min(60, state.internal.frames + 1); // If the render-loop isn't active, start it\n\n if (!running) {\n running = true;\n requestAnimationFrame(loop);\n }\n }\n\n function advance(timestamp) {\n var runGlobalEffects = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var state = arguments.length > 2 ? arguments[2] : undefined;\n if (runGlobalEffects) run(globalEffects, timestamp);\n if (!state) roots.forEach(function (root) {\n return render$1(timestamp, root.store.getState());\n });else render$1(timestamp, state);\n if (runGlobalEffects) run(globalAfterEffects, timestamp);\n }\n\n return {\n loop: loop,\n invalidate: invalidate,\n advance: advance\n };\n}\n\nfunction createPointerEvents(store) {\n var _createEvents = createEvents(store),\n handlePointer = _createEvents.handlePointer;\n\n var names = {\n onClick: ['click', false],\n onContextMenu: ['contextmenu', false],\n onDoubleClick: ['dblclick', false],\n onWheel: ['wheel', true],\n onPointerDown: ['pointerdown', true],\n onPointerUp: ['pointerup', true],\n onPointerLeave: ['pointerleave', true],\n onPointerMove: ['pointermove', true],\n onPointerCancel: ['pointercancel', true],\n onLostPointerCapture: ['lostpointercapture', true]\n };\n return {\n connected: false,\n handlers: Object.keys(names).reduce(function (acc, key) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, handlePointer(key)));\n }, {}),\n connect: function connect(target) {\n var _events$handlers;\n\n var _store$getState8 = store.getState(),\n set = _store$getState8.set,\n events = _store$getState8.events;\n\n events.disconnect == null ? void 0 : events.disconnect();\n set(function (state) {\n return {\n events: _objectSpread(_objectSpread({}, state.events), {}, {\n connected: target\n })\n };\n });\n Object.entries((_events$handlers = events == null ? void 0 : events.handlers) != null ? _events$handlers : []).forEach(function (_ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n name = _ref16[0],\n event = _ref16[1];\n\n var _names$name = _slicedToArray(names[name], 2),\n eventName = _names$name[0],\n passive = _names$name[1];\n\n target.addEventListener(eventName, event, {\n passive: passive\n });\n });\n },\n disconnect: function disconnect() {\n var _store$getState9 = store.getState(),\n set = _store$getState9.set,\n events = _store$getState9.events;\n\n if (events.connected) {\n var _events$handlers2;\n\n Object.entries((_events$handlers2 = events.handlers) != null ? _events$handlers2 : []).forEach(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 2),\n name = _ref18[0],\n event = _ref18[1];\n\n if (events && events.connected instanceof HTMLElement) {\n var _names$name2 = _slicedToArray(names[name], 1),\n eventName = _names$name2[0];\n\n events.connected.removeEventListener(eventName, event);\n }\n });\n set(function (state) {\n return {\n events: _objectSpread(_objectSpread({}, state.events), {}, {\n connected: false\n })\n };\n });\n }\n }\n };\n} // 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.\n\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\nfunction Block(_ref19) {\n var set = _ref19.set;\n useIsomorphicLayoutEffect(function () {\n set(new Promise(function () {\n return null;\n }));\n return function () {\n return set(false);\n };\n }, []);\n return null;\n}\n\nvar ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n _inherits(ErrorBoundary, _React$Component);\n\n var _super = _createSuper(ErrorBoundary);\n\n function ErrorBoundary() {\n var _this;\n\n _classCallCheck(this, ErrorBoundary);\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 = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n error: false\n };\n return _this;\n }\n\n _createClass(ErrorBoundary, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(error) {\n this.props.set(error);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.state.error ? null : this.props.children;\n }\n }]);\n\n return ErrorBoundary;\n}(React.Component);\n\nErrorBoundary.getDerivedStateFromError = function () {\n return {\n error: true\n };\n};\n\nvar Canvas = /*#__PURE__*/React.forwardRef(function Canvas(_ref20, forwardedRef) {\n var children = _ref20.children,\n fallback = _ref20.fallback,\n tabIndex = _ref20.tabIndex,\n resize = _ref20.resize,\n id = _ref20.id,\n style = _ref20.style,\n className = _ref20.className,\n events = _ref20.events,\n props = _objectWithoutProperties(_ref20, _excluded7);\n\n var _useMeasure = useMeasure(_objectSpread({\n scroll: true,\n debounce: {\n scroll: 50,\n resize: 0\n }\n }, resize)),\n _useMeasure2 = _slicedToArray(_useMeasure, 2),\n containerRef = _useMeasure2[0],\n _useMeasure2$ = _useMeasure2[1],\n width = _useMeasure2$.width,\n height = _useMeasure2$.height;\n\n var canvasRef = React.useRef(null);\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n block = _React$useState2[0],\n setBlock = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n error = _React$useState4[0],\n setError = _React$useState4[1]; // Suspend this component if block is a promise (2nd run)\n\n\n if (block) throw block; // Throw exception outwards if anything within canvas throws\n\n if (error) throw error; // Execute JSX in the reconciler as a layout-effect\n\n useIsomorphicLayoutEffect(function () {\n if (width > 0 && height > 0) {\n render( /*#__PURE__*/React.createElement(ErrorBoundary, {\n set: setError\n }, /*#__PURE__*/React.createElement(React.Suspense, {\n fallback: /*#__PURE__*/React.createElement(Block, {\n set: setBlock\n })\n }, children)), canvasRef.current, _objectSpread(_objectSpread({}, props), {}, {\n size: {\n width: width,\n height: height\n },\n events: events || createPointerEvents\n }));\n }\n }, [width, height, children]);\n useIsomorphicLayoutEffect(function () {\n var container = canvasRef.current;\n return function () {\n return unmountComponentAtNode(container);\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n id: id,\n className: className,\n tabIndex: tabIndex,\n style: _objectSpread({\n position: 'relative',\n width: '100%',\n height: '100%',\n overflow: 'hidden'\n }, style)\n }, /*#__PURE__*/React.createElement(\"canvas\", {\n ref: mergeRefs([canvasRef, forwardedRef]),\n style: {\n display: 'block'\n }\n }, fallback));\n});\n\nfunction useStore() {\n var store = React.useContext(context);\n if (!store) throw \"R3F hooks can only be used within the Canvas component!\";\n return store;\n}\n\nfunction useThree() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n var equalityFn = arguments.length > 1 ? arguments[1] : undefined;\n return useStore()(selector, equalityFn);\n}\n\nfunction useFrame(callback) {\n var renderPriority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var subscribe = useStore().getState().internal.subscribe; // Update ref\n\n var ref = React.useRef(callback);\n React.useLayoutEffect(function () {\n return void (ref.current = callback);\n }, [callback]); // Subscribe on mount, unsubscribe on unmount\n\n React.useLayoutEffect(function () {\n return subscribe(ref, renderPriority);\n }, [renderPriority, subscribe]);\n return null;\n}\n\nfunction buildGraph(object) {\n var data = {\n nodes: {},\n materials: {}\n };\n\n if (object) {\n object.traverse(function (obj) {\n if (obj.name) {\n data.nodes[obj.name] = obj;\n }\n\n if (obj.material && !data.materials[obj.material.name]) {\n data.materials[obj.material.name] = obj.material;\n }\n });\n }\n\n return data;\n}\n\nfunction useGraph(object) {\n return React.useMemo(function () {\n return buildGraph(object);\n }, [object]);\n}\n\nfunction loadingFn(extensions, onProgress) {\n return function (Proto) {\n // Construct new loader and run extensions\n var loader = new Proto();\n if (extensions) extensions(loader); // Go through the urls and load them\n\n for (var _len2 = arguments.length, input = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n input[_key2 - 1] = arguments[_key2];\n }\n\n return Promise.all(input.map(function (input) {\n return new Promise(function (res, reject) {\n return loader.load(input, function (data) {\n if (data.scene) Object.assign(data, buildGraph(data.scene));\n res(data);\n }, onProgress, function (error) {\n return reject(\"Could not load \".concat(input, \": \").concat(error.message));\n });\n });\n }));\n };\n}\n\nfunction useLoader(Proto, input, extensions, onProgress) {\n // Use suspense to load async assets\n var keys = Array.isArray(input) ? input : [input];\n var results = useAsset.apply(void 0, [loadingFn(extensions, onProgress), Proto].concat(_toConsumableArray(keys))); // Return the object/s\n\n return Array.isArray(input) ? results : results[0];\n}\n\nuseLoader.preload = function (Proto, input, extensions) {\n var keys = Array.isArray(input) ? input : [input];\n return useAsset.preload.apply(useAsset, [loadingFn(extensions), Proto].concat(_toConsumableArray(keys)));\n};\n\nuseLoader.clear = function (Proto, input) {\n var keys = Array.isArray(input) ? input : [input];\n return useAsset.clear.apply(useAsset, [Proto].concat(_toConsumableArray(keys)));\n};\n\nvar roots = new Map();\nvar modes = ['legacy', 'blocking', 'concurrent'];\n\nvar _createLoop = createLoop(roots),\n invalidate = _createLoop.invalidate,\n advance = _createLoop.advance;\n\nvar _createRenderer = createRenderer(),\n reconciler = _createRenderer.reconciler,\n applyProps = _createRenderer.applyProps;\n\nvar createRendererInstance = function createRendererInstance(gl, canvas) {\n var customRenderer = typeof gl === 'function' ? gl(canvas) : gl;\n if (isRenderer(customRenderer)) return customRenderer;\n var renderer = new THREE.WebGLRenderer(_objectSpread({\n powerPreference: 'high-performance',\n canvas: canvas,\n antialias: true,\n alpha: true\n }, gl)); // Set color management\n\n renderer.outputEncoding = THREE.sRGBEncoding;\n renderer.toneMapping = THREE.ACESFilmicToneMapping; // Set gl props\n\n if (gl) applyProps(renderer, gl);\n return renderer;\n};\n\nfunction render(element, canvas) {\n var _ref21 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n gl = _ref21.gl,\n size = _ref21.size,\n _ref21$mode = _ref21.mode,\n mode = _ref21$mode === void 0 ? modes[1] : _ref21$mode,\n events = _ref21.events,\n onCreated = _ref21.onCreated,\n props = _objectWithoutProperties(_ref21, _excluded8);\n\n var _store; // Allow size to take on container bounds initially\n\n\n if (!size) {\n var _canvas$parentElement, _canvas$parentElement2, _canvas$parentElement3, _canvas$parentElement4;\n\n size = {\n width: (_canvas$parentElement = (_canvas$parentElement2 = canvas.parentElement) == null ? void 0 : _canvas$parentElement2.clientWidth) != null ? _canvas$parentElement : 0,\n height: (_canvas$parentElement3 = (_canvas$parentElement4 = canvas.parentElement) == null ? void 0 : _canvas$parentElement4.clientHeight) != null ? _canvas$parentElement3 : 0\n };\n }\n\n var root = roots.get(canvas);\n var fiber = root == null ? void 0 : root.fiber;\n var store = root == null ? void 0 : root.store;\n var state = (_store = store) == null ? void 0 : _store.getState();\n\n if (fiber && state) {\n // When a root was found, see if any fundamental props must be changed or exchanged\n // Check pixelratio\n if (props.dpr !== undefined && !is.equ(state.viewport.dpr, calculateDpr(props.dpr))) state.setDpr(props.dpr); // Check size\n\n if (state.size.width !== size.width || state.size.height !== size.height) state.setSize(size.width, size.height); // Check frameloop\n\n if (state.frameloop !== props.frameloop) state.setFrameloop(props.frameloop); // For some props we want to reset the entire root\n // Changes to the color-space\n\n var linearChanged = props.linear !== state.internal.lastProps.linear;\n\n if (linearChanged) {\n unmountComponentAtNode(canvas);\n fiber = undefined;\n }\n }\n\n if (!fiber) {\n // If no root has been found, make one\n // Create gl\n var glRenderer = createRendererInstance(gl, canvas); // Enable VR if requested\n\n if (props.vr) {\n glRenderer.xr.enabled = true;\n glRenderer.setAnimationLoop(function (timestamp) {\n return advance(timestamp, true);\n });\n } // Create store\n\n\n store = createStore(applyProps, invalidate, advance, _objectSpread({\n gl: glRenderer,\n size: size\n }, props));\n\n var _state = store.getState(); // Create renderer\n\n\n fiber = reconciler.createContainer(store, modes.indexOf(mode), false, null); // Map it\n\n roots.set(canvas, {\n fiber: fiber,\n store: store\n }); // Store events internally\n\n if (events) _state.set({\n events: events(store)\n });\n }\n\n if (store && fiber) {\n reconciler.updateContainer( /*#__PURE__*/React.createElement(Provider, {\n store: store,\n element: element,\n onCreated: onCreated,\n target: canvas\n }), fiber, null, function () {\n return undefined;\n });\n return store;\n } else {\n throw 'Error creating root!';\n }\n}\n\nfunction Provider(_ref22) {\n var store = _ref22.store,\n element = _ref22.element,\n onCreated = _ref22.onCreated,\n target = _ref22.target;\n React.useEffect(function () {\n var state = store.getState(); // Flag the canvas active, rendering will now begin\n\n state.set(function (state) {\n return {\n internal: _objectSpread(_objectSpread({}, state.internal), {}, {\n active: true\n })\n };\n }); // Connect events\n\n state.events.connect == null ? void 0 : state.events.connect(target); // Notifiy that init is completed, the scene graph exists, but nothing has yet rendered\n\n if (onCreated) onCreated(state);\n }, []);\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: store\n }, element);\n}\n\nfunction unmountComponentAtNode(canvas, callback) {\n var root = roots.get(canvas);\n var fiber = root == null ? void 0 : root.fiber;\n\n if (fiber) {\n var state = root == null ? void 0 : root.store.getState();\n if (state) state.internal.active = false;\n reconciler.updateContainer(null, fiber, null, function () {\n if (state) {\n setTimeout(function () {\n var _state$gl, _state$gl$renderLists, _state$gl2;\n\n state.events.disconnect == null ? void 0 : state.events.disconnect();\n (_state$gl = state.gl) == null ? void 0 : (_state$gl$renderLists = _state$gl.renderLists) == null ? void 0 : _state$gl$renderLists.dispose == null ? void 0 : _state$gl$renderLists.dispose();\n (_state$gl2 = state.gl) == null ? void 0 : _state$gl2.forceContextLoss == null ? void 0 : _state$gl2.forceContextLoss();\n dispose(state);\n roots.delete(canvas);\n if (callback) callback(canvas);\n }, 500);\n }\n });\n }\n}\n\nfunction dispose(obj) {\n if (obj.dispose && obj.type !== 'Scene') obj.dispose();\n\n for (var p in obj) {\n var _dispose, _ref;\n\n (_dispose = (_ref = p).dispose) == null ? void 0 : _dispose.call(_ref);\n delete obj[p];\n }\n}\n\nvar act = reconciler.act;\n\nfunction createPortal(children, container) {\n return reconciler.createPortal(children, container, null, null);\n}\n\nreconciler.injectIntoDevTools({\n bundleType: process.env.NODE_ENV === 'production' ? 0 : 1,\n rendererPackageName: '@react-three/fiber',\n version: '17.0.2'\n});\nexport { Canvas, threeTypes as ReactThreeFiber, roots as _roots, act, addAfterEffect, addEffect, addTail, advance, applyProps, context, createPortal, dispose, createPointerEvents as events, extend, invalidate, reconciler, render, unmountComponentAtNode, useFrame, useGraph, useLoader, useStore, useThree };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _inherits from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { Loader, FileLoader, BufferGeometry, BufferAttribute } from 'three';\n\nvar _taskCache = new WeakMap();\n\nvar DRACOLoader = /*#__PURE__*/function (_Loader) {\n _inherits(DRACOLoader, _Loader);\n\n var _super = _createSuper(DRACOLoader);\n\n function DRACOLoader(manager) {\n var _this;\n\n _classCallCheck(this, DRACOLoader);\n\n _this = _super.call(this, manager);\n _this.decoderPath = '';\n _this.decoderConfig = {};\n _this.decoderBinary = null;\n _this.decoderPending = null;\n _this.workerLimit = 4;\n _this.workerPool = [];\n _this.workerNextTaskID = 1;\n _this.workerSourceURL = '';\n _this.defaultAttributeIDs = {\n position: 'POSITION',\n normal: 'NORMAL',\n color: 'COLOR',\n uv: 'TEX_COORD'\n };\n _this.defaultAttributeTypes = {\n position: 'Float32Array',\n normal: 'Float32Array',\n color: 'Float32Array',\n uv: 'Float32Array'\n };\n return _this;\n }\n\n _createClass(DRACOLoader, [{\n key: \"setDecoderPath\",\n value: function setDecoderPath(path) {\n this.decoderPath = path;\n return this;\n }\n }, {\n key: \"setDecoderConfig\",\n value: function setDecoderConfig(config) {\n this.decoderConfig = config;\n return this;\n }\n }, {\n key: \"setWorkerLimit\",\n value: function setWorkerLimit(workerLimit) {\n this.workerLimit = workerLimit;\n return this;\n }\n }, {\n key: \"load\",\n value: function load(url, onLoad, onProgress, onError) {\n var _this2 = this;\n\n var loader = new FileLoader(this.manager);\n loader.setPath(this.path);\n loader.setResponseType('arraybuffer');\n loader.setRequestHeader(this.requestHeader);\n loader.setWithCredentials(this.withCredentials);\n loader.load(url, function (buffer) {\n var taskConfig = {\n attributeIDs: _this2.defaultAttributeIDs,\n attributeTypes: _this2.defaultAttributeTypes,\n useUniqueIDs: false\n };\n\n _this2.decodeGeometry(buffer, taskConfig).then(onLoad).catch(onError);\n }, onProgress, onError);\n }\n /** @deprecated Kept for backward-compatibility with previous DRACOLoader versions. */\n\n }, {\n key: \"decodeDracoFile\",\n value: function decodeDracoFile(buffer, callback, attributeIDs, attributeTypes) {\n var taskConfig = {\n attributeIDs: attributeIDs || this.defaultAttributeIDs,\n attributeTypes: attributeTypes || this.defaultAttributeTypes,\n useUniqueIDs: !!attributeIDs\n };\n this.decodeGeometry(buffer, taskConfig).then(callback);\n }\n }, {\n key: \"decodeGeometry\",\n value: function decodeGeometry(buffer, taskConfig) {\n var _this3 = this;\n\n // TODO: For backward-compatibility, support 'attributeTypes' objects containing\n // references (rather than names) to typed array constructors. These must be\n // serialized before sending them to the worker.\n for (var attribute in taskConfig.attributeTypes) {\n var type = taskConfig.attributeTypes[attribute];\n\n if (type.BYTES_PER_ELEMENT !== undefined) {\n taskConfig.attributeTypes[attribute] = type.name;\n }\n } //\n\n\n var taskKey = JSON.stringify(taskConfig); // Check for an existing task using this buffer. A transferred buffer cannot be transferred\n // again from this thread.\n\n if (_taskCache.has(buffer)) {\n var cachedTask = _taskCache.get(buffer);\n\n if (cachedTask.key === taskKey) {\n return cachedTask.promise;\n } else if (buffer.byteLength === 0) {\n // Technically, it would be possible to wait for the previous task to complete,\n // transfer the buffer back, and decode again with the second configuration. That\n // is complex, and I don't know of any reason to decode a Draco buffer twice in\n // different ways, so this is left unimplemented.\n throw new Error('THREE.DRACOLoader: Unable to re-decode a buffer with different ' + 'settings. Buffer has already been transferred.');\n }\n } //\n\n\n var worker;\n var taskID = this.workerNextTaskID++;\n var taskCost = buffer.byteLength; // Obtain a worker and assign a task, and construct a geometry instance\n // when the task completes.\n\n var geometryPending = this._getWorker(taskID, taskCost).then(function (_worker) {\n worker = _worker;\n return new Promise(function (resolve, reject) {\n worker._callbacks[taskID] = {\n resolve: resolve,\n reject: reject\n };\n worker.postMessage({\n type: 'decode',\n id: taskID,\n taskConfig: taskConfig,\n buffer: buffer\n }, [buffer]); // this.debug();\n });\n }).then(function (message) {\n return _this3._createGeometry(message.geometry);\n }); // Remove task from the task list.\n // Note: replaced '.finally()' with '.catch().then()' block - iOS 11 support (#19416)\n\n\n geometryPending.catch(function () {\n return true;\n }).then(function () {\n if (worker && taskID) {\n _this3._releaseTask(worker, taskID); // this.debug();\n\n }\n }); // Cache the task result.\n\n _taskCache.set(buffer, {\n key: taskKey,\n promise: geometryPending\n });\n\n return geometryPending;\n }\n }, {\n key: \"_createGeometry\",\n value: function _createGeometry(geometryData) {\n var geometry = new BufferGeometry();\n\n if (geometryData.index) {\n geometry.setIndex(new BufferAttribute(geometryData.index.array, 1));\n }\n\n for (var i = 0; i < geometryData.attributes.length; i++) {\n var attribute = geometryData.attributes[i];\n var name = attribute.name;\n var array = attribute.array;\n var itemSize = attribute.itemSize;\n geometry.setAttribute(name, new BufferAttribute(array, itemSize));\n }\n\n return geometry;\n }\n }, {\n key: \"_loadLibrary\",\n value: function _loadLibrary(url, responseType) {\n var loader = new FileLoader(this.manager);\n loader.setPath(this.decoderPath);\n loader.setResponseType(responseType);\n loader.setWithCredentials(this.withCredentials);\n return new Promise(function (resolve, reject) {\n loader.load(url, resolve, undefined, reject);\n });\n }\n }, {\n key: \"preload\",\n value: function preload() {\n this._initDecoder();\n\n return this;\n }\n }, {\n key: \"_initDecoder\",\n value: function _initDecoder() {\n var _this4 = this;\n\n if (this.decoderPending) return this.decoderPending;\n var useJS = typeof WebAssembly !== 'object' || this.decoderConfig.type === 'js';\n var librariesPending = [];\n\n if (useJS) {\n librariesPending.push(this._loadLibrary('draco_decoder.js', 'text'));\n } else {\n librariesPending.push(this._loadLibrary('draco_wasm_wrapper.js', 'text'));\n librariesPending.push(this._loadLibrary('draco_decoder.wasm', 'arraybuffer'));\n }\n\n this.decoderPending = Promise.all(librariesPending).then(function (libraries) {\n var jsContent = libraries[0];\n\n if (!useJS) {\n _this4.decoderConfig.wasmBinary = libraries[1];\n }\n\n var fn = DRACOWorker.toString();\n var body = ['/* draco decoder */', jsContent, '', '/* worker */', fn.substring(fn.indexOf('{') + 1, fn.lastIndexOf('}'))].join('\\n');\n _this4.workerSourceURL = URL.createObjectURL(new Blob([body]));\n });\n return this.decoderPending;\n }\n }, {\n key: \"_getWorker\",\n value: function _getWorker(taskID, taskCost) {\n var _this5 = this;\n\n return this._initDecoder().then(function () {\n if (_this5.workerPool.length < _this5.workerLimit) {\n var _worker2 = new Worker(_this5.workerSourceURL);\n\n _worker2._callbacks = {};\n _worker2._taskCosts = {};\n _worker2._taskLoad = 0;\n\n _worker2.postMessage({\n type: 'init',\n decoderConfig: _this5.decoderConfig\n });\n\n _worker2.onmessage = function (e) {\n var message = e.data;\n\n switch (message.type) {\n case 'decode':\n _worker2._callbacks[message.id].resolve(message);\n\n break;\n\n case 'error':\n _worker2._callbacks[message.id].reject(message);\n\n break;\n\n default:\n console.error('THREE.DRACOLoader: Unexpected message, \"' + message.type + '\"');\n }\n };\n\n _this5.workerPool.push(_worker2);\n } else {\n _this5.workerPool.sort(function (a, b) {\n return a._taskLoad > b._taskLoad ? -1 : 1;\n });\n }\n\n var worker = _this5.workerPool[_this5.workerPool.length - 1];\n worker._taskCosts[taskID] = taskCost;\n worker._taskLoad += taskCost;\n return worker;\n });\n }\n }, {\n key: \"_releaseTask\",\n value: function _releaseTask(worker, taskID) {\n worker._taskLoad -= worker._taskCosts[taskID];\n delete worker._callbacks[taskID];\n delete worker._taskCosts[taskID];\n }\n }, {\n key: \"debug\",\n value: function debug() {\n console.log('Task load: ', this.workerPool.map(function (worker) {\n return worker._taskLoad;\n }));\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n for (var i = 0; i < this.workerPool.length; ++i) {\n this.workerPool[i].terminate();\n }\n\n this.workerPool.length = 0;\n return this;\n }\n }]);\n\n return DRACOLoader;\n}(Loader);\n/* WEB WORKER */\n\n\nfunction DRACOWorker() {\n var decoderConfig;\n var decoderPending;\n\n onmessage = function onmessage(e) {\n var message = e.data;\n\n switch (message.type) {\n case 'init':\n decoderConfig = message.decoderConfig;\n decoderPending = new Promise(function (resolve\n /*, reject*/\n ) {\n decoderConfig.onModuleLoaded = function (draco) {\n // Module is Promise-like. Wrap before resolving to avoid loop.\n resolve({\n draco: draco\n });\n };\n\n DracoDecoderModule(decoderConfig); // eslint-disable-line no-undef\n });\n break;\n\n case 'decode':\n var buffer = message.buffer;\n var taskConfig = message.taskConfig;\n decoderPending.then(function (module) {\n var draco = module.draco;\n var decoder = new draco.Decoder();\n var decoderBuffer = new draco.DecoderBuffer();\n decoderBuffer.Init(new Int8Array(buffer), buffer.byteLength);\n\n try {\n var geometry = decodeGeometry(draco, decoder, decoderBuffer, taskConfig);\n var buffers = geometry.attributes.map(function (attr) {\n return attr.array.buffer;\n });\n if (geometry.index) buffers.push(geometry.index.array.buffer);\n self.postMessage({\n type: 'decode',\n id: message.id,\n geometry: geometry\n }, buffers);\n } catch (error) {\n console.error(error);\n self.postMessage({\n type: 'error',\n id: message.id,\n error: error.message\n });\n } finally {\n draco.destroy(decoderBuffer);\n draco.destroy(decoder);\n }\n });\n break;\n }\n };\n\n function decodeGeometry(draco, decoder, decoderBuffer, taskConfig) {\n var attributeIDs = taskConfig.attributeIDs;\n var attributeTypes = taskConfig.attributeTypes;\n var dracoGeometry;\n var decodingStatus;\n var geometryType = decoder.GetEncodedGeometryType(decoderBuffer);\n\n if (geometryType === draco.TRIANGULAR_MESH) {\n dracoGeometry = new draco.Mesh();\n decodingStatus = decoder.DecodeBufferToMesh(decoderBuffer, dracoGeometry);\n } else if (geometryType === draco.POINT_CLOUD) {\n dracoGeometry = new draco.PointCloud();\n decodingStatus = decoder.DecodeBufferToPointCloud(decoderBuffer, dracoGeometry);\n } else {\n throw new Error('THREE.DRACOLoader: Unexpected geometry type.');\n }\n\n if (!decodingStatus.ok() || dracoGeometry.ptr === 0) {\n throw new Error('THREE.DRACOLoader: Decoding failed: ' + decodingStatus.error_msg());\n }\n\n var geometry = {\n index: null,\n attributes: []\n }; // Gather all vertex attributes.\n\n for (var attributeName in attributeIDs) {\n var attributeType = self[attributeTypes[attributeName]];\n var attribute = void 0;\n var attributeID = void 0; // A Draco file may be created with default vertex attributes, whose attribute IDs\n // are mapped 1:1 from their semantic name (POSITION, NORMAL, ...). Alternatively,\n // a Draco file may contain a custom set of attributes, identified by known unique\n // IDs. glTF files always do the latter, and `.drc` files typically do the former.\n\n if (taskConfig.useUniqueIDs) {\n attributeID = attributeIDs[attributeName];\n attribute = decoder.GetAttributeByUniqueId(dracoGeometry, attributeID);\n } else {\n attributeID = decoder.GetAttributeId(dracoGeometry, draco[attributeIDs[attributeName]]);\n if (attributeID === -1) continue;\n attribute = decoder.GetAttribute(dracoGeometry, attributeID);\n }\n\n geometry.attributes.push(decodeAttribute(draco, decoder, dracoGeometry, attributeName, attributeType, attribute));\n } // Add index.\n\n\n if (geometryType === draco.TRIANGULAR_MESH) {\n geometry.index = decodeIndex(draco, decoder, dracoGeometry);\n }\n\n draco.destroy(dracoGeometry);\n return geometry;\n }\n\n function decodeIndex(draco, decoder, dracoGeometry) {\n var numFaces = dracoGeometry.num_faces();\n var numIndices = numFaces * 3;\n var byteLength = numIndices * 4;\n\n var ptr = draco._malloc(byteLength);\n\n decoder.GetTrianglesUInt32Array(dracoGeometry, byteLength, ptr);\n var index = new Uint32Array(draco.HEAPF32.buffer, ptr, numIndices).slice();\n\n draco._free(ptr);\n\n return {\n array: index,\n itemSize: 1\n };\n }\n\n function decodeAttribute(draco, decoder, dracoGeometry, attributeName, attributeType, attribute) {\n var numComponents = attribute.num_components();\n var numPoints = dracoGeometry.num_points();\n var numValues = numPoints * numComponents;\n var byteLength = numValues * attributeType.BYTES_PER_ELEMENT;\n var dataType = getDracoDataType(draco, attributeType);\n\n var ptr = draco._malloc(byteLength);\n\n decoder.GetAttributeDataArrayForAllPoints(dracoGeometry, attribute, dataType, byteLength, ptr);\n var array = new attributeType(draco.HEAPF32.buffer, ptr, numValues).slice();\n\n draco._free(ptr);\n\n return {\n name: attributeName,\n array: array,\n itemSize: numComponents\n };\n }\n\n function getDracoDataType(draco, attributeType) {\n switch (attributeType) {\n case Float32Array:\n return draco.DT_FLOAT32;\n\n case Int8Array:\n return draco.DT_INT8;\n\n case Int16Array:\n return draco.DT_INT16;\n\n case Int32Array:\n return draco.DT_INT32;\n\n case Uint8Array:\n return draco.DT_UINT8;\n\n case Uint16Array:\n return draco.DT_UINT16;\n\n case Uint32Array:\n return draco.DT_UINT32;\n }\n }\n}\n\nexport { DRACOLoader };","// This file is part of meshoptimizer library and is distributed under the terms of MIT License.\n// Copyright (C) 2016-2020, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)\nvar generated;\n\nvar MeshoptDecoder = function MeshoptDecoder() {\n if (generated) return generated; // Built with clang version 11.0.0 (https://github.com/llvm/llvm-project.git 0160ad802e899c2922bc9b29564080c22eb0908c)\n // Built from meshoptimizer 0.14\n\n var wasm_base = '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';\n var wasm_simd = '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'; // Uses bulk-memory and simd extensions\n\n var detector = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]); // Used to unpack wasm\n\n var wasmpack = new Uint8Array([32, 0, 65, 253, 3, 1, 2, 34, 4, 106, 6, 5, 11, 8, 7, 20, 13, 33, 12, 16, 128, 9, 116, 64, 19, 113, 127, 15, 10, 21, 22, 14, 255, 66, 24, 54, 136, 107, 18, 23, 192, 26, 114, 118, 132, 17, 77, 101, 130, 144, 27, 87, 131, 44, 45, 74, 156, 154, 70, 167]);\n\n if (typeof WebAssembly !== 'object') {\n // This module requires WebAssembly to function\n return {\n supported: false\n };\n }\n\n var wasm = wasm_base;\n\n if (WebAssembly.validate(detector)) {\n wasm = wasm_simd;\n }\n\n var instance;\n var promise = WebAssembly.instantiate(unpack(wasm), {}).then(function (result) {\n instance = result.instance;\n\n instance.exports.__wasm_call_ctors();\n });\n\n function unpack(data) {\n var result = new Uint8Array(data.length);\n\n for (var i = 0; i < data.length; ++i) {\n var ch = data.charCodeAt(i);\n result[i] = ch > 96 ? ch - 71 : ch > 64 ? ch - 65 : ch > 47 ? ch + 4 : ch > 46 ? 63 : 62;\n }\n\n var write = 0;\n\n for (var _i = 0; _i < data.length; ++_i) {\n result[write++] = result[_i] < 60 ? wasmpack[result[_i]] : (result[_i] - 60) * 64 + result[++_i];\n }\n\n return result.buffer.slice(0, write);\n }\n\n function decode(fun, target, count, size, source, filter) {\n var sbrk = instance.exports.sbrk;\n var count4 = count + 3 & ~3; // pad for SIMD filter\n\n var tp = sbrk(count4 * size);\n var sp = sbrk(source.length);\n var heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n var res = fun(tp, count, size, sp, source.length);\n\n if (res === 0 && filter) {\n filter(tp, count4, size);\n }\n\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n\n if (res !== 0) {\n throw new Error(\"Malformed buffer data: \".concat(res));\n }\n }\n\n var filters = {\n // legacy index-based enums for glTF\n 0: '',\n 1: 'meshopt_decodeFilterOct',\n 2: 'meshopt_decodeFilterQuat',\n 3: 'meshopt_decodeFilterExp',\n // string-based enums for glTF\n NONE: '',\n OCTAHEDRAL: 'meshopt_decodeFilterOct',\n QUATERNION: 'meshopt_decodeFilterQuat',\n EXPONENTIAL: 'meshopt_decodeFilterExp'\n };\n var decoders = {\n // legacy index-based enums for glTF\n 0: 'meshopt_decodeVertexBuffer',\n 1: 'meshopt_decodeIndexBuffer',\n 2: 'meshopt_decodeIndexSequence',\n // string-based enums for glTF\n ATTRIBUTES: 'meshopt_decodeVertexBuffer',\n TRIANGLES: 'meshopt_decodeIndexBuffer',\n INDICES: 'meshopt_decodeIndexSequence'\n };\n generated = {\n ready: promise,\n supported: true,\n decodeVertexBuffer: function decodeVertexBuffer(target, count, size, source, filter) {\n decode(instance.exports.meshopt_decodeVertexBuffer, target, count, size, source, instance.exports[filters[filter]]);\n },\n decodeIndexBuffer: function decodeIndexBuffer(target, count, size, source) {\n decode(instance.exports.meshopt_decodeIndexBuffer, target, count, size, source);\n },\n decodeIndexSequence: function decodeIndexSequence(target, count, size, source) {\n decode(instance.exports.meshopt_decodeIndexSequence, target, count, size, source);\n },\n decodeGltfBuffer: function decodeGltfBuffer(target, count, size, source, mode, filter) {\n decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);\n }\n };\n return generated;\n};\n\nexport { MeshoptDecoder };","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _assertThisInitialized from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _get from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _inherits from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { Loader, LoaderUtils, FileLoader, Color, SpotLight, PointLight, DirectionalLight, MeshBasicMaterial, MeshPhysicalMaterial, Vector2, sRGBEncoding, TangentSpaceNormalMap, Quaternion, ImageBitmapLoader, TextureLoader, InterleavedBuffer, InterleavedBufferAttribute, BufferAttribute, LinearFilter, LinearMipmapLinearFilter, RepeatWrapping, PointsMaterial, Material, LineBasicMaterial, MeshStandardMaterial, DoubleSide, PropertyBinding, BufferGeometry, SkinnedMesh, Mesh, LineSegments, Line, LineLoop, Points, Group, PerspectiveCamera, MathUtils, OrthographicCamera, InterpolateLinear, AnimationClip, Bone, Object3D, Matrix4, Skeleton, TriangleFanDrawMode, NearestFilter, NearestMipmapNearestFilter, LinearMipmapNearestFilter, NearestMipmapLinearFilter, ClampToEdgeWrapping, MirroredRepeatWrapping, InterpolateDiscrete, FrontSide, Texture, TriangleStripDrawMode, VectorKeyframeTrack, QuaternionKeyframeTrack, NumberKeyframeTrack, Box3, Vector3, Sphere, Interpolant } from 'three';\n\nvar GLTFLoader = /*#__PURE__*/function (_Loader) {\n _inherits(GLTFLoader, _Loader);\n\n var _super = _createSuper(GLTFLoader);\n\n function GLTFLoader(manager) {\n var _this;\n\n _classCallCheck(this, GLTFLoader);\n\n _this = _super.call(this, manager);\n _this.dracoLoader = null;\n _this.ktx2Loader = null;\n _this.meshoptDecoder = null;\n _this.pluginCallbacks = [];\n\n _this.register(function (parser) {\n return new GLTFMaterialsClearcoatExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFTextureBasisUExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFTextureWebPExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFMaterialsSheenExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFMaterialsTransmissionExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFMaterialsVolumeExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFMaterialsIorExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFMaterialsSpecularExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFLightsExtension(parser);\n });\n\n _this.register(function (parser) {\n return new GLTFMeshoptCompression(parser);\n });\n\n return _this;\n }\n\n _createClass(GLTFLoader, [{\n key: \"load\",\n value: function load(url, onLoad, onProgress, onError) {\n var scope = this;\n var resourcePath;\n\n if (this.resourcePath !== '') {\n resourcePath = this.resourcePath;\n } else if (this.path !== '') {\n resourcePath = this.path;\n } else {\n resourcePath = LoaderUtils.extractUrlBase(url);\n } // Tells the LoadingManager to track an extra item, which resolves after\n // the model is fully loaded. This means the count of items loaded will\n // be incorrect, but ensures manager.onLoad() does not fire early.\n\n\n this.manager.itemStart(url);\n\n var _onError = function _onError(e) {\n if (onError) {\n onError(e);\n } else {\n console.error(e);\n }\n\n scope.manager.itemError(url);\n scope.manager.itemEnd(url);\n };\n\n var loader = new FileLoader(this.manager);\n loader.setPath(this.path);\n loader.setResponseType('arraybuffer');\n loader.setRequestHeader(this.requestHeader);\n loader.setWithCredentials(this.withCredentials);\n loader.load(url, function (data) {\n try {\n scope.parse(data, resourcePath, function (gltf) {\n onLoad(gltf);\n scope.manager.itemEnd(url);\n }, _onError);\n } catch (e) {\n _onError(e);\n }\n }, onProgress, _onError);\n }\n }, {\n key: \"setDRACOLoader\",\n value: function setDRACOLoader(dracoLoader) {\n this.dracoLoader = dracoLoader;\n return this;\n }\n }, {\n key: \"setDDSLoader\",\n value: function setDDSLoader() {\n throw new Error('THREE.GLTFLoader: \"MSFT_texture_dds\" no longer supported. Please update to \"KHR_texture_basisu\".');\n }\n }, {\n key: \"setKTX2Loader\",\n value: function setKTX2Loader(ktx2Loader) {\n this.ktx2Loader = ktx2Loader;\n return this;\n }\n }, {\n key: \"setMeshoptDecoder\",\n value: function setMeshoptDecoder(meshoptDecoder) {\n this.meshoptDecoder = meshoptDecoder;\n return this;\n }\n }, {\n key: \"register\",\n value: function register(callback) {\n if (this.pluginCallbacks.indexOf(callback) === -1) {\n this.pluginCallbacks.push(callback);\n }\n\n return this;\n }\n }, {\n key: \"unregister\",\n value: function unregister(callback) {\n if (this.pluginCallbacks.indexOf(callback) !== -1) {\n this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback), 1);\n }\n\n return this;\n }\n }, {\n key: \"parse\",\n value: function parse(data, path, onLoad, onError) {\n var content;\n var extensions = {};\n var plugins = {};\n\n if (typeof data === 'string') {\n content = data;\n } else {\n var magic = LoaderUtils.decodeText(new Uint8Array(data, 0, 4));\n\n if (magic === BINARY_EXTENSION_HEADER_MAGIC) {\n try {\n extensions[EXTENSIONS.KHR_BINARY_GLTF] = new GLTFBinaryExtension(data);\n } catch (error) {\n if (onError) onError(error);\n return;\n }\n\n content = extensions[EXTENSIONS.KHR_BINARY_GLTF].content;\n } else {\n content = LoaderUtils.decodeText(new Uint8Array(data));\n }\n }\n\n var json = JSON.parse(content);\n\n if (json.asset === undefined || json.asset.version[0] < 2) {\n if (onError) onError(new Error('THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.'));\n return;\n }\n\n var parser = new GLTFParser(json, {\n path: path || this.resourcePath || '',\n crossOrigin: this.crossOrigin,\n requestHeader: this.requestHeader,\n manager: this.manager,\n ktx2Loader: this.ktx2Loader,\n meshoptDecoder: this.meshoptDecoder\n });\n parser.fileLoader.setRequestHeader(this.requestHeader);\n\n for (var i = 0; i < this.pluginCallbacks.length; i++) {\n var plugin = this.pluginCallbacks[i](parser);\n plugins[plugin.name] = plugin; // Workaround to avoid determining as unknown extension\n // in addUnknownExtensionsToUserData().\n // Remove this workaround if we move all the existing\n // extension handlers to plugin system\n\n extensions[plugin.name] = true;\n }\n\n if (json.extensionsUsed) {\n for (var _i = 0; _i < json.extensionsUsed.length; ++_i) {\n var extensionName = json.extensionsUsed[_i];\n var extensionsRequired = json.extensionsRequired || [];\n\n switch (extensionName) {\n case EXTENSIONS.KHR_MATERIALS_UNLIT:\n extensions[extensionName] = new GLTFMaterialsUnlitExtension();\n break;\n\n case EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:\n extensions[extensionName] = new GLTFMaterialsPbrSpecularGlossinessExtension();\n break;\n\n case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION:\n extensions[extensionName] = new GLTFDracoMeshCompressionExtension(json, this.dracoLoader);\n break;\n\n case EXTENSIONS.KHR_TEXTURE_TRANSFORM:\n extensions[extensionName] = new GLTFTextureTransformExtension();\n break;\n\n case EXTENSIONS.KHR_MESH_QUANTIZATION:\n extensions[extensionName] = new GLTFMeshQuantizationExtension();\n break;\n\n default:\n if (extensionsRequired.indexOf(extensionName) >= 0 && plugins[extensionName] === undefined) {\n console.warn('THREE.GLTFLoader: Unknown extension \"' + extensionName + '\".');\n }\n\n }\n }\n }\n\n parser.setExtensions(extensions);\n parser.setPlugins(plugins);\n parser.parse(onLoad, onError);\n }\n }, {\n key: \"parseAsync\",\n value: function parseAsync(data, path) {\n var scope = this;\n return new Promise(function (resolve, reject) {\n scope.parse(data, path, resolve, reject);\n });\n }\n }]);\n\n return GLTFLoader;\n}(Loader);\n/* GLTFREGISTRY */\n\n\nfunction GLTFRegistry() {\n var objects = {};\n return {\n get: function get(key) {\n return objects[key];\n },\n add: function add(key, object) {\n objects[key] = object;\n },\n remove: function remove(key) {\n delete objects[key];\n },\n removeAll: function removeAll() {\n objects = {};\n }\n };\n}\n/*********************************/\n\n/********** EXTENSIONS ***********/\n\n/*********************************/\n\n\nvar EXTENSIONS = {\n KHR_BINARY_GLTF: 'KHR_binary_glTF',\n KHR_DRACO_MESH_COMPRESSION: 'KHR_draco_mesh_compression',\n KHR_LIGHTS_PUNCTUAL: 'KHR_lights_punctual',\n KHR_MATERIALS_CLEARCOAT: 'KHR_materials_clearcoat',\n KHR_MATERIALS_IOR: 'KHR_materials_ior',\n KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness',\n KHR_MATERIALS_SHEEN: 'KHR_materials_sheen',\n KHR_MATERIALS_SPECULAR: 'KHR_materials_specular',\n KHR_MATERIALS_TRANSMISSION: 'KHR_materials_transmission',\n KHR_MATERIALS_UNLIT: 'KHR_materials_unlit',\n KHR_MATERIALS_VOLUME: 'KHR_materials_volume',\n KHR_TEXTURE_BASISU: 'KHR_texture_basisu',\n KHR_TEXTURE_TRANSFORM: 'KHR_texture_transform',\n KHR_MESH_QUANTIZATION: 'KHR_mesh_quantization',\n EXT_TEXTURE_WEBP: 'EXT_texture_webp',\n EXT_MESHOPT_COMPRESSION: 'EXT_meshopt_compression'\n};\n/**\n * Punctual Lights Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual\n */\n\nvar GLTFLightsExtension = /*#__PURE__*/function () {\n function GLTFLightsExtension(parser) {\n _classCallCheck(this, GLTFLightsExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_LIGHTS_PUNCTUAL; // Object3D instance caches\n\n this.cache = {\n refs: {},\n uses: {}\n };\n }\n\n _createClass(GLTFLightsExtension, [{\n key: \"_markDefs\",\n value: function _markDefs() {\n var parser = this.parser;\n var nodeDefs = this.parser.json.nodes || [];\n\n for (var nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex++) {\n var nodeDef = nodeDefs[nodeIndex];\n\n if (nodeDef.extensions && nodeDef.extensions[this.name] && nodeDef.extensions[this.name].light !== undefined) {\n parser._addNodeRef(this.cache, nodeDef.extensions[this.name].light);\n }\n }\n }\n }, {\n key: \"_loadLight\",\n value: function _loadLight(lightIndex) {\n var parser = this.parser;\n var cacheKey = 'light:' + lightIndex;\n var dependency = parser.cache.get(cacheKey);\n if (dependency) return dependency;\n var json = parser.json;\n var extensions = json.extensions && json.extensions[this.name] || {};\n var lightDefs = extensions.lights || [];\n var lightDef = lightDefs[lightIndex];\n var lightNode;\n var color = new Color(0xffffff);\n if (lightDef.color !== undefined) color.fromArray(lightDef.color);\n var range = lightDef.range !== undefined ? lightDef.range : 0;\n\n switch (lightDef.type) {\n case 'directional':\n lightNode = new DirectionalLight(color);\n lightNode.target.position.set(0, 0, -1);\n lightNode.add(lightNode.target);\n break;\n\n case 'point':\n lightNode = new PointLight(color);\n lightNode.distance = range;\n break;\n\n case 'spot':\n lightNode = new SpotLight(color);\n lightNode.distance = range; // Handle spotlight properties.\n\n lightDef.spot = lightDef.spot || {};\n lightDef.spot.innerConeAngle = lightDef.spot.innerConeAngle !== undefined ? lightDef.spot.innerConeAngle : 0;\n lightDef.spot.outerConeAngle = lightDef.spot.outerConeAngle !== undefined ? lightDef.spot.outerConeAngle : Math.PI / 4.0;\n lightNode.angle = lightDef.spot.outerConeAngle;\n lightNode.penumbra = 1.0 - lightDef.spot.innerConeAngle / lightDef.spot.outerConeAngle;\n lightNode.target.position.set(0, 0, -1);\n lightNode.add(lightNode.target);\n break;\n\n default:\n throw new Error('THREE.GLTFLoader: Unexpected light type: ' + lightDef.type);\n } // Some lights (e.g. spot) default to a position other than the origin. Reset the position\n // here, because node-level parsing will only override position if explicitly specified.\n\n\n lightNode.position.set(0, 0, 0);\n lightNode.decay = 2;\n if (lightDef.intensity !== undefined) lightNode.intensity = lightDef.intensity;\n lightNode.name = parser.createUniqueName(lightDef.name || 'light_' + lightIndex);\n dependency = Promise.resolve(lightNode);\n parser.cache.add(cacheKey, dependency);\n return dependency;\n }\n }, {\n key: \"createNodeAttachment\",\n value: function createNodeAttachment(nodeIndex) {\n var self = this;\n var parser = this.parser;\n var json = parser.json;\n var nodeDef = json.nodes[nodeIndex];\n var lightDef = nodeDef.extensions && nodeDef.extensions[this.name] || {};\n var lightIndex = lightDef.light;\n if (lightIndex === undefined) return null;\n return this._loadLight(lightIndex).then(function (light) {\n return parser._getNodeRef(self.cache, lightIndex, light);\n });\n }\n }]);\n\n return GLTFLightsExtension;\n}();\n/**\n * Unlit Materials Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit\n */\n\n\nvar GLTFMaterialsUnlitExtension = /*#__PURE__*/function () {\n function GLTFMaterialsUnlitExtension() {\n _classCallCheck(this, GLTFMaterialsUnlitExtension);\n\n this.name = EXTENSIONS.KHR_MATERIALS_UNLIT;\n }\n\n _createClass(GLTFMaterialsUnlitExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType() {\n return MeshBasicMaterial;\n }\n }, {\n key: \"extendParams\",\n value: function extendParams(materialParams, materialDef, parser) {\n var pending = [];\n materialParams.color = new Color(1.0, 1.0, 1.0);\n materialParams.opacity = 1.0;\n var metallicRoughness = materialDef.pbrMetallicRoughness;\n\n if (metallicRoughness) {\n if (Array.isArray(metallicRoughness.baseColorFactor)) {\n var array = metallicRoughness.baseColorFactor;\n materialParams.color.fromArray(array);\n materialParams.opacity = array[3];\n }\n\n if (metallicRoughness.baseColorTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'map', metallicRoughness.baseColorTexture));\n }\n }\n\n return Promise.all(pending);\n }\n }]);\n\n return GLTFMaterialsUnlitExtension;\n}();\n/**\n * Clearcoat Materials Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat\n */\n\n\nvar GLTFMaterialsClearcoatExtension = /*#__PURE__*/function () {\n function GLTFMaterialsClearcoatExtension(parser) {\n _classCallCheck(this, GLTFMaterialsClearcoatExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_MATERIALS_CLEARCOAT;\n }\n\n _createClass(GLTFMaterialsClearcoatExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType(materialIndex) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n if (!materialDef.extensions || !materialDef.extensions[this.name]) return null;\n return MeshPhysicalMaterial;\n }\n }, {\n key: \"extendMaterialParams\",\n value: function extendMaterialParams(materialIndex, materialParams) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n\n if (!materialDef.extensions || !materialDef.extensions[this.name]) {\n return Promise.resolve();\n }\n\n var pending = [];\n var extension = materialDef.extensions[this.name];\n\n if (extension.clearcoatFactor !== undefined) {\n materialParams.clearcoat = extension.clearcoatFactor;\n }\n\n if (extension.clearcoatTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'clearcoatMap', extension.clearcoatTexture));\n }\n\n if (extension.clearcoatRoughnessFactor !== undefined) {\n materialParams.clearcoatRoughness = extension.clearcoatRoughnessFactor;\n }\n\n if (extension.clearcoatRoughnessTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'clearcoatRoughnessMap', extension.clearcoatRoughnessTexture));\n }\n\n if (extension.clearcoatNormalTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'clearcoatNormalMap', extension.clearcoatNormalTexture));\n\n if (extension.clearcoatNormalTexture.scale !== undefined) {\n var scale = extension.clearcoatNormalTexture.scale;\n materialParams.clearcoatNormalScale = new Vector2(scale, scale);\n }\n }\n\n return Promise.all(pending);\n }\n }]);\n\n return GLTFMaterialsClearcoatExtension;\n}();\n/**\n * Sheen Materials Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen\n */\n\n\nvar GLTFMaterialsSheenExtension = /*#__PURE__*/function () {\n function GLTFMaterialsSheenExtension(parser) {\n _classCallCheck(this, GLTFMaterialsSheenExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_MATERIALS_SHEEN;\n }\n\n _createClass(GLTFMaterialsSheenExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType(materialIndex) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n if (!materialDef.extensions || !materialDef.extensions[this.name]) return null;\n return MeshPhysicalMaterial;\n }\n }, {\n key: \"extendMaterialParams\",\n value: function extendMaterialParams(materialIndex, materialParams) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n\n if (!materialDef.extensions || !materialDef.extensions[this.name]) {\n return Promise.resolve();\n }\n\n var pending = [];\n materialParams.sheenColor = new Color(0, 0, 0);\n materialParams.sheenRoughness = 0;\n materialParams.sheen = 1;\n var extension = materialDef.extensions[this.name];\n\n if (extension.sheenColorFactor !== undefined) {\n materialParams.sheenColor.fromArray(extension.sheenColorFactor);\n }\n\n if (extension.sheenRoughnessFactor !== undefined) {\n materialParams.sheenRoughness = extension.sheenRoughnessFactor;\n }\n\n if (extension.sheenColorTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'sheenColorMap', extension.sheenColorTexture));\n }\n\n if (extension.sheenRoughnessTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'sheenRoughnessMap', extension.sheenRoughnessTexture));\n }\n\n return Promise.all(pending);\n }\n }]);\n\n return GLTFMaterialsSheenExtension;\n}();\n/**\n * Transmission Materials Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission\n * Draft: https://github.com/KhronosGroup/glTF/pull/1698\n */\n\n\nvar GLTFMaterialsTransmissionExtension = /*#__PURE__*/function () {\n function GLTFMaterialsTransmissionExtension(parser) {\n _classCallCheck(this, GLTFMaterialsTransmissionExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_MATERIALS_TRANSMISSION;\n }\n\n _createClass(GLTFMaterialsTransmissionExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType(materialIndex) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n if (!materialDef.extensions || !materialDef.extensions[this.name]) return null;\n return MeshPhysicalMaterial;\n }\n }, {\n key: \"extendMaterialParams\",\n value: function extendMaterialParams(materialIndex, materialParams) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n\n if (!materialDef.extensions || !materialDef.extensions[this.name]) {\n return Promise.resolve();\n }\n\n var pending = [];\n var extension = materialDef.extensions[this.name];\n\n if (extension.transmissionFactor !== undefined) {\n materialParams.transmission = extension.transmissionFactor;\n }\n\n if (extension.transmissionTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'transmissionMap', extension.transmissionTexture));\n }\n\n return Promise.all(pending);\n }\n }]);\n\n return GLTFMaterialsTransmissionExtension;\n}();\n/**\n * Materials Volume Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume\n */\n\n\nvar GLTFMaterialsVolumeExtension = /*#__PURE__*/function () {\n function GLTFMaterialsVolumeExtension(parser) {\n _classCallCheck(this, GLTFMaterialsVolumeExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_MATERIALS_VOLUME;\n }\n\n _createClass(GLTFMaterialsVolumeExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType(materialIndex) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n if (!materialDef.extensions || !materialDef.extensions[this.name]) return null;\n return MeshPhysicalMaterial;\n }\n }, {\n key: \"extendMaterialParams\",\n value: function extendMaterialParams(materialIndex, materialParams) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n\n if (!materialDef.extensions || !materialDef.extensions[this.name]) {\n return Promise.resolve();\n }\n\n var pending = [];\n var extension = materialDef.extensions[this.name];\n materialParams.thickness = extension.thicknessFactor !== undefined ? extension.thicknessFactor : 0;\n\n if (extension.thicknessTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'thicknessMap', extension.thicknessTexture));\n }\n\n materialParams.attenuationDistance = extension.attenuationDistance || 0;\n var colorArray = extension.attenuationColor || [1, 1, 1];\n materialParams.attenuationColor = new Color(colorArray[0], colorArray[1], colorArray[2]);\n return Promise.all(pending);\n }\n }]);\n\n return GLTFMaterialsVolumeExtension;\n}();\n/**\n * Materials ior Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior\n */\n\n\nvar GLTFMaterialsIorExtension = /*#__PURE__*/function () {\n function GLTFMaterialsIorExtension(parser) {\n _classCallCheck(this, GLTFMaterialsIorExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_MATERIALS_IOR;\n }\n\n _createClass(GLTFMaterialsIorExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType(materialIndex) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n if (!materialDef.extensions || !materialDef.extensions[this.name]) return null;\n return MeshPhysicalMaterial;\n }\n }, {\n key: \"extendMaterialParams\",\n value: function extendMaterialParams(materialIndex, materialParams) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n\n if (!materialDef.extensions || !materialDef.extensions[this.name]) {\n return Promise.resolve();\n }\n\n var extension = materialDef.extensions[this.name];\n materialParams.ior = extension.ior !== undefined ? extension.ior : 1.5;\n return Promise.resolve();\n }\n }]);\n\n return GLTFMaterialsIorExtension;\n}();\n/**\n * Materials specular Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular\n */\n\n\nvar GLTFMaterialsSpecularExtension = /*#__PURE__*/function () {\n function GLTFMaterialsSpecularExtension(parser) {\n _classCallCheck(this, GLTFMaterialsSpecularExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_MATERIALS_SPECULAR;\n }\n\n _createClass(GLTFMaterialsSpecularExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType(materialIndex) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n if (!materialDef.extensions || !materialDef.extensions[this.name]) return null;\n return MeshPhysicalMaterial;\n }\n }, {\n key: \"extendMaterialParams\",\n value: function extendMaterialParams(materialIndex, materialParams) {\n var parser = this.parser;\n var materialDef = parser.json.materials[materialIndex];\n\n if (!materialDef.extensions || !materialDef.extensions[this.name]) {\n return Promise.resolve();\n }\n\n var pending = [];\n var extension = materialDef.extensions[this.name];\n materialParams.specularIntensity = extension.specularFactor !== undefined ? extension.specularFactor : 1.0;\n\n if (extension.specularTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'specularIntensityMap', extension.specularTexture));\n }\n\n var colorArray = extension.specularColorFactor || [1, 1, 1];\n materialParams.specularColor = new Color(colorArray[0], colorArray[1], colorArray[2]);\n\n if (extension.specularColorTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'specularColorMap', extension.specularColorTexture).then(function (texture) {\n texture.encoding = sRGBEncoding;\n }));\n }\n\n return Promise.all(pending);\n }\n }]);\n\n return GLTFMaterialsSpecularExtension;\n}();\n/**\n * BasisU Texture Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_basisu\n */\n\n\nvar GLTFTextureBasisUExtension = /*#__PURE__*/function () {\n function GLTFTextureBasisUExtension(parser) {\n _classCallCheck(this, GLTFTextureBasisUExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.KHR_TEXTURE_BASISU;\n }\n\n _createClass(GLTFTextureBasisUExtension, [{\n key: \"loadTexture\",\n value: function loadTexture(textureIndex) {\n var parser = this.parser;\n var json = parser.json;\n var textureDef = json.textures[textureIndex];\n\n if (!textureDef.extensions || !textureDef.extensions[this.name]) {\n return null;\n }\n\n var extension = textureDef.extensions[this.name];\n var source = json.images[extension.source];\n var loader = parser.options.ktx2Loader;\n\n if (!loader) {\n if (json.extensionsRequired && json.extensionsRequired.indexOf(this.name) >= 0) {\n throw new Error('THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures');\n } else {\n // Assumes that the extension is optional and that a fallback texture is present\n return null;\n }\n }\n\n return parser.loadTextureImage(textureIndex, source, loader);\n }\n }]);\n\n return GLTFTextureBasisUExtension;\n}();\n/**\n * WebP Texture Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_webp\n */\n\n\nvar GLTFTextureWebPExtension = /*#__PURE__*/function () {\n function GLTFTextureWebPExtension(parser) {\n _classCallCheck(this, GLTFTextureWebPExtension);\n\n this.parser = parser;\n this.name = EXTENSIONS.EXT_TEXTURE_WEBP;\n this.isSupported = null;\n }\n\n _createClass(GLTFTextureWebPExtension, [{\n key: \"loadTexture\",\n value: function loadTexture(textureIndex) {\n var name = this.name;\n var parser = this.parser;\n var json = parser.json;\n var textureDef = json.textures[textureIndex];\n\n if (!textureDef.extensions || !textureDef.extensions[name]) {\n return null;\n }\n\n var extension = textureDef.extensions[name];\n var source = json.images[extension.source];\n var loader = parser.textureLoader;\n\n if (source.uri) {\n var handler = parser.options.manager.getHandler(source.uri);\n if (handler !== null) loader = handler;\n }\n\n return this.detectSupport().then(function (isSupported) {\n if (isSupported) return parser.loadTextureImage(textureIndex, source, loader);\n\n if (json.extensionsRequired && json.extensionsRequired.indexOf(name) >= 0) {\n throw new Error('THREE.GLTFLoader: WebP required by asset but unsupported.');\n } // Fall back to PNG or JPEG.\n\n\n return parser.loadTexture(textureIndex);\n });\n }\n }, {\n key: \"detectSupport\",\n value: function detectSupport() {\n if (!this.isSupported) {\n this.isSupported = new Promise(function (resolve) {\n var image = new Image(); // Lossy test image. Support for lossy images doesn't guarantee support for all\n // WebP images, unfortunately.\n\n image.src = 'data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA';\n\n image.onload = image.onerror = function () {\n resolve(image.height === 1);\n };\n });\n }\n\n return this.isSupported;\n }\n }]);\n\n return GLTFTextureWebPExtension;\n}();\n/**\n * meshopt BufferView Compression Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression\n */\n\n\nvar GLTFMeshoptCompression = /*#__PURE__*/function () {\n function GLTFMeshoptCompression(parser) {\n _classCallCheck(this, GLTFMeshoptCompression);\n\n this.name = EXTENSIONS.EXT_MESHOPT_COMPRESSION;\n this.parser = parser;\n }\n\n _createClass(GLTFMeshoptCompression, [{\n key: \"loadBufferView\",\n value: function loadBufferView(index) {\n var json = this.parser.json;\n var bufferView = json.bufferViews[index];\n\n if (bufferView.extensions && bufferView.extensions[this.name]) {\n var extensionDef = bufferView.extensions[this.name];\n var buffer = this.parser.getDependency('buffer', extensionDef.buffer);\n var decoder = this.parser.options.meshoptDecoder;\n\n if (!decoder || !decoder.supported) {\n if (json.extensionsRequired && json.extensionsRequired.indexOf(this.name) >= 0) {\n throw new Error('THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files');\n } else {\n // Assumes that the extension is optional and that fallback buffer data is present\n return null;\n }\n }\n\n return Promise.all([buffer, decoder.ready]).then(function (res) {\n var byteOffset = extensionDef.byteOffset || 0;\n var byteLength = extensionDef.byteLength || 0;\n var count = extensionDef.count;\n var stride = extensionDef.byteStride;\n var result = new ArrayBuffer(count * stride);\n var source = new Uint8Array(res[0], byteOffset, byteLength);\n decoder.decodeGltfBuffer(new Uint8Array(result), count, stride, source, extensionDef.mode, extensionDef.filter);\n return result;\n });\n } else {\n return null;\n }\n }\n }]);\n\n return GLTFMeshoptCompression;\n}();\n/* BINARY EXTENSION */\n\n\nvar BINARY_EXTENSION_HEADER_MAGIC = 'glTF';\nvar BINARY_EXTENSION_HEADER_LENGTH = 12;\nvar BINARY_EXTENSION_CHUNK_TYPES = {\n JSON: 0x4e4f534a,\n BIN: 0x004e4942\n};\n\nvar GLTFBinaryExtension = /*#__PURE__*/_createClass(function GLTFBinaryExtension(data) {\n _classCallCheck(this, GLTFBinaryExtension);\n\n this.name = EXTENSIONS.KHR_BINARY_GLTF;\n this.content = null;\n this.body = null;\n var headerView = new DataView(data, 0, BINARY_EXTENSION_HEADER_LENGTH);\n this.header = {\n magic: LoaderUtils.decodeText(new Uint8Array(data.slice(0, 4))),\n version: headerView.getUint32(4, true),\n length: headerView.getUint32(8, true)\n };\n\n if (this.header.magic !== BINARY_EXTENSION_HEADER_MAGIC) {\n throw new Error('THREE.GLTFLoader: Unsupported glTF-Binary header.');\n } else if (this.header.version < 2.0) {\n throw new Error('THREE.GLTFLoader: Legacy binary file detected.');\n }\n\n var chunkContentsLength = this.header.length - BINARY_EXTENSION_HEADER_LENGTH;\n var chunkView = new DataView(data, BINARY_EXTENSION_HEADER_LENGTH);\n var chunkIndex = 0;\n\n while (chunkIndex < chunkContentsLength) {\n var chunkLength = chunkView.getUint32(chunkIndex, true);\n chunkIndex += 4;\n var chunkType = chunkView.getUint32(chunkIndex, true);\n chunkIndex += 4;\n\n if (chunkType === BINARY_EXTENSION_CHUNK_TYPES.JSON) {\n var contentArray = new Uint8Array(data, BINARY_EXTENSION_HEADER_LENGTH + chunkIndex, chunkLength);\n this.content = LoaderUtils.decodeText(contentArray);\n } else if (chunkType === BINARY_EXTENSION_CHUNK_TYPES.BIN) {\n var byteOffset = BINARY_EXTENSION_HEADER_LENGTH + chunkIndex;\n this.body = data.slice(byteOffset, byteOffset + chunkLength);\n } // Clients must ignore chunks with unknown types.\n\n\n chunkIndex += chunkLength;\n }\n\n if (this.content === null) {\n throw new Error('THREE.GLTFLoader: JSON content not found.');\n }\n});\n/**\n * DRACO Mesh Compression Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression\n */\n\n\nvar GLTFDracoMeshCompressionExtension = /*#__PURE__*/function () {\n function GLTFDracoMeshCompressionExtension(json, dracoLoader) {\n _classCallCheck(this, GLTFDracoMeshCompressionExtension);\n\n if (!dracoLoader) {\n throw new Error('THREE.GLTFLoader: No DRACOLoader instance provided.');\n }\n\n this.name = EXTENSIONS.KHR_DRACO_MESH_COMPRESSION;\n this.json = json;\n this.dracoLoader = dracoLoader;\n this.dracoLoader.preload();\n }\n\n _createClass(GLTFDracoMeshCompressionExtension, [{\n key: \"decodePrimitive\",\n value: function decodePrimitive(primitive, parser) {\n var json = this.json;\n var dracoLoader = this.dracoLoader;\n var bufferViewIndex = primitive.extensions[this.name].bufferView;\n var gltfAttributeMap = primitive.extensions[this.name].attributes;\n var threeAttributeMap = {};\n var attributeNormalizedMap = {};\n var attributeTypeMap = {};\n\n for (var attributeName in gltfAttributeMap) {\n var threeAttributeName = ATTRIBUTES[attributeName] || attributeName.toLowerCase();\n threeAttributeMap[threeAttributeName] = gltfAttributeMap[attributeName];\n }\n\n for (var _attributeName in primitive.attributes) {\n var _threeAttributeName = ATTRIBUTES[_attributeName] || _attributeName.toLowerCase();\n\n if (gltfAttributeMap[_attributeName] !== undefined) {\n var accessorDef = json.accessors[primitive.attributes[_attributeName]];\n var componentType = WEBGL_COMPONENT_TYPES[accessorDef.componentType];\n attributeTypeMap[_threeAttributeName] = componentType;\n attributeNormalizedMap[_threeAttributeName] = accessorDef.normalized === true;\n }\n }\n\n return parser.getDependency('bufferView', bufferViewIndex).then(function (bufferView) {\n return new Promise(function (resolve) {\n dracoLoader.decodeDracoFile(bufferView, function (geometry) {\n for (var _attributeName2 in geometry.attributes) {\n var attribute = geometry.attributes[_attributeName2];\n var normalized = attributeNormalizedMap[_attributeName2];\n if (normalized !== undefined) attribute.normalized = normalized;\n }\n\n resolve(geometry);\n }, threeAttributeMap, attributeTypeMap);\n });\n });\n }\n }]);\n\n return GLTFDracoMeshCompressionExtension;\n}();\n/**\n * Texture Transform Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform\n */\n\n\nvar GLTFTextureTransformExtension = /*#__PURE__*/function () {\n function GLTFTextureTransformExtension() {\n _classCallCheck(this, GLTFTextureTransformExtension);\n\n this.name = EXTENSIONS.KHR_TEXTURE_TRANSFORM;\n }\n\n _createClass(GLTFTextureTransformExtension, [{\n key: \"extendTexture\",\n value: function extendTexture(texture, transform) {\n if (transform.texCoord !== undefined) {\n console.warn('THREE.GLTFLoader: Custom UV sets in \"' + this.name + '\" extension not yet supported.');\n }\n\n if (transform.offset === undefined && transform.rotation === undefined && transform.scale === undefined) {\n // See https://github.com/mrdoob/three.js/issues/21819.\n return texture;\n }\n\n texture = texture.clone();\n\n if (transform.offset !== undefined) {\n texture.offset.fromArray(transform.offset);\n }\n\n if (transform.rotation !== undefined) {\n texture.rotation = transform.rotation;\n }\n\n if (transform.scale !== undefined) {\n texture.repeat.fromArray(transform.scale);\n }\n\n texture.needsUpdate = true;\n return texture;\n }\n }]);\n\n return GLTFTextureTransformExtension;\n}();\n/**\n * Specular-Glossiness Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness\n */\n\n/**\n * A sub class of StandardMaterial with some of the functionality\n * changed via the `onBeforeCompile` callback\n * @pailhead\n */\n\n\nvar GLTFMeshStandardSGMaterial = /*#__PURE__*/function (_MeshStandardMaterial) {\n _inherits(GLTFMeshStandardSGMaterial, _MeshStandardMaterial);\n\n var _super2 = _createSuper(GLTFMeshStandardSGMaterial);\n\n function GLTFMeshStandardSGMaterial(params) {\n var _this2;\n\n _classCallCheck(this, GLTFMeshStandardSGMaterial);\n\n _this2 = _super2.call(this);\n _this2.isGLTFSpecularGlossinessMaterial = true; //various chunks that need replacing\n\n var specularMapParsFragmentChunk = ['#ifdef USE_SPECULARMAP', '\tuniform sampler2D specularMap;', '#endif'].join('\\n');\n var glossinessMapParsFragmentChunk = ['#ifdef USE_GLOSSINESSMAP', '\tuniform sampler2D glossinessMap;', '#endif'].join('\\n');\n var specularMapFragmentChunk = ['vec3 specularFactor = specular;', '#ifdef USE_SPECULARMAP', '\tvec4 texelSpecular = texture2D( specularMap, vUv );', '\t// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture', '\tspecularFactor *= texelSpecular.rgb;', '#endif'].join('\\n');\n var glossinessMapFragmentChunk = ['float glossinessFactor = glossiness;', '#ifdef USE_GLOSSINESSMAP', '\tvec4 texelGlossiness = texture2D( glossinessMap, vUv );', '\t// reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture', '\tglossinessFactor *= texelGlossiness.a;', '#endif'].join('\\n');\n var lightPhysicalFragmentChunk = ['PhysicalMaterial material;', 'material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );', 'vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );', 'float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );', 'material.roughness = max( 1.0 - glossinessFactor, 0.0525 ); // 0.0525 corresponds to the base mip of a 256 cubemap.', 'material.roughness += geometryRoughness;', 'material.roughness = min( material.roughness, 1.0 );', 'material.specularColor = specularFactor;'].join('\\n');\n var uniforms = {\n specular: {\n value: new Color().setHex(0xffffff)\n },\n glossiness: {\n value: 1\n },\n specularMap: {\n value: null\n },\n glossinessMap: {\n value: null\n }\n };\n _this2._extraUniforms = uniforms;\n\n _this2.onBeforeCompile = function (shader) {\n for (var uniformName in uniforms) {\n shader.uniforms[uniformName] = uniforms[uniformName];\n }\n\n shader.fragmentShader = shader.fragmentShader.replace('uniform float roughness;', 'uniform vec3 specular;').replace('uniform float metalness;', 'uniform float glossiness;').replace('#include ', specularMapParsFragmentChunk).replace('#include ', glossinessMapParsFragmentChunk).replace('#include ', specularMapFragmentChunk).replace('#include ', glossinessMapFragmentChunk).replace('#include ', lightPhysicalFragmentChunk);\n };\n\n Object.defineProperties(_assertThisInitialized(_this2), {\n specular: {\n get: function get() {\n return uniforms.specular.value;\n },\n set: function set(v) {\n uniforms.specular.value = v;\n }\n },\n specularMap: {\n get: function get() {\n return uniforms.specularMap.value;\n },\n set: function set(v) {\n uniforms.specularMap.value = v;\n\n if (v) {\n this.defines.USE_SPECULARMAP = ''; // USE_UV is set by the renderer for specular maps\n } else {\n delete this.defines.USE_SPECULARMAP;\n }\n }\n },\n glossiness: {\n get: function get() {\n return uniforms.glossiness.value;\n },\n set: function set(v) {\n uniforms.glossiness.value = v;\n }\n },\n glossinessMap: {\n get: function get() {\n return uniforms.glossinessMap.value;\n },\n set: function set(v) {\n uniforms.glossinessMap.value = v;\n\n if (v) {\n this.defines.USE_GLOSSINESSMAP = '';\n this.defines.USE_UV = '';\n } else {\n delete this.defines.USE_GLOSSINESSMAP;\n delete this.defines.USE_UV;\n }\n }\n }\n });\n delete _this2.metalness;\n delete _this2.roughness;\n delete _this2.metalnessMap;\n delete _this2.roughnessMap;\n\n _this2.setValues(params);\n\n return _this2;\n }\n\n _createClass(GLTFMeshStandardSGMaterial, [{\n key: \"copy\",\n value: function copy(source) {\n _get(_getPrototypeOf(GLTFMeshStandardSGMaterial.prototype), \"copy\", this).call(this, source);\n\n this.specularMap = source.specularMap;\n this.specular.copy(source.specular);\n this.glossinessMap = source.glossinessMap;\n this.glossiness = source.glossiness;\n delete this.metalness;\n delete this.roughness;\n delete this.metalnessMap;\n delete this.roughnessMap;\n return this;\n }\n }]);\n\n return GLTFMeshStandardSGMaterial;\n}(MeshStandardMaterial);\n\nvar GLTFMaterialsPbrSpecularGlossinessExtension = /*#__PURE__*/function () {\n function GLTFMaterialsPbrSpecularGlossinessExtension() {\n _classCallCheck(this, GLTFMaterialsPbrSpecularGlossinessExtension);\n\n this.name = EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS;\n this.specularGlossinessParams = ['color', 'map', 'lightMap', 'lightMapIntensity', 'aoMap', 'aoMapIntensity', 'emissive', 'emissiveIntensity', 'emissiveMap', 'bumpMap', 'bumpScale', 'normalMap', 'normalMapType', 'displacementMap', 'displacementScale', 'displacementBias', 'specularMap', 'specular', 'glossinessMap', 'glossiness', 'alphaMap', 'envMap', 'envMapIntensity', 'refractionRatio'];\n }\n\n _createClass(GLTFMaterialsPbrSpecularGlossinessExtension, [{\n key: \"getMaterialType\",\n value: function getMaterialType() {\n return GLTFMeshStandardSGMaterial;\n }\n }, {\n key: \"extendParams\",\n value: function extendParams(materialParams, materialDef, parser) {\n var pbrSpecularGlossiness = materialDef.extensions[this.name];\n materialParams.color = new Color(1.0, 1.0, 1.0);\n materialParams.opacity = 1.0;\n var pending = [];\n\n if (Array.isArray(pbrSpecularGlossiness.diffuseFactor)) {\n var array = pbrSpecularGlossiness.diffuseFactor;\n materialParams.color.fromArray(array);\n materialParams.opacity = array[3];\n }\n\n if (pbrSpecularGlossiness.diffuseTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'map', pbrSpecularGlossiness.diffuseTexture));\n }\n\n materialParams.emissive = new Color(0.0, 0.0, 0.0);\n materialParams.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0;\n materialParams.specular = new Color(1.0, 1.0, 1.0);\n\n if (Array.isArray(pbrSpecularGlossiness.specularFactor)) {\n materialParams.specular.fromArray(pbrSpecularGlossiness.specularFactor);\n }\n\n if (pbrSpecularGlossiness.specularGlossinessTexture !== undefined) {\n var specGlossMapDef = pbrSpecularGlossiness.specularGlossinessTexture;\n pending.push(parser.assignTexture(materialParams, 'glossinessMap', specGlossMapDef));\n pending.push(parser.assignTexture(materialParams, 'specularMap', specGlossMapDef));\n }\n\n return Promise.all(pending);\n }\n }, {\n key: \"createMaterial\",\n value: function createMaterial(materialParams) {\n var material = new GLTFMeshStandardSGMaterial(materialParams);\n material.fog = true;\n material.color = materialParams.color;\n material.map = materialParams.map === undefined ? null : materialParams.map;\n material.lightMap = null;\n material.lightMapIntensity = 1.0;\n material.aoMap = materialParams.aoMap === undefined ? null : materialParams.aoMap;\n material.aoMapIntensity = 1.0;\n material.emissive = materialParams.emissive;\n material.emissiveIntensity = 1.0;\n material.emissiveMap = materialParams.emissiveMap === undefined ? null : materialParams.emissiveMap;\n material.bumpMap = materialParams.bumpMap === undefined ? null : materialParams.bumpMap;\n material.bumpScale = 1;\n material.normalMap = materialParams.normalMap === undefined ? null : materialParams.normalMap;\n material.normalMapType = TangentSpaceNormalMap;\n if (materialParams.normalScale) material.normalScale = materialParams.normalScale;\n material.displacementMap = null;\n material.displacementScale = 1;\n material.displacementBias = 0;\n material.specularMap = materialParams.specularMap === undefined ? null : materialParams.specularMap;\n material.specular = materialParams.specular;\n material.glossinessMap = materialParams.glossinessMap === undefined ? null : materialParams.glossinessMap;\n material.glossiness = materialParams.glossiness;\n material.alphaMap = null;\n material.envMap = materialParams.envMap === undefined ? null : materialParams.envMap;\n material.envMapIntensity = 1.0;\n material.refractionRatio = 0.98;\n return material;\n }\n }]);\n\n return GLTFMaterialsPbrSpecularGlossinessExtension;\n}();\n/**\n * Mesh Quantization Extension\n *\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization\n */\n\n\nvar GLTFMeshQuantizationExtension = /*#__PURE__*/_createClass(function GLTFMeshQuantizationExtension() {\n _classCallCheck(this, GLTFMeshQuantizationExtension);\n\n this.name = EXTENSIONS.KHR_MESH_QUANTIZATION;\n});\n/*********************************/\n\n/********** INTERPOLATION ********/\n\n/*********************************/\n// Spline Interpolation\n// Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation\n\n\nvar GLTFCubicSplineInterpolant = /*#__PURE__*/function (_Interpolant) {\n _inherits(GLTFCubicSplineInterpolant, _Interpolant);\n\n var _super3 = _createSuper(GLTFCubicSplineInterpolant);\n\n function GLTFCubicSplineInterpolant(parameterPositions, sampleValues, sampleSize, resultBuffer) {\n _classCallCheck(this, GLTFCubicSplineInterpolant);\n\n return _super3.call(this, parameterPositions, sampleValues, sampleSize, resultBuffer);\n }\n\n _createClass(GLTFCubicSplineInterpolant, [{\n key: \"copySampleValue_\",\n value: function copySampleValue_(index) {\n // Copies a sample value to the result buffer. See description of glTF\n // CUBICSPLINE values layout in interpolate_() function below.\n var result = this.resultBuffer,\n values = this.sampleValues,\n valueSize = this.valueSize,\n offset = index * valueSize * 3 + valueSize;\n\n for (var i = 0; i !== valueSize; i++) {\n result[i] = values[offset + i];\n }\n\n return result;\n }\n }]);\n\n return GLTFCubicSplineInterpolant;\n}(Interpolant);\n\nGLTFCubicSplineInterpolant.prototype.beforeStart_ = GLTFCubicSplineInterpolant.prototype.copySampleValue_;\nGLTFCubicSplineInterpolant.prototype.afterEnd_ = GLTFCubicSplineInterpolant.prototype.copySampleValue_;\n\nGLTFCubicSplineInterpolant.prototype.interpolate_ = function (i1, t0, t, t1) {\n var result = this.resultBuffer;\n var values = this.sampleValues;\n var stride = this.valueSize;\n var stride2 = stride * 2;\n var stride3 = stride * 3;\n var td = t1 - t0;\n var p = (t - t0) / td;\n var pp = p * p;\n var ppp = pp * p;\n var offset1 = i1 * stride3;\n var offset0 = offset1 - stride3;\n var s2 = -2 * ppp + 3 * pp;\n var s3 = ppp - pp;\n var s0 = 1 - s2;\n var s1 = s3 - pp + p; // Layout of keyframe output values for CUBICSPLINE animations:\n // [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ]\n\n for (var i = 0; i !== stride; i++) {\n var p0 = values[offset0 + i + stride]; // splineVertex_k\n\n var m0 = values[offset0 + i + stride2] * td; // outTangent_k * (t_k+1 - t_k)\n\n var p1 = values[offset1 + i + stride]; // splineVertex_k+1\n\n var m1 = values[offset1 + i] * td; // inTangent_k+1 * (t_k+1 - t_k)\n\n result[i] = s0 * p0 + s1 * m0 + s2 * p1 + s3 * m1;\n }\n\n return result;\n};\n\nvar _q = new Quaternion();\n\nvar GLTFCubicSplineQuaternionInterpolant = /*#__PURE__*/function (_GLTFCubicSplineInter) {\n _inherits(GLTFCubicSplineQuaternionInterpolant, _GLTFCubicSplineInter);\n\n var _super4 = _createSuper(GLTFCubicSplineQuaternionInterpolant);\n\n function GLTFCubicSplineQuaternionInterpolant() {\n _classCallCheck(this, GLTFCubicSplineQuaternionInterpolant);\n\n return _super4.apply(this, arguments);\n }\n\n _createClass(GLTFCubicSplineQuaternionInterpolant, [{\n key: \"interpolate_\",\n value: function interpolate_(i1, t0, t, t1) {\n var result = _get(_getPrototypeOf(GLTFCubicSplineQuaternionInterpolant.prototype), \"interpolate_\", this).call(this, i1, t0, t, t1);\n\n _q.fromArray(result).normalize().toArray(result);\n\n return result;\n }\n }]);\n\n return GLTFCubicSplineQuaternionInterpolant;\n}(GLTFCubicSplineInterpolant);\n/*********************************/\n\n/********** INTERNALS ************/\n\n/*********************************/\n\n/* CONSTANTS */\n\n\nvar WEBGL_CONSTANTS = {\n FLOAT: 5126,\n //FLOAT_MAT2: 35674,\n FLOAT_MAT3: 35675,\n FLOAT_MAT4: 35676,\n FLOAT_VEC2: 35664,\n FLOAT_VEC3: 35665,\n FLOAT_VEC4: 35666,\n LINEAR: 9729,\n REPEAT: 10497,\n SAMPLER_2D: 35678,\n POINTS: 0,\n LINES: 1,\n LINE_LOOP: 2,\n LINE_STRIP: 3,\n TRIANGLES: 4,\n TRIANGLE_STRIP: 5,\n TRIANGLE_FAN: 6,\n UNSIGNED_BYTE: 5121,\n UNSIGNED_SHORT: 5123\n};\nvar WEBGL_COMPONENT_TYPES = {\n 5120: Int8Array,\n 5121: Uint8Array,\n 5122: Int16Array,\n 5123: Uint16Array,\n 5125: Uint32Array,\n 5126: Float32Array\n};\nvar WEBGL_FILTERS = {\n 9728: NearestFilter,\n 9729: LinearFilter,\n 9984: NearestMipmapNearestFilter,\n 9985: LinearMipmapNearestFilter,\n 9986: NearestMipmapLinearFilter,\n 9987: LinearMipmapLinearFilter\n};\nvar WEBGL_WRAPPINGS = {\n 33071: ClampToEdgeWrapping,\n 33648: MirroredRepeatWrapping,\n 10497: RepeatWrapping\n};\nvar WEBGL_TYPE_SIZES = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\nvar ATTRIBUTES = {\n POSITION: 'position',\n NORMAL: 'normal',\n TANGENT: 'tangent',\n TEXCOORD_0: 'uv',\n TEXCOORD_1: 'uv2',\n COLOR_0: 'color',\n WEIGHTS_0: 'skinWeight',\n JOINTS_0: 'skinIndex'\n};\nvar PATH_PROPERTIES = {\n scale: 'scale',\n translation: 'position',\n rotation: 'quaternion',\n weights: 'morphTargetInfluences'\n};\nvar INTERPOLATION = {\n CUBICSPLINE: undefined,\n // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each\n // keyframe track will be initialized with a default interpolation type, then modified.\n LINEAR: InterpolateLinear,\n STEP: InterpolateDiscrete\n};\nvar ALPHA_MODES = {\n OPAQUE: 'OPAQUE',\n MASK: 'MASK',\n BLEND: 'BLEND'\n};\n/**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material\n */\n\nfunction createDefaultMaterial(cache) {\n if (cache['DefaultMaterial'] === undefined) {\n cache['DefaultMaterial'] = new MeshStandardMaterial({\n color: 0xffffff,\n emissive: 0x000000,\n metalness: 1,\n roughness: 1,\n transparent: false,\n depthTest: true,\n side: FrontSide\n });\n }\n\n return cache['DefaultMaterial'];\n}\n\nfunction addUnknownExtensionsToUserData(knownExtensions, object, objectDef) {\n // Add unknown glTF extensions to an object's userData.\n for (var name in objectDef.extensions) {\n if (knownExtensions[name] === undefined) {\n object.userData.gltfExtensions = object.userData.gltfExtensions || {};\n object.userData.gltfExtensions[name] = objectDef.extensions[name];\n }\n }\n}\n/**\n * @param {Object3D|Material|BufferGeometry} object\n * @param {GLTF.definition} gltfDef\n */\n\n\nfunction assignExtrasToUserData(object, gltfDef) {\n if (gltfDef.extras !== undefined) {\n if (typeof gltfDef.extras === 'object') {\n Object.assign(object.userData, gltfDef.extras);\n } else {\n console.warn('THREE.GLTFLoader: Ignoring primitive type .extras, ' + gltfDef.extras);\n }\n }\n}\n/**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets\n *\n * @param {BufferGeometry} geometry\n * @param {Array} targets\n * @param {GLTFParser} parser\n * @return {Promise}\n */\n\n\nfunction addMorphTargets(geometry, targets, parser) {\n var hasMorphPosition = false;\n var hasMorphNormal = false;\n\n for (var i = 0, il = targets.length; i < il; i++) {\n var target = targets[i];\n if (target.POSITION !== undefined) hasMorphPosition = true;\n if (target.NORMAL !== undefined) hasMorphNormal = true;\n if (hasMorphPosition && hasMorphNormal) break;\n }\n\n if (!hasMorphPosition && !hasMorphNormal) return Promise.resolve(geometry);\n var pendingPositionAccessors = [];\n var pendingNormalAccessors = [];\n\n for (var _i2 = 0, _il = targets.length; _i2 < _il; _i2++) {\n var _target = targets[_i2];\n\n if (hasMorphPosition) {\n var pendingAccessor = _target.POSITION !== undefined ? parser.getDependency('accessor', _target.POSITION) : geometry.attributes.position;\n pendingPositionAccessors.push(pendingAccessor);\n }\n\n if (hasMorphNormal) {\n var _pendingAccessor = _target.NORMAL !== undefined ? parser.getDependency('accessor', _target.NORMAL) : geometry.attributes.normal;\n\n pendingNormalAccessors.push(_pendingAccessor);\n }\n }\n\n return Promise.all([Promise.all(pendingPositionAccessors), Promise.all(pendingNormalAccessors)]).then(function (accessors) {\n var morphPositions = accessors[0];\n var morphNormals = accessors[1];\n if (hasMorphPosition) geometry.morphAttributes.position = morphPositions;\n if (hasMorphNormal) geometry.morphAttributes.normal = morphNormals;\n geometry.morphTargetsRelative = true;\n return geometry;\n });\n}\n/**\n * @param {Mesh} mesh\n * @param {GLTF.Mesh} meshDef\n */\n\n\nfunction updateMorphTargets(mesh, meshDef) {\n mesh.updateMorphTargets();\n\n if (meshDef.weights !== undefined) {\n for (var i = 0, il = meshDef.weights.length; i < il; i++) {\n mesh.morphTargetInfluences[i] = meshDef.weights[i];\n }\n } // .extras has user-defined data, so check that .extras.targetNames is an array.\n\n\n if (meshDef.extras && Array.isArray(meshDef.extras.targetNames)) {\n var targetNames = meshDef.extras.targetNames;\n\n if (mesh.morphTargetInfluences.length === targetNames.length) {\n mesh.morphTargetDictionary = {};\n\n for (var _i3 = 0, _il2 = targetNames.length; _i3 < _il2; _i3++) {\n mesh.morphTargetDictionary[targetNames[_i3]] = _i3;\n }\n } else {\n console.warn('THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.');\n }\n }\n}\n\nfunction createPrimitiveKey(primitiveDef) {\n var dracoExtension = primitiveDef.extensions && primitiveDef.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION];\n var geometryKey;\n\n if (dracoExtension) {\n geometryKey = 'draco:' + dracoExtension.bufferView + ':' + dracoExtension.indices + ':' + createAttributesKey(dracoExtension.attributes);\n } else {\n geometryKey = primitiveDef.indices + ':' + createAttributesKey(primitiveDef.attributes) + ':' + primitiveDef.mode;\n }\n\n return geometryKey;\n}\n\nfunction createAttributesKey(attributes) {\n var attributesKey = '';\n var keys = Object.keys(attributes).sort();\n\n for (var i = 0, il = keys.length; i < il; i++) {\n attributesKey += keys[i] + ':' + attributes[keys[i]] + ';';\n }\n\n return attributesKey;\n}\n\nfunction getNormalizedComponentScale(constructor) {\n // Reference:\n // https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization#encoding-quantized-data\n switch (constructor) {\n case Int8Array:\n return 1 / 127;\n\n case Uint8Array:\n return 1 / 255;\n\n case Int16Array:\n return 1 / 32767;\n\n case Uint16Array:\n return 1 / 65535;\n\n default:\n throw new Error('THREE.GLTFLoader: Unsupported normalized accessor component type.');\n }\n}\n/* GLTF PARSER */\n\n\nvar GLTFParser = /*#__PURE__*/function () {\n function GLTFParser() {\n var json = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, GLTFParser);\n\n this.json = json;\n this.extensions = {};\n this.plugins = {};\n this.options = options; // loader object cache\n\n this.cache = new GLTFRegistry(); // associations between Three.js objects and glTF elements\n\n this.associations = new Map(); // BufferGeometry caching\n\n this.primitiveCache = {}; // Object3D instance caches\n\n this.meshCache = {\n refs: {},\n uses: {}\n };\n this.cameraCache = {\n refs: {},\n uses: {}\n };\n this.lightCache = {\n refs: {},\n uses: {}\n };\n this.textureCache = {}; // Track node names, to ensure no duplicates\n\n this.nodeNamesUsed = {}; // Use an ImageBitmapLoader if imageBitmaps are supported. Moves much of the\n // expensive work of uploading a texture to the GPU off the main thread.\n\n if (typeof createImageBitmap !== 'undefined' && /Firefox|^((?!chrome|android).)*safari/i.test(navigator.userAgent) === false) {\n this.textureLoader = new ImageBitmapLoader(this.options.manager);\n } else {\n this.textureLoader = new TextureLoader(this.options.manager);\n }\n\n this.textureLoader.setCrossOrigin(this.options.crossOrigin);\n this.textureLoader.setRequestHeader(this.options.requestHeader);\n this.fileLoader = new FileLoader(this.options.manager);\n this.fileLoader.setResponseType('arraybuffer');\n\n if (this.options.crossOrigin === 'use-credentials') {\n this.fileLoader.setWithCredentials(true);\n }\n }\n\n _createClass(GLTFParser, [{\n key: \"setExtensions\",\n value: function setExtensions(extensions) {\n this.extensions = extensions;\n }\n }, {\n key: \"setPlugins\",\n value: function setPlugins(plugins) {\n this.plugins = plugins;\n }\n }, {\n key: \"parse\",\n value: function parse(onLoad, onError) {\n var parser = this;\n var json = this.json;\n var extensions = this.extensions; // Clear the loader cache\n\n this.cache.removeAll(); // Mark the special nodes/meshes in json for efficient parse\n\n this._invokeAll(function (ext) {\n return ext._markDefs && ext._markDefs();\n });\n\n Promise.all(this._invokeAll(function (ext) {\n return ext.beforeRoot && ext.beforeRoot();\n })).then(function () {\n return Promise.all([parser.getDependencies('scene'), parser.getDependencies('animation'), parser.getDependencies('camera')]);\n }).then(function (dependencies) {\n var result = {\n scene: dependencies[0][json.scene || 0],\n scenes: dependencies[0],\n animations: dependencies[1],\n cameras: dependencies[2],\n asset: json.asset,\n parser: parser,\n userData: {}\n };\n addUnknownExtensionsToUserData(extensions, result, json);\n assignExtrasToUserData(result, json);\n Promise.all(parser._invokeAll(function (ext) {\n return ext.afterRoot && ext.afterRoot(result);\n })).then(function () {\n onLoad(result);\n });\n }).catch(onError);\n }\n /**\n * Marks the special nodes/meshes in json for efficient parse.\n */\n\n }, {\n key: \"_markDefs\",\n value: function _markDefs() {\n var nodeDefs = this.json.nodes || [];\n var skinDefs = this.json.skins || [];\n var meshDefs = this.json.meshes || []; // Nothing in the node definition indicates whether it is a Bone or an\n // Object3D. Use the skins' joint references to mark bones.\n\n for (var skinIndex = 0, skinLength = skinDefs.length; skinIndex < skinLength; skinIndex++) {\n var joints = skinDefs[skinIndex].joints;\n\n for (var i = 0, il = joints.length; i < il; i++) {\n nodeDefs[joints[i]].isBone = true;\n }\n } // Iterate over all nodes, marking references to shared resources,\n // as well as skeleton joints.\n\n\n for (var nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex++) {\n var nodeDef = nodeDefs[nodeIndex];\n\n if (nodeDef.mesh !== undefined) {\n this._addNodeRef(this.meshCache, nodeDef.mesh); // Nothing in the mesh definition indicates whether it is\n // a SkinnedMesh or Mesh. Use the node's mesh reference\n // to mark SkinnedMesh if node has skin.\n\n\n if (nodeDef.skin !== undefined) {\n meshDefs[nodeDef.mesh].isSkinnedMesh = true;\n }\n }\n\n if (nodeDef.camera !== undefined) {\n this._addNodeRef(this.cameraCache, nodeDef.camera);\n }\n }\n }\n /**\n * Counts references to shared node / Object3D resources. These resources\n * can be reused, or \"instantiated\", at multiple nodes in the scene\n * hierarchy. Mesh, Camera, and Light instances are instantiated and must\n * be marked. Non-scenegraph resources (like Materials, Geometries, and\n * Textures) can be reused directly and are not marked here.\n *\n * Example: CesiumMilkTruck sample model reuses \"Wheel\" meshes.\n */\n\n }, {\n key: \"_addNodeRef\",\n value: function _addNodeRef(cache, index) {\n if (index === undefined) return;\n\n if (cache.refs[index] === undefined) {\n cache.refs[index] = cache.uses[index] = 0;\n }\n\n cache.refs[index]++;\n }\n /** Returns a reference to a shared resource, cloning it if necessary. */\n\n }, {\n key: \"_getNodeRef\",\n value: function _getNodeRef(cache, index, object) {\n var _this3 = this;\n\n if (cache.refs[index] <= 1) return object;\n var ref = object.clone(); // Propagates mappings to the cloned object, prevents mappings on the\n // original object from being lost.\n\n var updateMappings = function updateMappings(original, clone) {\n var mappings = _this3.associations.get(original);\n\n if (mappings != null) {\n _this3.associations.set(clone, mappings);\n }\n\n var _iterator = _createForOfIteratorHelper(original.children.entries()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n i = _step$value[0],\n child = _step$value[1];\n\n updateMappings(child, clone.children[i]);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n };\n\n updateMappings(object, ref);\n ref.name += '_instance_' + cache.uses[index]++;\n return ref;\n }\n }, {\n key: \"_invokeOne\",\n value: function _invokeOne(func) {\n var extensions = Object.values(this.plugins);\n extensions.push(this);\n\n for (var i = 0; i < extensions.length; i++) {\n var result = func(extensions[i]);\n if (result) return result;\n }\n\n return null;\n }\n }, {\n key: \"_invokeAll\",\n value: function _invokeAll(func) {\n var extensions = Object.values(this.plugins);\n extensions.unshift(this);\n var pending = [];\n\n for (var i = 0; i < extensions.length; i++) {\n var result = func(extensions[i]);\n if (result) pending.push(result);\n }\n\n return pending;\n }\n /**\n * Requests the specified dependency asynchronously, with caching.\n * @param {string} type\n * @param {number} index\n * @return {Promise}\n */\n\n }, {\n key: \"getDependency\",\n value: function getDependency(type, index) {\n var cacheKey = type + ':' + index;\n var dependency = this.cache.get(cacheKey);\n\n if (!dependency) {\n switch (type) {\n case 'scene':\n dependency = this.loadScene(index);\n break;\n\n case 'node':\n dependency = this.loadNode(index);\n break;\n\n case 'mesh':\n dependency = this._invokeOne(function (ext) {\n return ext.loadMesh && ext.loadMesh(index);\n });\n break;\n\n case 'accessor':\n dependency = this.loadAccessor(index);\n break;\n\n case 'bufferView':\n dependency = this._invokeOne(function (ext) {\n return ext.loadBufferView && ext.loadBufferView(index);\n });\n break;\n\n case 'buffer':\n dependency = this.loadBuffer(index);\n break;\n\n case 'material':\n dependency = this._invokeOne(function (ext) {\n return ext.loadMaterial && ext.loadMaterial(index);\n });\n break;\n\n case 'texture':\n dependency = this._invokeOne(function (ext) {\n return ext.loadTexture && ext.loadTexture(index);\n });\n break;\n\n case 'skin':\n dependency = this.loadSkin(index);\n break;\n\n case 'animation':\n dependency = this.loadAnimation(index);\n break;\n\n case 'camera':\n dependency = this.loadCamera(index);\n break;\n\n default:\n throw new Error('Unknown type: ' + type);\n }\n\n this.cache.add(cacheKey, dependency);\n }\n\n return dependency;\n }\n /**\n * Requests all dependencies of the specified type asynchronously, with caching.\n * @param {string} type\n * @return {Promise>}\n */\n\n }, {\n key: \"getDependencies\",\n value: function getDependencies(type) {\n var dependencies = this.cache.get(type);\n\n if (!dependencies) {\n var parser = this;\n var defs = this.json[type + (type === 'mesh' ? 'es' : 's')] || [];\n dependencies = Promise.all(defs.map(function (def, index) {\n return parser.getDependency(type, index);\n }));\n this.cache.add(type, dependencies);\n }\n\n return dependencies;\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views\n * @param {number} bufferIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadBuffer\",\n value: function loadBuffer(bufferIndex) {\n var bufferDef = this.json.buffers[bufferIndex];\n var loader = this.fileLoader;\n\n if (bufferDef.type && bufferDef.type !== 'arraybuffer') {\n throw new Error('THREE.GLTFLoader: ' + bufferDef.type + ' buffer type is not supported.');\n } // If present, GLB container is required to be the first buffer.\n\n\n if (bufferDef.uri === undefined && bufferIndex === 0) {\n return Promise.resolve(this.extensions[EXTENSIONS.KHR_BINARY_GLTF].body);\n }\n\n var options = this.options;\n return new Promise(function (resolve, reject) {\n loader.load(LoaderUtils.resolveURL(bufferDef.uri, options.path), resolve, undefined, function () {\n reject(new Error('THREE.GLTFLoader: Failed to load buffer \"' + bufferDef.uri + '\".'));\n });\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views\n * @param {number} bufferViewIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadBufferView\",\n value: function loadBufferView(bufferViewIndex) {\n var bufferViewDef = this.json.bufferViews[bufferViewIndex];\n return this.getDependency('buffer', bufferViewDef.buffer).then(function (buffer) {\n var byteLength = bufferViewDef.byteLength || 0;\n var byteOffset = bufferViewDef.byteOffset || 0;\n return buffer.slice(byteOffset, byteOffset + byteLength);\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors\n * @param {number} accessorIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadAccessor\",\n value: function loadAccessor(accessorIndex) {\n var parser = this;\n var json = this.json;\n var accessorDef = this.json.accessors[accessorIndex];\n\n if (accessorDef.bufferView === undefined && accessorDef.sparse === undefined) {\n // Ignore empty accessors, which may be used to declare runtime\n // information about attributes coming from another source (e.g. Draco\n // compression extension).\n return Promise.resolve(null);\n }\n\n var pendingBufferViews = [];\n\n if (accessorDef.bufferView !== undefined) {\n pendingBufferViews.push(this.getDependency('bufferView', accessorDef.bufferView));\n } else {\n pendingBufferViews.push(null);\n }\n\n if (accessorDef.sparse !== undefined) {\n pendingBufferViews.push(this.getDependency('bufferView', accessorDef.sparse.indices.bufferView));\n pendingBufferViews.push(this.getDependency('bufferView', accessorDef.sparse.values.bufferView));\n }\n\n return Promise.all(pendingBufferViews).then(function (bufferViews) {\n var bufferView = bufferViews[0];\n var itemSize = WEBGL_TYPE_SIZES[accessorDef.type];\n var TypedArray = WEBGL_COMPONENT_TYPES[accessorDef.componentType]; // For VEC3: itemSize is 3, elementBytes is 4, itemBytes is 12.\n\n var elementBytes = TypedArray.BYTES_PER_ELEMENT;\n var itemBytes = elementBytes * itemSize;\n var byteOffset = accessorDef.byteOffset || 0;\n var byteStride = accessorDef.bufferView !== undefined ? json.bufferViews[accessorDef.bufferView].byteStride : undefined;\n var normalized = accessorDef.normalized === true;\n var array, bufferAttribute; // The buffer is not interleaved if the stride is the item size in bytes.\n\n if (byteStride && byteStride !== itemBytes) {\n // Each \"slice\" of the buffer, as defined by 'count' elements of 'byteStride' bytes, gets its own InterleavedBuffer\n // This makes sure that IBA.count reflects accessor.count properly\n var ibSlice = Math.floor(byteOffset / byteStride);\n var ibCacheKey = 'InterleavedBuffer:' + accessorDef.bufferView + ':' + accessorDef.componentType + ':' + ibSlice + ':' + accessorDef.count;\n var ib = parser.cache.get(ibCacheKey);\n\n if (!ib) {\n array = new TypedArray(bufferView, ibSlice * byteStride, accessorDef.count * byteStride / elementBytes); // Integer parameters to IB/IBA are in array elements, not bytes.\n\n ib = new InterleavedBuffer(array, byteStride / elementBytes);\n parser.cache.add(ibCacheKey, ib);\n }\n\n bufferAttribute = new InterleavedBufferAttribute(ib, itemSize, byteOffset % byteStride / elementBytes, normalized);\n } else {\n if (bufferView === null) {\n array = new TypedArray(accessorDef.count * itemSize);\n } else {\n array = new TypedArray(bufferView, byteOffset, accessorDef.count * itemSize);\n }\n\n bufferAttribute = new BufferAttribute(array, itemSize, normalized);\n } // https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#sparse-accessors\n\n\n if (accessorDef.sparse !== undefined) {\n var itemSizeIndices = WEBGL_TYPE_SIZES.SCALAR;\n var TypedArrayIndices = WEBGL_COMPONENT_TYPES[accessorDef.sparse.indices.componentType];\n var byteOffsetIndices = accessorDef.sparse.indices.byteOffset || 0;\n var byteOffsetValues = accessorDef.sparse.values.byteOffset || 0;\n var sparseIndices = new TypedArrayIndices(bufferViews[1], byteOffsetIndices, accessorDef.sparse.count * itemSizeIndices);\n var sparseValues = new TypedArray(bufferViews[2], byteOffsetValues, accessorDef.sparse.count * itemSize);\n\n if (bufferView !== null) {\n // Avoid modifying the original ArrayBuffer, if the bufferView wasn't initialized with zeroes.\n bufferAttribute = new BufferAttribute(bufferAttribute.array.slice(), bufferAttribute.itemSize, bufferAttribute.normalized);\n }\n\n for (var i = 0, il = sparseIndices.length; i < il; i++) {\n var index = sparseIndices[i];\n bufferAttribute.setX(index, sparseValues[i * itemSize]);\n if (itemSize >= 2) bufferAttribute.setY(index, sparseValues[i * itemSize + 1]);\n if (itemSize >= 3) bufferAttribute.setZ(index, sparseValues[i * itemSize + 2]);\n if (itemSize >= 4) bufferAttribute.setW(index, sparseValues[i * itemSize + 3]);\n if (itemSize >= 5) throw new Error('THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.');\n }\n }\n\n return bufferAttribute;\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures\n * @param {number} textureIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadTexture\",\n value: function loadTexture(textureIndex) {\n var json = this.json;\n var options = this.options;\n var textureDef = json.textures[textureIndex];\n var source = json.images[textureDef.source];\n var loader = this.textureLoader;\n\n if (source.uri) {\n var handler = options.manager.getHandler(source.uri);\n if (handler !== null) loader = handler;\n }\n\n return this.loadTextureImage(textureIndex, source, loader);\n }\n }, {\n key: \"loadTextureImage\",\n value: function loadTextureImage(textureIndex, source, loader) {\n var parser = this;\n var json = this.json;\n var options = this.options;\n var textureDef = json.textures[textureIndex];\n var cacheKey = (source.uri || source.bufferView) + ':' + textureDef.sampler;\n\n if (this.textureCache[cacheKey]) {\n // See https://github.com/mrdoob/three.js/issues/21559.\n return this.textureCache[cacheKey];\n }\n\n var URL = self.URL || self.webkitURL;\n var sourceURI = source.uri || '';\n var isObjectURL = false;\n\n if (source.bufferView !== undefined) {\n // Load binary image data from bufferView, if provided.\n sourceURI = parser.getDependency('bufferView', source.bufferView).then(function (bufferView) {\n isObjectURL = true;\n var blob = new Blob([bufferView], {\n type: source.mimeType\n });\n sourceURI = URL.createObjectURL(blob);\n return sourceURI;\n });\n } else if (source.uri === undefined) {\n throw new Error('THREE.GLTFLoader: Image ' + textureIndex + ' is missing URI and bufferView');\n }\n\n var promise = Promise.resolve(sourceURI).then(function (sourceURI) {\n return new Promise(function (resolve, reject) {\n var onLoad = resolve;\n\n if (loader.isImageBitmapLoader === true) {\n onLoad = function onLoad(imageBitmap) {\n var texture = new Texture(imageBitmap);\n texture.needsUpdate = true;\n resolve(texture);\n };\n }\n\n loader.load(LoaderUtils.resolveURL(sourceURI, options.path), onLoad, undefined, reject);\n });\n }).then(function (texture) {\n // Clean up resources and configure Texture.\n if (isObjectURL === true) {\n URL.revokeObjectURL(sourceURI);\n }\n\n texture.flipY = false;\n if (textureDef.name) texture.name = textureDef.name;\n var samplers = json.samplers || {};\n var sampler = samplers[textureDef.sampler] || {};\n texture.magFilter = WEBGL_FILTERS[sampler.magFilter] || LinearFilter;\n texture.minFilter = WEBGL_FILTERS[sampler.minFilter] || LinearMipmapLinearFilter;\n texture.wrapS = WEBGL_WRAPPINGS[sampler.wrapS] || RepeatWrapping;\n texture.wrapT = WEBGL_WRAPPINGS[sampler.wrapT] || RepeatWrapping;\n parser.associations.set(texture, {\n textures: textureIndex\n });\n return texture;\n }).catch(function () {\n console.error(\"THREE.GLTFLoader: Couldn't load texture\", sourceURI);\n return null;\n });\n this.textureCache[cacheKey] = promise;\n return promise;\n }\n /**\n * Asynchronously assigns a texture to the given material parameters.\n * @param {Object} materialParams\n * @param {string} mapName\n * @param {Object} mapDef\n * @return {Promise}\n */\n\n }, {\n key: \"assignTexture\",\n value: function assignTexture(materialParams, mapName, mapDef) {\n var parser = this;\n return this.getDependency('texture', mapDef.index).then(function (texture) {\n // Materials sample aoMap from UV set 1 and other maps from UV set 0 - this can't be configured\n // However, we will copy UV set 0 to UV set 1 on demand for aoMap\n if (mapDef.texCoord !== undefined && mapDef.texCoord != 0 && !(mapName === 'aoMap' && mapDef.texCoord == 1)) {\n console.warn('THREE.GLTFLoader: Custom UV set ' + mapDef.texCoord + ' for texture ' + mapName + ' not yet supported.');\n }\n\n if (parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]) {\n var transform = mapDef.extensions !== undefined ? mapDef.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM] : undefined;\n\n if (transform) {\n var gltfReference = parser.associations.get(texture);\n texture = parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM].extendTexture(texture, transform);\n parser.associations.set(texture, gltfReference);\n }\n }\n\n materialParams[mapName] = texture;\n return texture;\n });\n }\n /**\n * Assigns final material to a Mesh, Line, or Points instance. The instance\n * already has a material (generated from the glTF material options alone)\n * but reuse of the same glTF material may require multiple threejs materials\n * to accommodate different primitive types, defines, etc. New materials will\n * be created if necessary, and reused from a cache.\n * @param {Object3D} mesh Mesh, Line, or Points instance.\n */\n\n }, {\n key: \"assignFinalMaterial\",\n value: function assignFinalMaterial(mesh) {\n var geometry = mesh.geometry;\n var material = mesh.material;\n var useDerivativeTangents = geometry.attributes.tangent === undefined;\n var useVertexColors = geometry.attributes.color !== undefined;\n var useFlatShading = geometry.attributes.normal === undefined;\n\n if (mesh.isPoints) {\n var cacheKey = 'PointsMaterial:' + material.uuid;\n var pointsMaterial = this.cache.get(cacheKey);\n\n if (!pointsMaterial) {\n pointsMaterial = new PointsMaterial();\n Material.prototype.copy.call(pointsMaterial, material);\n pointsMaterial.color.copy(material.color);\n pointsMaterial.map = material.map;\n pointsMaterial.sizeAttenuation = false; // glTF spec says points should be 1px\n\n this.cache.add(cacheKey, pointsMaterial);\n }\n\n material = pointsMaterial;\n } else if (mesh.isLine) {\n var _cacheKey = 'LineBasicMaterial:' + material.uuid;\n\n var lineMaterial = this.cache.get(_cacheKey);\n\n if (!lineMaterial) {\n lineMaterial = new LineBasicMaterial();\n Material.prototype.copy.call(lineMaterial, material);\n lineMaterial.color.copy(material.color);\n this.cache.add(_cacheKey, lineMaterial);\n }\n\n material = lineMaterial;\n } // Clone the material if it will be modified\n\n\n if (useDerivativeTangents || useVertexColors || useFlatShading) {\n var _cacheKey2 = 'ClonedMaterial:' + material.uuid + ':';\n\n if (material.isGLTFSpecularGlossinessMaterial) _cacheKey2 += 'specular-glossiness:';\n if (useDerivativeTangents) _cacheKey2 += 'derivative-tangents:';\n if (useVertexColors) _cacheKey2 += 'vertex-colors:';\n if (useFlatShading) _cacheKey2 += 'flat-shading:';\n var cachedMaterial = this.cache.get(_cacheKey2);\n\n if (!cachedMaterial) {\n cachedMaterial = material.clone();\n if (useVertexColors) cachedMaterial.vertexColors = true;\n if (useFlatShading) cachedMaterial.flatShading = true;\n\n if (useDerivativeTangents) {\n // https://github.com/mrdoob/three.js/issues/11438#issuecomment-507003995\n if (cachedMaterial.normalScale) cachedMaterial.normalScale.y *= -1;\n if (cachedMaterial.clearcoatNormalScale) cachedMaterial.clearcoatNormalScale.y *= -1;\n }\n\n this.cache.add(_cacheKey2, cachedMaterial);\n this.associations.set(cachedMaterial, this.associations.get(material));\n }\n\n material = cachedMaterial;\n } // workarounds for mesh and geometry\n\n\n if (material.aoMap && geometry.attributes.uv2 === undefined && geometry.attributes.uv !== undefined) {\n geometry.setAttribute('uv2', geometry.attributes.uv);\n }\n\n mesh.material = material;\n }\n }, {\n key: \"getMaterialType\",\n value: function getMaterialType() {\n return MeshStandardMaterial;\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials\n * @param {number} materialIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadMaterial\",\n value: function loadMaterial(materialIndex) {\n var parser = this;\n var json = this.json;\n var extensions = this.extensions;\n var materialDef = json.materials[materialIndex];\n var materialType;\n var materialParams = {};\n var materialExtensions = materialDef.extensions || {};\n var pending = [];\n\n if (materialExtensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]) {\n var sgExtension = extensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];\n materialType = sgExtension.getMaterialType();\n pending.push(sgExtension.extendParams(materialParams, materialDef, parser));\n } else if (materialExtensions[EXTENSIONS.KHR_MATERIALS_UNLIT]) {\n var kmuExtension = extensions[EXTENSIONS.KHR_MATERIALS_UNLIT];\n materialType = kmuExtension.getMaterialType();\n pending.push(kmuExtension.extendParams(materialParams, materialDef, parser));\n } else {\n // Specification:\n // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material\n var metallicRoughness = materialDef.pbrMetallicRoughness || {};\n materialParams.color = new Color(1.0, 1.0, 1.0);\n materialParams.opacity = 1.0;\n\n if (Array.isArray(metallicRoughness.baseColorFactor)) {\n var array = metallicRoughness.baseColorFactor;\n materialParams.color.fromArray(array);\n materialParams.opacity = array[3];\n }\n\n if (metallicRoughness.baseColorTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'map', metallicRoughness.baseColorTexture));\n }\n\n materialParams.metalness = metallicRoughness.metallicFactor !== undefined ? metallicRoughness.metallicFactor : 1.0;\n materialParams.roughness = metallicRoughness.roughnessFactor !== undefined ? metallicRoughness.roughnessFactor : 1.0;\n\n if (metallicRoughness.metallicRoughnessTexture !== undefined) {\n pending.push(parser.assignTexture(materialParams, 'metalnessMap', metallicRoughness.metallicRoughnessTexture));\n pending.push(parser.assignTexture(materialParams, 'roughnessMap', metallicRoughness.metallicRoughnessTexture));\n }\n\n materialType = this._invokeOne(function (ext) {\n return ext.getMaterialType && ext.getMaterialType(materialIndex);\n });\n pending.push(Promise.all(this._invokeAll(function (ext) {\n return ext.extendMaterialParams && ext.extendMaterialParams(materialIndex, materialParams);\n })));\n }\n\n if (materialDef.doubleSided === true) {\n materialParams.side = DoubleSide;\n }\n\n var alphaMode = materialDef.alphaMode || ALPHA_MODES.OPAQUE;\n\n if (alphaMode === ALPHA_MODES.BLEND) {\n materialParams.transparent = true; // See: https://github.com/mrdoob/three.js/issues/17706\n\n materialParams.depthWrite = false;\n } else {\n materialParams.transparent = false;\n\n if (alphaMode === ALPHA_MODES.MASK) {\n materialParams.alphaTest = materialDef.alphaCutoff !== undefined ? materialDef.alphaCutoff : 0.5;\n }\n }\n\n if (materialDef.normalTexture !== undefined && materialType !== MeshBasicMaterial) {\n pending.push(parser.assignTexture(materialParams, 'normalMap', materialDef.normalTexture));\n materialParams.normalScale = new Vector2(1, 1);\n\n if (materialDef.normalTexture.scale !== undefined) {\n var scale = materialDef.normalTexture.scale;\n materialParams.normalScale.set(scale, scale);\n }\n }\n\n if (materialDef.occlusionTexture !== undefined && materialType !== MeshBasicMaterial) {\n pending.push(parser.assignTexture(materialParams, 'aoMap', materialDef.occlusionTexture));\n\n if (materialDef.occlusionTexture.strength !== undefined) {\n materialParams.aoMapIntensity = materialDef.occlusionTexture.strength;\n }\n }\n\n if (materialDef.emissiveFactor !== undefined && materialType !== MeshBasicMaterial) {\n materialParams.emissive = new Color().fromArray(materialDef.emissiveFactor);\n }\n\n if (materialDef.emissiveTexture !== undefined && materialType !== MeshBasicMaterial) {\n pending.push(parser.assignTexture(materialParams, 'emissiveMap', materialDef.emissiveTexture));\n }\n\n return Promise.all(pending).then(function () {\n var material;\n\n if (materialType === GLTFMeshStandardSGMaterial) {\n material = extensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(materialParams);\n } else {\n material = new materialType(materialParams);\n }\n\n if (materialDef.name) material.name = materialDef.name; // baseColorTexture, emissiveTexture, and specularGlossinessTexture use sRGB encoding.\n\n if (material.map) material.map.encoding = sRGBEncoding;\n if (material.emissiveMap) material.emissiveMap.encoding = sRGBEncoding;\n assignExtrasToUserData(material, materialDef);\n parser.associations.set(material, {\n materials: materialIndex\n });\n if (materialDef.extensions) addUnknownExtensionsToUserData(extensions, material, materialDef);\n return material;\n });\n }\n /** When Object3D instances are targeted by animation, they need unique names. */\n\n }, {\n key: \"createUniqueName\",\n value: function createUniqueName(originalName) {\n var sanitizedName = PropertyBinding.sanitizeNodeName(originalName || '');\n var name = sanitizedName;\n\n for (var i = 1; this.nodeNamesUsed[name]; ++i) {\n name = sanitizedName + '_' + i;\n }\n\n this.nodeNamesUsed[name] = true;\n return name;\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry\n *\n * Creates BufferGeometries from primitives.\n *\n * @param {Array} primitives\n * @return {Promise>}\n */\n\n }, {\n key: \"loadGeometries\",\n value: function loadGeometries(primitives) {\n var parser = this;\n var extensions = this.extensions;\n var cache = this.primitiveCache;\n\n function createDracoPrimitive(primitive) {\n return extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(primitive, parser).then(function (geometry) {\n return addPrimitiveAttributes(geometry, primitive, parser);\n });\n }\n\n var pending = [];\n\n for (var i = 0, il = primitives.length; i < il; i++) {\n var primitive = primitives[i];\n var cacheKey = createPrimitiveKey(primitive); // See if we've already created this geometry\n\n var cached = cache[cacheKey];\n\n if (cached) {\n // Use the cached geometry if it exists\n pending.push(cached.promise);\n } else {\n var geometryPromise = void 0;\n\n if (primitive.extensions && primitive.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]) {\n // Use DRACO geometry if available\n geometryPromise = createDracoPrimitive(primitive);\n } else {\n // Otherwise create a new geometry\n geometryPromise = addPrimitiveAttributes(new BufferGeometry(), primitive, parser);\n } // Cache this geometry\n\n\n cache[cacheKey] = {\n primitive: primitive,\n promise: geometryPromise\n };\n pending.push(geometryPromise);\n }\n }\n\n return Promise.all(pending);\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes\n * @param {number} meshIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadMesh\",\n value: function loadMesh(meshIndex) {\n var parser = this;\n var json = this.json;\n var extensions = this.extensions;\n var meshDef = json.meshes[meshIndex];\n var primitives = meshDef.primitives;\n var pending = [];\n\n for (var i = 0, il = primitives.length; i < il; i++) {\n var material = primitives[i].material === undefined ? createDefaultMaterial(this.cache) : this.getDependency('material', primitives[i].material);\n pending.push(material);\n }\n\n pending.push(parser.loadGeometries(primitives));\n return Promise.all(pending).then(function (results) {\n var materials = results.slice(0, results.length - 1);\n var geometries = results[results.length - 1];\n var meshes = [];\n\n for (var _i4 = 0, _il3 = geometries.length; _i4 < _il3; _i4++) {\n var geometry = geometries[_i4];\n var primitive = primitives[_i4]; // 1. create Mesh\n\n var mesh = void 0;\n var _material = materials[_i4];\n\n if (primitive.mode === WEBGL_CONSTANTS.TRIANGLES || primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP || primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN || primitive.mode === undefined) {\n // .isSkinnedMesh isn't in glTF spec. See ._markDefs()\n mesh = meshDef.isSkinnedMesh === true ? new SkinnedMesh(geometry, _material) : new Mesh(geometry, _material);\n\n if (mesh.isSkinnedMesh === true && !mesh.geometry.attributes.skinWeight.normalized) {\n // we normalize floating point skin weight array to fix malformed assets (see #15319)\n // it's important to skip this for non-float32 data since normalizeSkinWeights assumes non-normalized inputs\n mesh.normalizeSkinWeights();\n }\n\n if (primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP) {\n mesh.geometry = toTrianglesDrawMode(mesh.geometry, TriangleStripDrawMode);\n } else if (primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN) {\n mesh.geometry = toTrianglesDrawMode(mesh.geometry, TriangleFanDrawMode);\n }\n } else if (primitive.mode === WEBGL_CONSTANTS.LINES) {\n mesh = new LineSegments(geometry, _material);\n } else if (primitive.mode === WEBGL_CONSTANTS.LINE_STRIP) {\n mesh = new Line(geometry, _material);\n } else if (primitive.mode === WEBGL_CONSTANTS.LINE_LOOP) {\n mesh = new LineLoop(geometry, _material);\n } else if (primitive.mode === WEBGL_CONSTANTS.POINTS) {\n mesh = new Points(geometry, _material);\n } else {\n throw new Error('THREE.GLTFLoader: Primitive mode unsupported: ' + primitive.mode);\n }\n\n if (Object.keys(mesh.geometry.morphAttributes).length > 0) {\n updateMorphTargets(mesh, meshDef);\n }\n\n mesh.name = parser.createUniqueName(meshDef.name || 'mesh_' + meshIndex);\n assignExtrasToUserData(mesh, meshDef);\n if (primitive.extensions) addUnknownExtensionsToUserData(extensions, mesh, primitive);\n parser.assignFinalMaterial(mesh);\n meshes.push(mesh);\n }\n\n for (var _i5 = 0, _il4 = meshes.length; _i5 < _il4; _i5++) {\n parser.associations.set(meshes[_i5], {\n meshes: meshIndex,\n primitives: _i5\n });\n }\n\n if (meshes.length === 1) {\n return meshes[0];\n }\n\n var group = new Group();\n parser.associations.set(group, {\n meshes: meshIndex\n });\n\n for (var _i6 = 0, _il5 = meshes.length; _i6 < _il5; _i6++) {\n group.add(meshes[_i6]);\n }\n\n return group;\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras\n * @param {number} cameraIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadCamera\",\n value: function loadCamera(cameraIndex) {\n var camera;\n var cameraDef = this.json.cameras[cameraIndex];\n var params = cameraDef[cameraDef.type];\n\n if (!params) {\n console.warn('THREE.GLTFLoader: Missing camera parameters.');\n return;\n }\n\n if (cameraDef.type === 'perspective') {\n camera = new PerspectiveCamera(MathUtils.radToDeg(params.yfov), params.aspectRatio || 1, params.znear || 1, params.zfar || 2e6);\n } else if (cameraDef.type === 'orthographic') {\n camera = new OrthographicCamera(-params.xmag, params.xmag, params.ymag, -params.ymag, params.znear, params.zfar);\n }\n\n if (cameraDef.name) camera.name = this.createUniqueName(cameraDef.name);\n assignExtrasToUserData(camera, cameraDef);\n return Promise.resolve(camera);\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins\n * @param {number} skinIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadSkin\",\n value: function loadSkin(skinIndex) {\n var skinDef = this.json.skins[skinIndex];\n var skinEntry = {\n joints: skinDef.joints\n };\n\n if (skinDef.inverseBindMatrices === undefined) {\n return Promise.resolve(skinEntry);\n }\n\n return this.getDependency('accessor', skinDef.inverseBindMatrices).then(function (accessor) {\n skinEntry.inverseBindMatrices = accessor;\n return skinEntry;\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations\n * @param {number} animationIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadAnimation\",\n value: function loadAnimation(animationIndex) {\n var json = this.json;\n var animationDef = json.animations[animationIndex];\n var pendingNodes = [];\n var pendingInputAccessors = [];\n var pendingOutputAccessors = [];\n var pendingSamplers = [];\n var pendingTargets = [];\n\n for (var i = 0, il = animationDef.channels.length; i < il; i++) {\n var channel = animationDef.channels[i];\n var sampler = animationDef.samplers[channel.sampler];\n var target = channel.target;\n var name = target.node !== undefined ? target.node : target.id; // NOTE: target.id is deprecated.\n\n var input = animationDef.parameters !== undefined ? animationDef.parameters[sampler.input] : sampler.input;\n var output = animationDef.parameters !== undefined ? animationDef.parameters[sampler.output] : sampler.output;\n pendingNodes.push(this.getDependency('node', name));\n pendingInputAccessors.push(this.getDependency('accessor', input));\n pendingOutputAccessors.push(this.getDependency('accessor', output));\n pendingSamplers.push(sampler);\n pendingTargets.push(target);\n }\n\n return Promise.all([Promise.all(pendingNodes), Promise.all(pendingInputAccessors), Promise.all(pendingOutputAccessors), Promise.all(pendingSamplers), Promise.all(pendingTargets)]).then(function (dependencies) {\n var nodes = dependencies[0];\n var inputAccessors = dependencies[1];\n var outputAccessors = dependencies[2];\n var samplers = dependencies[3];\n var targets = dependencies[4];\n var tracks = [];\n\n var _loop = function _loop(_i7, _il6) {\n var node = nodes[_i7];\n var inputAccessor = inputAccessors[_i7];\n var outputAccessor = outputAccessors[_i7];\n var sampler = samplers[_i7];\n var target = targets[_i7];\n if (node === undefined) return \"continue\";\n node.updateMatrix();\n node.matrixAutoUpdate = true;\n var TypedKeyframeTrack = void 0;\n\n switch (PATH_PROPERTIES[target.path]) {\n case PATH_PROPERTIES.weights:\n TypedKeyframeTrack = NumberKeyframeTrack;\n break;\n\n case PATH_PROPERTIES.rotation:\n TypedKeyframeTrack = QuaternionKeyframeTrack;\n break;\n\n case PATH_PROPERTIES.position:\n case PATH_PROPERTIES.scale:\n default:\n TypedKeyframeTrack = VectorKeyframeTrack;\n break;\n }\n\n var targetName = node.name ? node.name : node.uuid;\n var interpolation = sampler.interpolation !== undefined ? INTERPOLATION[sampler.interpolation] : InterpolateLinear;\n var targetNames = [];\n\n if (PATH_PROPERTIES[target.path] === PATH_PROPERTIES.weights) {\n node.traverse(function (object) {\n if (object.morphTargetInfluences) {\n targetNames.push(object.name ? object.name : object.uuid);\n }\n });\n } else {\n targetNames.push(targetName);\n }\n\n var outputArray = outputAccessor.array;\n\n if (outputAccessor.normalized) {\n var scale = getNormalizedComponentScale(outputArray.constructor);\n var scaled = new Float32Array(outputArray.length);\n\n for (var j = 0, jl = outputArray.length; j < jl; j++) {\n scaled[j] = outputArray[j] * scale;\n }\n\n outputArray = scaled;\n }\n\n for (var _j = 0, _jl = targetNames.length; _j < _jl; _j++) {\n var track = new TypedKeyframeTrack(targetNames[_j] + '.' + PATH_PROPERTIES[target.path], inputAccessor.array, outputArray, interpolation); // Override interpolation with custom factory method.\n\n if (sampler.interpolation === 'CUBICSPLINE') {\n track.createInterpolant = function InterpolantFactoryMethodGLTFCubicSpline(result) {\n // A CUBICSPLINE keyframe in glTF has three output values for each input value,\n // representing inTangent, splineVertex, and outTangent. As a result, track.getValueSize()\n // must be divided by three to get the interpolant's sampleSize argument.\n var interpolantType = this instanceof QuaternionKeyframeTrack ? GLTFCubicSplineQuaternionInterpolant : GLTFCubicSplineInterpolant;\n return new interpolantType(this.times, this.values, this.getValueSize() / 3, result);\n }; // Mark as CUBICSPLINE. `track.getInterpolation()` doesn't support custom interpolants.\n\n\n track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = true;\n }\n\n tracks.push(track);\n }\n };\n\n for (var _i7 = 0, _il6 = nodes.length; _i7 < _il6; _i7++) {\n var _ret = _loop(_i7, _il6);\n\n if (_ret === \"continue\") continue;\n }\n\n var name = animationDef.name ? animationDef.name : 'animation_' + animationIndex;\n return new AnimationClip(name, undefined, tracks);\n });\n }\n }, {\n key: \"createNodeMesh\",\n value: function createNodeMesh(nodeIndex) {\n var json = this.json;\n var parser = this;\n var nodeDef = json.nodes[nodeIndex];\n if (nodeDef.mesh === undefined) return null;\n return parser.getDependency('mesh', nodeDef.mesh).then(function (mesh) {\n var node = parser._getNodeRef(parser.meshCache, nodeDef.mesh, mesh); // if weights are provided on the node, override weights on the mesh.\n\n\n if (nodeDef.weights !== undefined) {\n node.traverse(function (o) {\n if (!o.isMesh) return;\n\n for (var i = 0, il = nodeDef.weights.length; i < il; i++) {\n o.morphTargetInfluences[i] = nodeDef.weights[i];\n }\n });\n }\n\n return node;\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy\n * @param {number} nodeIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadNode\",\n value: function loadNode(nodeIndex) {\n var json = this.json;\n var extensions = this.extensions;\n var parser = this;\n var nodeDef = json.nodes[nodeIndex]; // reserve node's name before its dependencies, so the root has the intended name.\n\n var nodeName = nodeDef.name ? parser.createUniqueName(nodeDef.name) : '';\n return function () {\n var pending = [];\n\n var meshPromise = parser._invokeOne(function (ext) {\n return ext.createNodeMesh && ext.createNodeMesh(nodeIndex);\n });\n\n if (meshPromise) {\n pending.push(meshPromise);\n }\n\n if (nodeDef.camera !== undefined) {\n pending.push(parser.getDependency('camera', nodeDef.camera).then(function (camera) {\n return parser._getNodeRef(parser.cameraCache, nodeDef.camera, camera);\n }));\n }\n\n parser._invokeAll(function (ext) {\n return ext.createNodeAttachment && ext.createNodeAttachment(nodeIndex);\n }).forEach(function (promise) {\n pending.push(promise);\n });\n\n return Promise.all(pending);\n }().then(function (objects) {\n var node; // .isBone isn't in glTF spec. See ._markDefs\n\n if (nodeDef.isBone === true) {\n node = new Bone();\n } else if (objects.length > 1) {\n node = new Group();\n } else if (objects.length === 1) {\n node = objects[0];\n } else {\n node = new Object3D();\n }\n\n if (node !== objects[0]) {\n for (var i = 0, il = objects.length; i < il; i++) {\n node.add(objects[i]);\n }\n }\n\n if (nodeDef.name) {\n node.userData.name = nodeDef.name;\n node.name = nodeName;\n }\n\n assignExtrasToUserData(node, nodeDef);\n if (nodeDef.extensions) addUnknownExtensionsToUserData(extensions, node, nodeDef);\n\n if (nodeDef.matrix !== undefined) {\n var matrix = new Matrix4();\n matrix.fromArray(nodeDef.matrix);\n node.applyMatrix4(matrix);\n } else {\n if (nodeDef.translation !== undefined) {\n node.position.fromArray(nodeDef.translation);\n }\n\n if (nodeDef.rotation !== undefined) {\n node.quaternion.fromArray(nodeDef.rotation);\n }\n\n if (nodeDef.scale !== undefined) {\n node.scale.fromArray(nodeDef.scale);\n }\n }\n\n if (!parser.associations.has(node)) {\n parser.associations.set(node, {});\n }\n\n parser.associations.get(node).nodes = nodeIndex;\n return node;\n });\n }\n /**\n * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes\n * @param {number} sceneIndex\n * @return {Promise}\n */\n\n }, {\n key: \"loadScene\",\n value: function loadScene(sceneIndex) {\n var json = this.json;\n var extensions = this.extensions;\n var sceneDef = this.json.scenes[sceneIndex];\n var parser = this; // Loader returns Group, not Scene.\n // See: https://github.com/mrdoob/three.js/issues/18342#issuecomment-578981172\n\n var scene = new Group();\n if (sceneDef.name) scene.name = parser.createUniqueName(sceneDef.name);\n assignExtrasToUserData(scene, sceneDef);\n if (sceneDef.extensions) addUnknownExtensionsToUserData(extensions, scene, sceneDef);\n var nodeIds = sceneDef.nodes || [];\n var pending = [];\n\n for (var i = 0, il = nodeIds.length; i < il; i++) {\n pending.push(buildNodeHierarchy(nodeIds[i], scene, json, parser));\n }\n\n return Promise.all(pending).then(function () {\n // Removes dangling associations, associations that reference a node that\n // didn't make it into the scene.\n var reduceAssociations = function reduceAssociations(node) {\n var reducedAssociations = new Map();\n\n var _iterator2 = _createForOfIteratorHelper(parser.associations),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n key = _step2$value[0],\n value = _step2$value[1];\n\n if (key instanceof Material || key instanceof Texture) {\n reducedAssociations.set(key, value);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n node.traverse(function (node) {\n var mappings = parser.associations.get(node);\n\n if (mappings != null) {\n reducedAssociations.set(node, mappings);\n }\n });\n return reducedAssociations;\n };\n\n parser.associations = reduceAssociations(scene);\n return scene;\n });\n }\n }]);\n\n return GLTFParser;\n}();\n\nfunction buildNodeHierarchy(nodeId, parentObject, json, parser) {\n var nodeDef = json.nodes[nodeId];\n return parser.getDependency('node', nodeId).then(function (node) {\n if (nodeDef.skin === undefined) return node; // build skeleton here as well\n\n var skinEntry;\n return parser.getDependency('skin', nodeDef.skin).then(function (skin) {\n skinEntry = skin;\n var pendingJoints = [];\n\n for (var i = 0, il = skinEntry.joints.length; i < il; i++) {\n pendingJoints.push(parser.getDependency('node', skinEntry.joints[i]));\n }\n\n return Promise.all(pendingJoints);\n }).then(function (jointNodes) {\n node.traverse(function (mesh) {\n if (!mesh.isMesh) return;\n var bones = [];\n var boneInverses = [];\n\n for (var j = 0, jl = jointNodes.length; j < jl; j++) {\n var jointNode = jointNodes[j];\n\n if (jointNode) {\n bones.push(jointNode);\n var mat = new Matrix4();\n\n if (skinEntry.inverseBindMatrices !== undefined) {\n mat.fromArray(skinEntry.inverseBindMatrices.array, j * 16);\n }\n\n boneInverses.push(mat);\n } else {\n console.warn('THREE.GLTFLoader: Joint \"%s\" could not be found.', skinEntry.joints[j]);\n }\n }\n\n mesh.bind(new Skeleton(bones, boneInverses), mesh.matrixWorld);\n });\n return node;\n });\n }).then(function (node) {\n // build node hierachy\n parentObject.add(node);\n var pending = [];\n\n if (nodeDef.children) {\n var children = nodeDef.children;\n\n for (var i = 0, il = children.length; i < il; i++) {\n var child = children[i];\n pending.push(buildNodeHierarchy(child, node, json, parser));\n }\n }\n\n return Promise.all(pending);\n });\n}\n/**\n * @param {BufferGeometry} geometry\n * @param {GLTF.Primitive} primitiveDef\n * @param {GLTFParser} parser\n */\n\n\nfunction computeBounds(geometry, primitiveDef, parser) {\n var attributes = primitiveDef.attributes;\n var box = new Box3();\n\n if (attributes.POSITION !== undefined) {\n var accessor = parser.json.accessors[attributes.POSITION];\n var min = accessor.min;\n var max = accessor.max; // glTF requires 'min' and 'max', but VRM (which extends glTF) currently ignores that requirement.\n\n if (min !== undefined && max !== undefined) {\n box.set(new Vector3(min[0], min[1], min[2]), new Vector3(max[0], max[1], max[2]));\n\n if (accessor.normalized) {\n var boxScale = getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);\n box.min.multiplyScalar(boxScale);\n box.max.multiplyScalar(boxScale);\n }\n } else {\n console.warn('THREE.GLTFLoader: Missing min/max properties for accessor POSITION.');\n return;\n }\n } else {\n return;\n }\n\n var targets = primitiveDef.targets;\n\n if (targets !== undefined) {\n var maxDisplacement = new Vector3();\n var vector = new Vector3();\n\n for (var i = 0, il = targets.length; i < il; i++) {\n var target = targets[i];\n\n if (target.POSITION !== undefined) {\n var _accessor = parser.json.accessors[target.POSITION];\n var _min = _accessor.min;\n var _max = _accessor.max; // glTF requires 'min' and 'max', but VRM (which extends glTF) currently ignores that requirement.\n\n if (_min !== undefined && _max !== undefined) {\n // we need to get max of absolute components because target weight is [-1,1]\n vector.setX(Math.max(Math.abs(_min[0]), Math.abs(_max[0])));\n vector.setY(Math.max(Math.abs(_min[1]), Math.abs(_max[1])));\n vector.setZ(Math.max(Math.abs(_min[2]), Math.abs(_max[2])));\n\n if (_accessor.normalized) {\n var _boxScale = getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[_accessor.componentType]);\n\n vector.multiplyScalar(_boxScale);\n } // Note: this assumes that the sum of all weights is at most 1. This isn't quite correct - it's more conservative\n // to assume that each target can have a max weight of 1. However, for some use cases - notably, when morph targets\n // are used to implement key-frame animations and as such only two are active at a time - this results in very large\n // boxes. So for now we make a box that's sometimes a touch too small but is hopefully mostly of reasonable size.\n\n\n maxDisplacement.max(vector);\n } else {\n console.warn('THREE.GLTFLoader: Missing min/max properties for accessor POSITION.');\n }\n }\n } // As per comment above this box isn't conservative, but has a reasonable size for a very large number of morph targets.\n\n\n box.expandByVector(maxDisplacement);\n }\n\n geometry.boundingBox = box;\n var sphere = new Sphere();\n box.getCenter(sphere.center);\n sphere.radius = box.min.distanceTo(box.max) / 2;\n geometry.boundingSphere = sphere;\n}\n/**\n * @param {BufferGeometry} geometry\n * @param {GLTF.Primitive} primitiveDef\n * @param {GLTFParser} parser\n * @return {Promise}\n */\n\n\nfunction addPrimitiveAttributes(geometry, primitiveDef, parser) {\n var attributes = primitiveDef.attributes;\n var pending = [];\n\n function assignAttributeAccessor(accessorIndex, attributeName) {\n return parser.getDependency('accessor', accessorIndex).then(function (accessor) {\n geometry.setAttribute(attributeName, accessor);\n });\n }\n\n for (var gltfAttributeName in attributes) {\n var threeAttributeName = ATTRIBUTES[gltfAttributeName] || gltfAttributeName.toLowerCase(); // Skip attributes already provided by e.g. Draco extension.\n\n if (threeAttributeName in geometry.attributes) continue;\n pending.push(assignAttributeAccessor(attributes[gltfAttributeName], threeAttributeName));\n }\n\n if (primitiveDef.indices !== undefined && !geometry.index) {\n var accessor = parser.getDependency('accessor', primitiveDef.indices).then(function (accessor) {\n geometry.setIndex(accessor);\n });\n pending.push(accessor);\n }\n\n assignExtrasToUserData(geometry, primitiveDef);\n computeBounds(geometry, primitiveDef, parser);\n return Promise.all(pending).then(function () {\n return primitiveDef.targets !== undefined ? addMorphTargets(geometry, primitiveDef.targets, parser) : geometry;\n });\n}\n/**\n * @param {BufferGeometry} geometry\n * @param {Number} drawMode\n * @return {BufferGeometry}\n */\n\n\nfunction toTrianglesDrawMode(geometry, drawMode) {\n var index = geometry.getIndex(); // generate index if not present\n\n if (index === null) {\n var indices = [];\n var position = geometry.getAttribute('position');\n\n if (position !== undefined) {\n for (var i = 0; i < position.count; i++) {\n indices.push(i);\n }\n\n geometry.setIndex(indices);\n index = geometry.getIndex();\n } else {\n console.error('THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.');\n return geometry;\n }\n } //\n\n\n var numberOfTriangles = index.count - 2;\n var newIndices = [];\n\n if (drawMode === TriangleFanDrawMode) {\n // gl.TRIANGLE_FAN\n for (var _i8 = 1; _i8 <= numberOfTriangles; _i8++) {\n newIndices.push(index.getX(0));\n newIndices.push(index.getX(_i8));\n newIndices.push(index.getX(_i8 + 1));\n }\n } else {\n // gl.TRIANGLE_STRIP\n for (var _i9 = 0; _i9 < numberOfTriangles; _i9++) {\n if (_i9 % 2 === 0) {\n newIndices.push(index.getX(_i9));\n newIndices.push(index.getX(_i9 + 1));\n newIndices.push(index.getX(_i9 + 2));\n } else {\n newIndices.push(index.getX(_i9 + 2));\n newIndices.push(index.getX(_i9 + 1));\n newIndices.push(index.getX(_i9));\n }\n }\n }\n\n if (newIndices.length / 3 !== numberOfTriangles) {\n console.error('THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.');\n } // build final geometry\n\n\n var newGeometry = geometry.clone();\n newGeometry.setIndex(newIndices);\n return newGeometry;\n}\n\nexport { GLTFLoader };","import { GLTFLoader, DRACOLoader, MeshoptDecoder } from 'three-stdlib';\nimport { useLoader } from '@react-three/fiber'; // @ts-ignore\n\nvar dracoLoader = null;\n\nfunction extensions(useDraco, useMeshopt, extendLoader) {\n return function (loader) {\n if (extendLoader) {\n extendLoader(loader);\n }\n\n if (useDraco) {\n if (!dracoLoader) {\n dracoLoader = new DRACOLoader();\n }\n\n dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : 'https://www.gstatic.com/draco/versioned/decoders/1.4.3/');\n loader.setDRACOLoader(dracoLoader);\n }\n\n if (useMeshopt) {\n loader.setMeshoptDecoder(typeof MeshoptDecoder === 'function' ? MeshoptDecoder() : MeshoptDecoder);\n }\n };\n}\n\nfunction useGLTF(path) {\n var useDraco = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var useMeshOpt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var extendLoader = arguments.length > 3 ? arguments[3] : undefined;\n var gltf = useLoader(GLTFLoader, path, extensions(useDraco, useMeshOpt, extendLoader));\n return gltf;\n}\n\nuseGLTF.preload = function (path) {\n var useDraco = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var useMeshOpt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var extendLoader = arguments.length > 3 ? arguments[3] : undefined;\n return useLoader.preload(GLTFLoader, path, extensions(useDraco, useMeshOpt, extendLoader));\n}; // @ts-expect-error new in r3f 7.0.5\n\n\nuseGLTF.clear = function (input) {\n return useLoader.clear(GLTFLoader, input);\n};\n\nexport { useGLTF };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nvar updateQueue = makeQueue();\n\nvar raf = function raf(fn) {\n return schedule(fn, updateQueue);\n};\n\nvar writeQueue = makeQueue();\n\nraf.write = function (fn) {\n return schedule(fn, writeQueue);\n};\n\nvar onStartQueue = makeQueue();\n\nraf.onStart = function (fn) {\n return schedule(fn, onStartQueue);\n};\n\nvar onFrameQueue = makeQueue();\n\nraf.onFrame = function (fn) {\n return schedule(fn, onFrameQueue);\n};\n\nvar onFinishQueue = makeQueue();\n\nraf.onFinish = function (fn) {\n return schedule(fn, onFinishQueue);\n};\n\nvar timeouts = [];\n\nraf.setTimeout = function (handler, ms) {\n var time = raf.now() + ms;\n\n var cancel = function cancel() {\n var i = timeouts.findIndex(function (t) {\n return t.cancel == cancel;\n });\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n var timeout = {\n time: time,\n handler: handler,\n cancel: cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nvar findTimeout = function findTimeout(time) {\n return ~(~timeouts.findIndex(function (t) {\n return t.time > time;\n }) || ~timeouts.length);\n};\n\nraf.cancel = function (fn) {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n onFinishQueue.delete(fn);\n};\n\nraf.sync = function (fn) {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = function (fn) {\n var lastArgs;\n\n function queuedFn() {\n try {\n fn.apply(void 0, _toConsumableArray(lastArgs));\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = function () {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nvar nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : function () {};\n\nraf.use = function (impl) {\n return nativeRaf = impl;\n};\n\nraf.now = typeof performance != 'undefined' ? function () {\n return performance.now();\n} : Date.now;\n\nraf.batchedUpdates = function (fn) {\n return fn();\n};\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = function () {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nvar ts = -1;\nvar pendingCount = 0;\nvar sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n var prevTs = ts;\n ts = raf.now();\n var count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), function (t) {\n return t.handler();\n });\n pendingCount -= count;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n\n if (!pendingCount) {\n stop();\n }\n}\n\nfunction makeQueue() {\n var next = new Set();\n var current = next;\n return {\n add: function add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n delete: function _delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n flush: function flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, function (fn) {\n return fn(arg) && next.add(fn);\n });\n pendingCount += next.size;\n current = next;\n }\n }\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(function (value) {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nvar __raf = {\n count: function count() {\n return pendingCount;\n },\n isRunning: function isRunning() {\n return ts >= 0;\n },\n clear: function clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n};\nexport { __raf, raf };","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport * as React from 'react';\nimport { useEffect, useState, useRef } from 'react';\n\nfunction noop() {}\n\nvar defineHidden = function defineHidden(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n writable: true,\n configurable: true\n });\n};\n\nvar is = {\n arr: Array.isArray,\n obj: function obj(a) {\n return !!a && a.constructor.name === 'Object';\n },\n fun: function fun(a) {\n return typeof a === 'function';\n },\n str: function str(a) {\n return typeof a === 'string';\n },\n num: function num(a) {\n return typeof a === 'number';\n },\n und: function und(a) {\n return a === undefined;\n }\n};\n\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (var i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\n\nvar each = function each(obj, fn) {\n return obj.forEach(fn);\n};\n\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (var i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], \"\".concat(i));\n }\n\n return;\n }\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\n\nvar toArray = function toArray(a) {\n return is.und(a) ? [] : is.arr(a) ? a : [a];\n};\n\nfunction flush(queue, iterator) {\n if (queue.size) {\n var items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\n\nvar flushCalls = function flushCalls(queue) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return flush(queue, function (fn) {\n return fn.apply(void 0, args);\n });\n};\n\nvar isSSR = function isSSR() {\n return typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n};\n\nvar createStringInterpolator$1;\nvar to;\nvar colors$1 = null;\nvar skipAnimation = false;\nvar willAdvance = noop;\n\nvar assign = function assign(globals) {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n\n get createStringInterpolator() {\n return createStringInterpolator$1;\n },\n\n get to() {\n return to;\n },\n\n get colors() {\n return colors$1;\n },\n\n get skipAnimation() {\n return skipAnimation;\n },\n\n get willAdvance() {\n return willAdvance;\n },\n\n assign: assign\n});\nvar startQueue = new Set();\nvar currentFrame = [];\nvar prevFrame = [];\nvar priority = 0;\nvar frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start: function start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n advance: advance,\n sort: function sort(animation) {\n if (priority) {\n raf.onFrame(function () {\n return frameLoop.sort(animation);\n });\n } else {\n var prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n clear: function clear() {\n currentFrame = [];\n startQueue.clear();\n }\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, function (other) {\n return other.priority > animation.priority;\n }), 0, animation);\n}\n\nfunction advance(dt) {\n var nextFrame = prevFrame;\n\n for (var i = 0; i < currentFrame.length; i++) {\n var animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n var index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nvar colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\nvar NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nvar PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n for (var _len2 = arguments.length, parts = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n parts[_key2] = arguments[_key2];\n }\n\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nvar rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nvar rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nvar hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nvar hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nvar hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex6 = /^#([0-9a-fA-F]{6})$/;\nvar hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n var int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n var int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n var int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n var int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n var r = (int32Color & 0xff000000) >>> 24;\n var g = (int32Color & 0x00ff0000) >>> 16;\n var b = (int32Color & 0x0000ff00) >>> 8;\n var a = (int32Color & 0x000000ff) / 255;\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(a, \")\");\n}\n\nvar createInterpolator = function createInterpolator(range, output, extrapolate) {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range: range,\n output: output,\n extrapolate: extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n var config = range;\n var outputRange = config.output;\n var inputRange = config.range || [0, 1];\n var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n var easing = config.easing || function (t) {\n return t;\n };\n\n return function (input) {\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n var result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) break;\n }\n\n return i - 1;\n}\n\nfunction _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}\n\nvar $get = Symbol.for('FluidValue.get');\nvar $observers = Symbol.for('FluidValue.observers');\n\nvar hasFluidValue = function hasFluidValue(arg) {\n return Boolean(arg && arg[$get]);\n};\n\nvar getFluidValue = function getFluidValue(arg) {\n return arg && arg[$get] ? arg[$get]() : arg;\n};\n\nvar getFluidObservers = function getFluidObservers(target) {\n return target[$observers] || null;\n};\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n var observers = target[$observers];\n\n if (observers) {\n observers.forEach(function (observer) {\n callFluidObserver(observer, event);\n });\n }\n}\n\nvar FluidValue = /*#__PURE__*/_createClass(function FluidValue(get) {\n _classCallCheck(this, FluidValue);\n\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n});\n\nvar setFluidGetter = function setFluidGetter(target, get) {\n return setHidden(target, $get, get);\n};\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n var observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n var observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n var count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nvar setHidden = function setHidden(target, key, value) {\n return Object.defineProperty(target, key, {\n value: value,\n writable: true,\n configurable: true\n });\n};\n\nvar numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nvar colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nvar unitRegex = new RegExp(\"(\".concat(numberRegex.source, \")(%|[a-z]+)\"), 'i');\nvar rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nvar cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nvar variableToRgba = function variableToRgba(input) {\n var _parseCSSVariable = parseCSSVariable(input),\n _parseCSSVariable2 = _slicedToArray(_parseCSSVariable, 2),\n token = _parseCSSVariable2[0],\n fallback = _parseCSSVariable2[1];\n\n if (!token || isSSR()) {\n return input;\n }\n\n var value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n var _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nvar parseCSSVariable = function parseCSSVariable(current) {\n var match = cssVariableRegex.exec(current);\n if (!match) return [,];\n\n var _match = _slicedToArray(match, 3),\n token = _match[1],\n fallback = _match[2];\n\n return [token, fallback];\n};\n\nvar namedColorRegex;\n\nvar rgbaRound = function rgbaRound(_, p1, p2, p3, p4) {\n return \"rgba(\".concat(Math.round(p1), \", \").concat(Math.round(p2), \", \").concat(Math.round(p3), \", \").concat(p4, \")\");\n};\n\nvar createStringInterpolator = function createStringInterpolator(config) {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(\"(\".concat(Object.keys(colors$1).join('|'), \")(?!\\\\w)\"), 'g') : /^\\b$/;\n var output = config.output.map(function (value) {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n var keyframes = output.map(function (value) {\n return value.match(numberRegex).map(Number);\n });\n var outputRanges = keyframes[0].map(function (_, i) {\n return keyframes.map(function (values) {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n });\n });\n var interpolators = outputRanges.map(function (output) {\n return createInterpolator(_extends({}, config, {\n output: output\n }));\n });\n return function (input) {\n var _output$find;\n\n var missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(function (value) {\n return unitRegex.test(value);\n })) == null ? void 0 : _output$find.replace(numberRegex, ''));\n var i = 0;\n return output[0].replace(numberRegex, function () {\n return \"\".concat(interpolators[i++](input)).concat(missingUnit || '');\n }).replace(rgbaRegex, rgbaRound);\n };\n};\n\nvar prefix = 'react-spring: ';\n\nvar once = function once(fn) {\n var func = fn;\n var called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(\"\".concat(prefix, \"once requires a function parameter\"));\n }\n\n return function () {\n if (!called) {\n func.apply(void 0, arguments);\n called = true;\n }\n };\n};\n\nvar warnInterpolate = once(console.warn);\n\nfunction deprecateInterpolate() {\n warnInterpolate(\"\".concat(prefix, \"The \\\"interpolate\\\" function is deprecated in v9 (use \\\"to\\\" instead)\"));\n}\n\nvar warnDirectCall = once(console.warn);\n\nfunction deprecateDirectCall() {\n warnDirectCall(\"\".concat(prefix, \"Directly calling start instead of using the api object is deprecated in v9 (use \\\".start\\\" instead), this will be removed in later 0.X.0 versions\"));\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nvar useOnce = function useOnce(effect) {\n return useEffect(effect, emptyDeps);\n};\n\nvar emptyDeps = [];\n\nfunction useForceUpdate() {\n var update = useState()[1];\n var mounted = useState(makeMountedRef)[0];\n useOnce(mounted.unmount);\n return function () {\n if (mounted.current) {\n update({});\n }\n };\n}\n\nfunction makeMountedRef() {\n var mounted = {\n current: true,\n unmount: function unmount() {\n return function () {\n mounted.current = false;\n };\n }\n };\n return mounted;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var _useState = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n }),\n _useState2 = _slicedToArray(_useState, 1),\n initial = _useState2[0];\n\n var committed = useRef();\n var prevCache = committed.current;\n var cache = prevCache;\n\n if (cache) {\n var useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs: inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(function () {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (var i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction usePrev(value) {\n var prevRef = useRef();\n useEffect(function () {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nvar useLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useForceUpdate, useLayoutEffect, useMemoOne, useOnce, usePrev };","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _get from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _inherits from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\nvar $node = Symbol.for('Animated:node');\n\nvar isAnimated = function isAnimated(value) {\n return !!value && value[$node] === value;\n};\n\nvar getAnimated = function getAnimated(owner) {\n return owner && owner[$node];\n};\n\nvar setAnimated = function setAnimated(owner, node) {\n return defineHidden(owner, $node, node);\n};\n\nvar getPayload = function getPayload(owner) {\n return owner && owner[$node] && owner[$node].getPayload();\n};\n\nvar Animated = /*#__PURE__*/function () {\n function Animated() {\n _classCallCheck(this, Animated);\n\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n _createClass(Animated, [{\n key: \"getPayload\",\n value: function getPayload() {\n return this.payload || [];\n }\n }]);\n\n return Animated;\n}();\n\nvar AnimatedValue = /*#__PURE__*/function (_Animated) {\n _inherits(AnimatedValue, _Animated);\n\n var _super = _createSuper(AnimatedValue);\n\n function AnimatedValue(_value) {\n var _this;\n\n _classCallCheck(this, AnimatedValue);\n\n _this = _super.call(this);\n _this.done = true;\n _this.elapsedTime = void 0;\n _this.lastPosition = void 0;\n _this.lastVelocity = void 0;\n _this.v0 = void 0;\n _this.durationProgress = 0;\n _this._value = _value;\n\n if (is.num(_this._value)) {\n _this.lastPosition = _this._value;\n }\n\n return _this;\n }\n\n _createClass(AnimatedValue, [{\n key: \"getPayload\",\n value: function getPayload() {\n return [this];\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this._value;\n }\n }, {\n key: \"setValue\",\n value: function setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var done = this.done;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n return new AnimatedValue(value);\n }\n }]);\n\n return AnimatedValue;\n}(Animated);\n\nvar AnimatedString = /*#__PURE__*/function (_AnimatedValue) {\n _inherits(AnimatedString, _AnimatedValue);\n\n var _super2 = _createSuper(AnimatedString);\n\n function AnimatedString(value) {\n var _this2;\n\n _classCallCheck(this, AnimatedString);\n\n _this2 = _super2.call(this, 0);\n _this2._string = null;\n _this2._toString = void 0;\n _this2._toString = createInterpolator({\n output: [value, value]\n });\n return _this2;\n }\n\n _createClass(AnimatedString, [{\n key: \"getValue\",\n value: function getValue() {\n var value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n }, {\n key: \"setValue\",\n value: function setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (_get(_getPrototypeOf(AnimatedString.prototype), \"setValue\", this).call(this, value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"reset\",\n value: function reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n\n _get(_getPrototypeOf(AnimatedString.prototype), \"reset\", this).call(this);\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n return new AnimatedString(value);\n }\n }]);\n\n return AnimatedString;\n}(AnimatedValue);\n\nvar TreeContext = {\n dependencies: null\n};\n\nvar AnimatedObject = /*#__PURE__*/function (_Animated2) {\n _inherits(AnimatedObject, _Animated2);\n\n var _super3 = _createSuper(AnimatedObject);\n\n function AnimatedObject(source) {\n var _this3;\n\n _classCallCheck(this, AnimatedObject);\n\n _this3 = _super3.call(this);\n _this3.source = source;\n\n _this3.setValue(source);\n\n return _this3;\n }\n\n _createClass(AnimatedObject, [{\n key: \"getValue\",\n value: function getValue(animated) {\n var values = {};\n eachProp(this.source, function (source, key) {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n }, {\n key: \"setValue\",\n value: function setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.payload) {\n each(this.payload, function (node) {\n return node.reset();\n });\n }\n }\n }, {\n key: \"_makePayload\",\n value: function _makePayload(source) {\n if (source) {\n var payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n }, {\n key: \"_addToPayload\",\n value: function _addToPayload(source) {\n var _this4 = this;\n\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n var payload = getPayload(source);\n\n if (payload) {\n each(payload, function (node) {\n return _this4.add(node);\n });\n }\n }\n }]);\n\n return AnimatedObject;\n}(Animated);\n\nvar AnimatedArray = /*#__PURE__*/function (_AnimatedObject) {\n _inherits(AnimatedArray, _AnimatedObject);\n\n var _super4 = _createSuper(AnimatedArray);\n\n function AnimatedArray(source) {\n _classCallCheck(this, AnimatedArray);\n\n return _super4.call(this, source);\n }\n\n _createClass(AnimatedArray, [{\n key: \"getValue\",\n value: function getValue() {\n return this.source.map(function (node) {\n return node.getValue();\n });\n }\n }, {\n key: \"setValue\",\n value: function setValue(source) {\n var payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map(function (node, i) {\n return node.setValue(source[i]);\n }).some(Boolean);\n }\n\n _get(_getPrototypeOf(AnimatedArray.prototype), \"setValue\", this).call(this, source.map(makeAnimated));\n\n return true;\n }\n }], [{\n key: \"create\",\n value: function create(source) {\n return new AnimatedArray(source);\n }\n }]);\n\n return AnimatedArray;\n}(AnimatedObject);\n\nfunction makeAnimated(value) {\n var nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n var parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _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}\n\nvar withAnimated = function withAnimated(Component, host) {\n var hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef(function (givenProps, givenRef) {\n var instanceRef = useRef(null);\n var ref = hasInstance && useCallback(function (value) {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n\n var _getAnimatedState = getAnimatedState(givenProps, host),\n _getAnimatedState2 = _slicedToArray(_getAnimatedState, 2),\n props = _getAnimatedState2[0],\n deps = _getAnimatedState2[1];\n\n var forceUpdate = useForceUpdate();\n\n var callback = function callback() {\n var instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n var didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n var observer = new PropsObserver(callback, deps);\n var observerRef = useRef();\n useLayoutEffect(function () {\n var lastObserver = observerRef.current;\n observerRef.current = observer;\n each(deps, function (dep) {\n return addFluidObserver(dep, observer);\n });\n\n if (lastObserver) {\n each(lastObserver.deps, function (dep) {\n return removeFluidObserver(dep, lastObserver);\n });\n raf.cancel(lastObserver.update);\n }\n });\n useEffect(callback, []);\n useOnce(function () {\n return function () {\n var observer = observerRef.current;\n each(observer.deps, function (dep) {\n return removeFluidObserver(dep, observer);\n });\n };\n });\n var usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nvar PropsObserver = /*#__PURE__*/function () {\n function PropsObserver(update, deps) {\n _classCallCheck(this, PropsObserver);\n\n this.update = update;\n this.deps = deps;\n }\n\n _createClass(PropsObserver, [{\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n }]);\n\n return PropsObserver;\n}();\n\nfunction getAnimatedState(props, host) {\n var dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nvar cacheKey = Symbol.for('AnimatedComponent');\n\nvar createHost = function createHost(components) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$applyAnimatedVal = _ref.applyAnimatedValues,\n _applyAnimatedValues = _ref$applyAnimatedVal === void 0 ? function () {\n return false;\n } : _ref$applyAnimatedVal,\n _ref$createAnimatedSt = _ref.createAnimatedStyle,\n _createAnimatedStyle = _ref$createAnimatedSt === void 0 ? function (style) {\n return new AnimatedObject(style);\n } : _ref$createAnimatedSt,\n _ref$getComponentProp = _ref.getComponentProps,\n _getComponentProps = _ref$getComponentProp === void 0 ? function (props) {\n return props;\n } : _ref$getComponentProp;\n\n var hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n var animated = function animated(Component) {\n var displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = \"Animated(\".concat(displayName, \")\");\n return Component;\n };\n\n eachProp(components, function (Component, key) {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated: animated\n };\n};\n\nvar getDisplayName = function getDisplayName(arg) {\n return is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n};\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };","import _assertThisInitialized from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _get from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _inherits from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _wrapNativeSuper from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js\";\nimport _asyncToGenerator from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport _regeneratorRuntime from \"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); 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\nimport { eachProp, is, toArray, isAnimatedString, Globals, getFluidValue, useLayoutEffect, each, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _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}\n\nfunction callProp(value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return is.fun(value) ? value.apply(void 0, args) : value;\n}\n\nvar matchProp = function matchProp(value, key) {\n return value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\n};\n\nvar resolveProp = function resolveProp(prop, key) {\n return is.obj(prop) ? key && prop[key] : prop;\n};\n\nvar getDefaultProp = function getDefaultProp(props, key) {\n return props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n};\n\nvar noopTransform = function noopTransform(value) {\n return value;\n};\n\nvar getDefaultProps = function getDefaultProps(props) {\n var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noopTransform;\n var keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n var defaults = {};\n\n var _iterator = _createForOfIteratorHelper(keys),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var key = _step.value;\n var value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return defaults;\n};\n\nvar DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nvar RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n var forward = {};\n var count = 0;\n eachProp(props, function (value, prop) {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n var to = getForwardProps(props);\n\n if (to) {\n var out = {\n to: to\n };\n eachProp(props, function (val, key) {\n return key in to || (out[key] = val);\n });\n return out;\n }\n\n return _extends({}, props);\n}\n\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\n\nfunction hasProps(props) {\n for (var _ in props) {\n return true;\n }\n\n return false;\n}\n\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\n\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\n\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps) {\n var timeFrame = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;\n useLayoutEffect(function () {\n if (timeSteps) {\n var prevDelay = 0;\n each(refs, function (ref, i) {\n var controllers = ref.current;\n\n if (controllers.length) {\n var delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, function (ctrl) {\n each(ctrl.queue, function (props) {\n var memoizedDelayProp = props.delay;\n\n props.delay = function (key) {\n return delay + callProp(memoizedDelayProp || 0, key);\n };\n });\n });\n ref.start();\n }\n });\n } else {\n var p = Promise.resolve();\n each(refs, function (ref) {\n var controllers = ref.current;\n\n if (controllers.length) {\n var queues = controllers.map(function (ctrl) {\n var q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(function () {\n each(controllers, function (ctrl, i) {\n return each(queues[i] || [], function (update) {\n return ctrl.queue.push(update);\n });\n });\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nvar config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\nvar c1 = 1.70158;\nvar c2 = c1 * 1.525;\nvar c3 = c1 + 1;\nvar c4 = 2 * Math.PI / 3;\nvar c5 = 2 * Math.PI / 4.5;\n\nvar bounceOut = function bounceOut(x) {\n var n1 = 7.5625;\n var d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nvar easings = {\n linear: function linear(x) {\n return x;\n },\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n easeOutQuad: function easeOutQuad(x) {\n return 1 - (1 - x) * (1 - x);\n },\n easeInOutQuad: function easeInOutQuad(x) {\n return x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2;\n },\n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n easeOutCubic: function easeOutCubic(x) {\n return 1 - Math.pow(1 - x, 3);\n },\n easeInOutCubic: function easeInOutCubic(x) {\n return x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2;\n },\n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n easeOutQuart: function easeOutQuart(x) {\n return 1 - Math.pow(1 - x, 4);\n },\n easeInOutQuart: function easeInOutQuart(x) {\n return x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2;\n },\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n easeOutQuint: function easeOutQuint(x) {\n return 1 - Math.pow(1 - x, 5);\n },\n easeInOutQuint: function easeInOutQuint(x) {\n return x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2;\n },\n easeInSine: function easeInSine(x) {\n return 1 - Math.cos(x * Math.PI / 2);\n },\n easeOutSine: function easeOutSine(x) {\n return Math.sin(x * Math.PI / 2);\n },\n easeInOutSine: function easeInOutSine(x) {\n return -(Math.cos(Math.PI * x) - 1) / 2;\n },\n easeInExpo: function easeInExpo(x) {\n return x === 0 ? 0 : Math.pow(2, 10 * x - 10);\n },\n easeOutExpo: function easeOutExpo(x) {\n return x === 1 ? 1 : 1 - Math.pow(2, -10 * x);\n },\n easeInOutExpo: function easeInOutExpo(x) {\n return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2;\n },\n easeInCirc: function easeInCirc(x) {\n return 1 - Math.sqrt(1 - Math.pow(x, 2));\n },\n easeOutCirc: function easeOutCirc(x) {\n return Math.sqrt(1 - Math.pow(x - 1, 2));\n },\n easeInOutCirc: function easeInOutCirc(x) {\n return x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2;\n },\n easeInBack: function easeInBack(x) {\n return c3 * x * x * x - c1 * x * x;\n },\n easeOutBack: function easeOutBack(x) {\n return 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2);\n },\n easeInOutBack: function easeInOutBack(x) {\n return x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;\n },\n easeInElastic: function easeInElastic(x) {\n return x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4);\n },\n easeOutElastic: function easeOutElastic(x) {\n return x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1;\n },\n easeInOutElastic: function easeInOutElastic(x) {\n return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1;\n },\n easeInBounce: function easeInBounce(x) {\n return 1 - bounceOut(1 - x);\n },\n easeOutBounce: bounceOut,\n easeInOutBounce: function easeInOutBounce(x) {\n return x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2;\n }\n};\n\nvar defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nvar AnimationConfig = /*#__PURE__*/_createClass(function AnimationConfig() {\n _classCallCheck(this, AnimationConfig);\n\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n});\n\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (var key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n var mass = config.mass,\n frequency = config.frequency,\n damping = config.damping;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n var isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nvar emptyArray = [];\n\nvar Animation = /*#__PURE__*/_createClass(function Animation() {\n _classCallCheck(this, Animation);\n\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n});\n\nfunction scheduleProps(callId, _ref2) {\n var key = _ref2.key,\n props = _ref2.props,\n defaultProps = _ref2.defaultProps,\n state = _ref2.state,\n actions = _ref2.actions;\n return new Promise(function (resolve, reject) {\n var _props$cancel;\n\n var delay;\n var timeout;\n var cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n var pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId: callId,\n cancel: cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nvar getCombinedResult = function getCombinedResult(target, results) {\n return results.length == 1 ? results[0] : results.some(function (result) {\n return result.cancelled;\n }) ? getCancelledResult(target.get()) : results.every(function (result) {\n return result.noop;\n }) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(function (result) {\n return result.finished;\n }));\n};\n\nvar getNoopResult = function getNoopResult(value) {\n return {\n value: value,\n noop: true,\n finished: true,\n cancelled: false\n };\n};\n\nvar getFinishedResult = function getFinishedResult(value, finished) {\n var cancelled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n value: value,\n finished: finished,\n cancelled: cancelled\n };\n};\n\nvar getCancelledResult = function getCancelledResult(value) {\n return {\n value: value,\n cancelled: true,\n finished: false\n };\n};\n\nfunction runAsync(to, props, state, target) {\n var callId = props.callId,\n parentId = props.parentId,\n onRest = props.onRest;\n var prevTo = state.asyncTo,\n prevPromise = state.promise;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var defaultProps, preventBail, bail, bailPromise, bailIfEnded, animate, result, animating;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n state.asyncId = callId;\n state.asyncTo = to;\n defaultProps = getDefaultProps(props, function (value, key) {\n return key === 'onRest' ? undefined : value;\n });\n bailPromise = new Promise(function (resolve, reject) {\n return preventBail = resolve, bail = reject;\n });\n\n bailIfEnded = function bailIfEnded(bailSignal) {\n var bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n animate = function animate(arg1, arg2) {\n var bailSignal = new BailSignal();\n var skipAnimationSignal = new SkipAniamtionSignal();\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var props, result;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!Globals.skipAnimation) {\n _context.next = 5;\n break;\n }\n\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n\n case 5:\n bailIfEnded(bailSignal);\n props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, function (value, key) {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n _context.next = 11;\n return target.start(props);\n\n case 11:\n result = _context.sent;\n bailIfEnded(bailSignal);\n\n if (!state.paused) {\n _context.next = 16;\n break;\n }\n\n _context.next = 16;\n return new Promise(function (resume) {\n state.resumeQueue.add(resume);\n });\n\n case 16:\n return _context.abrupt(\"return\", result);\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n };\n\n if (!Globals.skipAnimation) {\n _context3.next = 9;\n break;\n }\n\n stopAsync(state);\n return _context3.abrupt(\"return\", getFinishedResult(target, false));\n\n case 9:\n _context3.prev = 9;\n\n if (is.arr(to)) {\n animating = function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(queue) {\n var _iterator2, _step2, _props;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(queue);\n _context2.prev = 1;\n\n _iterator2.s();\n\n case 3:\n if ((_step2 = _iterator2.n()).done) {\n _context2.next = 9;\n break;\n }\n\n _props = _step2.value;\n _context2.next = 7;\n return animate(_props);\n\n case 7:\n _context2.next = 3;\n break;\n\n case 9:\n _context2.next = 14;\n break;\n\n case 11:\n _context2.prev = 11;\n _context2.t0 = _context2[\"catch\"](1);\n\n _iterator2.e(_context2.t0);\n\n case 14:\n _context2.prev = 14;\n\n _iterator2.f();\n\n return _context2.finish(14);\n\n case 17:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 11, 14, 17]]);\n }));\n\n return function (_x) {\n return _ref5.apply(this, arguments);\n };\n }()(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n _context3.next = 13;\n return Promise.all([animating.then(preventBail), bailPromise]);\n\n case 13:\n result = getFinishedResult(target.get(), true, false);\n _context3.next = 27;\n break;\n\n case 16:\n _context3.prev = 16;\n _context3.t0 = _context3[\"catch\"](9);\n\n if (!(_context3.t0 instanceof BailSignal)) {\n _context3.next = 22;\n break;\n }\n\n result = _context3.t0.result;\n _context3.next = 27;\n break;\n\n case 22:\n if (!(_context3.t0 instanceof SkipAniamtionSignal)) {\n _context3.next = 26;\n break;\n }\n\n result = _context3.t0.result;\n _context3.next = 27;\n break;\n\n case 26:\n throw _context3.t0;\n\n case 27:\n _context3.prev = 27;\n\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n\n return _context3.finish(27);\n\n case 30:\n if (is.fun(onRest)) {\n raf.batchedUpdates(function () {\n onRest(result, target, target.item);\n });\n }\n\n return _context3.abrupt(\"return\", result);\n\n case 32:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[9, 16, 27, 30]]);\n }))();\n}\n\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, function (t) {\n return t.cancel();\n });\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\n\nvar BailSignal = /*#__PURE__*/function (_Error) {\n _inherits(BailSignal, _Error);\n\n var _super = _createSuper(BailSignal);\n\n function BailSignal() {\n var _this;\n\n _classCallCheck(this, BailSignal);\n\n _this = _super.call(this, 'An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n _this.result = void 0;\n return _this;\n }\n\n return _createClass(BailSignal);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar SkipAniamtionSignal = /*#__PURE__*/function (_Error2) {\n _inherits(SkipAniamtionSignal, _Error2);\n\n var _super2 = _createSuper(SkipAniamtionSignal);\n\n function SkipAniamtionSignal() {\n var _this2;\n\n _classCallCheck(this, SkipAniamtionSignal);\n\n _this2 = _super2.call(this, 'SkipAnimationSignal');\n _this2.result = void 0;\n return _this2;\n }\n\n return _createClass(SkipAniamtionSignal);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar isFrameValue = function isFrameValue(value) {\n return value instanceof FrameValue;\n};\n\nvar nextId$1 = 1;\n\nvar FrameValue = /*#__PURE__*/function (_FluidValue) {\n _inherits(FrameValue, _FluidValue);\n\n var _super3 = _createSuper(FrameValue);\n\n function FrameValue() {\n var _this3;\n\n _classCallCheck(this, FrameValue);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this3 = _super3.call.apply(_super3, [this].concat(args));\n _this3.id = nextId$1++;\n _this3.key = void 0;\n _this3._priority = 0;\n return _this3;\n }\n\n _createClass(FrameValue, [{\n key: \"priority\",\n get: function get() {\n return this._priority;\n },\n set: function set(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n }, {\n key: \"get\",\n value: function get() {\n var node = getAnimated(this);\n return node && node.getValue();\n }\n }, {\n key: \"to\",\n value: function to() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return Globals.to(this, args);\n }\n }, {\n key: \"interpolate\",\n value: function interpolate() {\n deprecateInterpolate();\n\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return Globals.to(this, args);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.get();\n }\n }, {\n key: \"observerAdded\",\n value: function observerAdded(count) {\n if (count == 1) this._attach();\n }\n }, {\n key: \"observerRemoved\",\n value: function observerRemoved(count) {\n if (count == 0) this._detach();\n }\n }, {\n key: \"_attach\",\n value: function _attach() {}\n }, {\n key: \"_detach\",\n value: function _detach() {}\n }, {\n key: \"_onChange\",\n value: function _onChange(value) {\n var idle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value: value,\n idle: idle\n });\n }\n }, {\n key: \"_onPriorityChange\",\n value: function _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority: priority\n });\n }\n }]);\n\n return FrameValue;\n}(FluidValue);\n\nvar $P = Symbol.for('SpringPhase');\nvar HAS_ANIMATED = 1;\nvar IS_ANIMATING = 2;\nvar IS_PAUSED = 4;\n\nvar hasAnimated = function hasAnimated(target) {\n return (target[$P] & HAS_ANIMATED) > 0;\n};\n\nvar isAnimating = function isAnimating(target) {\n return (target[$P] & IS_ANIMATING) > 0;\n};\n\nvar isPaused = function isPaused(target) {\n return (target[$P] & IS_PAUSED) > 0;\n};\n\nvar setActiveBit = function setActiveBit(target, active) {\n return active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\n};\n\nvar setPausedBit = function setPausedBit(target, paused) {\n return paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n};\n\nvar SpringValue = /*#__PURE__*/function (_FrameValue) {\n _inherits(SpringValue, _FrameValue);\n\n var _super4 = _createSuper(SpringValue);\n\n function SpringValue(arg1, arg2) {\n var _this4;\n\n _classCallCheck(this, SpringValue);\n\n _this4 = _super4.call(this);\n _this4.key = void 0;\n _this4.animation = new Animation();\n _this4.queue = void 0;\n _this4.defaultProps = {};\n _this4._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n _this4._pendingCalls = new Set();\n _this4._lastCallId = 0;\n _this4._lastToId = 0;\n _this4._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n var props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n _this4.start(props);\n }\n\n return _this4;\n }\n\n _createClass(SpringValue, [{\n key: \"idle\",\n get: function get() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n }, {\n key: \"goal\",\n get: function get() {\n return getFluidValue(this.animation.to);\n }\n }, {\n key: \"velocity\",\n get: function get() {\n var node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(function (node) {\n return node.lastVelocity || 0;\n });\n }\n }, {\n key: \"hasAnimated\",\n get: function get() {\n return hasAnimated(this);\n }\n }, {\n key: \"isAnimating\",\n get: function get() {\n return isAnimating(this);\n }\n }, {\n key: \"isPaused\",\n get: function get() {\n return isPaused(this);\n }\n }, {\n key: \"isDelayed\",\n get: function get() {\n return this._state.delayed;\n }\n }, {\n key: \"advance\",\n value: function advance(dt) {\n var _this5 = this;\n\n var idle = true;\n var changed = false;\n var anim = this.animation;\n var config = anim.config,\n toValues = anim.toValues;\n var payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach(function (node, i) {\n if (node.done) return;\n var to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n var finished = anim.immediate;\n var position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n var elapsed = node.elapsedTime += dt;\n var from = anim.fromValues[i];\n var v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n var velocity;\n\n if (!is.und(config.duration)) {\n var p = 1;\n\n if (config.duration > 0) {\n if (_this5._memoizedDuration !== config.duration) {\n _this5._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / _this5._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n var decay = config.decay === true ? 0.998 : config.decay;\n var e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) < 0.1;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n var precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n var restVelocity = config.restVelocity || precision / 10;\n var bounceFactor = config.clamp ? 0 : config.bounce;\n var canBounce = !is.und(bounceFactor);\n var isGrowing = from == to ? node.v0 > 0 : from < to;\n var isMoving;\n var isBouncing = false;\n var step = 1;\n var numSteps = Math.ceil(dt / step);\n\n for (var n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n var springForce = -config.tension * 0.000001 * (position - to);\n var dampingForce = -config.friction * 0.001 * velocity;\n var acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(\"Got NaN while animating:\", _this5);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n var node = getAnimated(this);\n var currVal = node.getValue();\n\n if (idle) {\n var finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n }, {\n key: \"set\",\n value: function set(value) {\n var _this6 = this;\n\n raf.batchedUpdates(function () {\n _this6._stop();\n\n _this6._focus(value);\n\n _this6._set(value);\n });\n return this;\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this._update({\n pause: true\n });\n }\n }, {\n key: \"resume\",\n value: function resume() {\n this._update({\n pause: false\n });\n }\n }, {\n key: \"finish\",\n value: function finish() {\n var _this7 = this;\n\n if (isAnimating(this)) {\n var _this$animation = this.animation,\n _to = _this$animation.to,\n _config = _this$animation.config;\n raf.batchedUpdates(function () {\n _this7._onStart();\n\n if (!_config.decay) {\n _this7._set(_to, false);\n }\n\n _this7._stop();\n });\n }\n\n return this;\n }\n }, {\n key: \"update\",\n value: function update(props) {\n var queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n }, {\n key: \"start\",\n value: function start(to, arg2) {\n var _this8 = this;\n\n var queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to: to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(function (props) {\n var up = _this8._update(props);\n\n return up;\n })).then(function (results) {\n return getCombinedResult(_this8, results);\n });\n }\n }, {\n key: \"stop\",\n value: function stop(cancel) {\n var _this9 = this;\n\n var to = this.animation.to;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(function () {\n return _this9._stop(to, cancel);\n });\n return this;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._update({\n reset: true\n });\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n }, {\n key: \"_prepareNode\",\n value: function _prepareNode(props) {\n var key = this.key || '';\n var to = props.to,\n from = props.from;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n var range = {\n to: to,\n from: from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) {\n var _ref6 = [from, to];\n to = _ref6[0];\n from = _ref6[1];\n }\n\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n }, {\n key: \"_update\",\n value: function _update(_ref, isLoop) {\n var _this10 = this;\n\n var props = _extends({}, _ref);\n\n var key = this.key,\n defaultProps = this.defaultProps;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, function (value, prop) {\n return /^on/.test(prop) ? resolveProp(value, key) : value;\n }));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n var range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n var state = this._state;\n return scheduleProps(++this._lastCallId, {\n key: key,\n props: props,\n defaultProps: defaultProps,\n state: state,\n actions: {\n pause: function pause() {\n if (!isPaused(_this10)) {\n setPausedBit(_this10, true);\n flushCalls(state.pauseQueue);\n sendEvent(_this10, 'onPause', getFinishedResult(_this10, checkFinished(_this10, _this10.animation.to)), _this10);\n }\n },\n resume: function resume() {\n if (isPaused(_this10)) {\n setPausedBit(_this10, false);\n\n if (isAnimating(_this10)) {\n _this10._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(_this10, 'onResume', getFinishedResult(_this10, checkFinished(_this10, _this10.animation.to)), _this10);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(function (result) {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n var nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return _this10._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n }, {\n key: \"_merge\",\n value: function _merge(range, props, resolve) {\n var _this11 = this;\n\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n var hasToProp = !is.und(range.to);\n var hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n var key = this.key,\n defaultProps = this.defaultProps,\n anim = this.animation;\n var prevTo = anim.to,\n prevFrom = anim.from;\n var _range$to = range.to,\n to = _range$to === void 0 ? prevTo : _range$to,\n _range$from = range.from,\n from = _range$from === void 0 ? prevFrom : _range$from;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) {\n var _ref7 = [from, to];\n to = _ref7[0];\n from = _ref7[1];\n }\n\n var hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n var hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n var hasAsyncTo = isAsyncTo(props.to);\n var config = anim.config;\n var decay = config.decay,\n velocity = config.velocity;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n var node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n var reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n var value = reset ? from : this.get();\n var goal = computeGoal(to);\n var isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n var immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n var nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(\"Cannot animate between \".concat(node.constructor.name, \" and \").concat(nodeType.name, \", as the \\\"to\\\" prop suggests\"));\n }\n }\n\n var goalType = node.constructor;\n var started = hasFluidValue(to);\n var finished = false;\n\n if (!started) {\n var hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n var onRest = anim.onRest;\n each(ACTIVE_EVENTS, function (type) {\n return mergeActiveFn(_this11, props, type);\n });\n var result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(function () {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, _this11);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, _this11);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n }, {\n key: \"_focus\",\n value: function _focus(value) {\n var anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n }, {\n key: \"_attach\",\n value: function _attach() {\n var priority = 0;\n var to = this.animation.to;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n }, {\n key: \"_detach\",\n value: function _detach() {\n var to = this.animation.to;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n }, {\n key: \"_set\",\n value: function _set(arg) {\n var _this12 = this;\n\n var idle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var value = getFluidValue(arg);\n\n if (!is.und(value)) {\n var oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n var nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(function () {\n _this12._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n }, {\n key: \"_onStart\",\n value: function _onStart() {\n var anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n }, {\n key: \"_onChange\",\n value: function _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n _get(_getPrototypeOf(SpringValue.prototype), \"_onChange\", this).call(this, value, idle);\n }\n }, {\n key: \"_start\",\n value: function _start() {\n var anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(function (node) {\n return node.lastPosition;\n });\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n }, {\n key: \"_resume\",\n value: function _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n }, {\n key: \"_stop\",\n value: function _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n var anim = this.animation;\n each(anim.values, function (node) {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n var result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n }]);\n\n return SpringValue;\n}(FrameValue);\n\nfunction checkFinished(target, to) {\n var goal = computeGoal(to);\n var value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props) {\n var loop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.loop;\n var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : props.to;\n var loopRet = callProp(loop);\n\n if (loopRet) {\n var overrides = loopRet !== true && inferTo(loopRet);\n var reverse = (overrides || props).reverse;\n var reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop: loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset: reset\n }, overrides));\n }\n}\n\nfunction createUpdate(props) {\n var _props2 = props = inferTo(props),\n to = _props2.to,\n from = _props2.from;\n\n var keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\n\nfunction declareUpdate(props) {\n var update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, function (value, key) {\n return value != null && keys.add(key);\n });\n}\n\nvar ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type) {\n var _target$animation$typ2, _target$defaultProps$2;\n\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n for (var _len5 = arguments.length, args = new Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) {\n args[_key5 - 2] = arguments[_key5];\n }\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : (_target$animation$typ2 = _target$animation$typ).call.apply(_target$animation$typ2, [_target$animation].concat(args));\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : (_target$defaultProps$2 = _target$defaultProps$).call.apply(_target$defaultProps$2, [_target$defaultProps].concat(args));\n}\n\nvar BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nvar nextId = 1;\n\nvar Controller = /*#__PURE__*/function () {\n function Controller(props, flush) {\n _classCallCheck(this, Controller);\n\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n _createClass(Controller, [{\n key: \"idle\",\n get: function get() {\n return !this._state.asyncTo && Object.values(this.springs).every(function (spring) {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n }, {\n key: \"item\",\n get: function get() {\n return this._item;\n },\n set: function set(item) {\n this._item = item;\n }\n }, {\n key: \"get\",\n value: function get() {\n var values = {};\n this.each(function (spring, key) {\n return values[key] = spring.get();\n });\n return values;\n }\n }, {\n key: \"set\",\n value: function set(values) {\n for (var key in values) {\n var value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n }, {\n key: \"start\",\n value: function start(props) {\n var queue = this.queue;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n }, {\n key: \"stop\",\n value: function stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n var springs = this.springs;\n each(toArray(keys), function (key) {\n return springs[key].stop(!!arg);\n });\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(function (spring) {\n return spring.stop(!!arg);\n });\n }\n\n return this;\n }\n }, {\n key: \"pause\",\n value: function pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n var springs = this.springs;\n each(toArray(keys), function (key) {\n return springs[key].pause();\n });\n }\n\n return this;\n }\n }, {\n key: \"resume\",\n value: function resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n var springs = this.springs;\n each(toArray(keys), function (key) {\n return springs[key].resume();\n });\n }\n\n return this;\n }\n }, {\n key: \"each\",\n value: function each(iterator) {\n eachProp(this.springs, iterator);\n }\n }, {\n key: \"_onFrame\",\n value: function _onFrame() {\n var _this13 = this;\n\n var _this$_events = this._events,\n onStart = _this$_events.onStart,\n onChange = _this$_events.onChange,\n onRest = _this$_events.onRest;\n var active = this._active.size > 0;\n var changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n onStart = _ref9[0],\n result = _ref9[1];\n\n result.value = _this13.get();\n onStart(result, _this13, _this13._item);\n });\n }\n\n var idle = !active && this._started;\n var values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n onChange = _ref11[0],\n result = _ref11[1];\n\n result.value = values;\n onChange(result, _this13, _this13._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, function (_ref12) {\n var _ref13 = _slicedToArray(_ref12, 2),\n onRest = _ref13[0],\n result = _ref13[1];\n\n result.value = values;\n onRest(result, _this13, _this13._item);\n });\n }\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n }]);\n\n return Controller;\n}();\n\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(function (props) {\n return flushUpdate(ctrl, props);\n })).then(function (results) {\n return getCombinedResult(ctrl, results);\n });\n}\n\nfunction flushUpdate(_x2, _x3, _x4) {\n return _flushUpdate.apply(this, arguments);\n}\n\nfunction _flushUpdate() {\n _flushUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(ctrl, props, isLoop) {\n var keys, to, from, loop, onRest, onResolve, defaults, asyncTo, state, promises, cancel, result, nextProps;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n keys = props.keys, to = props.to, from = props.from, loop = props.loop, onRest = props.onRest, onResolve = props.onResolve;\n defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, function (key) {\n var handler = props[key];\n\n if (is.fun(handler)) {\n var queue = ctrl['_events'][key];\n\n props[key] = function (_ref20) {\n var finished = _ref20.finished,\n cancelled = _ref20.cancelled;\n var result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n promises = (keys || Object.keys(ctrl.springs)).map(function (key) {\n return ctrl.springs[key].start(props);\n });\n cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props: props,\n state: state,\n actions: {\n pause: noop,\n resume: noop,\n start: function start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n }\n }));\n }\n\n if (!state.paused) {\n _context4.next = 15;\n break;\n }\n\n _context4.next = 15;\n return new Promise(function (resume) {\n state.resumeQueue.add(resume);\n });\n\n case 15:\n _context4.t0 = getCombinedResult;\n _context4.t1 = ctrl;\n _context4.next = 19;\n return Promise.all(promises);\n\n case 19:\n _context4.t2 = _context4.sent;\n result = (0, _context4.t0)(_context4.t1, _context4.t2);\n\n if (!(loop && result.finished && !(isLoop && result.noop))) {\n _context4.next = 26;\n break;\n }\n\n nextProps = createLoopUpdate(props, loop, to);\n\n if (!nextProps) {\n _context4.next = 26;\n break;\n }\n\n prepareKeys(ctrl, [nextProps]);\n return _context4.abrupt(\"return\", flushUpdate(ctrl, nextProps, true));\n\n case 26:\n if (onResolve) {\n raf.batchedUpdates(function () {\n return onResolve(result, ctrl, ctrl.item);\n });\n }\n\n return _context4.abrupt(\"return\", result);\n\n case 28:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _flushUpdate.apply(this, arguments);\n}\n\nfunction getSprings(ctrl, props) {\n var springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), function (props) {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, function (key) {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\n\nfunction setSprings(ctrl, springs) {\n eachProp(springs, function (spring, key) {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n var spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, function (key) {\n var spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, function (props) {\n prepareSprings(ctrl.springs, props, function (key) {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _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}\n\nvar _excluded$3 = [\"children\"];\n\nvar SpringContext = function SpringContext(_ref) {\n var children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3);\n\n var inherited = useContext(ctx);\n var pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(function () {\n return {\n pause: pause,\n immediate: immediate\n };\n }, [pause, immediate]);\n var Provider = ctx.Provider;\n return React.createElement(Provider, {\n value: props\n }, children);\n};\n\nvar ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nvar SpringRef = function SpringRef() {\n var current = [];\n\n var SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n var results = [];\n each(current, function (ctrl, i) {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n var _update2 = _getProps(props, ctrl, i);\n\n if (_update2) {\n results.push(ctrl.start(_update2));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef.delete = function (ctrl) {\n var i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n var _arguments = arguments;\n each(current, function (ctrl) {\n return ctrl.pause.apply(ctrl, _toConsumableArray(_arguments));\n });\n return this;\n };\n\n SpringRef.resume = function () {\n var _arguments2 = arguments;\n each(current, function (ctrl) {\n return ctrl.resume.apply(ctrl, _toConsumableArray(_arguments2));\n });\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, function (ctrl) {\n return ctrl.set(values);\n });\n };\n\n SpringRef.start = function (props) {\n var _this14 = this;\n\n var results = [];\n each(current, function (ctrl, i) {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n var _update3 = _this14._getProps(props, ctrl, i);\n\n if (_update3) {\n results.push(ctrl.start(_update3));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n var _arguments3 = arguments;\n each(current, function (ctrl) {\n return ctrl.stop.apply(ctrl, _toConsumableArray(_arguments3));\n });\n return this;\n };\n\n SpringRef.update = function (props) {\n var _this15 = this;\n\n each(current, function (ctrl, i) {\n return ctrl.update(_this15._getProps(props, ctrl, i));\n });\n return this;\n };\n\n var _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n var _arguments4 = arguments;\n var propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n var ref = useMemo(function () {\n return propsFn || _arguments4.length == 3 ? SpringRef() : void 0;\n }, []);\n var layoutId = useRef(0);\n var forceUpdate = useForceUpdate();\n var state = useMemo(function () {\n return {\n ctrls: [],\n queue: [],\n flush: function flush(ctrl, updates) {\n var springs = getSprings(ctrl, updates);\n var canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(function (key) {\n return !ctrl.springs[key];\n });\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(function (resolve) {\n setSprings(ctrl, springs);\n state.queue.push(function () {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n };\n }, []);\n var ctrls = useRef(_toConsumableArray(state.ctrls));\n var updates = [];\n var prevLength = usePrev(length) || 0;\n useMemo(function () {\n each(ctrls.current.slice(length, prevLength), function (ctrl) {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(function () {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (var i = startIndex; i < endIndex; i++) {\n var ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n\n var _update4 = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (_update4) {\n updates[i] = declareUpdate(_update4);\n }\n }\n }\n\n var springs = ctrls.current.map(function (ctrl, i) {\n return getSprings(ctrl, updates[i]);\n });\n var context = useContext(SpringContext);\n var prevContext = usePrev(context);\n var hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(function () {\n layoutId.current++;\n state.ctrls = ctrls.current;\n var queue = state.queue;\n\n if (queue.length) {\n state.queue = [];\n each(queue, function (cb) {\n return cb();\n });\n }\n\n each(ctrls.current, function (ctrl, i) {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n var update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(function () {\n return function () {\n each(state.ctrls, function (ctrl) {\n return ctrl.stop(true);\n });\n };\n });\n var values = springs.map(function (x) {\n return _extends({}, x);\n });\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n var isFn = is.fun(props);\n\n var _useSprings = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps),\n _useSprings2 = _slicedToArray(_useSprings, 2),\n _useSprings2$ = _slicedToArray(_useSprings2[0], 1),\n values = _useSprings2$[0],\n ref = _useSprings2[1];\n\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nvar initSpringRef = function initSpringRef() {\n return SpringRef();\n};\n\nvar useSpringRef = function useSpringRef() {\n return useState(initSpringRef)[0];\n};\n\nfunction useTrail(length, propsArg, deps) {\n var _passedRef;\n\n var propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n var reverse = true;\n var passedRef = undefined;\n var result = useSprings(length, function (i, ctrl) {\n var props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n var ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n useLayoutEffect(function () {\n each(ref.current, function (ctrl, i) {\n var parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n ref['start'] = function (propsArg) {\n var results = [];\n each(ref.current, function (ctrl, i) {\n var props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n var parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n results.push(ctrl.start(_extends({}, props, {\n to: parent.springs\n })));\n } else {\n results.push(ctrl.start(_extends({}, props)));\n }\n });\n return results;\n };\n\n if (propsFn || arguments.length == 3) {\n ref['_getProps'] = function (propsArg, ctrl, i) {\n var props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n var parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n return result[0];\n}\n\nvar TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n var _arguments5 = arguments;\n var propsFn = is.fun(props) && props;\n\n var _ref14 = propsFn ? propsFn() : props,\n reset = _ref14.reset,\n sort = _ref14.sort,\n _ref14$trail = _ref14.trail,\n trail = _ref14$trail === void 0 ? 0 : _ref14$trail,\n _ref14$expires = _ref14.expires,\n expires = _ref14$expires === void 0 ? true : _ref14$expires,\n _ref14$exitBeforeEnte = _ref14.exitBeforeEnter,\n exitBeforeEnter = _ref14$exitBeforeEnte === void 0 ? false : _ref14$exitBeforeEnte,\n onDestroyed = _ref14.onDestroyed,\n propsRef = _ref14.ref,\n propsConfig = _ref14.config;\n\n var ref = useMemo(function () {\n return propsFn || _arguments5.length == 3 ? SpringRef() : void 0;\n }, []);\n var items = toArray(data);\n var transitions = [];\n var usedTransitions = useRef(null);\n var prevTransitions = reset ? null : usedTransitions.current;\n useLayoutEffect(function () {\n usedTransitions.current = transitions;\n });\n useOnce(function () {\n return function () {\n each(usedTransitions.current, function (t) {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n var keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n var expired = reset && usedTransitions.current || [];\n useLayoutEffect(function () {\n return each(expired, function (_ref15) {\n var ctrl = _ref15.ctrl,\n item = _ref15.item,\n key = _ref15.key;\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n });\n });\n var reused = [];\n if (prevTransitions) each(prevTransitions, function (t, i) {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, function (item, i) {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item: item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n var i = -1;\n\n var _ref16 = propsFn ? propsFn() : props,\n leave = _ref16.leave;\n\n each(reused, function (keyIndex, prevIndex) {\n var t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort(function (a, b) {\n return sort(a.item, b.item);\n });\n }\n\n var delay = -trail;\n var forceUpdate = useForceUpdate();\n var defaultProps = getDefaultProps(props);\n var changes = new Map();\n var exitingTransitions = useRef(new Map());\n var forceChange = useRef(false);\n each(transitions, function (t, i) {\n var key = t.key;\n var prevPhase = t.phase;\n var p = propsFn ? propsFn() : props;\n var to;\n var phase;\n var propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n var isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to: to\n };\n\n if (!to.config) {\n var _config2 = propsConfig || defaultProps.config;\n\n to.config = callProp(_config2, t.item, i, phase);\n }\n\n delay += trail;\n\n var payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n var _p = propsFn ? propsFn() : props;\n\n var from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n var onResolve = payload.onResolve;\n\n payload.onResolve = function (result) {\n callProp(onResolve, result);\n var transitions = usedTransitions.current;\n var t = transitions.find(function (t) {\n return t.key === key;\n });\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n var idle = transitions.every(function (t) {\n return t.ctrl.idle;\n });\n\n if (t.phase == TransitionPhase.LEAVE) {\n var expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n var expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(function (t) {\n return t.expired;\n })) {\n exitingTransitions.current.delete(t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n var springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase: phase,\n springs: springs,\n payload: payload\n });\n } else {\n changes.set(t, {\n phase: phase,\n springs: springs,\n payload: payload\n });\n }\n });\n var context = useContext(SpringContext);\n var prevContext = usePrev(context);\n var hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(function () {\n if (hasContext) {\n each(transitions, function (t) {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each(changes, function (_, t) {\n if (exitingTransitions.current.size) {\n var ind = transitions.findIndex(function (state) {\n return state.key === t.key;\n });\n transitions.splice(ind, 1);\n }\n });\n useLayoutEffect(function () {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, function (_ref17, t) {\n var phase = _ref17.phase,\n payload = _ref17.payload;\n var ctrl = t.ctrl;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if (ctrl.ref && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n var renderTransitions = function renderTransitions(render) {\n return React.createElement(React.Fragment, null, transitions.map(function (t, i) {\n var _ref18 = changes.get(t) || t.ctrl,\n springs = _ref18.springs;\n\n var elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n };\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\n\nvar nextKey = 1;\n\nfunction getKeys(items, _ref19, prevTransitions) {\n var key = _ref19.key,\n _ref19$keys = _ref19.keys,\n keys = _ref19$keys === void 0 ? key : _ref19$keys;\n\n if (keys === null) {\n var reused = new Set();\n return items.map(function (item) {\n var t = prevTransitions && prevTransitions.find(function (t) {\n return t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t);\n });\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nvar _excluded$2 = [\"children\"];\n\nfunction Spring(_ref) {\n var children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nvar _excluded$1 = [\"items\", \"children\"];\n\nfunction Trail(_ref) {\n var items = _ref.items,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n var trails = useTrail(items.length, props);\n return items.map(function (item, index) {\n var result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nvar _excluded = [\"items\", \"children\"];\n\nfunction Transition(_ref) {\n var items = _ref.items,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nvar Interpolation = /*#__PURE__*/function (_FrameValue2) {\n _inherits(Interpolation, _FrameValue2);\n\n var _super5 = _createSuper(Interpolation);\n\n function Interpolation(source, args) {\n var _this16;\n\n _classCallCheck(this, Interpolation);\n\n _this16 = _super5.call(this);\n _this16.key = void 0;\n _this16.idle = true;\n _this16.calc = void 0;\n _this16._active = new Set();\n _this16.source = source;\n _this16.calc = createInterpolator.apply(void 0, _toConsumableArray(args));\n\n var value = _this16._get();\n\n var nodeType = getAnimatedType(value);\n setAnimated(_assertThisInitialized(_this16), nodeType.create(value));\n return _this16;\n }\n\n _createClass(Interpolation, [{\n key: \"advance\",\n value: function advance(_dt) {\n var value = this._get();\n\n var oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n }, {\n key: \"_get\",\n value: function _get() {\n var inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc.apply(this, _toConsumableArray(inputs));\n }\n }, {\n key: \"_start\",\n value: function _start() {\n var _this17 = this;\n\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), function (node) {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(function () {\n return _this17.advance();\n });\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n }, {\n key: \"_attach\",\n value: function _attach() {\n var _this18 = this;\n\n var priority = 1;\n each(toArray(this.source), function (source) {\n if (hasFluidValue(source)) {\n addFluidObserver(source, _this18);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n _this18._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n }, {\n key: \"_detach\",\n value: function _detach() {\n var _this19 = this;\n\n each(toArray(this.source), function (source) {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, _this19);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce(function (highest, parent) {\n return Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1);\n }, 0);\n }\n }\n }]);\n\n return Interpolation;\n}(FrameValue);\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), function (node) {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nvar to = function to(source) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n return new Interpolation(source, args);\n};\n\nvar interpolate = function interpolate(source) {\n for (var _len7 = arguments.length, args = new Array(_len7 > 1 ? _len7 - 1 : 0), _key7 = 1; _key7 < _len7; _key7++) {\n args[_key7 - 1] = arguments[_key7];\n }\n\n return deprecateInterpolate(), new Interpolation(source, args);\n};\n\nGlobals.assign({\n createStringInterpolator: createStringInterpolator,\n to: function to(source, args) {\n return new Interpolation(source, args);\n }\n});\nvar update = frameLoop.advance;\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, easings, inferTo, interpolate, to, update, useChain, useSpring, useSpringRef, useSprings, useTrail, useTransition };","import { addEffect, applyProps } from '@react-three/fiber';\nimport { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { createStringInterpolator, colors, raf } from '@react-spring/shared';\nimport { createHost } from '@react-spring/animated';\nimport * as THREE from 'three';\nvar primitives = ['primitive'].concat(Object.keys(THREE).filter(function (key) {\n return /^[A-Z]/.test(key);\n}).map(function (key) {\n return key[0].toLowerCase() + key.slice(1);\n}));\nGlobals.assign({\n createStringInterpolator: createStringInterpolator,\n colors: colors,\n frameLoop: 'demand'\n});\naddEffect(function () {\n raf.advance();\n});\nvar host = createHost(primitives, {\n applyAnimatedValues: applyProps\n});\nvar animated = host.animated;\nexport { animated as a, animated };","import \"core-js/modules/es.math.hypot.js\";\nimport React, { useRef } from 'react'; // vector add\n\nfunction addV(v1, v2) {\n return v1.map(function (v, i) {\n return v + v2[i];\n });\n} // vector substract\n\n\nfunction subV(v1, v2) {\n return v1.map(function (v, i) {\n return v - v2[i];\n });\n}\n/**\r\n * Calculates distance\r\n * @param movement the difference between current and initial vectors\r\n * @returns distance\r\n */\n\n\nfunction calculateDistance(movement) {\n return Math.hypot.apply(Math, movement);\n}\n\nfunction calculateAllGeometry(movement, delta) {\n if (delta === void 0) {\n delta = movement;\n }\n\n var dl = calculateDistance(delta);\n var alpha = dl === 0 ? 0 : 1 / dl;\n var direction = delta.map(function (v) {\n return alpha * v;\n });\n var distance = calculateDistance(movement);\n return {\n distance: distance,\n direction: direction\n };\n}\n/**\r\n * Calculates all kinematics\r\n * @template T the expected vector type\r\n * @param movement the difference between current and initial vectors\r\n * @param delta the difference between current and previous vectors\r\n * @param delta_t the time difference between current and previous timestamps\r\n * @returns all kinematics\r\n */\n\n\nfunction calculateAllKinematics(movement, delta, dt) {\n var dl = calculateDistance(delta);\n var alpha = dl === 0 ? 0 : 1 / dl;\n var beta = dt === 0 ? 0 : 1 / dt;\n var velocity = beta * dl;\n var velocities = delta.map(function (v) {\n return beta * v;\n });\n var direction = delta.map(function (v) {\n return alpha * v;\n });\n var distance = calculateDistance(movement);\n return {\n velocities: velocities,\n velocity: velocity,\n distance: distance,\n direction: direction\n };\n}\n/**\r\n * Because IE doesn't support `Math.sign` function, so we use the polyfill version of the function.\r\n * This polyfill function is suggested by Mozilla:\r\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign#Polyfill\r\n * @param x target number\r\n */\n\n\nfunction sign(x) {\n if (Math.sign) return Math.sign(x);\n return Number(x > 0) - Number(x < 0) || +x;\n}\n\nfunction minMax(value, min, max) {\n return Math.max(min, Math.min(value, max));\n} // Based on @aholachek ;)\n// https://twitter.com/chpwn/status/285540192096497664\n// iOS constant = 0.55\n// https://medium.com/@nathangitter/building-fluid-interfaces-ios-swift-9732bb934bf5\n\n\nfunction rubberband2(distance, constant) {\n // default constant from the article is 0.7\n return Math.pow(distance, constant * 5);\n}\n\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return rubberband2(distance, constant);\n return distance * dimension * constant / (dimension + constant * distance);\n}\n\nfunction rubberbandIfOutOfBounds(position, min, max, constant) {\n if (constant === void 0) {\n constant = 0.15;\n }\n\n if (constant === 0) return minMax(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _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}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\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 it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nfunction noop() {}\n/**\r\n * TODO Beware that only optimized cases are covered in tests =)\r\n * TODO Need to cover general case as well\r\n *\r\n * @param fns\r\n */\n\n\nfunction chainFns() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n var result;\n\n for (var _iterator = _createForOfIteratorHelperLoose(fns), _step; !(_step = _iterator()).done;) {\n var fn = _step.value;\n result = fn.apply(this, arguments) || result;\n }\n\n return result;\n };\n}\n/**\r\n * Expects a simple value or 2D vector (an array with 2 elements) and\r\n * always returns 2D vector. If simple value is passed, returns a\r\n * vector with this value as both coordinates.\r\n *\r\n * @param value\r\n */\n\n\nfunction ensureVector(value, fallback) {\n if (value === undefined) {\n if (fallback === undefined) {\n throw new Error('Must define fallback value if undefined is expected');\n }\n\n value = fallback;\n }\n\n if (Array.isArray(value)) return value;\n return [value, value];\n}\n/**\r\n * Helper for defining a default value\r\n *\r\n * @param value\r\n * @param fallback\r\n */\n\n\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n/**\r\n * Resolves getters (functions) by calling them\r\n * If simple value is given it just passes through\r\n *\r\n * @param v\r\n */\n\n\nfunction valueFn(v) {\n if (typeof v === 'function') {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n } // @ts-ignore\n\n\n return v.apply(void 0, args);\n } else {\n return v;\n }\n}\n\nfunction resolveWith(config, resolvers) {\n if (config === void 0) {\n config = {};\n }\n\n var result = {};\n\n for (var _i = 0, _Object$entries = Object.entries(resolvers); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _Object$entries[_i],\n key = _Object$entries$_i[0],\n resolver = _Object$entries$_i[1];\n\n switch (typeof resolver) {\n case 'function':\n result[key] = resolver.call(result, config[key], key, config);\n break;\n\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n\n return result;\n}\n/**\r\n * Whether the browser supports GestureEvent (ie Safari)\r\n * @returns true if the browser supports gesture event\r\n */\n\n\nfunction supportsGestureEvents() {\n try {\n // TODO [TS] possibly find GestureEvent definitions?\n // @ts-ignore: no type definitions for webkit GestureEvents\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\n\nfunction supportsTouchEvents() {\n return typeof window !== 'undefined' && 'ontouchstart' in window;\n}\n\nfunction supportsPointerEvents() {\n return typeof window !== 'undefined' && 'onpointerdown' in window;\n}\n\nfunction getEventTouches(event) {\n if ('pointerId' in event) return null;\n return event.type === 'touchend' ? event.changedTouches : event.targetTouches;\n}\n\nfunction getTouchIds(event) {\n return Array.from(getEventTouches(event)).map(function (t) {\n return t.identifier;\n });\n}\n\nfunction getGenericEventData(event) {\n var buttons = 'buttons' in event ? event.buttons : 0;\n var shiftKey = event.shiftKey,\n altKey = event.altKey,\n metaKey = event.metaKey,\n ctrlKey = event.ctrlKey; // TODO check if this might create some overrides?\n\n return {\n buttons: buttons,\n shiftKey: shiftKey,\n altKey: altKey,\n metaKey: metaKey,\n ctrlKey: ctrlKey\n };\n}\n\nvar identity = function identity(xy) {\n return xy;\n};\n/**\r\n * Gets pointer event values.\r\n * @param event\r\n * @returns pointer event values\r\n */\n\n\nfunction getPointerEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n var touchEvents = getEventTouches(event);\n\n var _ref = touchEvents ? touchEvents[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n return transform([clientX, clientY]);\n}\n/**\r\n * Gets two touches event data\r\n * @param event\r\n * @returns two touches event data\r\n */\n\n\nfunction getTwoTouchesEventValues(event, pointerIds, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n var _Array$from$filter = Array.from(event.touches).filter(function (t) {\n return pointerIds.includes(t.identifier);\n }),\n A = _Array$from$filter[0],\n B = _Array$from$filter[1];\n\n if (!A || !B) throw Error(\"The event doesn't have two pointers matching the pointerIds\");\n var dx = B.clientX - A.clientX;\n var dy = B.clientY - A.clientY;\n var cx = (B.clientX + A.clientX) / 2;\n var cy = (B.clientY + A.clientY) / 2; // const e: any = 'nativeEvent' in event ? event.nativeEvent : event\n\n var distance = Math.hypot(dx, dy); // FIXME rotation has inconsistant values so we're not using it atm\n // const angle = (e.rotation as number) ?? -(Math.atan2(dx, dy) * 180) / Math.PI\n\n var angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n var values = transform([distance, angle]);\n var origin = transform([cx, cy]);\n return {\n values: values,\n origin: origin\n };\n}\n/**\r\n * Gets scroll event values\r\n * @param event\r\n * @returns scroll event values\r\n */\n\n\nfunction getScrollEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n } // If the currentTarget is the window then we return the scrollX/Y position.\n // If not (ie the currentTarget is a DOM element), then we return scrollLeft/Top\n\n\n var _event$currentTarget = event.currentTarget,\n scrollX = _event$currentTarget.scrollX,\n scrollY = _event$currentTarget.scrollY,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollTop = _event$currentTarget.scrollTop;\n return transform([scrollX || scrollLeft || 0, scrollY || scrollTop || 0]);\n} // wheel delta defaults from https://github.com/facebookarchive/fixed-data-table/blob/master/src/vendor_upstream/dom/normalizeWheel.js\n\n\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n/**\r\n * Gets wheel event values.\r\n * @param event\r\n * @returns wheel event values\r\n */\n\nfunction getWheelEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n var deltaX = event.deltaX,\n deltaY = event.deltaY,\n deltaMode = event.deltaMode; // normalize wheel values, especially for Firefox\n\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n\n return transform([deltaX, deltaY]);\n}\n/**\r\n * Gets webkit gesture event values.\r\n * @param event\r\n * @returns webkit gesture event values\r\n */\n\n\nfunction getWebkitGestureEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n return transform([event.scale, event.rotation]);\n}\n\nvar DEFAULT_DRAG_DELAY = 180;\nvar DEFAULT_RUBBERBAND = 0.15;\nvar DEFAULT_SWIPE_VELOCITY = 0.5;\nvar DEFAULT_SWIPE_DISTANCE = 50;\nvar DEFAULT_SWIPE_DURATION = 250;\nvar InternalGestureOptionsNormalizers = {\n threshold: function threshold(value) {\n if (value === void 0) {\n value = 0;\n }\n\n return ensureVector(value);\n },\n rubberband: function rubberband(value) {\n if (value === void 0) {\n value = 0;\n }\n\n switch (value) {\n case true:\n return ensureVector(DEFAULT_RUBBERBAND);\n\n case false:\n return ensureVector(0);\n\n default:\n return ensureVector(value);\n }\n },\n enabled: function enabled(value) {\n if (value === void 0) {\n value = true;\n }\n\n return value;\n },\n triggerAllEvents: function triggerAllEvents(value) {\n if (value === void 0) {\n value = false;\n }\n\n return value;\n },\n initial: function initial(value) {\n if (value === void 0) {\n value = 0;\n }\n\n if (typeof value === 'function') return value;\n return ensureVector(value);\n },\n transform: true\n};\n\nvar InternalCoordinatesOptionsNormalizers = /*#__PURE__*/_extends({}, InternalGestureOptionsNormalizers, {\n axis: true,\n lockDirection: function lockDirection(value) {\n if (value === void 0) {\n value = false;\n }\n\n return value;\n },\n bounds: function bounds(value) {\n if (value === void 0) {\n value = {};\n }\n\n if (typeof value === 'function') return function (state) {\n return InternalCoordinatesOptionsNormalizers.bounds(value(state));\n };\n var _value2 = value,\n _value2$left = _value2.left,\n left = _value2$left === void 0 ? -Infinity : _value2$left,\n _value2$right = _value2.right,\n right = _value2$right === void 0 ? Infinity : _value2$right,\n _value2$top = _value2.top,\n top = _value2$top === void 0 ? -Infinity : _value2$top,\n _value2$bottom = _value2.bottom,\n bottom = _value2$bottom === void 0 ? Infinity : _value2$bottom;\n return [[left, right], [top, bottom]];\n }\n});\n\nvar isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nvar InternalGenericOptionsNormalizers = {\n enabled: function enabled(value) {\n if (value === void 0) {\n value = true;\n }\n\n return value;\n },\n domTarget: true,\n window: /*#__PURE__*/function (_window) {\n function window(_x) {\n return _window.apply(this, arguments);\n }\n\n window.toString = function () {\n return _window.toString();\n };\n\n return window;\n }(function (value) {\n if (value === void 0) {\n value = isBrowser ? window : undefined;\n }\n\n return value;\n }),\n eventOptions: function eventOptions(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$passive = _ref.passive,\n passive = _ref$passive === void 0 ? true : _ref$passive,\n _ref$capture = _ref.capture,\n capture = _ref$capture === void 0 ? false : _ref$capture;\n\n return {\n passive: passive,\n capture: capture\n };\n },\n transform: true\n};\n\nvar InternalDistanceAngleOptionsNormalizers = /*#__PURE__*/_extends({}, InternalGestureOptionsNormalizers, {\n bounds: function bounds(_value, _key, _ref2) {\n var _ref2$distanceBounds = _ref2.distanceBounds,\n distanceBounds = _ref2$distanceBounds === void 0 ? {} : _ref2$distanceBounds,\n _ref2$angleBounds = _ref2.angleBounds,\n angleBounds = _ref2$angleBounds === void 0 ? {} : _ref2$angleBounds;\n\n var _distanceBounds = function _distanceBounds(state) {\n var D = assignDefault(valueFn(distanceBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n\n var _angleBounds = function _angleBounds(state) {\n var A = assignDefault(valueFn(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n\n if (typeof distanceBounds !== 'function' && typeof angleBounds !== 'function') return [_distanceBounds(), _angleBounds()];\n return function (state) {\n return [_distanceBounds(state), _angleBounds(state)];\n };\n }\n});\n\nvar InternalDragOptionsNormalizers = /*#__PURE__*/_extends({}, InternalCoordinatesOptionsNormalizers, {\n useTouch: function useTouch(value) {\n if (value === void 0) {\n value = false;\n }\n\n var supportsTouch = supportsTouchEvents();\n var supportsPointer = supportsPointerEvents();\n if (value && supportsTouch) return true;\n if (supportsTouch && !supportsPointer) return true;\n return false;\n },\n experimental_preventWindowScrollY: function experimental_preventWindowScrollY(value) {\n if (value === void 0) {\n value = false;\n }\n\n return value;\n },\n threshold: function threshold(v, _k, _ref3) {\n var _ref3$filterTaps = _ref3.filterTaps,\n filterTaps = _ref3$filterTaps === void 0 ? false : _ref3$filterTaps,\n _ref3$lockDirection = _ref3.lockDirection,\n lockDirection = _ref3$lockDirection === void 0 ? false : _ref3$lockDirection,\n _ref3$axis = _ref3.axis,\n axis = _ref3$axis === void 0 ? undefined : _ref3$axis;\n var A = ensureVector(v, filterTaps ? 3 : lockDirection ? 1 : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n return A;\n },\n swipeVelocity: function swipeVelocity(v) {\n if (v === void 0) {\n v = DEFAULT_SWIPE_VELOCITY;\n }\n\n return ensureVector(v);\n },\n swipeDistance: function swipeDistance(v) {\n if (v === void 0) {\n v = DEFAULT_SWIPE_DISTANCE;\n }\n\n return ensureVector(v);\n },\n swipeDuration: function swipeDuration(value) {\n if (value === void 0) {\n value = DEFAULT_SWIPE_DURATION;\n }\n\n return value;\n },\n delay: function delay(value) {\n if (value === void 0) {\n value = 0;\n }\n\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n\n case false:\n return 0;\n\n default:\n return value;\n }\n }\n});\n\nfunction getInternalGenericOptions(config) {\n if (config === void 0) {\n config = {};\n } // TODO warn when passive is set to true and domTarget is undefined\n\n\n return resolveWith(config, InternalGenericOptionsNormalizers);\n}\n\nfunction getInternalCoordinatesOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n return resolveWith(config, InternalCoordinatesOptionsNormalizers);\n}\n\nfunction getInternalDistanceAngleOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n return resolveWith(config, InternalDistanceAngleOptionsNormalizers);\n}\n\nfunction getInternalDragOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n return resolveWith(config, InternalDragOptionsNormalizers);\n}\n\nfunction _buildMoveConfig(_ref) {\n var domTarget = _ref.domTarget,\n eventOptions = _ref.eventOptions,\n window = _ref.window,\n enabled = _ref.enabled,\n rest = _objectWithoutPropertiesLoose(_ref, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.move = getInternalCoordinatesOptions(rest);\n return opts;\n}\n\nfunction _buildHoverConfig(_ref2) {\n var domTarget = _ref2.domTarget,\n eventOptions = _ref2.eventOptions,\n window = _ref2.window,\n enabled = _ref2.enabled,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.hover = _extends({\n enabled: true\n }, rest);\n return opts;\n}\n\nfunction _buildDragConfig(_ref3) {\n var domTarget = _ref3.domTarget,\n eventOptions = _ref3.eventOptions,\n window = _ref3.window,\n enabled = _ref3.enabled,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.drag = getInternalDragOptions(rest);\n return opts;\n}\n\nfunction _buildPinchConfig(_ref4) {\n var domTarget = _ref4.domTarget,\n eventOptions = _ref4.eventOptions,\n window = _ref4.window,\n enabled = _ref4.enabled,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.pinch = getInternalDistanceAngleOptions(rest);\n return opts;\n}\n\nfunction _buildScrollConfig(_ref5) {\n var domTarget = _ref5.domTarget,\n eventOptions = _ref5.eventOptions,\n window = _ref5.window,\n enabled = _ref5.enabled,\n rest = _objectWithoutPropertiesLoose(_ref5, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.scroll = getInternalCoordinatesOptions(rest);\n return opts;\n}\n\nfunction _buildWheelConfig(_ref6) {\n var domTarget = _ref6.domTarget,\n eventOptions = _ref6.eventOptions,\n window = _ref6.window,\n enabled = _ref6.enabled,\n rest = _objectWithoutPropertiesLoose(_ref6, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.wheel = getInternalCoordinatesOptions(rest);\n return opts;\n}\n\nfunction buildComplexConfig(config, actions) {\n if (config === void 0) {\n config = {};\n }\n\n if (actions === void 0) {\n actions = new Set();\n }\n\n var _config = config,\n drag = _config.drag,\n wheel = _config.wheel,\n move = _config.move,\n scroll = _config.scroll,\n pinch = _config.pinch,\n hover = _config.hover,\n eventOptions = _config.eventOptions,\n window = _config.window,\n transform = _config.transform,\n domTarget = _config.domTarget,\n enabled = _config.enabled;\n var mergedConfig = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n transform: transform,\n window: window,\n enabled: enabled\n });\n if (actions.has('onDrag')) mergedConfig.drag = getInternalDragOptions(drag);\n if (actions.has('onWheel')) mergedConfig.wheel = getInternalCoordinatesOptions(wheel);\n if (actions.has('onScroll')) mergedConfig.scroll = getInternalCoordinatesOptions(scroll);\n if (actions.has('onMove')) mergedConfig.move = getInternalCoordinatesOptions(move);\n if (actions.has('onPinch')) mergedConfig.pinch = getInternalDistanceAngleOptions(pinch);\n if (actions.has('onHover')) mergedConfig.hover = _extends({\n enabled: true\n }, hover);\n return mergedConfig;\n}\n\nfunction getInitial(mixed) {\n return _extends({\n _active: false,\n _blocked: false,\n _intentional: [false, false],\n _movement: [0, 0],\n _initial: [0, 0],\n _bounds: [[-Infinity, Infinity], [-Infinity, Infinity]],\n _threshold: [0, 0],\n _lastEventType: undefined,\n _dragStarted: false,\n _dragPreventScroll: false,\n _dragIsTap: true,\n _dragDelayed: false,\n event: undefined,\n intentional: false,\n values: [0, 0],\n velocities: [0, 0],\n delta: [0, 0],\n movement: [0, 0],\n offset: [0, 0],\n lastOffset: [0, 0],\n direction: [0, 0],\n initial: [0, 0],\n previous: [0, 0],\n first: false,\n last: false,\n active: false,\n timeStamp: 0,\n startTime: 0,\n elapsedTime: 0,\n cancel: noop,\n canceled: false,\n memo: undefined,\n args: undefined\n }, mixed);\n}\n\nfunction getInitialState() {\n var shared = {\n hovering: false,\n scrolling: false,\n wheeling: false,\n dragging: false,\n moving: false,\n pinching: false,\n touches: 0,\n buttons: 0,\n down: false,\n shiftKey: false,\n altKey: false,\n metaKey: false,\n ctrlKey: false,\n locked: false\n };\n var drag = getInitial({\n _pointerId: undefined,\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0,\n tap: false,\n swipe: [0, 0]\n });\n var pinch = getInitial({\n // @ts-expect-error when used _pointerIds we can assert its type will be [number, number]\n _pointerIds: [],\n da: [0, 0],\n vdva: [0, 0],\n // @ts-expect-error origin can never be passed as undefined in userland\n origin: undefined,\n turns: 0\n });\n var wheel = getInitial({\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0\n });\n var move = getInitial({\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0\n });\n var scroll = getInitial({\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0\n });\n return {\n shared: shared,\n drag: drag,\n pinch: pinch,\n wheel: wheel,\n move: move,\n scroll: scroll\n };\n}\n\nvar RecognizersMap = /*#__PURE__*/new Map();\n\nvar identity$1 = function identity(xy) {\n return xy;\n};\n/**\r\n * @private\r\n * Recognizer abstract class.\r\n */\n\n\nvar Recognizer = /*#__PURE__*/function () {\n /**\r\n * Creates an instance of a gesture recognizer.\r\n * @param stateKey drag, move, pinch, etc.\r\n * @param controller the controller attached to the gesture\r\n * @param [args] the args that should be passed to the gesture handler\r\n */\n function Recognizer(controller, args) {\n var _this = this;\n\n if (args === void 0) {\n args = [];\n }\n\n this.controller = controller;\n this.args = args;\n this.debounced = true; // Convenience method to set a timeout for a given gesture\n\n this.setTimeout = function (callback, ms) {\n var _window;\n\n if (ms === void 0) {\n ms = 140;\n }\n\n clearTimeout(_this.controller.timeouts[_this.stateKey]);\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n _this.controller.timeouts[_this.stateKey] = (_window = window).setTimeout.apply(_window, [callback, ms].concat(args));\n }; // Convenience method to clear a timeout for a given gesture\n\n\n this.clearTimeout = function () {\n clearTimeout(_this.controller.timeouts[_this.stateKey]);\n };\n /**\r\n * Fires the gesture handler\r\n */\n\n\n this.fireGestureHandler = function (forceFlag) {\n if (forceFlag === void 0) {\n forceFlag = false;\n }\n /**\r\n * If the gesture has been blocked (this can happen when the gesture has started in an unwanted direction),\r\n * clean everything and don't do anything.\r\n */\n\n\n if (_this.state._blocked) {\n // we need debounced gestures to end by themselves\n if (!_this.debounced) {\n _this.state._active = false;\n\n _this.clean();\n }\n\n return null;\n } // If the gesture has no intentional dimension, don't fire the handler.\n\n\n if (!forceFlag && !_this.state.intentional && !_this.config.triggerAllEvents) return null;\n\n if (_this.state.intentional) {\n var prev_active = _this.state.active;\n var next_active = _this.state._active;\n _this.state.active = next_active;\n _this.state.first = next_active && !prev_active;\n _this.state.last = prev_active && !next_active;\n _this.controller.state.shared[_this.ingKey] = next_active; // Sets dragging, pinching, etc. to the gesture active state\n }\n\n var touches = _this.controller.pointerIds.size || _this.controller.touchIds.size;\n var down = _this.controller.state.shared.buttons > 0 || touches > 0;\n\n var state = _extends({}, _this.controller.state.shared, _this.state, _this.mapStateValues(_this.state), {\n locked: !!document.pointerLockElement,\n touches: touches,\n down: down\n }); // @ts-expect-error\n\n\n var newMemo = _this.handler(state); // Sets memo to the returned value of the handler (unless it's not undefined)\n\n\n _this.state.memo = newMemo !== void 0 ? newMemo : _this.state.memo;\n return state;\n };\n\n this.controller = controller;\n this.args = args;\n } // Returns the gesture config\n\n\n var _proto = Recognizer.prototype; // Convenience method to update the shared state\n\n _proto.updateSharedState = function updateSharedState(sharedState) {\n Object.assign(this.controller.state.shared, sharedState);\n } // Convenience method to update the gesture state\n ;\n\n _proto.updateGestureState = function updateGestureState(gestureState) {\n Object.assign(this.state, gestureState);\n }\n /**\r\n * Returns state properties depending on the movement and state.\r\n *\r\n * Should be overriden for custom behavior, doesn't do anything in the implementation\r\n * below.\r\n */\n ;\n\n _proto.checkIntentionality = function checkIntentionality(_intentional, _movement) {\n return {\n _intentional: _intentional,\n _blocked: false\n };\n }\n /**\r\n * Returns basic movement properties for the gesture based on the next values and current state.\r\n */\n ;\n\n _proto.getMovement = function getMovement(values) {\n var rubberband = this.config.rubberband;\n var _this$state = this.state,\n _bounds = _this$state._bounds,\n _initial = _this$state._initial,\n _active = _this$state._active,\n wasIntentional = _this$state._intentional,\n lastOffset = _this$state.lastOffset,\n prevMovement = _this$state.movement,\n _T = _this$state._threshold;\n var M = this.getInternalMovement(values, this.state);\n var i0 = wasIntentional[0] === false ? getIntentionalDisplacement(M[0], _T[0]) : wasIntentional[0];\n var i1 = wasIntentional[1] === false ? getIntentionalDisplacement(M[1], _T[1]) : wasIntentional[1]; // Get gesture specific state properties based on intentionality and movement.\n\n var intentionalityCheck = this.checkIntentionality([i0, i1], M);\n\n if (intentionalityCheck._blocked) {\n return _extends({}, intentionalityCheck, {\n _movement: M,\n delta: [0, 0]\n });\n }\n\n var _intentional = intentionalityCheck._intentional;\n var _movement = M;\n /**\r\n * The movement sent to the handler has 0 in its dimensions when intentionality is false.\r\n * It is calculated from the actual movement minus the threshold.\r\n */\n\n var movement = [_intentional[0] !== false ? M[0] - _intentional[0] : 0, _intentional[1] !== false ? M[1] - _intentional[1] : 0];\n var offset = addV(movement, lastOffset);\n /**\r\n * Rubberband should be 0 when the gesture is no longer active, so that movement\r\n * and offset can return within their bounds.\r\n */\n\n var _rubberband = _active ? rubberband : [0, 0];\n\n movement = computeRubberband(_bounds, addV(movement, _initial), _rubberband);\n return _extends({}, intentionalityCheck, {\n intentional: _intentional[0] !== false || _intentional[1] !== false,\n _initial: _initial,\n _movement: _movement,\n movement: movement,\n values: values,\n offset: computeRubberband(_bounds, offset, _rubberband),\n delta: subV(movement, prevMovement)\n });\n } // Cleans the gesture. Can be overriden by gestures.\n ;\n\n _proto.clean = function clean() {\n this.clearTimeout();\n };\n\n _createClass(Recognizer, [{\n key: \"config\",\n get: function get() {\n return this.controller.config[this.stateKey];\n } // Is the gesture enabled\n\n }, {\n key: \"enabled\",\n get: function get() {\n return this.controller.config.enabled && this.config.enabled;\n } // Returns the controller state for a given gesture\n\n }, {\n key: \"state\",\n get: function get() {\n return this.controller.state[this.stateKey];\n } // Returns the gesture handler\n\n }, {\n key: \"handler\",\n get: function get() {\n return this.controller.handlers[this.stateKey];\n }\n }, {\n key: \"transform\",\n get: function get() {\n return this.config.transform || this.controller.config.transform || identity$1;\n }\n }]);\n\n return Recognizer;\n}(); //--------------------------------------------\n\n\nfunction getIntentionalDisplacement(movement, threshold) {\n if (Math.abs(movement) >= threshold) {\n return sign(movement) * threshold;\n } else {\n return false;\n }\n}\n\nfunction computeRubberband(bounds, _ref, _ref2) {\n var Vx = _ref[0],\n Vy = _ref[1];\n var Rx = _ref2[0],\n Ry = _ref2[1];\n var _bounds$ = bounds[0],\n X1 = _bounds$[0],\n X2 = _bounds$[1],\n _bounds$2 = bounds[1],\n Y1 = _bounds$2[0],\n Y2 = _bounds$2[1];\n return [rubberbandIfOutOfBounds(Vx, X1, X2, Rx), rubberbandIfOutOfBounds(Vy, Y1, Y2, Ry)];\n}\n/**\r\n * Returns a generic, common payload for all gestures from an event.\r\n */\n\n\nfunction getGenericPayload(_ref3, event, isStartEvent) {\n var state = _ref3.state;\n var timeStamp = event.timeStamp,\n _lastEventType = event.type;\n var previous = state.values;\n var elapsedTime = isStartEvent ? 0 : timeStamp - state.startTime;\n return {\n _lastEventType: _lastEventType,\n event: event,\n timeStamp: timeStamp,\n elapsedTime: elapsedTime,\n previous: previous\n };\n}\n/**\r\n * Returns the reinitialized start state for the gesture.\r\n * Should be common to all gestures.\r\n */\n\n\nfunction getStartGestureState(_ref4, values, event, initial) {\n var state = _ref4.state,\n config = _ref4.config,\n stateKey = _ref4.stateKey,\n args = _ref4.args,\n transform = _ref4.transform;\n var offset = state.offset;\n var startTime = event.timeStamp;\n var initialFn = config.initial,\n bounds = config.bounds,\n threshold = config.threshold; // the _threshold is the difference between a [0,0] offset converted to\n // its new space coordinates\n\n var _threshold = subV(transform(threshold), transform([0, 0])).map(Math.abs);\n\n var _state = _extends({}, getInitialState()[stateKey], {\n _active: true,\n args: args,\n values: values,\n initial: initial != null ? initial : values,\n _threshold: _threshold,\n offset: offset,\n lastOffset: offset,\n startTime: startTime\n });\n\n return _extends({}, _state, {\n _initial: valueFn(initialFn, _state),\n _bounds: valueFn(bounds, _state)\n });\n}\n/**\r\n * The controller will keep track of the state for all gestures and also keep\r\n * track of timeouts, and window listeners.\r\n */\n\n\nvar Controller = function Controller(classes) {\n var _this = this;\n\n this.classes = classes;\n this.pointerIds = new Set(); // register Pointer Events pointerIds\n\n this.touchIds = new Set(); // register Touch Events identifiers\n\n this.supportsTouchEvents = supportsTouchEvents();\n this.supportsGestureEvents = supportsGestureEvents();\n\n this.bind = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var bindings = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(_this.classes), _step; !(_step = _iterator()).done;) {\n var RecognizerClass = _step.value;\n new RecognizerClass(_this, args).addBindings(bindings);\n } // // we also add event bindings for native handlers\n\n\n var _loop = function _loop(eventKey) {\n addBindings(bindings, eventKey, function (event) {\n return _this.nativeRefs[eventKey](_extends({}, _this.state.shared, {\n event: event,\n args: args\n }));\n });\n };\n\n for (var eventKey in _this.nativeRefs) {\n _loop(eventKey);\n }\n\n if (_this.config.domTarget) {\n // If config.domTarget is set we add event listeners to it and return the clean function.\n return updateDomListeners(_this, bindings);\n } else {\n // If not, we return an object that contains gesture handlers mapped to react handler event keys.\n return getPropsListener(_this, bindings);\n }\n };\n\n this.effect = function () {\n if (_this.config.domTarget) _this.bind();\n return _this.clean;\n };\n /**\r\n * Function ran on component unmount: cleans timeouts and removes dom listeners set by the bind function.\r\n */\n\n\n this.clean = function () {\n var domTarget = getDomTargetFromConfig(_this.config);\n var eventOptions = _this.config.eventOptions;\n if (domTarget) removeListeners(domTarget, takeAll(_this.domListeners), eventOptions);\n Object.values(_this.timeouts).forEach(clearTimeout);\n clearAllWindowListeners(_this);\n };\n\n this.classes = classes;\n this.state = getInitialState();\n this.timeouts = {};\n this.domListeners = [];\n this.windowListeners = {};\n};\n\nfunction addEventIds(controller, event) {\n if ('pointerId' in event) {\n controller.pointerIds.add(event.pointerId);\n } else {\n controller.touchIds = new Set(getTouchIds(event));\n }\n}\n\nfunction removeEventIds(controller, event) {\n if ('pointerId' in event) {\n controller.pointerIds[\"delete\"](event.pointerId);\n } else {\n getTouchIds(event).forEach(function (id) {\n return controller.touchIds[\"delete\"](id);\n });\n }\n}\n\nfunction clearAllWindowListeners(controller) {\n var _controller$config = controller.config,\n el = _controller$config.window,\n eventOptions = _controller$config.eventOptions,\n windowListeners = controller.windowListeners;\n if (!el) return;\n\n for (var stateKey in windowListeners) {\n var handlers = windowListeners[stateKey];\n removeListeners(el, handlers, eventOptions);\n }\n\n controller.windowListeners = {};\n}\n\nfunction clearWindowListeners(_ref, stateKey, options) {\n var config = _ref.config,\n windowListeners = _ref.windowListeners;\n\n if (options === void 0) {\n options = config.eventOptions;\n }\n\n if (!config.window) return;\n removeListeners(config.window, windowListeners[stateKey], options);\n delete windowListeners[stateKey];\n}\n\nfunction updateWindowListeners(_ref2, stateKey, listeners, options) {\n var config = _ref2.config,\n windowListeners = _ref2.windowListeners;\n\n if (listeners === void 0) {\n listeners = [];\n }\n\n if (options === void 0) {\n options = config.eventOptions;\n }\n\n if (!config.window) return;\n removeListeners(config.window, windowListeners[stateKey], options);\n addListeners(config.window, windowListeners[stateKey] = listeners, options);\n}\n\nfunction updateDomListeners(_ref3, bindings) {\n var config = _ref3.config,\n domListeners = _ref3.domListeners;\n var domTarget = getDomTargetFromConfig(config);\n if (!domTarget) throw new Error('domTarget must be defined');\n var eventOptions = config.eventOptions;\n removeListeners(domTarget, takeAll(domListeners), eventOptions);\n\n for (var _i = 0, _Object$entries = Object.entries(bindings); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _Object$entries[_i],\n key = _Object$entries$_i[0],\n fns = _Object$entries$_i[1];\n var name = key.slice(2).toLowerCase();\n domListeners.push([name, chainFns.apply(void 0, fns)]);\n }\n\n addListeners(domTarget, domListeners, eventOptions);\n}\n\nfunction getPropsListener(_ref4, bindings) {\n var config = _ref4.config;\n var props = {};\n var captureString = config.eventOptions.capture ? 'Capture' : '';\n\n for (var _i2 = 0, _Object$entries2 = Object.entries(bindings); _i2 < _Object$entries2.length; _i2++) {\n var _Object$entries2$_i = _Object$entries2[_i2],\n event = _Object$entries2$_i[0],\n fns = _Object$entries2$_i[1];\n var fnsArray = Array.isArray(fns) ? fns : [fns];\n var key = event + captureString;\n props[key] = chainFns.apply(void 0, fnsArray);\n }\n\n return props;\n}\n\nfunction takeAll(array) {\n if (array === void 0) {\n array = [];\n }\n\n return array.splice(0, array.length);\n}\n\nfunction getDomTargetFromConfig(_ref5) {\n var domTarget = _ref5.domTarget;\n return domTarget && 'current' in domTarget ? domTarget.current : domTarget;\n}\n/**\r\n * bindings is an object which keys match ReactEventHandlerKeys.\r\n * Since a recognizer might want to bind a handler function to an event key already used by a previously\r\n * added recognizer, we need to make sure that each event key is an array of all the functions mapped for\r\n * that key.\r\n */\n\n\nfunction addBindings(bindings, name, fn) {\n if (!bindings[name]) bindings[name] = [];\n bindings[name].push(fn);\n}\n\nfunction addListeners(el, listeners, options) {\n if (listeners === void 0) {\n listeners = [];\n }\n\n if (options === void 0) {\n options = {};\n }\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(listeners), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n eventName = _step2$value[0],\n eventHandler = _step2$value[1];\n el.addEventListener(eventName, eventHandler, options);\n }\n}\n\nfunction removeListeners(el, listeners, options) {\n if (listeners === void 0) {\n listeners = [];\n }\n\n if (options === void 0) {\n options = {};\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(listeners), _step3; !(_step3 = _iterator3()).done;) {\n var _step3$value = _step3.value,\n eventName = _step3$value[0],\n eventHandler = _step3$value[1];\n el.removeEventListener(eventName, eventHandler, options);\n }\n}\n/* eslint-disable react-hooks/exhaustive-deps */\n\n/**\r\n * Utility hook called by all gesture hooks and that will be responsible for the internals.\r\n *\r\n * @param handlers\r\n * @param classes\r\n * @param config\r\n * @param nativeHandlers - native handlers such as onClick, onMouseDown, etc.\r\n */\n\n\nfunction useRecognizers(handlers, config, nativeHandlers) {\n if (nativeHandlers === void 0) {\n nativeHandlers = {};\n }\n\n var classes = resolveClasses(handlers);\n var controller = React.useMemo(function () {\n return new Controller(classes);\n }, []);\n controller.config = config;\n controller.handlers = handlers;\n controller.nativeRefs = nativeHandlers;\n React.useEffect(controller.effect, []); // @ts-ignore\n\n if (controller.config.domTarget) return deprecationNoticeForDomTarget; // @ts-ignore\n\n return controller.bind;\n}\n\nfunction deprecationNoticeForDomTarget() {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\"Deprecation notice: When the `domTarget` option is specified, you don't need to write `useEffect(bind, [bind])` anymore: event binding is now made handled internally to this lib.\\n\\nNext version won't return anything when `domTarget` is provided, therefore your code will break if you try to call `useEffect`.\");\n }\n}\n\nfunction resolveClasses(internalHandlers) {\n var classes = new Set();\n if (internalHandlers.drag) classes.add(RecognizersMap.get('drag'));\n if (internalHandlers.wheel) classes.add(RecognizersMap.get('wheel'));\n if (internalHandlers.scroll) classes.add(RecognizersMap.get('scroll'));\n if (internalHandlers.move) classes.add(RecognizersMap.get('move'));\n if (internalHandlers.pinch) classes.add(RecognizersMap.get('pinch'));\n if (internalHandlers.hover) classes.add(RecognizersMap.get('hover'));\n return classes;\n}\n/**\r\n * @private\r\n * Abstract class for coordinates-based gesture recongizers\r\n */\n\n\nvar CoordinatesRecognizer = /*#__PURE__*/function (_Recognizer) {\n _inheritsLoose(CoordinatesRecognizer, _Recognizer);\n\n function CoordinatesRecognizer() {\n return _Recognizer.apply(this, arguments) || this;\n }\n\n var _proto = CoordinatesRecognizer.prototype;\n /**\r\n * Returns the real movement (without taking intentionality into account)\r\n */\n\n _proto.getInternalMovement = function getInternalMovement(values, state) {\n return subV(values, state.initial);\n }\n /**\r\n * In coordinates-based gesture, this function will detect the first intentional axis,\r\n * lock the gesture axis if lockDirection is specified in the config, block the gesture\r\n * if the first intentional axis doesn't match the specified axis in config.\r\n */\n ;\n\n _proto.checkIntentionality = function checkIntentionality(_intentional, _movement) {\n if (_intentional[0] === false && _intentional[1] === false) {\n return {\n _intentional: _intentional,\n axis: this.state.axis\n };\n }\n\n var _movement$map = _movement.map(Math.abs),\n absX = _movement$map[0],\n absY = _movement$map[1];\n\n var axis = this.state.axis || (absX > absY ? 'x' : absX < absY ? 'y' : undefined);\n if (!this.config.axis && !this.config.lockDirection) return {\n _intentional: _intentional,\n _blocked: false,\n axis: axis\n };\n if (!axis) return {\n _intentional: [false, false],\n _blocked: false,\n axis: axis\n };\n if (!!this.config.axis && axis !== this.config.axis) return {\n _intentional: _intentional,\n _blocked: true,\n axis: axis\n };\n _intentional[axis === 'x' ? 1 : 0] = false;\n return {\n _intentional: _intentional,\n _blocked: false,\n axis: axis\n };\n };\n\n _proto.getKinematics = function getKinematics(values, event) {\n var state = this.getMovement(values);\n\n if (!state._blocked) {\n var dt = event.timeStamp - this.state.timeStamp;\n Object.assign(state, calculateAllKinematics(state.movement, state.delta, dt));\n }\n\n return state;\n };\n\n _proto.mapStateValues = function mapStateValues(state) {\n return {\n xy: state.values,\n vxvy: state.velocities\n };\n };\n\n return CoordinatesRecognizer;\n}(Recognizer);\n\nvar TAP_DISTANCE_THRESHOLD = 3;\n\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nvar DragRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(DragRecognizer, _CoordinatesRecognize);\n\n function DragRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'dragging';\n _this.stateKey = 'drag'; // TODO add back when setPointerCapture is widely wupported\n // https://caniuse.com/#search=setPointerCapture\n\n _this.setPointerCapture = function (event) {\n // don't perform pointere capture when user wants to use touch events or\n // when a pointerLockElement exists as this would throw an error\n if (_this.config.useTouch || document.pointerLockElement) return;\n var target = event.target,\n pointerId = event.pointerId;\n\n if (target && 'setPointerCapture' in target) {\n // this would work in the DOM but doesn't with react three fiber\n // target.addEventListener('pointermove', this.onDragChange, this.controller.config.eventOptions)\n // @ts-expect-error\n target.setPointerCapture(pointerId);\n }\n\n _this.updateGestureState({\n _dragTarget: target,\n _dragPointerId: pointerId\n });\n };\n\n _this.releasePointerCapture = function () {\n if (_this.config.useTouch || document.pointerLockElement) return;\n var _this$state = _this.state,\n _dragTarget = _this$state._dragTarget,\n _dragPointerId = _this$state._dragPointerId;\n\n if (_dragPointerId && _dragTarget && 'releasePointerCapture' in _dragTarget) {\n // this would work in the DOM but doesn't with react three fiber\n // target.removeEventListener('pointermove', this.onDragChange, this.controller.config.eventOptions)\n if (!('hasPointerCapture' in _dragTarget) || _dragTarget.hasPointerCapture(_dragPointerId)) try {\n _dragTarget.releasePointerCapture(_dragPointerId);\n } catch (e) {}\n }\n };\n\n _this.preventScroll = function (event) {\n if (_this.state._dragPreventScroll && event.cancelable) {\n event.preventDefault();\n }\n };\n\n _this.getEventId = function (event) {\n if (_this.config.useTouch) return event.changedTouches[0].identifier;\n return event.pointerId;\n };\n\n _this.isValidEvent = function (event) {\n // if we were using pointer events only event.isPrimary === 1 would suffice\n return _this.state._pointerId === _this.getEventId(event);\n };\n\n _this.shouldPreventWindowScrollY = _this.config.experimental_preventWindowScrollY && _this.controller.supportsTouchEvents;\n\n _this.setUpWindowScrollDetection = function (event) {\n persistEvent(event); // we add window listeners that will prevent the scroll when the user has started dragging\n\n updateWindowListeners(_this.controller, _this.stateKey, [['touchmove', _this.preventScroll], ['touchend', _this.clean.bind(_assertThisInitialized(_this))], ['touchcancel', _this.clean.bind(_assertThisInitialized(_this))]], {\n passive: false\n });\n\n _this.setTimeout(_this.startDrag.bind(_assertThisInitialized(_this)), 250, event);\n };\n\n _this.setUpDelayedDragTrigger = function (event) {\n _this.state._dragDelayed = true;\n persistEvent(event);\n\n _this.setTimeout(_this.startDrag.bind(_assertThisInitialized(_this)), _this.config.delay, event);\n };\n\n _this.setStartState = function (event) {\n var values = getPointerEventValues(event, _this.transform);\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true), {\n _pointerId: _this.getEventId(event)\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n };\n\n _this.onDragStart = function (event) {\n addEventIds(_this.controller, event);\n if (!_this.enabled || _this.state._active) return;\n\n _this.setStartState(event);\n\n _this.setPointerCapture(event);\n\n if (_this.shouldPreventWindowScrollY) _this.setUpWindowScrollDetection(event);else if (_this.config.delay > 0) _this.setUpDelayedDragTrigger(event);else _this.startDrag(event, true); // we pass the values to the startDrag event\n };\n\n _this.onDragChange = function (event) {\n if ( // if the gesture was canceled or\n _this.state.canceled || // if onDragStart wasn't fired or\n !_this.state._active || // if the event pointerId doesn't match the one that initiated the drag\n !_this.isValidEvent(event) || // if the event has the same timestamp as the previous event\n // note that checking type equality is ONLY for tests ¯\\_(ツ)_/¯\n _this.state._lastEventType === event.type && event.timeStamp === _this.state.timeStamp) return;\n var values;\n\n if (document.pointerLockElement) {\n var movementX = event.movementX,\n movementY = event.movementY;\n values = addV(_this.transform([movementX, movementY]), _this.state.values);\n } else values = getPointerEventValues(event, _this.transform);\n\n var kinematics = _this.getKinematics(values, event); // if startDrag hasn't fired\n\n\n if (!_this.state._dragStarted) {\n // If the gesture isn't active then respond to the event only if\n // it's been delayed via the `delay` option, in which case start\n // the gesture immediately.\n if (_this.state._dragDelayed) {\n _this.startDrag(event);\n\n return;\n } // if the user wants to prevent vertical window scroll when user starts dragging\n\n\n if (_this.shouldPreventWindowScrollY) {\n if (!_this.state._dragPreventScroll && kinematics.axis) {\n // if the user is dragging horizontally then we should allow the drag\n if (kinematics.axis === 'x') {\n _this.startDrag(event);\n } else {\n _this.state._active = false;\n return;\n }\n } else return;\n } else return;\n }\n\n var genericEventData = getGenericEventData(event);\n\n _this.updateSharedState(genericEventData);\n\n var genericPayload = getGenericPayload(_assertThisInitialized(_this), event); // This verifies if the drag can be assimilated to a tap by checking\n // if the real distance of the drag (ie not accounting for the threshold) is\n // greater than the TAP_DISTANCE_THRESHOLD.\n\n var realDistance = calculateDistance(kinematics._movement);\n var _dragIsTap = _this.state._dragIsTap;\n if (_dragIsTap && realDistance >= TAP_DISTANCE_THRESHOLD) _dragIsTap = false;\n\n _this.updateGestureState(_extends({}, genericPayload, kinematics, {\n _dragIsTap: _dragIsTap\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onDragEnd = function (event) {\n removeEventIds(_this.controller, event); // if the event pointerId doesn't match the one that initiated the drag\n // we don't want to end the drag\n\n if (!_this.isValidEvent(event)) return;\n\n _this.clean(); // if the gesture is no longer active (ie canceled)\n // don't do anything\n\n\n if (!_this.state._active) return;\n _this.state._active = false;\n var tap = _this.state._dragIsTap;\n var _this$state$velocitie = _this.state.velocities,\n vx = _this$state$velocitie[0],\n vy = _this$state$velocitie[1];\n var _this$state$movement = _this.state.movement,\n mx = _this$state$movement[0],\n my = _this$state$movement[1];\n var _this$state$_intentio = _this.state._intentional,\n ix = _this$state$_intentio[0],\n iy = _this$state$_intentio[1];\n var _this$config$swipeVel = _this.config.swipeVelocity,\n svx = _this$config$swipeVel[0],\n svy = _this$config$swipeVel[1];\n var _this$config$swipeDis = _this.config.swipeDistance,\n sx = _this$config$swipeDis[0],\n sy = _this$config$swipeDis[1];\n var sd = _this.config.swipeDuration;\n\n var endState = _extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getMovement(_this.state.values));\n\n var swipe = [0, 0];\n\n if (endState.elapsedTime < sd) {\n if (ix !== false && Math.abs(vx) > svx && Math.abs(mx) > sx) swipe[0] = sign(vx);\n if (iy !== false && Math.abs(vy) > svy && Math.abs(my) > sy) swipe[1] = sign(vy);\n }\n\n _this.updateSharedState({\n buttons: 0\n });\n\n _this.updateGestureState(_extends({}, endState, {\n tap: tap,\n swipe: swipe\n }));\n\n _this.fireGestureHandler(_this.config.filterTaps && tap === true);\n };\n\n _this.clean = function () {\n _CoordinatesRecognize.prototype.clean.call(_assertThisInitialized(_this));\n\n _this.state._dragStarted = false;\n\n _this.releasePointerCapture();\n\n clearWindowListeners(_this.controller, _this.stateKey);\n };\n\n _this.onCancel = function () {\n if (_this.state.canceled) return;\n\n _this.updateGestureState({\n canceled: true,\n _active: false\n });\n\n _this.updateSharedState({\n buttons: 0\n });\n\n setTimeout(function () {\n return _this.fireGestureHandler();\n }, 0);\n };\n\n _this.onClick = function (event) {\n if (!_this.state._dragIsTap) event.stopPropagation();\n };\n\n return _this;\n }\n\n var _proto = DragRecognizer.prototype;\n\n _proto.startDrag = function startDrag(event, onDragIsStart) {\n if (onDragIsStart === void 0) {\n onDragIsStart = false;\n } // startDrag can happen after a timeout, so we need to check if the gesture is still active\n // as the user might have lift up the pointer in between.\n\n\n if ( // if the gesture isn't active (probably means)\n !this.state._active || // if the drag has already started we should ignore subsequent attempts\n this.state._dragStarted) return;\n if (!onDragIsStart) this.setStartState(event);\n this.updateGestureState({\n _dragStarted: true,\n _dragPreventScroll: true,\n cancel: this.onCancel\n });\n this.clearTimeout();\n this.fireGestureHandler();\n };\n\n _proto.addBindings = function addBindings$1(bindings) {\n if (this.config.useTouch) {\n addBindings(bindings, 'onTouchStart', this.onDragStart);\n addBindings(bindings, 'onTouchMove', this.onDragChange); // this is needed for react-three-fiber\n\n addBindings(bindings, 'onTouchEnd', this.onDragEnd);\n addBindings(bindings, 'onTouchCancel', this.onDragEnd);\n } else {\n addBindings(bindings, 'onPointerDown', this.onDragStart);\n addBindings(bindings, 'onPointerMove', this.onDragChange); // this is needed for react-three-fiber\n\n addBindings(bindings, 'onPointerUp', this.onDragEnd);\n addBindings(bindings, 'onPointerCancel', this.onDragEnd);\n }\n\n if (this.config.filterTaps) {\n var handler = this.controller.config.eventOptions.capture ? 'onClick' : 'onClickCapture';\n addBindings(bindings, handler, this.onClick);\n }\n };\n\n return DragRecognizer;\n}(CoordinatesRecognizer);\n/**\r\n * Inlined from https://github.com/alexreardon/memoize-one\r\n */\n\n\nfunction memoizeOne(resultFn, isEqual) {\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n function memoized() {\n for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) {\n newArgs[_key] = arguments[_key];\n }\n\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n\n return memoized;\n}\n/**\r\n * Taken from https://github.com/FormidableLabs/react-fast-compare\r\n *\r\n * Dropped comments and ArrayBuffer handling\r\n */\n\n\nfunction equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n var it;\n\n if (typeof Map === 'function' && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (typeof Set === 'function' && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n\n if (typeof Element !== 'undefined' && a instanceof Element) return false;\n\n for (i = length; i-- !== 0;) {\n if (keys[i] === '_owner' && a.$$typeof) continue;\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n\n return true;\n } // true if both NaN, false otherwise — NaN !== NaN → true\n // eslint-disable-next-line no-self-compare\n\n\n return a !== a && b !== b;\n}\n\nfunction isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // eslint-disable-next-line no-console\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n\n throw error;\n }\n}\n/**\r\n * Drag hook.\r\n *\r\n * @param handler - the function fired every time the drag gesture updates\r\n * @param [config={}] - the config object including generic options and drag options\r\n */\n\n\nfunction useDrag(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('drag', DragRecognizer);\n var buildDragConfig = useRef();\n\n if (!buildDragConfig.current) {\n buildDragConfig.current = memoizeOne(_buildDragConfig, isEqual);\n }\n\n return useRecognizers({\n drag: handler\n }, buildDragConfig.current(config));\n}\n/**\r\n * @private\r\n * Abstract class for distance/angle-based gesture recongizers\r\n */\n\n\nvar DistanceAngleRecognizer = /*#__PURE__*/function (_Recognizer) {\n _inheritsLoose(DistanceAngleRecognizer, _Recognizer);\n\n function DistanceAngleRecognizer() {\n return _Recognizer.apply(this, arguments) || this;\n }\n\n var _proto = DistanceAngleRecognizer.prototype;\n\n _proto.getInternalMovement = function getInternalMovement(values, state) {\n var prev_a = state.values[1]; // not be defined if ctrl+wheel is used for zoom only\n\n var d = values[0],\n _values$ = values[1],\n a = _values$ === void 0 ? prev_a : _values$;\n var delta_a = a - prev_a;\n var next_turns = state.turns;\n if (Math.abs(delta_a) > 270) next_turns += sign(delta_a);\n return subV([d, a - 360 * next_turns], state.initial);\n };\n\n _proto.getKinematics = function getKinematics(values, event) {\n var state = this.getMovement(values);\n var turns = (values[1] - state._movement[1] - this.state.initial[1]) / 360;\n var dt = event.timeStamp - this.state.timeStamp;\n\n var _calculateAllKinemati = calculateAllKinematics(state.movement, state.delta, dt),\n kinematics = _objectWithoutPropertiesLoose(_calculateAllKinemati, [\"distance\", \"velocity\"]);\n\n return _extends({\n turns: turns\n }, state, kinematics);\n };\n\n _proto.mapStateValues = function mapStateValues(state) {\n return {\n da: state.values,\n vdva: state.velocities\n };\n };\n\n return DistanceAngleRecognizer;\n}(Recognizer);\n\nvar ZOOM_CONSTANT = 7;\nvar WEBKIT_DISTANCE_SCALE_FACTOR = 260;\n\nvar PinchRecognizer = /*#__PURE__*/function (_DistanceAngleRecogni) {\n _inheritsLoose(PinchRecognizer, _DistanceAngleRecogni);\n\n function PinchRecognizer() {\n var _this;\n\n _this = _DistanceAngleRecogni.apply(this, arguments) || this;\n _this.ingKey = 'pinching';\n _this.stateKey = 'pinch';\n\n _this.onPinchStart = function (event) {\n addEventIds(_this.controller, event);\n var touchIds = _this.controller.touchIds;\n if (!_this.enabled) return;\n\n if (_this.state._active) {\n // check that the pointerIds that initiated the gesture\n // are still enabled. This is useful for when the page\n // loses track of the pointers (minifying gesture on iPad).\n if (_this.state._pointerIds.every(function (id) {\n return touchIds.has(id);\n })) return; // something was wrong with the pointers but we let it go.\n } // until we reach two fingers on the target don't react\n\n\n if (touchIds.size < 2) return;\n\n var _pointerIds = Array.from(touchIds).slice(0, 2);\n\n var _getTwoTouchesEventVa = getTwoTouchesEventValues(event, _pointerIds, _this.transform),\n values = _getTwoTouchesEventVa.values,\n origin = _getTwoTouchesEventVa.origin;\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true), {\n _pointerIds: _pointerIds,\n cancel: _this.onCancel,\n origin: origin\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onPinchChange = function (event) {\n var _this$state = _this.state,\n canceled = _this$state.canceled,\n _active = _this$state._active;\n if (canceled || !_active || // if the event has the same timestamp as the previous event\n event.timeStamp === _this.state.timeStamp) return;\n var genericEventData = getGenericEventData(event);\n\n _this.updateSharedState(genericEventData);\n\n try {\n var _getTwoTouchesEventVa2 = getTwoTouchesEventValues(event, _this.state._pointerIds, _this.transform),\n values = _getTwoTouchesEventVa2.values,\n origin = _getTwoTouchesEventVa2.origin;\n\n var kinematics = _this.getKinematics(values, event);\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), kinematics, {\n origin: origin\n }));\n\n _this.fireGestureHandler();\n } catch (e) {\n _this.onPinchEnd(event);\n }\n };\n\n _this.onPinchEnd = function (event) {\n removeEventIds(_this.controller, event);\n var pointerIds = getTouchIds(event); // if none of the lifted pointerIds is in the state pointerIds don't do anything\n\n if (_this.state._pointerIds.every(function (id) {\n return !pointerIds.includes(id);\n })) return;\n\n _this.clean();\n\n if (!_this.state._active) return;\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getMovement(_this.state.values), {\n _active: false\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onCancel = function () {\n if (_this.state.canceled) return;\n\n _this.updateGestureState({\n _active: false,\n canceled: true\n });\n\n setTimeout(function () {\n return _this.fireGestureHandler();\n }, 0);\n };\n /**\r\n * PINCH WITH WEBKIT GESTURES\r\n */\n\n\n _this.onGestureStart = function (event) {\n if (!_this.enabled) return;\n event.preventDefault();\n var values = getWebkitGestureEventValues(event, _this.transform);\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true), {\n origin: [event.clientX, event.clientY],\n cancel: _this.onCancel\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onGestureChange = function (event) {\n var _this$state2 = _this.state,\n canceled = _this$state2.canceled,\n _active = _this$state2._active;\n if (canceled || !_active) return;\n event.preventDefault();\n var genericEventData = getGenericEventData(event);\n\n _this.updateSharedState(genericEventData); // this normalizes the values of the Safari's WebKitEvent by calculating\n // the delta and then multiplying it by a constant.\n\n\n var values = getWebkitGestureEventValues(event, _this.transform);\n values[0] = (values[0] - _this.state.event.scale) * WEBKIT_DISTANCE_SCALE_FACTOR + _this.state.values[0];\n\n var kinematics = _this.getKinematics(values, event);\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), kinematics, {\n origin: [event.clientX, event.clientY]\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onGestureEnd = function (event) {\n _this.clean();\n\n if (!_this.state._active) return;\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getMovement(_this.state.values), {\n _active: false,\n origin: [event.clientX, event.clientY]\n }));\n\n _this.fireGestureHandler();\n };\n /**\r\n * PINCH WITH WHEEL\r\n */\n\n\n _this.wheelShouldRun = function (event) {\n return _this.enabled && event.ctrlKey;\n };\n\n _this.getWheelValuesFromEvent = function (event) {\n var _getWheelEventValues = getWheelEventValues(event, _this.transform),\n delta_d = _getWheelEventValues[1];\n\n var _this$state$values = _this.state.values,\n prev_d = _this$state$values[0],\n prev_a = _this$state$values[1]; // ZOOM_CONSTANT is based on Safari trackpad natural zooming\n\n var _delta_d = -delta_d * ZOOM_CONSTANT; // new distance is the previous state distance added to the delta\n\n\n var d = prev_d + _delta_d;\n var a = prev_a !== void 0 ? prev_a : 0;\n return {\n values: [d, a],\n origin: [event.clientX, event.clientY],\n delta: [_delta_d, a]\n };\n };\n\n _this.onWheel = function (event) {\n if (!_this.wheelShouldRun(event)) return;\n\n _this.setTimeout(_this.onWheelEnd);\n\n if (!_this.state._active) _this.onWheelStart(event);else _this.onWheelChange(event);\n };\n\n _this.onWheelStart = function (event) {\n var _this$getWheelValuesF = _this.getWheelValuesFromEvent(event),\n values = _this$getWheelValuesF.values,\n delta = _this$getWheelValuesF.delta,\n origin = _this$getWheelValuesF.origin;\n\n if (event.cancelable) event.preventDefault();else if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('To properly support zoom on trackpads, try using the `domTarget` option and `config.eventOptions.passive` set to `false`. This message will only appear in development mode.');\n }\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event, _this.state.values), getGenericPayload(_assertThisInitialized(_this), event, true), {\n offset: values,\n delta: delta,\n origin: origin\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onWheelChange = function (event) {\n if (event.cancelable) event.preventDefault();\n\n _this.updateSharedState(getGenericEventData(event));\n\n var _this$getWheelValuesF2 = _this.getWheelValuesFromEvent(event),\n values = _this$getWheelValuesF2.values,\n origin = _this$getWheelValuesF2.origin,\n delta = _this$getWheelValuesF2.delta;\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event), {\n origin: origin,\n delta: delta\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onWheelEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n _this.state._active = false;\n\n _this.updateGestureState(_this.getMovement(_this.state.values));\n\n _this.fireGestureHandler();\n };\n\n return _this;\n }\n\n var _proto = PinchRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n // Only try to use gesture events when they are supported and domTarget is set\n // as React doesn't support gesture handlers.\n if (this.controller.config.domTarget && !this.controller.supportsTouchEvents && this.controller.supportsGestureEvents) {\n addBindings(bindings, 'onGestureStart', this.onGestureStart);\n addBindings(bindings, 'onGestureChange', this.onGestureChange);\n addBindings(bindings, 'onGestureEnd', this.onGestureEnd);\n } else {\n addBindings(bindings, 'onTouchStart', this.onPinchStart);\n addBindings(bindings, 'onTouchMove', this.onPinchChange);\n addBindings(bindings, 'onTouchEnd', this.onPinchEnd);\n addBindings(bindings, 'onTouchCancel', this.onPinchEnd);\n addBindings(bindings, 'onWheel', this.onWheel);\n }\n };\n\n return PinchRecognizer;\n}(DistanceAngleRecognizer);\n/**\r\n * Pinch hook.\r\n *\r\n * @param handler - the function fired every time the pinch gesture updates\r\n * @param [config={}] - the config object including generic options and pinch options\r\n */\n\n\nfunction usePinch(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('pinch', PinchRecognizer);\n var buildPinchConfig = useRef();\n\n if (!buildPinchConfig.current) {\n buildPinchConfig.current = memoizeOne(_buildPinchConfig, isEqual);\n }\n\n return useRecognizers({\n pinch: handler\n }, buildPinchConfig.current(config));\n}\n\nvar WheelRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(WheelRecognizer, _CoordinatesRecognize);\n\n function WheelRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'wheeling';\n _this.stateKey = 'wheel';\n _this.debounced = true;\n\n _this.handleEvent = function (event) {\n if (event.ctrlKey && 'pinch' in _this.controller.handlers) return;\n if (!_this.enabled) return;\n\n _this.setTimeout(_this.onEnd);\n\n _this.updateSharedState(getGenericEventData(event));\n\n var values = addV(getWheelEventValues(event, _this.transform), _this.state.values);\n\n if (!_this.state._active) {\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event, _this.state.values), getGenericPayload(_assertThisInitialized(_this), event, true)));\n\n var movement = _this.getMovement(values);\n\n var geometry = calculateAllGeometry(movement.delta);\n\n _this.updateGestureState(movement);\n\n _this.updateGestureState(geometry);\n } else {\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event)));\n }\n\n _this.fireGestureHandler();\n };\n\n _this.onEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n\n var movement = _this.getMovement(_this.state.values);\n\n _this.updateGestureState(movement);\n\n _this.updateGestureState({\n _active: false,\n velocities: [0, 0],\n velocity: 0\n });\n\n _this.fireGestureHandler();\n };\n\n return _this;\n }\n\n var _proto = WheelRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n addBindings(bindings, 'onWheel', this.handleEvent);\n };\n\n return WheelRecognizer;\n}(CoordinatesRecognizer);\n/**\r\n * Wheel hook.\r\n *\r\n * @param handler - the function fired every time the wheel gesture updates\r\n * @param the config object including generic options and wheel options\r\n */\n\n\nfunction useWheel(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('wheel', WheelRecognizer);\n var buildWheelConfig = useRef();\n\n if (!buildWheelConfig.current) {\n buildWheelConfig.current = memoizeOne(_buildWheelConfig, isEqual);\n }\n\n return useRecognizers({\n wheel: handler\n }, buildWheelConfig.current(config));\n}\n\nvar MoveRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(MoveRecognizer, _CoordinatesRecognize);\n\n function MoveRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'moving';\n _this.stateKey = 'move';\n _this.debounced = true;\n\n _this.onMove = function (event) {\n if (!_this.enabled) return;\n\n _this.setTimeout(_this.onMoveEnd);\n\n if (!_this.state._active) _this.onMoveStart(event);else _this.onMoveChange(event);\n };\n\n _this.onMoveStart = function (event) {\n _this.updateSharedState(getGenericEventData(event));\n\n var values = getPointerEventValues(event, _this.transform);\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true)));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onMoveChange = function (event) {\n _this.updateSharedState(getGenericEventData(event));\n\n var values = getPointerEventValues(event, _this.transform);\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event)));\n\n _this.fireGestureHandler();\n };\n\n _this.onMoveEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n var values = _this.state.values;\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.updateGestureState({\n velocities: [0, 0],\n velocity: 0,\n _active: false\n });\n\n _this.fireGestureHandler();\n };\n\n _this.hoverTransform = function () {\n return _this.controller.config.hover.transform || _this.controller.config.transform;\n };\n\n _this.onPointerEnter = function (event) {\n _this.controller.state.shared.hovering = true;\n if (!_this.controller.config.enabled) return;\n\n if (_this.controller.config.hover.enabled) {\n var values = getPointerEventValues(event, _this.hoverTransform());\n\n var state = _extends({}, _this.controller.state.shared, _this.state, getGenericPayload(_assertThisInitialized(_this), event, true), {\n args: _this.args,\n values: values,\n active: true,\n hovering: true\n });\n\n _this.controller.handlers.hover(_extends({}, state, _this.mapStateValues(state)));\n }\n\n if ('move' in _this.controller.handlers) _this.onMoveStart(event);\n };\n\n _this.onPointerLeave = function (event) {\n _this.controller.state.shared.hovering = false;\n if ('move' in _this.controller.handlers) _this.onMoveEnd();\n if (!_this.controller.config.hover.enabled) return;\n var values = getPointerEventValues(event, _this.hoverTransform());\n\n var state = _extends({}, _this.controller.state.shared, _this.state, getGenericPayload(_assertThisInitialized(_this), event), {\n args: _this.args,\n values: values,\n active: false\n });\n\n _this.controller.handlers.hover(_extends({}, state, _this.mapStateValues(state)));\n };\n\n return _this;\n }\n\n var _proto = MoveRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n if ('move' in this.controller.handlers) {\n addBindings(bindings, 'onPointerMove', this.onMove);\n }\n\n if ('hover' in this.controller.handlers) {\n addBindings(bindings, 'onPointerEnter', this.onPointerEnter);\n addBindings(bindings, 'onPointerLeave', this.onPointerLeave);\n }\n };\n\n return MoveRecognizer;\n}(CoordinatesRecognizer);\n/**\r\n * Move hook.\r\n *\r\n * @param handler - the function fired every time the move gesture updates\r\n * @param [config={}] - the config object including generic options and move options\r\n */\n\n\nfunction useMove(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('move', MoveRecognizer);\n var buildMoveConfig = useRef();\n\n if (!buildMoveConfig.current) {\n buildMoveConfig.current = memoizeOne(_buildMoveConfig, isEqual);\n }\n\n return useRecognizers({\n move: handler\n }, buildMoveConfig.current(config));\n}\n/**\r\n * Hover hook.\r\n *\r\n * @param handler - the function fired every time the hover gesture updates\r\n * @param [config={}] - the config object including generic options and hover options\r\n */\n\n\nfunction useHover(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('hover', MoveRecognizer);\n var buildHoverConfig = useRef();\n\n if (!buildHoverConfig.current) {\n buildHoverConfig.current = memoizeOne(_buildHoverConfig, isEqual);\n }\n\n return useRecognizers({\n hover: handler\n }, buildHoverConfig.current(config));\n}\n\nvar ScrollRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(ScrollRecognizer, _CoordinatesRecognize);\n\n function ScrollRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'scrolling';\n _this.stateKey = 'scroll';\n _this.debounced = true;\n\n _this.handleEvent = function (event) {\n if (!_this.enabled) return;\n\n _this.clearTimeout();\n\n _this.setTimeout(_this.onEnd);\n\n var values = getScrollEventValues(event, _this.transform);\n\n _this.updateSharedState(getGenericEventData(event));\n\n if (!_this.state._active) {\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event, _this.state.values), getGenericPayload(_assertThisInitialized(_this), event, true)));\n\n var movementDetection = _this.getMovement(values);\n\n var geometry = calculateAllGeometry(movementDetection.delta);\n\n _this.updateGestureState(movementDetection);\n\n _this.updateGestureState(geometry);\n } else {\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event)));\n }\n\n _this.fireGestureHandler();\n };\n\n _this.onEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n\n _this.updateGestureState(_extends({}, _this.getMovement(_this.state.values), {\n _active: false,\n velocities: [0, 0],\n velocity: 0\n }));\n\n _this.fireGestureHandler();\n };\n\n return _this;\n }\n\n var _proto = ScrollRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n addBindings(bindings, 'onScroll', this.handleEvent);\n };\n\n return ScrollRecognizer;\n}(CoordinatesRecognizer);\n/**\r\n * Scroll hook.\r\n *\r\n * @param handler - the function fired every time the scroll gesture updates\r\n * @param [config={}] - the config object including generic options and scroll options\r\n */\n\n\nfunction useScroll(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('scroll', ScrollRecognizer);\n var buildScrollConfig = useRef();\n\n if (!buildScrollConfig.current) {\n buildScrollConfig.current = memoizeOne(_buildScrollConfig, isEqual);\n }\n\n return useRecognizers({\n scroll: handler\n }, buildScrollConfig.current(config));\n}\n\nvar RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\n\nfunction sortHandlers(handlers) {\n var _native = {};\n var handle = {};\n var actions = new Set();\n\n for (var key in handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handle[key] = handlers[key];\n } else {\n _native[key] = handlers[key];\n }\n }\n\n return [handle, _native, actions];\n}\n/**\r\n * @public\r\n *\r\n * The most complete gesture hook, allowing support for multiple gestures.\r\n *\r\n * @param {Handlers} handlers - an object with on[Gesture] keys containg gesture handlers\r\n * @param {UseGestureConfig} [config={}] - the full config object\r\n * @returns {(...args: any[]) => HookReturnType}\r\n */\n\n\nfunction useGesture(_handlers, config) {\n if (config === void 0) {\n config = {};\n }\n\n var _sortHandlers = sortHandlers(_handlers),\n handlers = _sortHandlers[0],\n nativeHandlers = _sortHandlers[1],\n actions = _sortHandlers[2];\n\n RecognizersMap.set('drag', DragRecognizer);\n RecognizersMap.set('hover', MoveRecognizer);\n RecognizersMap.set('move', MoveRecognizer);\n RecognizersMap.set('pinch', PinchRecognizer);\n RecognizersMap.set('scroll', ScrollRecognizer);\n RecognizersMap.set('wheel', WheelRecognizer);\n var mergedConfig = buildComplexConfig(config, actions);\n var internalHandlers = {};\n if (actions.has('onDrag')) internalHandlers.drag = includeStartEndHandlers(handlers, 'onDrag');\n if (actions.has('onWheel')) internalHandlers.wheel = includeStartEndHandlers(handlers, 'onWheel');\n if (actions.has('onScroll')) internalHandlers.scroll = includeStartEndHandlers(handlers, 'onScroll');\n if (actions.has('onMove')) internalHandlers.move = includeStartEndHandlers(handlers, 'onMove');\n if (actions.has('onPinch')) internalHandlers.pinch = includeStartEndHandlers(handlers, 'onPinch');\n if (actions.has('onHover')) internalHandlers.hover = handlers.onHover;\n return useRecognizers(internalHandlers, mergedConfig, nativeHandlers);\n}\n\nfunction includeStartEndHandlers(handlers, handlerKey) {\n var startKey = handlerKey + 'Start';\n var endKey = handlerKey + 'End';\n\n var fn = function fn(state) {\n var memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n\n return fn;\n}\n\nexport { addV, rubberbandIfOutOfBounds, subV, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };","import React, { Suspense, useRef, useEffect } from \"react\"\nimport { withPrefix } from \"gatsby\"\nimport * as THREE from \"three\"\nimport { Canvas, useFrame, useThree } from \"@react-three/fiber\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport { useGLTF } from \"@react-three/drei\"\nimport { a } from \"@react-spring/three\"\nimport Scroll from \"./top/Scroll\"\n\nfunction Welcome(props) {\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n const { nodes } = useGLTF(`${withPrefix(\"/\")}w2dc-2.glb`)\n const ref = useRef()\n const [y] = Scroll(\n [0, typeof window !== \"undefined\" ? window.innerHeight : 1000],\n { domTarget: window },\n props.inView && !props.isShowingLoader,\n )\n\n useEffect(() => {\n props.setShowLoader(false)\n }, [])\n\n return (\n (y / (isPortrait ? 4000 : 2000)) * Math.PI)\n }\n position-y={\n !isPortrait && y.to(y => (y * -1) / 55 + (isPortrait ? 0 : 23))\n }\n position-z={\n !isPortrait && y.to(y => (y / (isPortrait ? 3000 : 1000)) * 100)\n }\n ref={ref}\n scale={[80, 80, 80]}\n >\n )\n}\n\nconst Rig = ({ inView }) => {\n const { camera, mouse } = useThree()\n\n const vec = new THREE.Vector3()\n return useFrame(\n () =>\n inView &&\n camera.position.lerp(\n vec.set(mouse.x * 5, mouse.y * 3, camera.position.z),\n 0.1\n )\n )\n}\n\nconst TopCanvas = ({ inView, setShowLoader, isShowingLoader }) => {\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default TopCanvas\n","import { useCallback, useEffect } from \"react\"\nimport { useSpring, config } from \"@react-spring/core\"\nimport { useGesture } from \"react-use-gesture\"\nimport clamp from \"lodash/clamp\"\n\nexport default function Scroll(bounds, props, inView) {\n const [{ y }, set] = useSpring(() => ({ y: 0, config: config.slow }))\n const fn = useCallback(\n ({ xy: [, cy], previous: [, py], memo = y.get() }) => {\n const newY = clamp(memo + cy - py, ...bounds)\n if (inView) {\n set({ y: newY })\n }\n return newY\n },\n [bounds, y, set]\n )\n const bind = useGesture({ onWheel: fn }, props)\n useEffect(() => props && props.domTarget && bind(), [props, bind])\n return [y, bind]\n}\n","import React, { useEffect, useState, useCallback, useRef } from \"react\"\nimport styled, { keyframes } from \"styled-components\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\nimport { useInView } from \"react-intersection-observer\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport { detect } from \"detect-browser\"\n\nimport ObjectMob from \"./top/ObjectMob\"\n\nimport TopCanvas from \"./TopCanvas\"\n\nconst Wrapper = styled.div`\n height: 200vh;\n height: calc(var(--vh, 1vh) * 200);\n width: 100%;\n position: absolute;\n top: 0;\n z-index: 1;\n background-color: #f2f2f2;\n max-width: 100%;\n overflow: hidden;\n\n @media (orientation: portrait) {\n height: 100vh;\n height: calc(var(--vh, 1vh) * 100);\n }\n\n canvas {\n background-color: #f2f2f2;\n }\n`\n\nconst bounce = keyframes`\n 0%, 20%, 40%, 50%, 60%, 80%, 100% {\n transform: translateY(0);\n }\n 45% {\n transform: translateY(-10px);\n }\n 55% {\n transform: translateY(-5px);\n }\n`\n\nconst Heading = styled.h1`\n position: absolute;\n top: calc(100vh - 98px);\n top: calc(var(--vh, 1vh) * 100 - 98px);\n font-size: 16px;\n width: 100%;\n text-align: center;\n opacity: ${({ show }) => (show ? 1 : 0)};\n pointer-events: ${({ show }) => (show ? \"auto\" : \"none\")};\n transition: opacity 0.15s ease-out;\n\n @media (orientation: portrait) {\n font-size: 14px;\n }\n\n svg {\n height: 8px;\n width: 14px;\n display: block;\n margin: 30px auto 0;\n animation: ${bounce} 2.5s linear infinite;\n }\n`\n\nconst Top = ({ setShowLoader, showLoader, isShowingLoader }) => {\n const [showHeading, setShowHeading] = useState(true)\n const { ref, inView } = useInView()\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n const [isSafari14, setIsSafari14] = useState(true)\n const [slowNet, setSlowNet] = useState(false)\n const timeout = useRef(null)\n\n useEffect(() => {\n clearTimeout(timeout.current)\n\n if (showLoader) {\n timeout.current = setTimeout(() => {\n setSlowNet(true)\n setShowLoader(false)\n }, 5000)\n }\n }, [showLoader])\n \n const handleScroll = useCallback(e => {\n window.requestAnimationFrame(() => {\n if (window.scrollY <= 0) {\n setShowHeading(true)\n } else {\n setShowHeading(false)\n }\n })\n }, [])\n\n useEffect(() => {\n window.addEventListener(\"scroll\", handleScroll)\n\n const browser = detect()\n\n if (browser.name.toLowerCase() === \"safari\") {\n setIsSafari14(true)\n } else {\n setIsSafari14(false)\n }\n\n return () => {\n window.removeEventListener(\"scroll\", handleScroll)\n }\n }, [])\n\n return (\n \n {isPortrait || isSafari14 || slowNet ? (\n \n ) : (\n \n )}\n\n \n Reserved Spring 2022 Collection\n\n \n \n \n \n \n )\n}\n\nexport default Top\n","import React from \"react\"\nimport styled from \"styled-components\"\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n font-size: 14px;\n text-align: center;\n\n @media (orientation: portrait) {\n flex-direction: column-reverse;\n }\n`\n\nconst Text = styled.div``\n\nconst Icon = styled.div`\n svg {\n height: 22px;\n width: 22px;\n margin-bottom: 25px;\n\n @media (orientation: portrait) {\n height: 24px;\n width: 24px;\n margin-top: 24px;\n }\n }\n`\n\nconst Prompt = ({ children, icon, handleClick }) => {\n return (\n \n {icon && (\n \n {\n {\n rotate: (\n \n \n \n ),\n arrows: (\n \n \n \n ),\n index: (\n \n \n \n \n \n \n \n \n ),\n scroll: (\n \n \n \n \n \n \n ),\n }[icon]\n }\n \n )}\n {children}\n \n )\n}\n\nexport default Prompt\n","import React, { useRef, useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport { useMediaQuery } from \"react-responsive\"\n\nconst Wrapper = styled.div`\n width: calc(100vw / 7);\n height: 100vh;\n height: calc(var(--vh, 1vh) * 100);\n flex-shrink: 0;\n will-change: transform;\n pointer-events: none;\n\n @media (orientation: portrait) {\n width: calc(100vw / 5);\n margin-top: -50px;\n }\n`\n\nconst Inner = styled.div`\n height: 90vh;\n width: 20vw;\n\n @media (orientation: portrait) {\n height: 100vh;\n width: 75vw;\n }\n\n img {\n height: 100%;\n width: auto;\n }\n\n .gatsby-image-wrapper,\n .img-wrap {\n will-change: transform;\n pointer-events: auto;\n position: relative;\n object-position: center;\n cursor: pointer;\n height: 100%;\n transform: scale(0);\n\n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n height: 28px;\n width: 38px;\n background-image: ${({ lang }) =>\n lang === \"pl\" ? 'url(\"../dc_eye.svg\")' : 'url(\"./dc_eye.svg\")'};\n background-size: contain;\n opacity: 0;\n transition: opacity 0.15s ease-in-out;\n }\n\n @media (hover: hover) {\n transition: margin 0.15s ease-in-out;\n &:hover {\n margin-top: -10px;\n &:after {\n opacity: 1;\n }\n }\n }\n }\n`\n\nconst AvatarWrapper = ({\n children,\n setCurrDot,\n currDot,\n ind,\n inView,\n lang,\n}) => {\n const ref = useRef(null)\n const refInner = useRef(null)\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n\n const onScroll = e => {\n if (currDot === ind && !isPortrait) {\n if (\n refInner.current.getBoundingClientRect().left - window.innerWidth / 5 >=\n 0 &&\n refInner.current.getBoundingClientRect().left - window.innerWidth / 3 <\n 0\n ) {\n } else if (\n refInner.current.getBoundingClientRect().left - window.innerWidth / 5 <\n 0\n ) {\n setCurrDot(ind + 1)\n } else if (\n refInner.current.getBoundingClientRect().left - window.innerWidth / 3 >\n 0\n ) {\n setCurrDot(ind - 1)\n }\n }\n\n window.requestAnimationFrame(() => {\n ref.current.querySelector(\".img-wrap\").style.transform = `\n translateX(${\n refInner.current.getBoundingClientRect().left - window.innerWidth / 5\n }px)\n \n scale(${\n (isPortrait ? 0.5 : 0.6) +\n (-1 *\n (refInner.current.getBoundingClientRect().left -\n window.innerWidth / 2)) /\n 3000\n })\n `\n })\n }\n\n useEffect(() => {\n if (inView || isPortrait) {\n window.addEventListener(\"scroll\", onScroll)\n } else {\n setCurrDot(0)\n }\n\n return () => {\n window.removeEventListener(\"scroll\", onScroll)\n }\n }, [currDot, inView, isPortrait])\n\n return (\n \n \n
{children}
\n
\n
\n )\n}\n\nexport default AvatarWrapper\n","import React from \"react\"\nimport styled, { keyframes } from \"styled-components\"\nimport { withPrefix } from \"gatsby\"\n\nconst Wrapper = styled.nav`\n position: absolute;\n right: 12px;\n bottom: 22px;\n bottom: ${({ isSlider }) => (isSlider ? -28 : 22)}px;\n z-index: 1;\n display: flex;\n flex-direction: column;\n\n @media (orientation: portrait) {\n display: none;\n }\n`\nconst NavDotWrapper = styled.button`\n padding: 10px;\n height: 28px;\n`\n\nconst anim = keyframes`\n 0% {\n background-color: transparent;\n }\n \n 50% {\n background-color: #000;\n }\n \n 100% {\n background-color: transparent;\n }\n`\n\nconst animCurr = keyframes`\n 0% {\n background-color: transparent;\n }\n \n 50% {\n background-color: #000;\n }\n \n 100% {\n background-color: #000;\n }\n`\n\nconst NavDot = styled.div`\n height: 8px;\n width: 8px;\n border: 1px solid black;\n border-radius: 50%;\n transition: background-color 0.25s ease-in-out;\n background-color: ${({ currDot }) => (currDot ? \"#000\" : \"transparent\")};\n animation: ${({ currDot, isSlider }) =>\n !isSlider ? (currDot ? animCurr : anim) : \"\"}\n 0.15s ease-in-out ${({ i }) => 0.75 + (i + 1) * 0.05}s;\n\n @media (hover: hover) {\n ${NavDotWrapper}:hover & {\n background-color: #000;\n }\n }\n`\n\nconst MiniImg = styled.img`\n position: absolute;\n height: 97px;\n width: 120px;\n left: -130px;\n display: block;\n max-width: 100vw;\n top: ${({ ind }) => `${ind * 20 - 50}px`};\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.25s ease-in-out;\n\n @media (hover: hover) {\n ${NavDotWrapper}:hover & {\n opacity: 1;\n }\n }\n`\n\nconst Navigation = ({ allModels, setOpenModel, currDot, isSlider }) => {\n return (\n \n {allModels &&\n allModels.map((modelItem, i) => {\n return (\n setOpenModel(i)}\n key={modelItem.title}\n >\n \n \n \n \n )\n })}\n \n )\n}\n\nexport default Navigation\n","import React, { useEffect, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\nimport { useInView } from \"react-intersection-observer\"\nimport lax from \"lax.js\"\nimport { useMediaQuery } from \"react-responsive\"\nimport { withPrefix } from \"gatsby\"\n\nimport Prompt from \"./shared/Prompt\"\nimport AvatarWrapper from \"./avatars/AvatarWrapper\"\nimport Navigation from \"./models/Navigation\"\n\nconst Wrapper = styled.div`\n height: 300vh;\n max-width: 100%;\n`\n\nconst Inner = styled.div`\n height: 100vh;\n position: sticky;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n`\n\nconst Slider = styled.div`\n width: 200vh;\n display: flex;\n padding-left: 31vw;\n padding-right: 25vw;\n will-change: transform;\n\n @media (orientation: portrait) {\n width: 200vh;\n padding-left: 18vw;\n padding-right: 18vw;\n }\n`\n\nconst PromptWrapper = styled.div`\n position: absolute;\n bottom: 50px;\n left: 50%;\n transform: translate(-50%);\n z-index: 1;\n`\n\nconst NavWrapper = styled.div`\n position: absolute;\n bottom: 50px;\n left: 100%;\n transform: translate(-50%);\n z-index: 1;\n\n @media (orientation: portrait) {\n display: none;\n }\n`\n\nconst Img = styled.img`\n will-change: transform;\n`\n\nconst Avatars = ({ setOpenModel, offset, allModels, lang }) => {\n const [fromTop, setFromTop] = useState(null)\n const [showAltMess, setShowAltMess] = useState(false)\n const [currDot, setCurrDot] = useState(0)\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n\n const { ref, inView } = useInView()\n\n useEffect(() => {\n if (fromTop) {\n setTimeout(() => {\n lax.addElements(\".dc-slider\", {\n scrollY: {\n translateX: [\n [fromTop, fromTop + window.innerHeight * 2],\n [\"0\", isPortrait ? \"-screenWidth * 1\" : \"-screenWidth * 0.72\"],\n ],\n },\n })\n }, 500)\n }\n }, [fromTop, isPortrait])\n\n const handleRe = () => {\n if (typeof window !== \"undefined\") {\n setTimeout(() => {\n setFromTop(\n parseInt(\n window.scrollY +\n document.getElementById(\"slider-wrapper\").getBoundingClientRect()\n .top\n )\n )\n }, 500)\n }\n }\n\n useEffect(() => {\n handleRe()\n window.addEventListener(\"resize\", handleRe, false)\n return () => {\n window.removeEventListener(\"resize\", handleRe)\n }\n }, [])\n\n return (\n \n \n \n \n {\n setShowAltMess(false)\n setOpenModel(0)\n }}\n onMouseEnter={() => setShowAltMess(true)}\n onMouseLeave={() => setShowAltMess(false)}\n />\n \n \n {\n setShowAltMess(false)\n setOpenModel(1)\n }}\n onMouseEnter={() => setShowAltMess(true)}\n onMouseLeave={() => setShowAltMess(false)}\n />\n \n \n {\n setShowAltMess(false)\n setOpenModel(2)\n }}\n onMouseEnter={() => setShowAltMess(true)}\n onMouseLeave={() => setShowAltMess(false)}\n />\n \n \n {\n setShowAltMess(false)\n setOpenModel(3)\n }}\n onMouseEnter={() => setShowAltMess(true)}\n onMouseLeave={() => setShowAltMess(false)}\n />\n \n \n {\n setShowAltMess(false)\n setOpenModel(4)\n }}\n onMouseEnter={() => setShowAltMess(true)}\n onMouseLeave={() => setShowAltMess(false)}\n />\n \n \n {\n setShowAltMess(false)\n setOpenModel(5)\n }}\n onMouseEnter={() => setShowAltMess(true)}\n onMouseLeave={() => setShowAltMess(false)}\n />\n \n \n \n \n {showAltMess ? (\n Explore avatar\n ) : (\n Scroll to browse avatars\n )}\n \n \n\n \n \n \n \n \n )\n}\n\nexport default Avatars\n","import React from \"react\"\nimport styled, { keyframes } from \"styled-components\"\n\nconst Wrapper = styled.div`\n width: 100%;\n overflow: hidden;\n\n height: 180px;\n position: relative;\n\n @media (orientation: portrait) {\n height: 50px;\n }\n`\n\nconst Inner = styled.div`\n position: absolute;\n top: 0;\n display: flex;\n white-space: nowrap;\n transform: translateX(0);\n`\n\nconst move = keyframes`\n 0% {\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n transform: translate3d(-200%, 0, 0);\n }\n`\n\nconst Text = styled.div`\n display: flex;\n white-space: nowrap;\n width: auto;\n position: relative;\n animation: ${move} ${({ speed }) => ` ${speed}s linear infinite`};\n -webkit-backface-visibility: hidden;\n\n @media (orientation: portrait) {\n animation: ${move} ${({ speed }) => ` ${speed / 1.5}s linear infinite`};\n }\n`\n\nconst Ticker = ({ children, speed }) => {\n return (\n \n \n {children}\n {children}\n {children}\n {children}\n {children}\n {children}\n \n \n )\n}\n\nexport default Ticker\n","import React, { useEffect, useState } from \"react\"\nimport styled from \"styled-components\"\nimport Ticker from './Ticker'\n\nconst Wrapper = styled.div``\n\nconst Text = styled.h2`\n white-space: nowrap;\n font-size: 140px;\n line-height: 1;\n padding-right: 80px;\n display: block;\n height: 200px;\n \n @media (orientation: portrait) {\n font-size: 30px;\n height: 50px;\n padding-right: 40px;\n }\n`\n\nconst Heading = ({ children, speed }) => {\n const [ready, setReady] = useState(false)\n useEffect(() => {\n document.fonts.ready.then(function (e) {\n setReady(true)\n })\n }, [])\n\n return (\n \n {ready && (\n \n {children}\n \n )}\n \n )\n}\n\nexport default Heading\n","import React, { useRef } from \"react\"\nimport Avatars from \"./Avatars\"\nimport styled from \"styled-components\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\n\nimport Heading from \"./Heading\"\nimport Navigation from \"./models/Navigation\"\n\nconst Wrapper = styled.div`\n position: relative;\n z-index: 2;\n\n @media (orientation: portrait) {\n padding-top: 75px;\n }\n`\n\nconst HeadingWrapper = styled.div`\n padding-top: 100px;\n padding-bottom: 120px;\n\n @media (orientation: portrait) {\n padding-top: 0;\n padding-bottom: 0;\n }\n`\n\nconst Text = styled.p`\n font-size: 16px;\n line-height: 1.4;\n padding: 0 22px 0;\n width: 100%;\n text-align: center;\n\n @media (orientation: portrait) {\n padding: 75px 22px 0;\n font-size: 14px;\n }\n`\n\nconst SlidersWrapper = ({ setOpenModel, allModels, lang }) => {\n const wrapperEl = useRef(null)\n\n return (\n \n \n \n Step into a new realm\n \n \n\n \n We invite you for an exploration\n
\n Where there are no boundaries and anything is possible.\n
\n Enjoy.\n
\n\n \n
\n )\n}\n\nexport default SlidersWrapper\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Heading from \"./Heading\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\n\nconst Wrapper = styled.div`\n padding-top: 160px;\n padding-bottom: 120px;\n\n @media (orientation: portrait) {\n padding-top: 100px;\n padding-bottom: 50px;\n }\n`\n\nconst VideoHeading = () => {\n return (\n \n \n Welcome 2 Dreamcore\n \n \n )\n}\n\nexport default VideoHeading\n","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}","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _assertThisInitialized from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _inherits from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _classCallCheck from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport React, { useState, useCallback, forwardRef, useRef, useEffect, useImperativeHandle, useMemo } from 'react';\nvar is = {\n arr: Array.isArray,\n obj: function obj(a) {\n return Object.prototype.toString.call(a) === '[object Object]';\n },\n fun: function fun(a) {\n return typeof a === 'function';\n },\n str: function str(a) {\n return typeof a === 'string';\n },\n num: function num(a) {\n return typeof a === 'number';\n },\n und: function und(a) {\n return a === void 0;\n },\n nul: function nul(a) {\n return a === null;\n },\n set: function set(a) {\n return a instanceof Set;\n },\n map: function map(a) {\n return a instanceof Map;\n },\n equ: function equ(a, b) {\n if (typeof a !== typeof b) return false;\n if (is.str(a) || is.num(a)) return a === b;\n if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;\n var i;\n\n for (i in a) {\n if (!(i in b)) return false;\n }\n\n for (i in b) {\n if (a[i] !== b[i]) return false;\n }\n\n return is.und(i) ? a === b : true;\n }\n};\n\nfunction merge(target, lowercase) {\n if (lowercase === void 0) {\n lowercase = true;\n }\n\n return function (object) {\n return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {\n var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;\n acc[key] = target(key);\n return acc;\n }, target);\n };\n}\n\nfunction useForceUpdate() {\n var _useState = useState(false),\n f = _useState[1];\n\n var forceUpdate = useCallback(function () {\n return f(function (v) {\n return !v;\n });\n }, []);\n return forceUpdate;\n}\n\nfunction withDefault(value, defaultValue) {\n return is.und(value) || is.nul(value) ? defaultValue : value;\n}\n\nfunction toArray(a) {\n return !is.und(a) ? is.arr(a) ? a : [a] : [];\n}\n\nfunction callProp(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return is.fun(obj) ? obj.apply(void 0, args) : obj;\n}\n\nfunction getForwardProps(props) {\n var to = props.to,\n from = props.from,\n config = props.config,\n onStart = props.onStart,\n onRest = props.onRest,\n onFrame = props.onFrame,\n children = props.children,\n reset = props.reset,\n reverse = props.reverse,\n force = props.force,\n immediate = props.immediate,\n delay = props.delay,\n attach = props.attach,\n destroyed = props.destroyed,\n interpolateTo = props.interpolateTo,\n ref = props.ref,\n lazy = props.lazy,\n forward = _objectWithoutPropertiesLoose(props, [\"to\", \"from\", \"config\", \"onStart\", \"onRest\", \"onFrame\", \"children\", \"reset\", \"reverse\", \"force\", \"immediate\", \"delay\", \"attach\", \"destroyed\", \"interpolateTo\", \"ref\", \"lazy\"]);\n\n return forward;\n}\n\nfunction interpolateTo(props) {\n var forward = getForwardProps(props);\n if (is.und(forward)) return _extends({\n to: forward\n }, props);\n var rest = Object.keys(props).reduce(function (a, k) {\n return !is.und(forward[k]) ? a : _extends({}, a, _defineProperty({}, k, props[k]));\n }, {});\n return _extends({\n to: forward\n }, rest);\n}\n\nfunction handleRef(ref, forward) {\n if (forward) {\n // If it's a function, assume it's a ref callback\n if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {\n forward.current = ref;\n }\n }\n\n return ref;\n}\n\nvar Animated = /*#__PURE__*/function () {\n function Animated() {\n _classCallCheck(this, Animated);\n\n this.payload = void 0;\n this.children = [];\n }\n\n _createClass(Animated, [{\n key: \"getAnimatedValue\",\n value: function getAnimatedValue() {\n return this.getValue();\n }\n }, {\n key: \"getPayload\",\n value: function getPayload() {\n return this.payload || this;\n }\n }, {\n key: \"attach\",\n value: function attach() {}\n }, {\n key: \"detach\",\n value: function detach() {}\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n return this.children;\n }\n }, {\n key: \"addChild\",\n value: function addChild(child) {\n if (this.children.length === 0) this.attach();\n this.children.push(child);\n }\n }, {\n key: \"removeChild\",\n value: function removeChild(child) {\n var index = this.children.indexOf(child);\n this.children.splice(index, 1);\n if (this.children.length === 0) this.detach();\n }\n }]);\n\n return Animated;\n}();\n\nvar AnimatedArray = /*#__PURE__*/function (_Animated) {\n _inherits(AnimatedArray, _Animated);\n\n var _super = _createSuper(AnimatedArray);\n\n function AnimatedArray() {\n var _this2;\n\n _classCallCheck(this, AnimatedArray);\n\n _this2 = _super.apply(this, arguments);\n _this2.payload = [];\n\n _this2.attach = function () {\n return _this2.payload.forEach(function (p) {\n return p instanceof Animated && p.addChild(_assertThisInitialized(_this2));\n });\n };\n\n _this2.detach = function () {\n return _this2.payload.forEach(function (p) {\n return p instanceof Animated && p.removeChild(_assertThisInitialized(_this2));\n });\n };\n\n return _this2;\n }\n\n return _createClass(AnimatedArray);\n}(Animated);\n\nvar AnimatedObject = /*#__PURE__*/function (_Animated2) {\n _inherits(AnimatedObject, _Animated2);\n\n var _super2 = _createSuper(AnimatedObject);\n\n function AnimatedObject() {\n var _this3;\n\n _classCallCheck(this, AnimatedObject);\n\n _this3 = _super2.apply(this, arguments);\n _this3.payload = {};\n\n _this3.attach = function () {\n return Object.values(_this3.payload).forEach(function (s) {\n return s instanceof Animated && s.addChild(_assertThisInitialized(_this3));\n });\n };\n\n _this3.detach = function () {\n return Object.values(_this3.payload).forEach(function (s) {\n return s instanceof Animated && s.removeChild(_assertThisInitialized(_this3));\n });\n };\n\n return _this3;\n }\n\n _createClass(AnimatedObject, [{\n key: \"getValue\",\n value: function getValue(animated) {\n if (animated === void 0) {\n animated = false;\n }\n\n var payload = {};\n\n for (var key in this.payload) {\n var value = this.payload[key];\n if (animated && !(value instanceof Animated)) continue;\n payload[key] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;\n }\n\n return payload;\n }\n }, {\n key: \"getAnimatedValue\",\n value: function getAnimatedValue() {\n return this.getValue(true);\n }\n }]);\n\n return AnimatedObject;\n}(Animated);\n\nvar applyAnimatedValues;\n\nfunction injectApplyAnimatedValues(fn, transform) {\n applyAnimatedValues = {\n fn: fn,\n transform: transform\n };\n}\n\nvar colorNames;\n\nfunction injectColorNames(names) {\n colorNames = names;\n}\n\nvar requestFrame = function requestFrame(cb) {\n return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;\n};\n\nvar cancelFrame = function cancelFrame(id) {\n typeof window !== 'undefined' && window.cancelAnimationFrame(id);\n};\n\nfunction injectFrame(raf, caf) {\n requestFrame = raf;\n cancelFrame = caf;\n}\n\nvar interpolation;\n\nfunction injectStringInterpolator(fn) {\n interpolation = fn;\n}\n\nvar now = function now() {\n return Date.now();\n};\n\nfunction injectNow(nowFn) {\n now = nowFn;\n}\n\nvar defaultElement;\n\nfunction injectDefaultElement(el) {\n defaultElement = el;\n}\n\nvar animatedApi = function animatedApi(node) {\n return node.current;\n};\n\nfunction injectAnimatedApi(fn) {\n animatedApi = fn;\n}\n\nvar createAnimatedStyle;\n\nfunction injectCreateAnimatedStyle(factory) {\n createAnimatedStyle = factory;\n}\n\nvar manualFrameloop;\n\nfunction injectManualFrameloop(callback) {\n manualFrameloop = callback;\n}\n\nvar Globals = /*#__PURE__*/Object.freeze({\n get applyAnimatedValues() {\n return applyAnimatedValues;\n },\n\n injectApplyAnimatedValues: injectApplyAnimatedValues,\n\n get colorNames() {\n return colorNames;\n },\n\n injectColorNames: injectColorNames,\n\n get requestFrame() {\n return requestFrame;\n },\n\n get cancelFrame() {\n return cancelFrame;\n },\n\n injectFrame: injectFrame,\n\n get interpolation() {\n return interpolation;\n },\n\n injectStringInterpolator: injectStringInterpolator,\n\n get now() {\n return now;\n },\n\n injectNow: injectNow,\n\n get defaultElement() {\n return defaultElement;\n },\n\n injectDefaultElement: injectDefaultElement,\n\n get animatedApi() {\n return animatedApi;\n },\n\n injectAnimatedApi: injectAnimatedApi,\n\n get createAnimatedStyle() {\n return createAnimatedStyle;\n },\n\n injectCreateAnimatedStyle: injectCreateAnimatedStyle,\n\n get manualFrameloop() {\n return manualFrameloop;\n },\n\n injectManualFrameloop: injectManualFrameloop\n});\n/**\n * Wraps the `style` property with `AnimatedStyle`.\n */\n\nvar AnimatedProps = /*#__PURE__*/function (_AnimatedObject) {\n _inherits(AnimatedProps, _AnimatedObject);\n\n var _super3 = _createSuper(AnimatedProps);\n\n function AnimatedProps(props, callback) {\n var _this4;\n\n _classCallCheck(this, AnimatedProps);\n\n _this4 = _super3.call(this);\n _this4.update = void 0;\n _this4.payload = !props.style ? props : _extends({}, props, {\n style: createAnimatedStyle(props.style)\n });\n _this4.update = callback;\n\n _this4.attach();\n\n return _this4;\n }\n\n return _createClass(AnimatedProps);\n}(AnimatedObject);\n\nvar isFunctionComponent = function isFunctionComponent(val) {\n return is.fun(val) && !(val.prototype instanceof React.Component);\n};\n\nvar createAnimatedComponent = function createAnimatedComponent(Component) {\n var AnimatedComponent = forwardRef(function (props, ref) {\n var forceUpdate = useForceUpdate();\n var mounted = useRef(true);\n var propsAnimated = useRef(null);\n var node = useRef(null);\n var attachProps = useCallback(function (props) {\n var oldPropsAnimated = propsAnimated.current;\n\n var callback = function callback() {\n var didUpdate = false;\n\n if (node.current) {\n didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());\n }\n\n if (!node.current || didUpdate === false) {\n // If no referenced node has been found, or the update target didn't have a\n // native-responder, then forceUpdate the animation ...\n forceUpdate();\n }\n };\n\n propsAnimated.current = new AnimatedProps(props, callback);\n oldPropsAnimated && oldPropsAnimated.detach();\n }, []);\n useEffect(function () {\n return function () {\n mounted.current = false;\n propsAnimated.current && propsAnimated.current.detach();\n };\n }, []);\n useImperativeHandle(ref, function () {\n return animatedApi(node, mounted, forceUpdate);\n });\n attachProps(props);\n\n var _getValue = propsAnimated.current.getValue(),\n scrollTop = _getValue.scrollTop,\n scrollLeft = _getValue.scrollLeft,\n animatedProps = _objectWithoutPropertiesLoose(_getValue, [\"scrollTop\", \"scrollLeft\"]); // Functions cannot have refs, see:\n // See: https://github.com/react-spring/react-spring/issues/569\n\n\n var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {\n return node.current = handleRef(childRef, ref);\n };\n return React.createElement(Component, _extends({}, animatedProps, {\n ref: refFn\n }));\n });\n return AnimatedComponent;\n};\n\nvar active = false;\nvar controllers = new Set();\n\nvar update = function update() {\n if (!active) return false;\n var time = now();\n\n var _iterator = _createForOfIteratorHelper(controllers),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var controller = _step.value;\n var isActive = false;\n\n for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {\n var _config = controller.configs[configIdx];\n var endOfAnimation = void 0,\n lastTime = void 0;\n\n for (var valIdx = 0; valIdx < _config.animatedValues.length; valIdx++) {\n var animation = _config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude\n\n if (animation.done) continue;\n var from = _config.fromValues[valIdx];\n var to = _config.toValues[valIdx];\n var position = animation.lastPosition;\n var isAnimated = to instanceof Animated;\n var velocity = Array.isArray(_config.initialVelocity) ? _config.initialVelocity[valIdx] : _config.initialVelocity;\n if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state\n\n if (_config.immediate) {\n animation.setValue(to);\n animation.done = true;\n continue;\n } // Break animation when string values are involved\n\n\n if (typeof from === 'string' || typeof to === 'string') {\n animation.setValue(to);\n animation.done = true;\n continue;\n }\n\n if (_config.duration !== void 0) {\n /** Duration easing */\n position = from + _config.easing((time - animation.startTime) / _config.duration) * (to - from);\n endOfAnimation = time >= animation.startTime + _config.duration;\n } else if (_config.decay) {\n /** Decay easing */\n position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));\n endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;\n if (endOfAnimation) to = position;\n } else {\n /** Spring easing */\n lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;\n velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : _config.initialVelocity; // If we lost a lot of frames just jump to the end.\n\n if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/\n\n var numSteps = Math.floor(time - lastTime);\n\n for (var i = 0; i < numSteps; ++i) {\n var force = -_config.tension * (position - to);\n var damping = -_config.friction * velocity;\n var acceleration = (force + damping) / _config.mass;\n velocity = velocity + acceleration * 1 / 1000;\n position = position + velocity * 1 / 1000;\n } // Conditions for stopping the spring animation\n\n\n var isOvershooting = _config.clamp && _config.tension !== 0 ? from < to ? position > to : position < to : false;\n\n var isVelocity = Math.abs(velocity) <= _config.precision;\n\n var isDisplacement = _config.tension !== 0 ? Math.abs(to - position) <= _config.precision : true;\n endOfAnimation = isOvershooting || isVelocity && isDisplacement;\n animation.lastVelocity = velocity;\n animation.lastTime = time;\n } // Trails aren't done until their parents conclude\n\n\n if (isAnimated && !_config.toValues[valIdx].done) endOfAnimation = false;\n\n if (endOfAnimation) {\n // Ensure that we end up with a round value\n if (animation.value !== to) position = to;\n animation.done = true;\n } else isActive = true;\n\n animation.setValue(position);\n animation.lastPosition = position;\n } // Keep track of updated values only when necessary\n\n\n if (controller.props.onFrame) controller.values[_config.name] = _config.interpolation.getValue();\n } // Update callbacks in the end of the frame\n\n\n if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame\n\n if (!isActive) {\n controllers.delete(controller);\n controller.stop(true);\n }\n } // Loop over as long as there are controllers ...\n\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (controllers.size) {\n if (manualFrameloop) manualFrameloop();else requestFrame(update);\n } else {\n active = false;\n }\n\n return active;\n};\n\nvar _start = function start(controller) {\n if (!controllers.has(controller)) controllers.add(controller);\n\n if (!active) {\n active = true;\n if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);\n }\n};\n\nvar stop = function stop(controller) {\n if (controllers.has(controller)) controllers.delete(controller);\n};\n\nfunction createInterpolator(range, output, extrapolate) {\n if (typeof range === 'function') {\n return range;\n }\n\n if (Array.isArray(range)) {\n return createInterpolator({\n range: range,\n output: output,\n extrapolate: extrapolate\n });\n }\n\n if (interpolation && typeof range.output[0] === 'string') {\n return interpolation(range);\n }\n\n var config = range;\n var outputRange = config.output;\n var inputRange = config.range || [0, 1];\n var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n var easing = config.easing || function (t) {\n return t;\n };\n\n return function (input) {\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n var result = map ? map(input) : input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range\n\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) break;\n }\n\n return i - 1;\n}\n\nvar AnimatedInterpolation = /*#__PURE__*/function (_AnimatedArray) {\n _inherits(AnimatedInterpolation, _AnimatedArray);\n\n var _super4 = _createSuper(AnimatedInterpolation);\n\n function AnimatedInterpolation(parents, range, output, extrapolate) {\n var _this5;\n\n _classCallCheck(this, AnimatedInterpolation);\n\n _this5 = _super4.call(this);\n _this5.calc = void 0;\n _this5.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];\n _this5.calc = createInterpolator(range, output, extrapolate);\n return _this5;\n }\n\n _createClass(AnimatedInterpolation, [{\n key: \"getValue\",\n value: function getValue() {\n return this.calc.apply(this, _toConsumableArray(this.payload.map(function (value) {\n return value.getValue();\n })));\n }\n }, {\n key: \"updateConfig\",\n value: function updateConfig(range, output, extrapolate) {\n this.calc = createInterpolator(range, output, extrapolate);\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n }]);\n\n return AnimatedInterpolation;\n}(AnimatedArray);\n\nvar interpolate$1 = function interpolate$1(parents, range, output) {\n return parents && new AnimatedInterpolation(parents, range, output);\n};\n\nvar config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n/** API\n * useChain(references, timeSteps, timeFrame)\n */\n\nfunction useChain(refs, timeSteps, timeFrame) {\n if (timeFrame === void 0) {\n timeFrame = 1000;\n }\n\n var previous = useRef();\n useEffect(function () {\n if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {\n var current = _ref.current;\n return current && current.start();\n });else if (timeSteps) {\n refs.forEach(function (_ref2, index) {\n var current = _ref2.current;\n\n if (current) {\n var ctrls = current.controllers;\n\n if (ctrls.length) {\n var t = timeFrame * timeSteps[index];\n ctrls.forEach(function (ctrl) {\n ctrl.queue = ctrl.queue.map(function (e) {\n return _extends({}, e, {\n delay: e.delay + t\n });\n });\n ctrl.start();\n });\n }\n }\n });\n } else refs.reduce(function (q, _ref3, rI) {\n var current = _ref3.current;\n return q = q.then(function () {\n return current.start();\n });\n }, Promise.resolve());\n previous.current = refs;\n });\n}\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an AnimatedValue is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\n\n\nfunction addAnimatedStyles(node, styles) {\n if ('update' in node) {\n styles.add(node);\n } else {\n node.getChildren().forEach(function (child) {\n return addAnimatedStyles(child, styles);\n });\n }\n}\n\nvar AnimatedValue = /*#__PURE__*/function (_Animated3) {\n _inherits(AnimatedValue, _Animated3);\n\n var _super5 = _createSuper(AnimatedValue);\n\n function AnimatedValue(_value) {\n var _this6;\n\n _classCallCheck(this, AnimatedValue);\n\n var _this;\n\n _this6 = _super5.call(this);\n _this = _assertThisInitialized(_this6);\n _this6.animatedStyles = new Set();\n _this6.value = void 0;\n _this6.startPosition = void 0;\n _this6.lastPosition = void 0;\n _this6.lastVelocity = void 0;\n _this6.startTime = void 0;\n _this6.lastTime = void 0;\n _this6.done = false;\n\n _this6.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n _this.value = value;\n if (flush) _this.flush();\n };\n\n _this6.value = _value;\n _this6.startPosition = _value;\n _this6.lastPosition = _value;\n return _this6;\n }\n\n _createClass(AnimatedValue, [{\n key: \"flush\",\n value: function flush() {\n if (this.animatedStyles.size === 0) {\n addAnimatedStyles(this, this.animatedStyles);\n }\n\n this.animatedStyles.forEach(function (animatedStyle) {\n return animatedStyle.update();\n });\n }\n }, {\n key: \"clearStyles\",\n value: function clearStyles() {\n this.animatedStyles.clear();\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.value;\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n }]);\n\n return AnimatedValue;\n}(Animated);\n\nvar AnimatedValueArray = /*#__PURE__*/function (_AnimatedArray2) {\n _inherits(AnimatedValueArray, _AnimatedArray2);\n\n var _super6 = _createSuper(AnimatedValueArray);\n\n function AnimatedValueArray(values) {\n var _this7;\n\n _classCallCheck(this, AnimatedValueArray);\n\n _this7 = _super6.call(this);\n _this7.payload = values.map(function (n) {\n return new AnimatedValue(n);\n });\n return _this7;\n }\n\n _createClass(AnimatedValueArray, [{\n key: \"setValue\",\n value: function setValue(value, flush) {\n var _this8 = this;\n\n if (flush === void 0) {\n flush = true;\n }\n\n if (Array.isArray(value)) {\n if (value.length === this.payload.length) {\n value.forEach(function (v, i) {\n return _this8.payload[i].setValue(v, flush);\n });\n }\n } else {\n this.payload.forEach(function (p) {\n return p.setValue(value, flush);\n });\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.payload.map(function (v) {\n return v.getValue();\n });\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(range, output) {\n return new AnimatedInterpolation(this, range, output);\n }\n }]);\n\n return AnimatedValueArray;\n}(AnimatedArray);\n\nvar G = 0;\n\nvar Controller = /*#__PURE__*/function () {\n function Controller() {\n var _this9 = this;\n\n _classCallCheck(this, Controller);\n\n this.id = void 0;\n this.idle = true;\n this.hasChanged = false;\n this.guid = 0;\n this.local = 0;\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.listeners = [];\n this.queue = [];\n this.localQueue = void 0;\n\n this.getValues = function () {\n return _this9.interpolations;\n };\n\n this.id = G++;\n }\n /** update(props)\n * This function filters input props and creates an array of tasks which are executed in .start()\n * Each task is allowed to carry a delay, which means it can execute asnychroneously */\n\n\n _createClass(Controller, [{\n key: \"update\",\n value: function update(args) {\n //this._id = n + this.id\n if (!args) return this; // Extract delay and the to-prop from props\n\n var _ref = interpolateTo(args),\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 0 : _ref$delay,\n to = _ref.to,\n props = _objectWithoutPropertiesLoose(_ref, [\"delay\", \"to\"]);\n\n if (is.arr(to) || is.fun(to)) {\n // If config is either a function or an array queue it up as is\n this.queue.push(_extends({}, props, {\n delay: delay,\n to: to\n }));\n } else if (to) {\n // Otherwise go through each key since it could be delayed individually\n var ops = {};\n Object.entries(to).forEach(function (_ref2) {\n var k = _ref2[0],\n v = _ref2[1]; // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props\n\n var entry = _extends({\n to: _defineProperty({}, k, v),\n delay: callProp(delay, k)\n }, props);\n\n var previous = ops[entry.delay] && ops[entry.delay].to;\n ops[entry.delay] = _extends({}, ops[entry.delay], entry, {\n to: _extends({}, previous, entry.to)\n });\n });\n this.queue = Object.values(ops);\n } // Sort queue, so that async calls go last\n\n\n this.queue = this.queue.sort(function (a, b) {\n return a.delay - b.delay;\n }); // Diff the reduced props immediately (they'll contain the from-prop and some config)\n\n this.diff(props);\n return this;\n }\n /** start(onEnd)\n * This function either executes a queue, if present, or starts the frameloop, which animates */\n\n }, {\n key: \"start\",\n value: function start(onEnd) {\n var _this10 = this;\n\n // If a queue is present we must excecute it\n if (this.queue.length) {\n this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values\n\n if (this.localQueue) {\n this.localQueue.forEach(function (_ref3) {\n var _ref3$from = _ref3.from,\n from = _ref3$from === void 0 ? {} : _ref3$from,\n _ref3$to = _ref3.to,\n to = _ref3$to === void 0 ? {} : _ref3$to;\n if (is.obj(from)) _this10.merged = _extends({}, from, _this10.merged);\n if (is.obj(to)) _this10.merged = _extends({}, _this10.merged, to);\n });\n } // The guid helps us tracking frames, a new queue over an old one means an override\n // We discard async calls in that caseÍ\n\n\n var local = this.local = ++this.guid;\n var queue = this.localQueue = this.queue;\n this.queue = []; // Go through each entry and execute it\n\n queue.forEach(function (_ref4, index) {\n var delay = _ref4.delay,\n props = _objectWithoutPropertiesLoose(_ref4, [\"delay\"]);\n\n var cb = function cb(finished) {\n if (index === queue.length - 1 && local === _this10.guid && finished) {\n _this10.idle = true;\n if (_this10.props.onRest) _this10.props.onRest(_this10.merged);\n }\n\n if (onEnd) onEnd();\n }; // Entries can be delayed, ansyc or immediate\n\n\n var async = is.arr(props.to) || is.fun(props.to);\n\n if (delay) {\n setTimeout(function () {\n if (local === _this10.guid) {\n if (async) _this10.runAsync(props, cb);else _this10.diff(props).start(cb);\n }\n }, delay);\n } else if (async) _this10.runAsync(props, cb);else _this10.diff(props).start(cb);\n });\n } // Otherwise we kick of the frameloop\n else {\n if (is.fun(onEnd)) this.listeners.push(onEnd);\n if (this.props.onStart) this.props.onStart();\n\n _start(this);\n }\n\n return this;\n }\n }, {\n key: \"stop\",\n value: function stop(finished) {\n this.listeners.forEach(function (onEnd) {\n return onEnd(finished);\n });\n this.listeners = [];\n return this;\n }\n /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */\n\n }, {\n key: \"pause\",\n value: function pause(finished) {\n this.stop(true);\n if (finished) stop(this);\n return this;\n }\n }, {\n key: \"runAsync\",\n value: function runAsync(_ref5, onEnd) {\n var _this11 = this;\n\n var _this = this;\n\n var delay = _ref5.delay,\n props = _objectWithoutPropertiesLoose(_ref5, [\"delay\"]);\n\n var local = this.local; // If \"to\" is either a function or an array it will be processed async, therefor \"to\" should be empty right now\n // If the view relies on certain values \"from\" has to be present\n\n var queue = Promise.resolve(undefined);\n\n if (is.arr(props.to)) {\n var _loop = function _loop(i) {\n var index = i;\n\n var fresh = _extends({}, props, interpolateTo(props.to[index]));\n\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n queue = queue.then(function () {\n //this.stop()\n if (local === _this11.guid) return new Promise(function (r) {\n return _this11.diff(fresh).start(r);\n });\n });\n };\n\n for (var i = 0; i < props.to.length; i++) {\n _loop(i);\n }\n } else if (is.fun(props.to)) {\n var index = 0;\n var last;\n queue = queue.then(function () {\n return props.to( // next(props)\n function (p) {\n var fresh = _extends({}, props, interpolateTo(p));\n\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n index++; //this.stop()\n\n if (local === _this11.guid) return last = new Promise(function (r) {\n return _this11.diff(fresh).start(r);\n });\n return;\n }, // cancel()\n function (finished) {\n if (finished === void 0) {\n finished = true;\n }\n\n return _this.stop(finished);\n }).then(function () {\n return last;\n });\n });\n }\n\n queue.then(onEnd);\n }\n }, {\n key: \"diff\",\n value: function diff(props) {\n var _this12 = this;\n\n this.props = _extends({}, this.props, props);\n var _this$props = this.props,\n _this$props$from = _this$props.from,\n from = _this$props$from === void 0 ? {} : _this$props$from,\n _this$props$to = _this$props.to,\n to = _this$props$to === void 0 ? {} : _this$props$to,\n _this$props$config = _this$props.config,\n config = _this$props$config === void 0 ? {} : _this$props$config,\n reverse = _this$props.reverse,\n attach = _this$props.attach,\n reset = _this$props.reset,\n immediate = _this$props.immediate; // Reverse values when requested\n\n if (reverse) {\n var _ref6 = [to, from];\n from = _ref6[0];\n to = _ref6[1];\n } // This will collect all props that were ever set, reset merged props when necessary\n\n\n this.merged = _extends({}, from, this.merged, to);\n this.hasChanged = false; // Attachment handling, trailed springs can \"attach\" themselves to a previous spring\n\n var target = attach && attach(this); // Reduces input { name: value } pairs into animated values\n\n this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {\n var name = _ref7[0],\n value = _ref7[1]; // Issue cached entries, except on reset\n\n var entry = acc[name] || {}; // Figure out what the value is supposed to be\n\n var isNumber = is.num(value);\n var isString = is.str(value) && !value.startsWith('#') && !/\\d/.test(value) && !colorNames[value];\n var isArray = is.arr(value);\n var isInterpolation = !isNumber && !isArray && !isString;\n var fromValue = !is.und(from[name]) ? from[name] : value;\n var toValue = isNumber || isArray ? value : isString ? value : 1;\n var toConfig = callProp(config, name);\n if (target) toValue = target.animations[name].parent;\n var parent = entry.parent,\n interpolation$$1 = entry.interpolation,\n toValues = toArray(target ? toValue.getPayload() : toValue),\n animatedValues;\n var newValue = value;\n if (isInterpolation) newValue = interpolation({\n range: [0, 1],\n output: [value, value]\n })(1);\n var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags\n\n var isFirst = is.und(parent);\n var isActive = !isFirst && entry.animatedValues.some(function (v) {\n return !v.done;\n });\n var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);\n var hasNewGoal = !is.equ(newValue, entry.previous);\n var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)\n // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)\n\n if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {\n // Convert regular values into animated values, ALWAYS re-use if possible\n if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {\n var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);\n prev = prev !== void 0 && !reset ? prev : fromValue;\n\n if (entry.parent) {\n parent = entry.parent;\n parent.setValue(0, false);\n } else parent = new AnimatedValue(0);\n\n var range = {\n output: [prev, value]\n };\n\n if (entry.interpolation) {\n interpolation$$1 = entry.interpolation;\n entry.interpolation.updateConfig(range);\n } else interpolation$$1 = parent.interpolate(range);\n }\n toValues = toArray(target ? toValue.getPayload() : toValue);\n animatedValues = toArray(parent.getPayload());\n if (reset && !isInterpolation) parent.setValue(fromValue, false);\n _this12.hasChanged = true; // Reset animated values\n\n animatedValues.forEach(function (value) {\n value.startPosition = value.value;\n value.lastPosition = value.value;\n value.lastVelocity = isActive ? value.lastVelocity : undefined;\n value.lastTime = isActive ? value.lastTime : undefined;\n value.startTime = now();\n value.done = false;\n value.animatedStyles.clear();\n }); // Set immediate values\n\n if (callProp(immediate, name)) {\n parent.setValue(isInterpolation ? toValue : value, false);\n }\n\n return _extends({}, acc, _defineProperty({}, name, _extends({}, entry, {\n name: name,\n parent: parent,\n interpolation: interpolation$$1,\n animatedValues: animatedValues,\n toValues: toValues,\n previous: newValue,\n config: toConfig,\n fromValues: toArray(parent.getValue()),\n immediate: callProp(immediate, name),\n initialVelocity: withDefault(toConfig.velocity, 0),\n clamp: withDefault(toConfig.clamp, false),\n precision: withDefault(toConfig.precision, 0.01),\n tension: withDefault(toConfig.tension, 170),\n friction: withDefault(toConfig.friction, 26),\n mass: withDefault(toConfig.mass, 1),\n duration: toConfig.duration,\n easing: withDefault(toConfig.easing, function (t) {\n return t;\n }),\n decay: toConfig.decay\n })));\n } else {\n if (!currentValueDiffersFromGoal) {\n // So ... the current target value (newValue) appears to be different from the previous value,\n // which normally constitutes an update, but the actual value (currentValue) matches the target!\n // In order to resolve this without causing an animation update we silently flag the animation as done,\n // which it technically is. Interpolations also needs a config update with their target set to 1.\n if (isInterpolation) {\n parent.setValue(1, false);\n interpolation$$1.updateConfig({\n output: [newValue, newValue]\n });\n }\n\n parent.done = true;\n _this12.hasChanged = true;\n return _extends({}, acc, _defineProperty({}, name, _extends({}, acc[name], {\n previous: newValue\n })));\n }\n\n return acc;\n }\n }, this.animations);\n\n if (this.hasChanged) {\n // Make animations available to frameloop\n this.configs = Object.values(this.animations);\n this.values = {};\n this.interpolations = {};\n\n for (var key in this.animations) {\n this.interpolations[key] = this.animations[key].interpolation;\n this.values[key] = this.animations[key].interpolation.getValue();\n }\n }\n\n return this;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stop();\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.local = 0;\n }\n }]);\n\n return Controller;\n}();\n/** API\n * const props = useSprings(number, [{ ... }, { ... }, ...])\n * const [props, set] = useSprings(number, (i, controller) => ({ ... }))\n */\n\n\nvar useSprings = function useSprings(length, props) {\n var mounted = useRef(false);\n var ctrl = useRef();\n var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations\n\n var _useMemo = useMemo(function () {\n // Remove old controllers\n if (ctrl.current) {\n ctrl.current.map(function (c) {\n return c.destroy();\n });\n ctrl.current = undefined;\n }\n\n var ref;\n return [new Array(length).fill().map(function (_, i) {\n var ctrl = new Controller();\n var newProps = isFn ? callProp(props, i, ctrl) : props[i];\n if (i === 0) ref = newProps.ref;\n ctrl.update(newProps);\n if (!ref) ctrl.start();\n return ctrl;\n }), ref];\n }, [length]),\n controllers = _useMemo[0],\n ref = _useMemo[1];\n\n ctrl.current = controllers; // The hooks reference api gets defined here ...\n\n var api = useImperativeHandle(ref, function () {\n return {\n start: function start() {\n return Promise.all(ctrl.current.map(function (c) {\n return new Promise(function (r) {\n return c.start(r);\n });\n }));\n },\n stop: function stop(finished) {\n return ctrl.current.forEach(function (c) {\n return c.stop(finished);\n });\n },\n\n get controllers() {\n return ctrl.current;\n }\n\n };\n }); // This function updates the controllers\n\n var updateCtrl = useMemo(function () {\n return function (updateProps) {\n return ctrl.current.map(function (c, i) {\n c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);\n if (!ref) c.start();\n });\n };\n }, [length]); // Update controller if props aren't functional\n\n useEffect(function () {\n if (mounted.current) {\n if (!isFn) updateCtrl(props);\n } else if (!ref) ctrl.current.forEach(function (c) {\n return c.start();\n });\n }); // Update mounted flag and destroy controller on unmount\n\n useEffect(function () {\n return mounted.current = true, function () {\n return ctrl.current.forEach(function (c) {\n return c.destroy();\n });\n };\n }, []); // Return animated props, or, anim-props + the update-setter above\n\n var propValues = ctrl.current.map(function (c) {\n return c.getValues();\n });\n return isFn ? [propValues, updateCtrl, function (finished) {\n return ctrl.current.forEach(function (c) {\n return c.pause(finished);\n });\n }] : propValues;\n};\n/** API\n * const props = useSpring({ ... })\n * const [props, set] = useSpring(() => ({ ... }))\n */\n\n\nvar useSpring = function useSpring(props) {\n var isFn = is.fun(props);\n\n var _useSprings = useSprings(1, isFn ? props : [props]),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2];\n\n return isFn ? [result[0], set, pause] : result;\n};\n/** API\n * const trails = useTrail(number, { ... })\n * const [trails, set] = useTrail(number, () => ({ ... }))\n */\n\n\nvar useTrail = function useTrail(length, props) {\n var mounted = useRef(false);\n var isFn = is.fun(props);\n var updateProps = callProp(props);\n var instances = useRef();\n\n var _useSprings = useSprings(length, function (i, ctrl) {\n if (i === 0) instances.current = [];\n instances.current.push(ctrl);\n return _extends({}, updateProps, {\n config: callProp(updateProps.config, i),\n attach: i > 0 && function () {\n return instances.current[i - 1];\n }\n });\n }),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2]; // Set up function to update controller\n\n\n var updateCtrl = useMemo(function () {\n return function (props) {\n return set(function (i, ctrl) {\n var last = props.reverse ? i === 0 : length - 1 === i;\n var attachIdx = props.reverse ? i + 1 : i - 1;\n var attachController = instances.current[attachIdx];\n return _extends({}, props, {\n config: callProp(props.config || updateProps.config, i),\n attach: attachController && function () {\n return attachController;\n }\n });\n });\n };\n }, [length, updateProps.reverse]); // Update controller if props aren't functional\n\n useEffect(function () {\n return void (mounted.current && !isFn && updateCtrl(props));\n }); // Update mounted flag and destroy controller on unmount\n\n useEffect(function () {\n return void (mounted.current = true);\n }, []);\n return isFn ? [result, updateCtrl, pause] : result;\n};\n/** API\n * const transitions = useTransition(items, itemKeys, { ... })\n * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))\n */\n\n\nvar guid = 0;\nvar ENTER = 'enter';\nvar LEAVE = 'leave';\nvar UPDATE = 'update';\n\nvar mapKeys = function mapKeys(items, keys) {\n return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);\n};\n\nvar get = function get(props) {\n var items = props.items,\n _props$keys = props.keys,\n keys = _props$keys === void 0 ? function (item) {\n return item;\n } : _props$keys,\n rest = _objectWithoutPropertiesLoose(props, [\"items\", \"keys\"]);\n\n items = toArray(items !== void 0 ? items : null);\n return _extends({\n items: items,\n keys: mapKeys(items, keys)\n }, rest);\n};\n\nfunction useTransition(input, keyTransform, config) {\n var props = _extends({\n items: input,\n keys: keyTransform || function (i) {\n return i;\n }\n }, config);\n\n var _get = get(props),\n _get$lazy = _get.lazy,\n lazy = _get$lazy === void 0 ? false : _get$lazy,\n _get$unique = _get.unique,\n _get$reset = _get.reset,\n reset = _get$reset === void 0 ? false : _get$reset,\n enter = _get.enter,\n leave = _get.leave,\n update = _get.update,\n onDestroyed = _get.onDestroyed,\n keys = _get.keys,\n items = _get.items,\n onFrame = _get.onFrame,\n _onRest = _get.onRest,\n onStart = _get.onStart,\n ref = _get.ref,\n extra = _objectWithoutPropertiesLoose(_get, [\"lazy\", \"unique\", \"reset\", \"enter\", \"leave\", \"update\", \"onDestroyed\", \"keys\", \"items\", \"onFrame\", \"onRest\", \"onStart\", \"ref\"]);\n\n var forceUpdate = useForceUpdate();\n var mounted = useRef(false);\n var state = useRef({\n mounted: false,\n first: true,\n deleted: [],\n current: {},\n transitions: [],\n prevProps: {},\n paused: !!props.ref,\n instances: !mounted.current && new Map(),\n forceUpdate: forceUpdate\n });\n useImperativeHandle(props.ref, function () {\n return {\n start: function start() {\n return Promise.all(Array.from(state.current.instances).map(function (_ref) {\n var c = _ref[1];\n return new Promise(function (r) {\n return c.start(r);\n });\n }));\n },\n stop: function stop(finished) {\n return Array.from(state.current.instances).forEach(function (_ref2) {\n var c = _ref2[1];\n return c.stop(finished);\n });\n },\n\n get controllers() {\n return Array.from(state.current.instances).map(function (_ref3) {\n var c = _ref3[1];\n return c;\n });\n }\n\n };\n }); // Update state\n\n state.current = diffItems(state.current, props);\n\n if (state.current.changed) {\n // Update state\n state.current.transitions.forEach(function (transition) {\n var slot = transition.slot,\n from = transition.from,\n to = transition.to,\n config = transition.config,\n trail = transition.trail,\n key = transition.key,\n item = transition.item;\n if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object\n\n var ctrl = state.current.instances.get(key);\n\n var newProps = _extends({}, extra, {\n to: to,\n from: from,\n config: config,\n ref: ref,\n onRest: function onRest(values) {\n if (state.current.mounted) {\n if (transition.destroyed) {\n // If no ref is given delete destroyed items immediately\n if (!ref && !lazy) cleanUp(state, key);\n if (onDestroyed) onDestroyed(item);\n } // A transition comes to rest once all its springs conclude\n\n\n var curInstances = Array.from(state.current.instances);\n\n var _active = curInstances.some(function (_ref4) {\n var c = _ref4[1];\n return !c.idle;\n });\n\n if (!_active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);\n if (_onRest) _onRest(item, slot, values);\n }\n },\n onStart: onStart && function () {\n return onStart(item, slot);\n },\n onFrame: onFrame && function (values) {\n return onFrame(item, slot, values);\n },\n delay: trail,\n reset: reset && slot === ENTER // Update controller\n\n });\n\n ctrl.update(newProps);\n if (!state.current.paused) ctrl.start();\n });\n }\n\n useEffect(function () {\n state.current.mounted = mounted.current = true;\n return function () {\n state.current.mounted = mounted.current = false;\n Array.from(state.current.instances).map(function (_ref5) {\n var c = _ref5[1];\n return c.destroy();\n });\n state.current.instances.clear();\n };\n }, []);\n return state.current.transitions.map(function (_ref6) {\n var item = _ref6.item,\n slot = _ref6.slot,\n key = _ref6.key;\n return {\n item: item,\n key: key,\n state: slot,\n props: state.current.instances.get(key).getValues()\n };\n });\n}\n\nfunction cleanUp(state, filterKey) {\n var deleted = state.current.deleted;\n\n var _iterator2 = _createForOfIteratorHelper(deleted),\n _step2;\n\n try {\n var _loop2 = function _loop2() {\n var _ref7 = _step2.value;\n var key = _ref7.key;\n\n var filter = function filter(t) {\n return t.key !== key;\n };\n\n if (is.und(filterKey) || filterKey === key) {\n state.current.instances.delete(key);\n state.current.transitions = state.current.transitions.filter(filter);\n state.current.deleted = state.current.deleted.filter(filter);\n }\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop2();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n state.current.forceUpdate();\n}\n\nfunction diffItems(_ref8, props) {\n var first = _ref8.first,\n prevProps = _ref8.prevProps,\n state = _objectWithoutPropertiesLoose(_ref8, [\"first\", \"prevProps\"]);\n\n var _get2 = get(props),\n items = _get2.items,\n keys = _get2.keys,\n initial = _get2.initial,\n from = _get2.from,\n enter = _get2.enter,\n leave = _get2.leave,\n update = _get2.update,\n _get2$trail = _get2.trail,\n trail = _get2$trail === void 0 ? 0 : _get2$trail,\n unique = _get2.unique,\n config = _get2.config,\n _get2$order = _get2.order,\n order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;\n\n var _get3 = get(prevProps),\n _keys = _get3.keys,\n _items = _get3.items;\n\n var current = _extends({}, state.current);\n\n var deleted = _toConsumableArray(state.deleted); // Compare next keys with current keys\n\n\n var currentKeys = Object.keys(current);\n var currentSet = new Set(currentKeys);\n var nextSet = new Set(keys);\n var added = keys.filter(function (item) {\n return !currentSet.has(item);\n });\n var removed = state.transitions.filter(function (item) {\n return !item.destroyed && !nextSet.has(item.originalKey);\n }).map(function (i) {\n return i.originalKey;\n });\n var updated = keys.filter(function (item) {\n return currentSet.has(item);\n });\n var delay = -trail;\n\n while (order.length) {\n var changeType = order.shift();\n\n switch (changeType) {\n case ENTER:\n {\n added.forEach(function (key, index) {\n // In unique mode, remove fading out transitions if their key comes in again\n if (unique && deleted.find(function (d) {\n return d.originalKey === key;\n })) deleted = deleted.filter(function (t) {\n return t.originalKey !== key;\n });\n var keyIndex = keys.indexOf(key);\n var item = items[keyIndex];\n var slot = first && initial !== void 0 ? 'initial' : ENTER;\n current[key] = {\n slot: slot,\n originalKey: key,\n key: unique ? String(key) : guid++,\n item: item,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),\n to: callProp(enter, item)\n };\n });\n break;\n }\n\n case LEAVE:\n {\n removed.forEach(function (key) {\n var keyIndex = _keys.indexOf(key);\n\n var item = _items[keyIndex];\n var slot = LEAVE;\n deleted.unshift(_extends({}, current[key], {\n slot: slot,\n destroyed: true,\n left: _keys[Math.max(0, keyIndex - 1)],\n right: _keys[Math.min(_keys.length, keyIndex + 1)],\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(leave, item)\n }));\n delete current[key];\n });\n break;\n }\n\n case UPDATE:\n {\n updated.forEach(function (key) {\n var keyIndex = keys.indexOf(key);\n var item = items[keyIndex];\n var slot = UPDATE;\n current[key] = _extends({}, current[key], {\n item: item,\n slot: slot,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(update, item)\n });\n });\n break;\n }\n }\n }\n\n var out = keys.map(function (key) {\n return current[key];\n }); // This tries to restore order for deleted items by finding their last known siblings\n // only using the left sibling to keep order placement consistent for all deleted items\n\n deleted.forEach(function (_ref9) {\n var left = _ref9.left,\n right = _ref9.right,\n item = _objectWithoutPropertiesLoose(_ref9, [\"left\", \"right\"]);\n\n var pos; // Was it the element on the left, if yes, move there ...\n\n if ((pos = out.findIndex(function (t) {\n return t.originalKey === left;\n })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\\_(ツ)_/¯\n\n pos = Math.max(0, pos);\n out = [].concat(_toConsumableArray(out.slice(0, pos)), [item], _toConsumableArray(out.slice(pos)));\n });\n return _extends({}, state, {\n changed: added.length || removed.length || updated.length,\n first: first && added.length === 0,\n transitions: out,\n current: current,\n deleted: deleted,\n prevProps: props\n });\n}\n\nvar AnimatedStyle = /*#__PURE__*/function (_AnimatedObject2) {\n _inherits(AnimatedStyle, _AnimatedObject2);\n\n var _super7 = _createSuper(AnimatedStyle);\n\n function AnimatedStyle(style) {\n var _this13;\n\n _classCallCheck(this, AnimatedStyle);\n\n if (style === void 0) {\n style = {};\n }\n\n _this13 = _super7.call(this);\n\n if (style.transform && !(style.transform instanceof Animated)) {\n style = applyAnimatedValues.transform(style);\n }\n\n _this13.payload = style;\n return _this13;\n }\n\n return _createClass(AnimatedStyle);\n}(AnimatedObject); // http://www.w3.org/TR/css3-color/#svg-color\n\n\nvar colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n}; // const INTEGER = '[-+]?\\\\d+';\n\nvar NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nvar PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {\n parts[_key] = arguments[_key];\n }\n\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nvar rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nvar rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nvar hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nvar hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nvar hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex6 = /^#([0-9a-fA-F]{6})$/;\nvar hex8 = /^#([0-9a-fA-F]{8})$/;\n/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n } // Ordered based on occurrences on Facebook codebase\n\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n if (colors.hasOwnProperty(color)) return colors[color];\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff) >>> // a\n 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4])) >>> // a\n 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16) >>> 0;\n } // https://drafts.csswg.org/css-color-4/#hex-notation\n\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | 0x000000ff) >>> // a\n 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>> // a\n 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n var int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n var int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n var int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n var int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n var r = (int32Color & 0xff000000) >>> 24;\n var g = (int32Color & 0x00ff0000) >>> 16;\n var b = (int32Color & 0x0000ff00) >>> 8;\n var a = (int32Color & 0x000000ff) / 255;\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(a, \")\");\n} // Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\n\n\nvar stringShapeRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g; // Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\n\nvar colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi; // Covers color names (transparent, blue, etc.)\n\nvar colorNamesRegex = new RegExp(\"(\".concat(Object.keys(colors).join('|'), \")\"), 'g');\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows\n */\n\nvar createStringInterpolator = function createStringInterpolator(config) {\n // Replace colors with rgba\n var outputRange = config.output.map(function (rangeValue) {\n return rangeValue.replace(colorRegex, colorToRgba);\n }).map(function (rangeValue) {\n return rangeValue.replace(colorNamesRegex, colorToRgba);\n });\n var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {\n return [];\n });\n outputRange.forEach(function (value) {\n value.match(stringShapeRegex).forEach(function (number, i) {\n return outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {\n return createInterpolator(_extends({}, config, {\n output: outputRanges[i]\n }));\n });\n return function (input) {\n var i = 0;\n return outputRange[0] // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n .replace(stringShapeRegex, function () {\n return interpolations[i++](input);\n }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n .replace(/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi, function (_, p1, p2, p3, p4) {\n return \"rgba(\".concat(Math.round(p1), \", \").concat(Math.round(p2), \", \").concat(Math.round(p3), \", \").concat(p4, \")\");\n });\n };\n};\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nvar prefixKey = function prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nvar prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {\n prefixes.forEach(function (prefix) {\n return acc[prefixKey(prefix, prop)] = acc[prop];\n });\n return acc;\n}, isUnitlessNumber);\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n\n return ('' + value).trim();\n}\n\nvar attributeCache = {};\ninjectCreateAnimatedStyle(function (style) {\n return new AnimatedStyle(style);\n});\ninjectDefaultElement('div');\ninjectStringInterpolator(createStringInterpolator);\ninjectColorNames(colors);\ninjectApplyAnimatedValues(function (instance, props) {\n if (instance.nodeType && instance.setAttribute !== undefined) {\n var style = props.style,\n children = props.children,\n scrollTop = props.scrollTop,\n scrollLeft = props.scrollLeft,\n attributes = _objectWithoutPropertiesLoose(props, [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"]);\n\n var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n if (scrollTop !== void 0) instance.scrollTop = scrollTop;\n if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value\n\n if (children !== void 0) instance.textContent = children; // Set styles ...\n\n for (var styleName in style) {\n if (!style.hasOwnProperty(styleName)) continue;\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);\n if (styleName === 'float') styleName = 'cssFloat';\n if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;\n } // Set attributes ...\n\n\n for (var name in attributes) {\n // Attributes are written in dash case\n var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {\n return '-' + n.toLowerCase();\n }));\n if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);\n }\n\n return;\n } else return false;\n}, function (style) {\n return style;\n});\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan']; // Extend animated with all the available THREE elements\n\nvar apply = merge(createAnimatedComponent, false);\nvar extendedAnimated = apply(domElements);\nexport { apply, config, update, extendedAnimated as animated, extendedAnimated as a, interpolate$1 as interpolate, Globals, useSpring, useTrail, useTransition, useChain, useSprings };","import React, { useEffect, useRef } from \"react\"\nimport { useSpring, animated, to } from \"react-spring\"\nimport styled from \"styled-components\"\nimport { useMediaQuery } from \"react-responsive\"\nimport { useInView } from \"react-intersection-observer\"\n\nconst Card = styled(animated.div)`\n position: absolute;\n bottom: calc(50% - 21vw);\n right: calc(50% - 37.5vw);\n\n @media (orientation: portrait) {\n bottom: calc(50% - 56vw);\n right: calc(50% - 45vw);\n }\n`\n\nconst HoverCard = ({ children, movedFromSide }) => {\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n const cardEl = useRef()\n const { ref, inView, entry } = useInView()\n\n const calc = (x, y) => {\n return [\n -parseInt(\n y -\n cardEl.current.getBoundingClientRect().top -\n cardEl.current.offsetHeight / 2\n ) / 20,\n parseInt(\n x -\n cardEl.current.getBoundingClientRect().left -\n cardEl.current.offsetWidth / 2\n ) / 30,\n 1.1,\n ]\n }\n const trans = (x, y) => {\n return `perspective(2000px) rotateX(${x}deg) rotateY(${y}deg)`\n }\n\n const [springProps, set] = useSpring(() => ({\n xys: [0, 0, 1],\n config: {\n mass: 5,\n tension: 350,\n friction: 40,\n },\n }))\n\n const setFromEvent = ({ clientX: x, clientY: y }) => {\n set({ xys: calc(x, y) })\n }\n\n useEffect(() => {\n !isPortrait && inView && window.addEventListener(\"mousemove\", setFromEvent)\n\n return () => {\n !isPortrait &&\n inView &&\n window.removeEventListener(\"mousemove\", setFromEvent)\n }\n }, [isPortrait, inView])\n\n return (\n \n
{children}
\n \n )\n}\n\nexport default HoverCard\n","import React, { useEffect, useState, useRef } from \"react\"\nimport styled from \"styled-components\"\n\nconst Wrapper = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`\n\nconst VideoWrapper = styled.div`\n position: relative;\n height: 100%;\n`\n\nconst Video = styled.video`\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n`\n\nconst Poster = styled.img`\n display: ${({ show }) => show ? 'block' : 'none'};;\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n`\n\nconst Controls = styled.div`\n display: ${({ isTouch }) => (isTouch ? \"none\" : \"block\")};\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 37px;\n z-index: 3;\n padding: 0 40px;\n opacity: ${({ controlsVisible, isPlaying }) =>\n controlsVisible && isPlaying ? \"1\" : \"0\"};\n transition: opacity 0.2s ease-in-out;\n`\n\nconst ControlsTop = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n`\n\nconst TimePlayed = styled.div`\n font-size: 12px;\n text-transform: uppercase;\n text-align: center;\n color: #fff;\n`\n\nconst Buttons = styled.div`\n display: flex;\n`\n\nconst Mute = styled.button`\n display: block;\n margin: 0;\n border: 0;\n padding: 10px;\n font-size: 12px;\n color: #fff;\n text-transform: uppercase;\n\n &:focus {\n outline: none;\n }\n`\n\nconst PlayPause = styled.button`\n display: ${({ isTouch }) => (isTouch ? \"none\" : \"block\")};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n height: 100%;\n width: 100%;\n overflow: hidden;\n text-indent: -9999px;\n border: 0;\n padding: 0;\n margin: 0;\n transition: opacity 0.2s ease-in-out;\n opacity: ${({ isPlaying }) => (isPlaying ? \"0\" : \"1\")};\n background-size: 7%;\n\n &:focus {\n outline: none;\n }\n`\n\nconst ProgressWrapper = styled.div`\n height: 2px;\n width: 100%;\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n`\n\nconst ProgressBar = styled.div`\n display: block;\n width: 0%;\n height: 100%;\n background-color: #fff;\n`\n\nconst VideoOverlay = ({\n showVideo,\n src,\n loopWithSound,\n poster,\n innerRefPlayEl,\n setShowButton,\n}) => {\n const mainWrapper = useRef(null)\n const vid = useRef(null)\n const progressBar = useRef(null)\n\n let timerInterval = useRef(null)\n let controlsInterval = useRef(null)\n\n const [timePlayed, setTimePlayed] = useState(\"00:00\")\n const [controlsVisible, setControlsVisible] = useState(false)\n const [areControlsVisible, setAreControlsVisible] = useState(false)\n const [isMuted, setIsMuted] = useState(false)\n const [isFullscreen, setIsFullscreen] = useState(false)\n const [isPlaying, setIsPlaying] = useState(false)\n const [showPoster, setShowPoster] = useState(true)\n const [isTouch, setIsTouch] = useState(false)\n const [playPosX, setPlayPosX] = useState(0)\n const [playPosY, setPlayPosY] = useState(0)\n\n const exitFullScreenMobile = () => {\n if (!isFullscreen) {\n const mq =\n typeof window !== \"undefined\"\n ? window.matchMedia(\n \"only screen and (min-width: 813px) and (orientation: landscape), only screen and (min-width: 1024px)\"\n )\n : false\n const isDesktop = mq ? mq.matches : false\n if (!isDesktop) {\n closeVideo()\n }\n }\n }\n\n const closeVideo = () => {\n setIsPlaying(true)\n vid.current.pause()\n vid.current.currentTime = 0\n pauseVideo()\n setShowButton(true)\n }\n\n const playVideo = () => {\n vid.current.play()\n\n timerInterval.current = setInterval(timer, 1000)\n setShowButton(false)\n setIsPlaying(true)\n setShowPoster(false)\n }\n\n const pauseVideo = () => {\n vid.current.pause()\n setShowButton(true)\n clearInterval(timerInterval.current)\n\n setIsPlaying(false)\n }\n\n const playPause = setting => {\n if (vid.current.paused || vid.current.ended) {\n playVideo()\n } else {\n pauseVideo()\n }\n }\n\n const formattedTime = time => {\n const minutes = Math.floor(time / 60)\n\n let seconds = time % 60\n\n if (seconds < 10) {\n seconds = `0${seconds}`\n }\n\n // The output in MM:SS format\n return `0${minutes || \"0\"}:${seconds || \"00\"}`\n }\n\n const timer = () => {\n if (vid.current) {\n setTimePlayed(formattedTime(Math.round(vid.current.currentTime)))\n }\n }\n\n const handleMute = () => {\n vid.current.muted = !vid.current.muted\n setIsMuted(!isMuted)\n }\n\n // handling fullscreen state\n\n const handleFullscreen = () => {\n if (isFullScreen()) {\n if (document.exitFullscreen) document.exitFullscreen()\n else if (document.mozCancelFullScreen) document.mozCancelFullScreen()\n else if (document.webkitCancelFullScreen)\n document.webkitCancelFullScreen()\n else if (document.msExitFullscreen) document.msExitFullscreen()\n setIsFullscreen(false)\n } else {\n if (mainWrapper.current.requestFullscreen)\n mainWrapper.current.requestFullscreen()\n else if (mainWrapper.current.mozRequestFullScreen)\n mainWrapper.current.mozRequestFullScreen()\n else if (mainWrapper.current.webkitRequestFullScreen)\n mainWrapper.current.webkitRequestFullScreen()\n else if (mainWrapper.current.msRequestFullscreen)\n mainWrapper.current.msRequestFullscreen()\n setIsFullscreen(true)\n }\n }\n\n const isFullScreen = () => {\n return !!(\n document.fullScreen ||\n document.webkitIsFullScreen ||\n document.mozFullScreen ||\n document.msFullscreenElement ||\n document.fullscreenElement\n )\n }\n\n const setDurationVal = () => {\n progressBar.current.setAttribute(\n \"data-max\",\n Math.round(vid.current.duration)\n )\n }\n\n const handleSkipAhead = event => {\n const pos =\n (event.pageX -\n (progressBar.current.parentElement.offsetLeft +\n vid.current.parentElement.offsetLeft)) /\n progressBar.current.parentElement.offsetWidth\n vid.current.currentTime = pos * vid.current.duration\n\n timer()\n }\n\n const handleTime = () => {\n if (!progressBar.current.getAttribute(\"data-max\"))\n progressBar.current.setAttribute(\"data-max\", vid.current.duration)\n\n progressBar.current.style.width =\n Math.round((vid.current.currentTime / vid.current.duration) * 100) + \"%\"\n\n if (vid.current.ended) {\n vid.current.currentTime = 0\n\n setIsPlaying(false)\n }\n }\n\n const showControls = () => {\n if (!isTouch) setControlsVisible(true)\n }\n\n const hideControls = () => {\n if (!isTouch) {\n setControlsVisible(false)\n\n clearTimeout(controlsInterval.current)\n }\n }\n\n const handleMouseMove = e => {\n setPlayPosX(e.clientX)\n setPlayPosY(e.clientY)\n }\n\n const watchControls = e => {\n handleMouseMove(e)\n\n if (!isTouch) {\n clearTimeout(controlsInterval.current)\n\n if (areControlsVisible) {\n setControlsVisible(true)\n setAreControlsVisible(false)\n }\n\n controlsInterval.current = setTimeout(() => {\n setControlsVisible(false)\n setAreControlsVisible(true)\n }, 3000)\n }\n }\n\n useEffect(() => {\n if (\"ontouchstart\" in window || navigator.msMaxTouchPoints > 0) {\n setIsTouch(true)\n } else {\n setIsTouch(false)\n }\n\n vid.current.addEventListener(\"webkitendfullscreen\", function () {\n setIsFullscreen(false)\n exitFullScreenMobile()\n })\n\n return () => {\n vid.current &&\n vid.current.removeEventListener(\"webkitendfullscreen\", function () {\n setIsFullscreen(false)\n exitFullScreenMobile()\n })\n }\n }, [vid])\n\n useEffect(() => {\n const handleEsc = event => {\n if (event.keyCode === 27) {\n if (!isFullscreen) {\n closeVideo()\n }\n }\n }\n\n document.addEventListener(\"keyup\", handleEsc)\n document.addEventListener(\"fullscreenchange\", function (e) {\n setIsFullscreen(!!(document.fullScreen || document.fullscreenElement))\n })\n document.addEventListener(\"webkitfullscreenchange\", function () {\n setIsFullscreen(!!document.webkitIsFullScreen)\n })\n document.addEventListener(\"mozfullscreenchange\", function () {\n setIsFullscreen(!!document.mozFullScreen)\n })\n document.addEventListener(\"msfullscreenchange\", function () {\n setIsFullscreen(!!document.msFullscreenElement)\n })\n return () => {\n document.removeEventListener(\"fullscreenchange\", function (e) {\n setIsFullscreen(!!(document.fullScreen || document.fullscreenElement))\n })\n document.removeEventListener(\"webkitfullscreenchange\", function () {\n setIsFullscreen(!!document.webkitIsFullScreen)\n })\n document.removeEventListener(\"mozfullscreenchange\", function () {\n setIsFullscreen(!!document.mozFullScreen)\n })\n document.removeEventListener(\"msfullscreenchange\", function () {\n setIsFullscreen(!!document.msFullscreenElement)\n })\n document.removeEventListener(\"keyup\", handleEsc)\n }\n }, [])\n\n useEffect(() => {\n exitFullScreenMobile()\n }, [isFullscreen])\n\n useEffect(() => {\n if (loopWithSound) {\n vid.current.muted = true\n setIsMuted(true)\n\n playVideo()\n }\n }, [loopWithSound, vid])\n\n return (\n \n \n \n \n \n\n \n\n \n Play/Pause\n \n \n \n \n {timePlayed}\n \n \n Sound {isMuted ? \"on\" : \"off\"}\n \n \n \n \n \n \n \n \n )\n}\n\nexport default VideoOverlay\n","import React, { useRef, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport HoverCard from \"./video/HoverCard\"\nimport Player from \"./video/Player\"\n\nconst Wrapper = styled.div`\n height: 50vw;\n width: 100%;\n position: relative;\n margin-bottom: ${({ marginB }) => marginB ? '80px' : '0'};\n\n @media (orientation: portrait) {\n height: 130vw;\n }\n`\n\nconst Inside = styled.div`\n height: 42vw;\n width: 75vw;\n\n @media (orientation: portrait) {\n height: 112vw;\n width: 90vw;\n }\n`\n\nconst PlayButtonWrapper = styled.div`\n position: sticky;\n top: 20vw;\n margin-bottom: 10vw;\n display: flex;\n justify-content: center;\n z-index: 99;\n pointer-events: none;\n transform: translateZ(100px);\n\n @media (orientation: portrait) {\n top: 30vh;\n top: calc(var(--vh, 1vh) * 30);\n margin-bottom: 15vw;\n }\n`\n\nconst PlayButton = styled.button`\n background: rgba(0, 0, 0, 0.5);\n border-radius: 30px;\n color: #fff;\n padding: 19px 22px;\n margin-top: 10vh;\n margin-top: calc(var(--vh, 1vh) * 10);\n opacity: ${({ show }) => (show ? 1 : 0)};\n pointer-events: ${({ show }) => (show ? \"auto\" : \"none\")};\n transition: opacity 0.25s ease-in-out;\n`\n\nconst Video = ({ btnText, btnTextMob, srcDt, srcMob, posterMob, posterDt, marginB }) => {\n const playEl = useRef(null)\n const [showButton, setShowButton] = useState(true)\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n\n return (\n \n \n {\n if (playEl.current) {\n playEl.current.click()\n }\n }}\n >\n {isPortrait ? {btnTextMob} : {btnText}}\n \n \n \n \n {isPortrait ? (\n \n ) : (\n \n )}\n \n \n \n )\n}\n\nexport default Video\n","import React, { useEffect, useRef, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { useMediaQuery } from \"react-responsive\"\nimport { withPrefix } from \"gatsby\"\n\nconst Wrapper = styled.div`\n height: 100vh;\n height: calc(var(--vh, 1vh) * 100);\n width: auto;\n padding-right: 100px;\n display: block;\n width: auto;\n flex-grow: 1;\n\n &:last-of-type {\n padding-right: 0;\n }\n\n @media (orientation: portrait) {\n height: auto;\n padding-right: 0;\n width: 100%;\n }\n`\n\nconst ImageWrapper = styled.div`\n position: relative;\n margin-top: ${({ size }) =>\n size === \"2\" ? \"10vh\" : size === \"3\" ? \"25vh\" : \"0\"};\n height: ${({ size }) =>\n size === \"2\" ? \"80vh \" : size === \"3\" ? \"50vh\" : \"100vh\"};\n\n width: 200px;\n overflow: hidden;\n\n @media (orientation: portrait) {\n margin: 0;\n height: auto;\n margin-bottom: 10px;\n\n margin-left: ${({ size }) =>\n size === \"2\" ? \"20px\" : size === \"3\" ? \"60px\" : \"0\"};\n\n width: ${({ size }) =>\n size === \"2\"\n ? \"calc(100% - 40px)\"\n : size === \"3\"\n ? \"calc(100% - 120px)\"\n : \"100%\"} !important;\n }\n`\n\nconst Img = styled.img`\n height: auto;\n width: 100px;\n display: block;\n opacity: 0;\n\n @media (orientation: portrait) {\n width: 100%;\n opacity: 1;\n }\n\n &.full-h {\n height: 100% !important;\n width: 100% !important;\n opacity: 1;\n\n @media (orientation: portrait) {\n width: 100% !important;\n height: auto !important;\n }\n }\n`\n\nconst Dot = styled.button`\n height: 54px;\n width: 54px;\n border-radius: 50%;\n padding: 20px;\n\n position: absolute;\n top: ${({ posY }) => posY};\n left: ${({ posX }) => posX};\n\n span {\n height: 100%;\n width: 100%;\n background: white;\n border-radius: 50%;\n display: block;\n pointer-events: none;\n\n @media (orientation: portrait) {\n display: none;\n }\n }\n\n @media (hover: hover) {\n transition: padding 0.2s ease-in-out;\n\n &:hover {\n padding: 18px;\n }\n }\n\n @media (orientation: portrait) {\n height: 32px;\n width: 32px;\n padding: 0px;\n background: transparent;\n border: 2px solid #fff;\n }\n`\n\nconst Item = ({ data, first, setOpenProduct }) => {\n const wrapperEl = useRef(null)\n const [loaded, setLoaded] = useState(false)\n const [elWidth, setElWidth] = useState(0)\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n\n useEffect(() => {\n if (wrapperEl.current) {\n var img = new Image()\n img.onload = function () {\n const gatsbyImage = wrapperEl.current.querySelector(\"img\")\n\n if (gatsbyImage) {\n const ratio = gatsbyImage.offsetWidth / gatsbyImage.offsetHeight\n setElWidth(\n data.size === \"2\"\n ? `${parseInt(80 * ratio)}vh`\n : data.size === \"3\"\n ? `${parseInt(50 * ratio)}vh`\n : `${parseInt(100 * ratio)}vh`\n )\n\n\n gatsbyImage.classList.add(\"full-h\")\n }\n }\n img.src = `${withPrefix(\"/\")}Reserved_SS22_LB${data.image_id}.jpg`\n }\n }, [wrapperEl.current])\n\n return (\n \n \n setLoaded(true)}\n />\n\n {data.hotspots &&\n data.hotspots.map((item, i) => {\n return (\n {\n setOpenProduct(item.product_id)\n }}\n >\n \n \n )\n })}\n \n \n )\n}\n\nexport default Item\n","import React, { useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport lax from \"lax.js\"\nimport { useMediaQuery } from \"react-responsive\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\n\nimport lb from \"../../content/lookbook.json\"\n\nimport Item from \"./lookbook/Item\"\nimport Heading from \"./Heading\"\n\nconst Wrapper = styled.div`\n height: 800vh;\n height: calc(var(--vh, 1vh) * 800);\n position: relative;\n max-width: 100%;\n z-index: 99;\n\n @media (orientation: portrait) {\n height: auto;\n }\n`\nconst StickyContainer = styled.div`\n height: 100vh;\n height: calc(var(--vh, 1vh) * 100);\n position: sticky;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n background-color: #f2f2f2;\n\n @media (orientation: portrait) {\n height: auto;\n position: relative;\n }\n`\n\nconst HeadingWrapper = styled.div`\n position: absolute;\n top: calc(50vh - 70px);\n top: calc(var(--vh, 1vh) * 50 - 70px);\n width: 100%;\n color: #f2f2f2;\n mix-blend-mode: difference;\n z-index: 1;\n\n transition: opacity 0.25s ease-out;\n\n @media (orientation: portrait) {\n display: none;\n }\n\n &.dc-hide {\n opacity: 0;\n pointer-events: none;\n }\n`\n\nconst Inner = styled.div`\n display: flex;\n width: auto;\n min-width: 100%;\n position: absolute;\n padding-left: 90vw;\n will-change: transform;\n\n @media (orientation: portrait) {\n flex-direction: column;\n padding: 0;\n position: relative;\n }\n`\n\nif (typeof window !== \"undefined\") {\n lax.init()\n\n lax.addDriver(\"scrollY\", function () {\n return window.scrollY\n })\n}\n\nconst Lookbook = ({ setOpenProduct }) => {\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n useEffect(() => {\n if (!isPortrait) {\n setTimeout(() => {\n lax.addElements(\".dc-collection\", {\n scrollY: {\n translateX: [\n [\"screenHeight\", \"screenHeight*8\"],\n [\"0\", \"-elWidth + screenWidth\"],\n ],\n },\n })\n }, 500);\n\n lax.addElements(\n \".dc-coll-heading\",\n {},\n {\n onUpdate: (driverValues, domElement) => {\n if (driverValues.scrollY[0] > window.innerHeight * 1.25) {\n domElement.classList.add(\"dc-hide\")\n document.body.classList.remove(\"dc-top\")\n } else {\n domElement.classList.remove(\"dc-hide\")\n document.body.classList.add(\"dc-top\")\n }\n },\n }\n )\n }\n }, [isPortrait])\n\n useEffect(() => {\n window.addEventListener(\"scroll\", () => setOpenProduct(-1))\n\n return () => {\n window.removeEventListener(\"scroll\", () => setOpenProduct(-1))\n }\n }, [])\n\n return (\n \n \n \n \n Discover the collection\n \n \n \n {lb &&\n lb.items &&\n lb.items.map((item, i) => {\n return (\n \n )\n })}\n \n \n \n )\n}\n\nexport default Lookbook\n","import React, { useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport { useInView } from \"react-intersection-observer\"\nimport { Trans, useTranslation } from \"gatsby-plugin-react-i18next\"\n\nconst Wrapper = styled.footer`\n position: absolute;\n bottom: 1px;\n left: 0;\n right: 0;\n\n font-size: 12px;\n padding: 8px 22px;\n\n display: flex;\n justify-content: space-between;\n\n @media (orientation: portrait) {\n flex-direction: column;\n line-height: 20px;\n bottom: 15px;\n }\n`\n\nconst Text = styled.div`\n display: flex;\n\n @media (orientation: portrait) {\n flex-direction: column;\n width: 100%;\n text-align: ${({ center }) => (center ? \"center\" : \"left\")};\n margin-bottom: ${({ ar }) => (ar ? \"75px\" : \"0\")};\n }\n`\n\nconst ExternalLink = styled.a`\n margin-left: 14px;\n position: relative;\n\n @media (orientation: portrait) {\n text-decoration: ${({ underline }) => (underline ? \"underline\" : \"none\")};\n margin-left: ${({ underline }) => (underline ? \"7px\" : \"0\")};\n margin-right: 7px;\n order: ${({ order }) => order};\n }\n\n &:after {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n bottom: -1px;\n height: 1px;\n width: 100%;\n background-color: #fff;\n\n @media (orientation: portrait) {\n display: none;\n }\n }\n`\n\nconst Footer = ({ setShowLightImage }) => {\n const { t } = useTranslation()\n const { ref, inView, entry } = useInView({\n threshold: 1,\n })\n\n useEffect(() => {\n if (inView) {\n setShowLightImage(true)\n } else {\n setShowLightImage(false)\n }\n }, [inView])\n\n return (\n \n \n \n Discover Meta AR Effect on:\n \n \n Instagram\n \n \n Facebook Messenger\n \n \n\n \n \n Check whole collection\n \n \n Reserved Instagram\n \n \n Cookies\n \n \n Privacy policy\n \n \n \n )\n}\n\nexport default Footer\n","import React, { useEffect, useState, useRef } from \"react\"\nimport styled from \"styled-components\"\nimport { useInView } from \"react-intersection-observer\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { withPrefix } from \"gatsby\"\nimport { Trans } from \"gatsby-plugin-react-i18next\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport Heading from \"./Heading\"\nimport Footer from \"./Footer\"\n\nconst Wrapper = styled.div`\n position: relative;\n height: 100vh;\n height: calc(var(--vh, 1vh) * 100);\n display: flex;\n justify-content: center;\n\n @media (orientation: portrait) {\n display: block;\n height: auto;\n padding-bottom: 275px;\n }\n`\n\nconst HeadingWrapper = styled.div`\n position: absolute;\n top: 18px;\n left: 0;\n right: 0;\n width: 100%;\n z-index: 1;\n\n @media (orientation: portrait) {\n position: relative;\n top: 0;\n padding: 40px 0 120px;\n }\n`\n\nconst ImageWrapper = styled.div`\n opacity: ${({ show }) => (show ? 1 : 0)};\n transition: opacity ${({ slow }) => (slow ? \"0.45s\" : \"0.25s\")} ease-in-out;\n\n position: absolute;\n bottom: 0;\n\n @media (orientation: portrait) {\n height: 150vw;\n object-fit: cover;\n bottom: 190px;\n\n div {\n height: 100%;\n }\n }\n\n &:after {\n @media (orientation: portrait) {\n content: \"\";\n display: ${({ abs }) => (abs ? \"block\" : \"none\")};\n position: absolute;\n height: 80px;\n left: 0px;\n right: 0;\n bottom: 0;\n background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);\n }\n }\n`\n\nconst Border = styled.div`\n border: 2px solid #ffffff;\n box-sizing: border-box;\n border-radius: 32px;\n\n height: calc(100vh - 240px);\n height: calc((var(--vh, 1vh) * 100) - 240px);\n width: calc((100vh - 240px) / 2.16);\n width: calc(((var(--vh, 1vh) * 100) - 240px) / 2.16);\n\n position: absolute;\n top: 180px;\n left: 50%;\n transform: translateX(-50%);\n\n @media (orientation: portrait) {\n top: auto;\n bottom: 0;\n width: calc(100vw - 145px);\n height: calc((100vw - 160px) * 2.16);\n position: relative;\n }\n`\n\nconst Button = styled.a`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 60px;\n width: calc(((100vh - 240px) / 2.16) - 60px);\n width: calc(((var(--vh, 1vh) * 100) - 240px) / 2.16 - 60px);\n border-radius: 14px;\n position: absolute;\n bottom: 25px;\n left: 30px;\n background-color: #f2f2f2;\n font-size: 12px;\n color: #000;\n padding: 0 10px;\n text-align: center;\n\n @media (orientation: portrait) {\n font-size: 14px;\n width: calc((100vw - 145px) - 44px);\n left: 20px;\n bottom: 20px;\n }\n`\n\nconst Qr = styled.div`\n position: absolute;\n bottom: 23px;\n\n right: -145px;\n\n img {\n height: 120px;\n width: 120px;\n transform: scale(${({ grow }) => (grow ? 1.1 : 1)});\n transition: transform 0.1s ease-in-out;\n }\n\n @media (orientation: portrait) {\n display: none;\n }\n`\n\nconst Filter = () => {\n const { ref, inView } = useInView({\n threshold: 0.45,\n })\n const [showImage, setShowImage] = useState(false)\n const [showLightImage, setShowLightImage] = useState(false)\n const [grow, setGrow] = useState(false)\n const isPortrait = useMediaQuery({ query: \"(orientation: portrait)\" })\n const timeout = useRef(null)\n\n const handleButtonClick = e => {\n if (!isPortrait) {\n e.preventDefault()\n\n clearTimeout(timeout.current)\n\n setGrow(true)\n\n timeout.current = setTimeout(() => {\n setGrow(false)\n }, 500)\n }\n }\n\n useEffect(() => {\n if (inView) {\n document.body.classList.add(\"dc-dark\")\n setTimeout(() => {\n setShowImage(true)\n }, 100)\n } else {\n setShowImage(false)\n setTimeout(() => {\n document.body.classList.remove(\"dc-dark\")\n }, 100)\n }\n }, [inView, setShowImage])\n\n return (\n \n \n \n Enter the Dreamcore\n \n \n \n \n \n\n \n \n \n\n \n \n Try Meta Effect\n \n\n \n \"QR\n \n \n